Как сделать скриншот в Linux без дополнительных средств |
|
Дата публикации: April 12, 2010, 3:44 p.m.
|
Теги: скриншот, консоль, |
Автор: Brainsburn |

В этой небольшой заметке я хотел бы поделиться своим способом удобно и быстро делать скриншоты в Linux не прибегая к различным графическим утилитам. В качестве оконного менеджера я использую OpenBox, в качестве утилиты для снятия скриншотов - scrot.
Делаем скриншоты рабочего стола в Linux
Пишем простой скрипт:$ cat screenshot.sh #!/bin/bash name=`date +%x-%X-%N.png` scrot ~/$nameКидаем его в свой домашний каталог и ставим права на исполнение
$ chmod +x screenshot.sh
Такой скрипт будет делать скриншоты рабочего стола в формате PNG и сохранять их в вашем домашнем каталоге. Имена файлов будут выглядеть так
12.04.2010-14:56:02-327180314.pngТеперь забиндим выполнение этого скрипта на кнопку PrintScreen. Узнать код клавиши PrintScreen можно так: запускаете в терминале утилиту xev, наводите курсор мыши на появившееся квадратное окно и жмете нужную клавишу. В терминале вы увидите что-то подобное:
KeyRelease event, serial 39, synthetic NO, window 0x2800001, root 0x15a, subw 0x0, time 31117653, (-897,780), root:(592,900), state 0x0, keycode 107 (keysym 0xff61, Print), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False"keycode 107" означает что код клавиши - 107. Я использую OpenBox, если вы используете другой оконный менеджер, гуглите, как в нем надо привязывать сочетания клавиш. В OpenBox это делается так: открываете в текстовом редакторе файл ~/.config/openbox/rc.xml , находите секцию keyboard и добавляете в нее следующие строки.
<keybind key="0x6B">
<action name="Execute">
<command>~/screenshot.sh</command>
</action>
</keybind>
$ printf "%X\n" 107 6BК получившемуся числу спереди надо добавить "0x". Отсюда и строка
<keybind key="0x6B">
После реконфигурации (обновления настроек) OpenBox, вы сможете делать скриншоты клавишей PrintScreen не используя никаких графических надстроек, только утилиту scrot, которая весит 70кб.
Можно вообще обойтись без дополнительных утилит и сделать скриншот только средствами иксов, командой import:
$ import -window root screenshot.pngВ этом случае скрипт screenshot.sh будет выглядеть так:
$ cat screenshot.sh #!/bin/bash name=`date +%x-%X-%N.png` import -window root ~/%name
UPDATE:
Случайно для себя открыл консольную утилиту xwd, позволяющую делать снимки экрана. Xwd весит 25Кб и должна входить в состав "иксов". Конечно, если вы собирали xorg server сами, то у вас ее может и не быть. В таком случае ее можно скачать
Пример использования xwd: $ xwd -root > file.xwd
Формат изображения понимается Gimp-ом и утилитой convert из ImageMagick.
После такой команды файл на выходе будет в формате PNG:
$ xwd -root | convert - file.pngЕсли xwd запустить без ключа -root, то будет предложено выбрать окно, которое нужно заскриншотить.
Если нету Gimp-а и ImageMagick-а, посмотреть файл XWD можно утилитой xwud
Возможно, эти материалы Вас заинтересуют:
- Как сделать скриншот в Linux без дополнительных средств
- Консольный переводчик в Linux. Перевод текста в консоли.
- Urxvt (rxvt-unicode) настройка и использование
- Утилита ftp
- Mcabber
Рекомендовать эту страницу:
Комментарии:(6)
окно:
scrot -s '%Y.%m.%d-%H%M-$wx$h.png' -e 'mv $f ~/' 2>/dev/null
весь экран:
scrot '%Y.%m.%d-%H%M-$wx$h.png' -e 'mv $f ~/' 2>/dev/null
p.s. Похоже, что xwd пишет индек + неупакованный растр. Нужно будет добавить этот формат в SimpleViewer GL.
#!/bin/bash
play /Путь к звуковому файлу/.fotokamera.ogg
scrot -q 100 ‘%Y-%m-%d_%H.%M.%S.png’ -e ‘mv $f /Путь к папке со скриншотами/Скриншоты’
notify-send “Снимок экрана” “сохранён в папке скриншотов”
Если нужно только звуковое сопровождение, то строчку - notify-send “Снимок экрана” "сохранён в папке скриншотов - можно удалить, соответственно, если нужно только уведомление, то удаляете строчку - play /Путь к звуковому файлу/.fotokamera.ogg
З.Ы. Для всплывающих уведомлений нужен пакет notify, есть в репах Убунты. Звуковой файл можете поставить любой (для удобства делаете его скрытым поставив точку в начале названия файла), но только с расширением ogg или wav. У меня установлен звук затвора фотокамеры, желающие могут скачать на сайте:
Привязать скрипт к клавише PrtScr или любой другой можно также через: Меню-Настройки-Клавиатура-Комбинации клавиш-Добавить-Открыть-выбрать исполняемый файл.
Комментировать:
Справка:
Если вы хотите использовать в тексте комментария специальные символы, например, [ и ], используйте их внутри тега [code] [/code]
Вы можете использовать теги BBcode. Для оформления кода и подсветки синтаксиса используйте тег [code] или [code=название_языка], например, [code=python]
Ссылки вставляйте так: [url]zenux.ru[/url] или так: http://zenux.ru, но не так: zenux.ru
Текст сообщения должен быть в пределах 3000 символов.
Только у меня в системе import почему-то отсутствует, придеться ставить scrot, хотя посмотрю в каком он пакете должен быть и оценю что "весит" меньше, т.к. стараюсь не ставить лишние пакеты.