04 июля 2017

Как сделать снимок экрана из командной строки (терминала) в Ubuntu и производных

Простейший способ получения снимка экрана для операционных систем Linux и Windows — использование клавиши PrtScr (для всего экрана) или сочетание клавиш Alt+PrtScr (для активного окна) на клавиатуре.
Думаю, что любой пользователь компьютером, хоть однажды, но пользовался созданием снимка экрана, чтобы опубликовать его в комментариях, послать по почте и т.д.

В Linux есть стандартная утилита среды GNOME для создания снимков экрана - gnome-screenshot (screenshot - снимок экрана).
gnome-screenshot позволяет делать снимок экрана целиком, отдельного окна, либо выбранной области. Также есть возможность сделать снимок с задержкой, включить указатель и использовать некоторые эффекты (тень и рамка).


Но графическая утилита Снимок экрана (верхний снимок), это всего лишь оболочка, созданная для удобства пользователей в системе. На самом деле, всё что делает эта утилита, происходит невидимо в окне терминала.
Чтобы убедиться в этом, давайте выполним следующие команды в терминале:

1. Захватить весь экран

gnome-screenshot

2. Захватить текущее окно

gnome-screenshot -w

Примечание. После выполнения данной команды создаётся снимок окна самого терминала, т.к он является актуальным или текущим окном на данный момент.

Для того чтобы сделать снимок другого актуального окна, расположенного на мониторе, к команде gnome-screenshot -w нужно добавить аргумент -d с указанием секунд задержки, которая даёт возможность переключится на другое окно кликом на нём. Для примера я в команду добавил аргумент -d 3, т.е задержка перед снимком будет составлять три секунды.

gnome-screenshot -w -d 3

3. Выбрать область захвата

gnome-screenshot -a

После выполнения данной команды, вместо курсора создаётся перекрестие, которым и нужно выделить желаемую область на экране для создания снимка.

4. Сделать снимок окна с рамкой или без.

Снимок окна с рамкой.

gnome-screenshot -w -b

Снимок окна без рамки.

gnome-screenshot -w -B

Вот так можно создавать снимки экрана из командной строки (терминала).

Кто-то может сказать: "Ну и нафига ты мне тут паришь мозги с терминалом, если есть графическая программа? Открыл её, нажал на нужную кнопку и снимок готов."
Да Вы правы, что нужно запоминать все эти команды, вводить их в терминал и т.д., и т.п. Но правы будете только отчасти, т.к. эти команды можно "привязать" к горячим клавишам/клавише, после чего достаточно нажать выбранные вами горячие клавиши/клавишу и снимок будет сделан, без необходимости открывать графическое приложение для создания снимка или хуже того, держать в голове нужные команды.

Откройте программу Клавиатура - Комбинации клавиш - Дополнительные комбинации клавиш и нажмите на кнопке Добавить пользовательскую комбинацию, в новом окне, в поле Название введите соответствующее название, а в поле Команда введите нужную команду и кнопка Добавить:


Теперь нужно сделать привязку к горячей клавише. Нажмите на строке с надписью не назначено, после чего появится надпись - Выберите ускоритель, т.е. клавишу, после нажатия которой, будет сделан снимок. Для примера создания снимка текущего окна с задержкой в 3 секунды, я назначил клавишу F9:


Теперь после нажатия клавиши F9, будет создан снимок с задержкой в 3 секунды.
И не нужно открывать программу или, тем более, запоминать команду, а только лишь назначенную вами клавишу.

Вот и всё. Надеюсь я не зря "парил вам мозги"? )

Удачи.

9 комментариев :

  1. Спасибо возьму на вооружение.

    ОтветитьУдалить
  2. Владимир, а вы заглядывали в "Клавиатура - Комбинации клавиш - Система - Скриншоты и запись экрана"? Там уже определены различные сочетания для вызова скриншотера.

    ОтветитьУдалить
    Ответы
    1. ==Владимир, а вы заглядывали в "Клавиатура - Комбинации клавиш - Система - Скриншоты и запись экрана"?==
      Заглядывал конечно. Но Linux тем и хорош, что в нём можно настроить всё самому и под себя, а не только пользоваться тем что предлагает система, как в Windows.)

      Удалить
  3. Здравствуйте, а как должна вести себя эта команда?

    gnome-screenshot -c

    По идее, вроде, должна скрин в буфер обмена ложить, но ничего такого не происходит(Ubuntu16.04.1-Gnome3.18), ну я по крайне мере не смог достать(Nautilus --> Ctrl+V)

    ОтветитьУдалить
    Ответы
    1. ==должна скрин в буфер обмена ложить, но ничего такого не происходит(Ubuntu16.04.1-Gnome3.18), ну я по крайне мере не смог достать(Nautilus --> Ctrl+V)==
      В Наутилусе вставка файла по Ctrl-V и не должна работать. Скриншот помещается в буфер не в виде файла, а именно как изображение. Которое можно вставить в окно графического редактора, например - но не файлового менеджера.

      Удалить
    2. ясно, спасибо. Я почему в файловый менеджер полез, в некоторых дестрибутивах(Rosa) реализованно это именно как в файл, и вставляй куда хочешь, если кто подскажет как такого добиться буду благодарен.

      Удалить
    3. Привет! Попробуй разобраться с командой scrot. Может пригодится команда scrot -cd 5 -e 'mv $f ~/images/' – снимок в папку /images через 5 секунд с обратным отсчётом времени(параметр « с ») .

      Удалить
  4. Давно горячими клавишами для скринов пользуюсь.Удобно.Да, и удобней все ж под себя настраивать, чем дефолт.Так что тема в тему.

    ОтветитьУдалить
  5. Отлично! Довольно часто пользуюсь снимком области экрана. При вызове графической утилиты, надо такую кнопку включать дополнительно. А по умолчанию - весь экран. В общем лишние телодвижения. Здесь - забил буквы в ClipIt и пользуйся когда надо. Время будет и горячую клавишу подключу. Спасибо.

    ОтветитьУдалить