oio11: (Default)
[personal profile] oio11
Скриншоты в Linux, или как сделать снимок экрана




Скриншоты - это как показы высокой моды:
всё красиво и вычурно, но по улице в таком не ходят.
(с) глас народа из раздела Галереи на ЛОРе

Как-то раз мне задал вопрос один новоиспечённый убунтовец: как в Linux сделать скриншот в иксах (screenshot, снимок рабочей области)? А то тут кнопка PrnScr/SysRq не работает..." Естественно, ему было рассказано про истинное назначение кнопки SysRQ, но вопрос остался: чем скриншоты в Linux делать!? Как и многое другое в Linux, это имеет 1001 решение.
The Gimp
В арсенале богатого возможностями GIMP есть и функция захвата окна: Файл -> Захватить -> Снимок экрана. Удобно, так как сразу можно подредактировать изображение. Естественно, сохранение изображений в любой мыслимый, несколько непостижимых (KISS CEL) и один невероятный формат (исходный код С).


Здесь можно захватить либо весь экран (можно выставить задержку по времени), либо одно окно.

Shutter
Небольшая программа shutter умеет не только снимать скриншоты указанных окон, частей окон, всего экрана, но и применять различные эффекты к снятым изображениям и даже расставлять стрелки.

Сайт программы http://shutter-project.org/.

{C}


KSnapshot
Программа для снятия скриншотов из комплекта KDE отлично делает скриншоты экрана целиком, части, окна и тп.
Кстати, на данной картинке показан KSnapshot, снимающий сам себя.

gnome-screenshot
Программа по умолчанию в среде GNOME для снятия скриншотов.
Если использовать команду:
gnome-screenshot --interactive
можно настроить параметры снятия скриншота, например задержку перед снятием скриншота.


screengrab-qt
Небольшой, но быстрый и не тянущий за собой пол-KDE велосипед для скриншотов с круглыми колёсиками screengrab-qt, который выглядит вот так:


Из возможностей можно отметить возможность скриншотить полный экран, окно или область, сохранение в PNG\JPG, установку задержки и возможность повесить на горячую клавишу. Сайт программы здесь, где можно скачать и виндовый экзешник, и убунтушный deb-пакетик. Спасибо тов. shurutov за наводку.


xfce4-screenshooter
Даже маленькая и скромная графическая среда XFCe имеет свою утилиту для снятия скриншотов: xfce4-screenshooter. Тоже умеет снимать экран, окно, область, и выставлять задержку.

Выглядит скромно и функционально.


ImageMagic
Скриншоты можно делать и консольными программами, например ImageMagic. Для этого в иксовом терминале пишем:
import MyScreenshot.png

При этом появится перекрестье и, ткнув им в нужное окно, имеем скриншот в файле MyScreenshot.png.

Чтобы сделать скриншот с задержкой (например, нужно открыть меню), пишем:
sleep 10; import -window root MyScreenshot2.png
Здесь мы получим задержку в 10 секунд и захватим не одно окно, а весь экран в файл MyScreenshot2.png.

xwd
Ещё одна консольная утилита по скриншотостроительству, работающая в духе духа духовных предков UNIX:

xwd > screen.xwd

Далее пользуем силу ImageMagic для конвертирования:

convert screen.xwd screen.png

Можно снять весь экран, указав ключ -root если надо.

Wink

Это в общем не совсем программа для скриншотов, но для создания обучающих роликов.

Однако она тоже умеет делать скриншоты в Linux.


scrot (SCReen shOT)
Утилита командной строки с большими возможностями по скриншотостроительству. Базовый синтаксис:
scrot desktop.png
сделает снимок экрана и положит его в descktop.png. Умеет вещи и посложнее, например снимать с задержкой:
scrot -cd 5 countdown.png
с ключом выведет на экран обратный отсчёт. Сразу можно выставить качество изображения при снятии скриншота:
scrot -q 70 quality.png
Чтобы снять область экрана, пишем:
scrot -s file.png
при клике мышкой делается скриншот окна, на которое вы нажали, и если зажать кнопку, то можно выделить область (спасибо тов. Imposeren). Эти и другие опции можно найти в разных интересных статьях.

Ну и наконец
Ъ™ UNIX® way
Для самых тру юниксвеистых орлов, с помощью Vim/Emacs создаём скрипт следующего содержания:
#!/bin/bash
#usage name_script delay_second
if [ $1 ]; then
sleep $1
fi
FILE_NAME="screenshot";
IMG_FORMAT="jpg"; #png, jpg, bmp, gif, tiff
xwd -screen -root > $FILE_NAME.xwd;
convert $FILE_NAME.xwd -type TrueColor $FILE_NAME.$IMG_FORMAT;
rm $FILE_NAME.xwd;
Запуск скрипта даёт скриншот screenshot.jpg. Реализация пренадлежит бессмертному перу тов. kraftello, за что ему огромное спасибо.


Ссылки в тему:
Темой скриншотов в Linux озадачивались в разных интернетах и кое-что смогли раскопать, так что автор этих строк тоже духовно обогатился. Буду благодарен за другие идеи.

http://mydebianblog.blogspot.com/2010/08/linux.html

http://rus-linux.net/lib.php?name=/MyLDP/soft/shutter.html

http://www.ubuntugeek.com/how-to-replace-gnome-screensaver-with-xscreensaver-in-ubuntu.html

October 2025

S M T W T F S
   1234
567891011
12131415161718
19202122 232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 22nd, 2026 07:07 am
Powered by Dreamwidth Studios