Скриншоты - это как показы высокой моды:
всё красиво и вычурно, но по улице в таком не ходят.
(с) глас народа из раздела Галереи на ЛОРе
(с) глас народа из раздела Галереи на ЛОРе
Как-то раз мне задал вопрос один новоиспечённый убунтовец: как в Linux сделать скриншот в иксах (screenshot, снимок рабочей области)? А то тут кнопка PrnScr/SysRq не работает..." Естественно, ему было рассказано про истинное назначение кнопки SysRQ, но вопрос остался: чем скриншоты в Linux делать!? Как и многое другое в Linux, это имеет 1001 решение.
The Gimp
В арсенале богатого возможностями GIMP есть и функция захвата окна: Файл -> Захватить -> Снимок экрана. Удобно, так как сразу можно подредактировать изображение. Естественно, сохранение изображений в любой мыслимый, несколько непостижимых (KISS CEL) и один невероятный формат (исходный код С).
Здесь можно захватить либо весь экран (можно выставить задержку по времени), либо одно окно.
Shutter
Небольшая программа shutter умеет не только снимать скриншоты указанных окон, частей окон, всего экрана, но и применять различные эффекты к снятым изображениям и даже расставлять стрелки.
Сайт программы http://shutter-project.org/.
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Запуск скрипта даёт скриншот screenshot.jpg. Реализация пренадлежит бессмертному перу тов. kraftello, за что ему огромное спасибо.
#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;
Ссылки в тему:
Темой скриншотов в Linux озадачивались в разных интернетах и кое-что смогли раскопать, так что автор этих строк тоже духовно обогатился. Буду благодарен за другие идеи.
Вообще-то в Убунтейском Гноме клавиша "Print Screen/SysRq" делает скриншоты, по умолчанию там подвешен gnome-screenshot, а gnome-screenshot --interactive дает опции достаточные для скриншотов, например задержку...
ОтветитьУдалитьЕщё есть scrot. Очень удобный консольный инструмент. :)
ОтветитьУдалитьКогда разворачивал статью в ридере, думал, про него.
Да-да-да! scrot молодец! Еще он умеет именовать файлы по маске (с датой, номером, временем и т.п.). Делать скриншоты с задержкой, отображать обратный отсчёт при использовании задержки, применять комманду на сделанную картинку, делать сники конкретного окна, или прямоугольной области
ОтветитьУдалитьЯ использую xfce4-screenshooter. Тоже умеет экран, окно, область, задержку, вроде хватает. В .icewm/key дописал
ОтветитьУдалитьkey "Print" xfce4-screenshooter
и он замечательно запускается по кнопке PrintScreen.
@paulus комментирует...
ОтветитьУдалитьВообще-то в Убунтейском Гноме клавиша "Print Screen/SysRq" делает скриншоты
Шут его знает, но у него почему-то не работала. Вот меня и спросили.
gnome-screenshot --interactive
Спасибо, добавил в пост.
@Von комментирует...
Ещё есть scrot. Очень удобный консольный инструмент.
Добавлено. Спасибо, я про него не знал :-)
@Ярослав Клюев комментирует...
scrot молодец!
Это точно. Я просто в консоли всегда снимал скриншоты imagemagick-ом.
делать сники конкретного окна, или прямоугольной области
Ого, вот про прямоугольную область можно подробнее?
Спасибо уважаемым комментаторам за ценные сведения. Вот что значит обзор писать: обязательно его дополнят :-)
В Lubuntu работает Print screen и кидет скриншот в home
ОтветитьУдалитьК духу духа духовных предков UNIX все-таки ближе нечто такое:
ОтветитьУдалитьxwd -root | xwdtopnm | pnmtopng > $@
кст, почему-то не получается комментировать, используя OpenID
есть еще clip2net :)
ОтветитьУдалитьКстати, на данной картинке показан KscreenShot
ОтветитьУдалитьвсё таки, наверное, ksnapshot
@Пашко комментирует...
ОтветитьУдалитьВ Lubuntu работает Print screen и кидет скриншот в home
Верю, но в том конкретном случае не работало. Ну и потом, этот пост ведь не про убунту.
@su6s комментирует...
К духу духа духовных предков UNIX все-таки ближе нечто такое
Ну это совсем злобный юниксвей. :-)
кст, почему-то не получается комментировать, используя OpenID
У меня, кстати, блоггеровский OpenID тоже никто не принимает. Симметрия.
@Страшилка комментирует...
есть еще clip2net :)
---> beta... 10.1 Mb (!).
Ох шит! :-)) Оно ещё и бинарное! Нет пути.
Но за ссылку спасибо всё равно.
@Gregory комментирует...
всё таки, наверное, ksnapshot
Точно, позор на мою лысую голову. Пофiксiв.
Отвечу про скрот окна и области.
ОтветитьУдалитьscrot -s file.png
при клике мышкой — делается скрин окна на которые вы нажали, если зажать кнопку, то можно выделить область. Правда у меня получались изображение всё-равно размером с весь экран, но то что не было выбрано было цвета (#000000 с НЕпрозрачностью 00)
@virens написан на питоне, как сказал прогер бинарник было проще всего сделать для наибольшего охвата семейства линуксовых
ОтветитьУдалитьто что бетка - не страшно, она почти готова, за исключением того что не сохраняет путь к фолдеру в который был сохранен предыдущий скриншот, но это мелочь ...
PS. не за что :)
кстати в добавление к Shutter, один из плюсов: он умеет делать скриншот страницы по указанному URL-у не открывая браузер))) ну и еще писать сделанные скрины на диск, постить в empathy, e-mail (если использовать почтовую программу), писать на CD/DVD, передавать по Bluetooth (OBEX Push), и сохранять на съемные носители, при этом может (по желанию пользователя, естественно) все это дело заархивировать :)
ОтветитьУдалить#!/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;
KSnapshot - наше всё. Ещё был бы такой же выбор программ для скринкаста...
ОтветитьУдалитьЖивет у меня уже давненько прибамбас gkrell в правой части экрана,
ОтветитьУдалитьтак вот для него есть #apt-get install gkrellshoot и потом настраиваем его в gkrell и появляется кнопочка "Shoot" позволяющая в зависимости от настроек захватить или весь экран или только указанное окошко.
OffTopic:
Но кроме этого меня заинтересовал еще вопрос настройки разрешения и обновления в Debian на который я пока не смог ответить. Вчера мучался, правил xorg.conf но не помогало пока наконец не попал в Система->Параметры->Разрешение экрана и не выбрал то что направил а ведь перед этим правил из консоли и тупо жмал Ctrl-Alt-Backspace в Login-е GDM надеясь что после перезагрузки X получу желаемое. Хотел на эту тему поконтачить с автором блога (и на эту тему можно было записку накропать) но увы контактов с ходу тут не нашел, потому развожу оффтопик - вдруг да будет читан. Пока непонятна идеология того что где и как влияет на разрешение и цастоту экрана и где хранятся настройки. Откуда берется разрешение и частота для логин скрина, у каждого из пользователей оно одинаковое или такое что выставил один из них? (пока не проверил) или у каждого то что он поставил себе?
P.S. Решительно не понимаю как подписаться на этой страничке, потому посылаю как аноним.
2 Анонимный: либо используя аккаунт из того что предлагает выпадушка
ОтветитьУдалитьhttp://clip2net.com/clip/m26727/1282220433-clip-23kb.jpg
либо так как сейчас есть
а gkrell позволяет постить на удаленный сервер скрины?
А у меня периодически возникает потребность снять скриншот окна активного приложения с открытым меню. PrtScr обычно не срабатывает в этих случаях. Есть возможность как-то это сделать?
ОтветитьУдалить@Imposeren комментирует...
ОтветитьУдалитьОтвечу про скрот окна и области.
Спасибо. Заодно в пост добавил.
@Страшилка комментирует...
@virens написан на питоне
Неправда, виренс написан на чистом ANSI C :-)
то что бетка - не страшно, она почти готова
Ждём релиза!
@Страшилка комментирует...
кстати в добавление к Shutter, один из плюсов: он умеет делать скриншот страницы по указанному URL-у не открывая браузер
Обалдеть. А я про него ничего не слышал. Всё гимпом делал. Вот она, сила комментаторская!
ну и еще писать сделанные скрины на диск, постить в empathy, e-mail (если использовать почтовую программу), писать на CD/DVD, передавать по Bluetooth (OBEX Push)
/me тихо уполз под стул от таких возможностей. Ну ничего ж себе...
@kraftello комментирует...
Круто. Вставил в пост. Спасибо!
@Антон комментирует...
KSnapshot - наше всё
А как же гимп?
Но кроме этого меня заинтересовал еще вопрос настройки разрешения и обновления в Debian
У меня самый свежак - это Ленни. На старом ноуте до сих пор Etch. Так что в вопросах нового софта я как бы не очень в курсе :-))
Хотел на эту тему поконтачить с автором блога (и на эту тему можно было записку накропать)
Поконтачить можно. Добавил кнопку в главном меню (сверху блога). Но это не кнопка экстренного вызова автора :-)
Меня тут мой шеф обрадовал: а давай, говорит, Майкл, ты пройдёшь курс по теории управления. Ну и зачислил меня на него. Так что я теперь хожу на лекции и должен буду сдавать экзамены в Ноябре. Курс продвинутый, а я теорию управления не изучал никогда. Так что мне за месяц (до первого Quiz) надо пройти курс почти за год.
Это к вопросу "поконтачить" и "записку написать" :-)
Пока непонятна идеология того что где и как влияет на разрешение и цастоту экрана и где хранятся настройки.
Они должны быть в xorg.conf, и если какой-то #$@%@ из разработчиков иксов сделает всю настройку через этот грёбаный HAL, я лично к нему приеду с юбилейным паяльником и подробно растолкую ему о том, что это очень нехорошо делать :-)
P.S. Решительно не понимаю как подписаться на этой страничке, потому посылаю как аноним.
Не рубите cookies и javascript, они нужны для подписи. Но анонимные комменты принимаются. Только виагру не предлагайте. :-)
@Malky комментирует...
А у меня периодически возникает потребность снять скриншот окна активного приложения с открытым меню.
Я делаю так: запускаю гимп, прошу его сделать скриншот и выставляю задержку побольше (секунд 10). Потом быстро открываю нужное меню, пока из гимпа не вылетела птичка. Костыль, но он работает :-)
Т.к. сей программ планируется повесить на горячие клавиши, то консольные отвалились по определению. Остановился на screengrab, тем более он ничего дополнительного за собой не потянул. Но у меня gentoo, как оно в дебиане называется, я не знаю, уж не взыщите.
ОтветитьУдалитьДомашняя страничка: http://code.google.com/p/screengrab-qt/
Я делаю скриншоты с помощью программки ScreenshotMaker. Удобно и просто) давно уже ей пользуюсь и всем советую) Если что, заходите, это сайт программы: http://fastosoft.ru/, там и скачать можно)
ОтветитьУдалить@shurutov комментирует...
ОтветитьУдалитьОстановился на screengrab, тем более он ничего дополнительного за собой не потянул.
Ещё один велосипед в моей коллекции. Спасибо!
@Анонимный комментирует...
Я делаю скриншоты с помощью программки ScreenshotMaker.
Анонимус, спасибо, конечно, что зашёл и поделился, но блог таки о Дебиан ГНУ/ЛИНУПС. :-) А то для винды, которая не гну и не тру. Да ещё "профешнл вершн бай нау". Некомильфо. Но так и быть.
А есть какая-нибудь программа для снятия скриншота действующего окна с прокруткой,то есть чтобы сохранить все содержимое окна,а не только то,что видно в момент съемки?
ОтветитьУдалитьможет кому пригодится
ОтветитьУдалитьscrot -s '%Y-%m-%d-%H-%M-%S_$wx$h.png' -e 'mv $f ~/screen/' участок, с именем — датой, в папку
а как сделать скриншот выделенной области с прокруткой?
ОтветитьУдалить