Как я делаю скриншоты в Linux. Как сделать скриншот в Linux без дополнительных средств Простой, но ограниченный способ сделать скриншот экрана входа в Linux

В этой заметке хочу увековечить свой велосипед, который я изобрёл для удобного создания скриншотов. Да, я знаю о существовании таких программ как shutter, но все они по тем или иным причинам мне неудобны, а так как был интерес и время, я занялся этой проблемой.

Как работает мой велосипед

Пользователь нажимает PrintScreen, появляется меню, в котором последовательно задаются вопросы:
  1. Сохранить весь экран или только часть (окно)?
  2. Сохранить файл со снимком куда-то на долгую память или сохранить в ненадёжном /tmp?
  3. Ввести имя файла самому, сгенерировать случайное или генерировать по шаблону?
  4. Если по шаблону, предлагается выбрать шаблон или ввести его самому
  5. Выбрать задержку в секундах перед фотографированием
  6. Копировать ли URL опубликованной картинки в буфер
  7. Показать ли диалог с путём к файлу на диске, а также URL картинки
Прорвавшись через эту кучу вопросов, программа:
  1. Уточняет имя файла (если нужно)
  2. Делает скриншот экрана либо ждёт, пока пользователь выделит регион или окно (man scrot)
  3. Если пользователь ввёл имя файла, которое уже существует, выведется подтверждение на перезапись. В случае отмены пользователю придётся самому ещё раз вызвать скрипт (сам он пока не настолько умный, чтобы спросить другое имя файла)
  4. В лог-файл записывается путь к сохранённому файлу и URL опубликованной картинки
  5. В буфер обмена копируется URL скриншота (если надо)
  6. Отображается диалог с путём к файлу на диске и URL опубликованной картинки (если надо)

Скрипт, вызванный без аргументов, будет каждый раз спрашивать вопросы заново. Однако, запомнив ответы пользователя, он их кеширует и записывает в файл (по умолчанию /tmp/screenshot.cache.sh). Если запустить скрипт с аргументом cached , скрипт попытается считать кешированные ответы, и если это удастся, задавать вопросы не будет.

Таким образом, настроив PrintScreen на вызов скрипта с загрузкой кеша, а Win+PrintScreen на вызов без загрузки кеша, я всегда могу изменить настройки, заново ответив на вопросы, после чего фотографировать дальше значительно быстрее.

Disclaimer

Мой дистрибутив ArchLinux, и я пользуюсь openbox в качестве оконного менеджера. У счастливых обладателей KDE/Gnome/Xfce/ваш_вариант процесс установки и использования может отличаться.

Строительные материалы

  1. dmenu (показывать меню)
  2. scrot (скриншотер)
  3. zenity (спрашивать вопросы у пользователя)
  4. xclip (копировать ссылку в буфер обмена)
  5. imagepaste (заливать картинку на image hosting)
  6. скрипт (собрать все компоненты воедино)
  7. terminus-font (шрифты в меню, optional)
Первые четыре программы должны быть (по идее) доступны в репозиториях вашего дистрибутива. Последний пункт опционален. Можете использовать другие шрифты, если terminus вам неугоден. Пятый пункт - моя собственная поделка, смысл которой сводится к заливке картинки на сайты типа ImageShack.us одной командой из командной строки. Сборка этого чуда, вообще говоря, не такая сложная, но описание этого процесса в любом случае выходит за рамки данной заметки, так что Вы вольны заменить этот компонент .
Пошаговая инструкция
Вот как выглядела бы установка он начала до конца в моём дистрибутиве.
Установим стандартные пакеты:
$ pacman -S dmenu scrot zenity xclip terminus-font
Сообщим Иксам путь к этим шрифтам (плюс, хорошо бы прописать эту команду в ~/.xinitrc):
$ xset +fp /usr/share/fonts/local/
Считаем, что imagepaste (или аналог) уже установлен, поэтому пропускаем этот шаг.
Устанавливаем скрипт:
$ mkdir ~/bin $ cd !$ $ wget https://bitbucket.org/balta2ar/screenshot/raw/45ad932db13b/screenshot.sh $ chmod u+x ./screenshot.sh
Папка ~/bin у меня используется для моих наколенных поделок. В скрипте Вы, вероятно, захотите изменить:
LOG - путь к лог-файлу
FONT - шрифт меню
IMAGEPASTE_CMD - команда для публикации картинки
BASEDIR - базовая директория для тех скриншотов, которые вы захотите сохранять

Не забудьте создать лог-файл:
$ touch /var/log/screenshot.log $ sudo chown `whoami`:users !$
И последнее, это повесить вызов скрипта на горячую клавишу. Я для этого использовал возможности openbox, а именно obkey для настройки горячих клавиш. Можно, впрочем, сразу залезть в ~/.config/openbox/rc.xml и добавить:
/home/bz/bin/screenshot.sh cached /home/bz/bin/screenshot.sh

Плюсы
  • своё не пахнет
  • удобно, заточено под свои нужды
  • автоматическая публикация
Минусы
  • установка для красноглазых
  • много компонентов, а хотелось бы один и чтобы всё работало искаропки
Скрипт целиком
#!/bin/bash init() { ACTIONS="window/region,screen" ACTIONS="drop,save" ACTIONS="create random,ask,incremental pattern" ACTIONS="screenshot-%05d.png" ACTIONS="0,5,10,30,60" ACTIONS="yes,no" ACTIONS="no,yes" PROMPT="Capture region" PROMPT="Picture file" PROMPT="File name" PROMPT="File name pattern" PROMPT="Delay" PROMPT="Copy to clipboard" PROMPT="Show links in a dialog" IND_CAPTURE_REGION=0 IND_FILESAVE=1 IND_FILENAME=2 IND_PATTERN=3 IND_DELAY=4 IND_COPY_CLIPBOARD=5 IND_SHOW_LINKS=6 LOG="/var/log/screenshot.log" FONT="-xos4-terminus-*-*-*-*-16-*-*-*-*-*-*-*" DMENU="dmenu -fn $FONT" IMAGEPASTE_CMD="imp" SCREENSHOT_CMD="scrot" SCREENSHOT_OPTIONS= OPTIONS= COUNT=${#ACTIONS[*]} BASEDIR="/home/`whoami`/pic/screenshot/scrot" CACHE="/tmp/screenshot.cache.sh" PATTERN_INDEX=0 } load_cache() { source $CACHE } save_cache() { echo -n > $CACHE for ((i = 0; i < ${#OPTIONS[*]}; i++)) do echo "OPTIONS[$i]=\"${OPTIONS[$i]}\"" >> $CACHE done echo "PATTERN_INDEX=\"$PATTERN_INDEX\"" >> $CACHE } random_filename() { TMP=`mktemp --suffix=.scrot` BASE=`basename $TMP` FILENAME="$BASEDIR/$BASE.png" } ask_filename() { FILENAME=`zenity --entry --text "Enter filename" --entry-text "$BASEDIR/"` } set_next_pattern_filename() { FILENAME="$BASEDIR/$(printf ${OPTIONS[$IND_PATTERN]} $PATTERN_INDEX)" PATTERN_INDEX=$(($PATTERN_INDEX + 1)) while [ -e "$FILENAME" ]; do FILENAME="$BASEDIR/$(printf ${OPTIONS[$IND_PATTERN]} $PATTERN_INDEX)" PATTERN_INDEX=$(($PATTERN_INDEX + 1)) done } ask_options() { for i in $(seq 0 $(($COUNT - 1))) do # if we are about to ask patern and # it wasn"t the choise in prev question, continue if [ "$i" -eq "$IND_PATTERN" -a "${OPTIONS[$IND_FILENAME]}" != "incremental pattern" ] then continue fi OP=`echo ${ACTIONS[$i]} | tr "," "\n" | $DMENU -p "${PROMPT[$i]}"` if [ ! -n "$OP" ]; then exit 0 fi OPTIONS[$i]=$OP done } parse_options() { # parse options and ask user questions, if any ITEM=${OPTIONS[$IND_CAPTURE_REGION]} case "$ITEM" in window/region) SCREENSHOT_OPTIONS="-b -s" ;; screen) ;; esac ITEM=${OPTIONS[$IND_FILESAVE]} case "$ITEM" in save) # Dont touch BASEDIR ;; drop) BASEDIR="/tmp" ;; esac ITEM=${OPTIONS[$IND_FILENAME]} case "$ITEM" in ask) ask_filename ;; "create random") random_filename ;; "incremental pattern") set_next_pattern_filename ;; esac ITEM=${OPTIONS[$IND_DELAY]} SCREENSHOT_OPTIONS="$SCREENSHOT_OPTIONS -d $ITEM" } check_existence() { if [ -e "$FILENAME" ] then zenity --question --text "File already exists. Overwrite?" OVERWRITE=$? if [ $OVERWRITE -ne 0 ] then exit 1 fi fi } do_screenshot() { rm -f "$FILENAME" mkdir -p `dirname "$FILENAME"` $SCREENSHOT_CMD $SCREENSHOT_OPTIONS "$FILENAME" CMD="$IMAGEPASTE_CMD $FILENAME" URL="`$CMD`" echo "$FILENAME -> $URL" >> $LOG } copy_to_clipboard() { if [ ${OPTIONS[$IND_COPY_CLIPBOARD]} == "yes" ] then echo "$URL" | xclip -selection primary echo "$URL" | xclip -selection clipboard fi } show_links() { if [ ${OPTIONS[$IND_SHOW_LINKS]} == "yes" ] then zenity --info --no-wrap --text "$FILENAME\n$URL" fi } init if [ -e "$CACHE" -a "$1" == "cached" ] then load_cache else ask_options fi save_cache parse_options check_existence do_screenshot copy_to_clipboard show_links exit 0

UPD 01 : Добавлен выбор задержки: 0, 5, 10, 30, 60 секунд.
UPD 02 : Добавлено: 1) кеширование ответов пользователя 2) возможность указать инкрементальный паттерн для имени файла.

Пользуясь гаджетами, будь то миниатюрный смартфон или новенький компьютер, зачастую нам необходимо сохранить изображение, которое невозможно скачать. Функция сохранения снимка экрана на телефоне знакома всем: одновременное нажатие пары кнопок дает нужный нам результат всего за пару секунд. С компьютером дела обстоят куда сложнее.

Способов сделать скриншот в данный момент очень много, для этого существуют специальные приложения, которые очень просты и удобны в использовании. Кроме того, в каждой операционной системе есть специальные встроенные функции.

Как сделать скриншот на Windows

Скриншот с помощью клавиши Print Screen

Для этих функций в системе Windows есть кнопка Print Screen. Чаще всего она подписана как PrtScr или PrtSc. Эта неприметная клавиша располагается на клавиатуре справа.

После нажатия кнопки сделанный рисунок автоматически сохраняется в буфере. На некоторых переносных устройствах возможно сочетание клавиш PrtScr и Fn, с дальнейшим выбором папки сохранения.
Еще одно свойство данной операционной системы это сохранение активного окна при нажатии PrtScr и Alt.

«Ножницы»

В меню программ Windows вы найдете инструмент «Ножницы». Он входит в набор Windows Vista, 7, 8, 10.
С его помощью есть возможность сохранить нужную вам часть рабочей зоны в таких форматах как png, jpeg, gif, html, при этом можно воспользоваться функциями «Перо» и «Маркер».

Скачиваемые приложения

Joxi

Бесплатное приложение схожее по функциям с LightShot, только имеющее по сравнению с ним одно большое преимущество – возможность делиться снимками в соц. сетях. Скачать его можно с официального сайта Joxi

Как сделать скриншот на MacOS

Данная операционная система позволяет сделать разные виды снимков, используя свои собственные возможности.

Снимок всей области на рабочий стол

Для пользования этой функцией сочетаем клавиши Win+Shift+3 . Так, мы получим screenshot, сохраненный на рабочей области.

В буфер обмена

Чтобы файл попал в буфер обмена, необходима комбинация Win+Ctrl+Shift+3 .

Частичный снимок экрана

Win +Shift+4 позволяет определить нужную зону окна, при этом полученный фрагмент сохранится на рабочем столе.

Иногда мне нужно сделать скриншот экрана входа в систему. Например, если я пишу о том, как установить другое окружение рабочего стола в Ubuntu, скриншот экрана входа в систему будет полезен для начинающих. Какой бы ни была ваша причина, если вам интересно, как сделать снимок экрана входа в систему в Ubuntu, Linux Mint и других дистрибутивах Linux, позвольте мне показать вам, как это сделать.

Примечание: Прежде чем прибегнуть к какому либо из ниже перечисленных способов, просто проверьте, возможно ваш дистрибутив уже умеет это делать. Выйдите на начальный экран и нажмите Print Screen . К примеру, дистрибутив которым пользуюсь я (Deepin 15.10.2), умеет это делать по умолчанию.

Простой, но ограниченный способ сделать скриншот экрана входа в Linux

Самый простой способ сделать снимок экрана «экрана блокировки» — использовать инструмент «Снимок экрана GNOME». Этот инструмент уже должен быть установлен в большинстве дистрибутивов Linux. Все, что вам нужно сделать, это открыть терминал и использовать следующую команду:

gnome-screenshot -d 10

Это сделает скриншот с задержкой в ​​10 секунд. За это время заблокируйте вашу систему. Через 10 секунд он сделает снимок экрана вашей системы, а точнее экрана входа в систему. Сам скриншот вы найдёте в папке «Изображения».

Вы можете изменить продолжительность секунд по своему усмотрению, изменив «10» на нужное вам значение. Для создания моментального скриншота, достаточно ввести и подтвердить команду:

gnome-screenshot

Если в вашем дистрибутиве Linux Снимок экрана GNOME не установлен,

вы можете сделать это, введя команду:

sudo apt install gnome-screenshot


Лучший, но немного сложный способ сделать скриншот экрана входа в систему в Ubuntu и других Linux

Идея заключается в том, чтобы создать скрипт, который вы можете запустить из интерфейса командной строки. Не бойтесь «скрипта». Это действительно очень просто использовать.

Шаг 1: Получить ImageMagic

Откройте терминал и используйте следующую команду для установки ImageMagic .

sudo apt-get install imagemagick

Шаг 2: подготовить скрипт

Создайте новый файл, желательно в вашем домашнем каталоге. Назовите это screenshot.sh или как угодно. Добавьте следующие строки в этот файл:

chvt 7; sleep 5s; DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 xwd -root -out ~/screenshot.xwd; convert ~/screenshot.xwd ~/screenshot.png; rm ~/screenshot.xwd

Выше chvt 7 — это номер виртуальной консоли . Скриншот займет 5 секунд после того, как вы запустили этот скрипт. Вы можете изменить его на любой номер, который вы хотите. Вы найдете скриншот, сохраненный как screenshot.png в вашем домашнем каталоге.

Статьи по теме

Шаг 3: Дайте исполняемому скрипту разрешение

Вы должны дать права на выполнение скрипта:

sudo chmod +x screenshot.sh

Шаг 4: Снимок экрана

Теперь, когда все готово, выйдите из системы. Нажмите Ctrl+Alt+F1 на экране входа в систему, чтобы перейти в режим консоли. Войдите с вашими учетными данными пользователя. Запустите скрипт скриншота следующим образом:

sudo ./screenshot.sh

После запуска сценария он вернется в графический интерфейс экрана входа в систему (chvt 7), а через пять секунд он сохранит снимок экрана в вашем домашнем каталоге с именем файла screenshot.png .

Вы можете изменить скрипт скриншота в соответствии с вашими потребностями.

Я надеюсь, что этот совет помог вам сделать снимок экрана входа в систему в Ubuntu, Linux Mint или любом другом дистрибутиве Linux. Любые вопросы или предложения всегда приветствуются, оставляйте их в комментариях.

Как сделать снимок экрана в Linux Ubuntu. Клавиша быстрого доступа, чтобы сделать снимок экрана в Ubuntu - Как распечатать экран в Ubuntu. Снимок экрана Ubuntu и команда захвата экрана в Ubuntu.

Как сделать снимок экрана в Linux Ubuntu?

  • Перейдите в панель инструментов и откройте инструмент «Скриншот».
  • В окне «Возьмите скриншот» выберите, следует ли захватить весь рабочий стол, одно окно или область экрана.
  • Установите задержку, если вам нужно выбрать окно или иначе настроить рабочий стол для снимка экрана. Затем выберите любые эффекты, которые вы хотите.
  • Нажмите «Снимок экрана».
  • Если вы выбрали область «Выбор» для захвата, указатель превратится в перекрестье. Нажмите и перетащите область, которую вы хотите для скриншота.
  • В окне «Сохранить скриншот» введите имя файла и выберите папку, затем нажмите «Сохранить».

Клавиша быстрого доступа, чтобы сделать снимок экрана в Ubuntu

Введите команду «gnome-screenshot», чтобы сделать снимок экрана. Эта команда аналогична использованию экрана печати или с помощью инструмента скриншотов.

$ gnome-screenshot

Захват текущего окна:

Введите команду «gnome-screenshot -w», чтобы сделать снимок экрана текущего окна. Это похоже на скриншот текущего активного окна.

$ gnome-screenshot -w

Сделайте снимок экрана после некоторой задержки времени:

Чтобы сделать снимок экрана после некоторой задержки в секундах, используйте команду «gnome-screenshot -w -d 2», чтобы сделать снимок экрана. Опция -d 2 используется для снятия снимков после задержки 2 секунд.

$ gnome-screenshot -w -d 2

Захват конкретной оконной зоны:

Чтобы сделать снимок экрана для определенной области окна, используйте параметр -a с помощью команды «gnome-screenshot».

$ gnome-screenshot -a

Сделайте снимок экрана с рамкой или без окна:

Вы также можете сделать снимок экрана с рамкой окна экрана или без него, включая или исключая границу окна. Введите команду «gnome-screenshot» с параметрами -b / -B.

Включая границу окна:

$ gnome-screenshot -w -b

Исключая границу окна.

Когда я использовал Windows, я активно пользовался инструментом Ножницы. Затем я перешел на Ubuntu и мне понадобилась подобная программа. После непродолжительных переборов, я выбрал Shutter. Как оказалось, я нашел гораздо более эффективный комбайн, чем хотел. Сегодня я познакомлю вас с этой замечательной программой.

Функции

Что же умеет делать Шаттер:

  1. Скриншоты выбранной части экрана
  2. Скриншоты всего экрана
  3. Скриншоты сайтов, даже если они не помещаются на экране.
  4. Редактирование изображений
  5. Отправка изображений на фотохостинги

Установка программы

Программа доступна через Ubuntu Software Center. Но, к сожалению, там доступна не самая последняя версия. На данный момент последняя 0.90.1, а в USC есть только 0.89. Последнюю версию программы можно скачать, например, с оф.сайта .

Настройка программы

Для комфортной работы с программой, стоит настроить ее сразу же под себя. Для этого переходим в Edit → Preferences, а там во вкладках выставляем нужные вам параметры. Например, я выставил формат изображений png (оптимально для web), автоматическое сохранение и расширение в 1366 для снятия скриншотов сайта. Если вас не устраивает английский язык программы, можно ее русифицировать (Help → Translate this Application).

Интерфейс программы

  1. Скриншот выделенной области экрана
  2. Скриншот всего экрана
  3. Скриншот одного из экранов или всех сразу (если вы используете несколько экранов/рабочих столов в Ubuntu)
  4. Скриншот окна (выбор нужного окна после нажатия)
  5. Скриншот выбранного окна (из списка)
  6. Скриншот только части окна
  7. Скриншот части меню какой-либо программы
  8. Захват подсказки меню/программы
  9. Скриншот вебсайтов
  10. Выбор максимального времени выполнения скриншота сайтов
  11. Редактирование вашего скриншота
  12. Отправка на фотохостинги или на фтп-сервер

Возможности редактирования фото

  • Скрытие секретной информации
  • Подсветка нужных элементов
  • Добавление текста, стрелочек, прямоугольников и т.д.
  • Обрезка изображения
  • Добавление нумерованных указателей (как на моем скриншоте)

Заключение

Я описал далеко не все возможности этого многофункционального комбайна. С каждой новой версией разработчики добавляют новые функции и исправляют старые ошибки. Буду рад вашим замечаниям и дополнениям. Удачной вам работы с программой. Enjoy it!