Как не интерактивно делать снимок экрана с заранее определенной областью и сохранять ее автоматически при нажатии клавиши? [dубликат]

У этого вопроса уже есть ответ: Снимок экрана из конкретной области из командной строки 4 отвечает

Я использовал «Экран печати Gadwin» в Windows, где я мог просто нажать ярлык и предопределенная область экрана будет сохранена в папке (без вопросов), что очень полезно при длительных онлайн-курсах.

Я переключился на Ubuntu, и мне нужна альтернатива. Я установил Shutter и сумел создать ярлык, который может запускать инструмент «Выбор» и автоматически сохранять изображение, но проблема в том, что мне нужно переставить предопределенную область выделения (которая по умолчанию расположена в правом нижнем углу экрана) , и затвор не помнит предыдущую позицию, которая занимает много времени в моем сценарии использования, где сделаны сотни снимков экрана.

1
задан 5 June 2017 в 05:55

2 ответа

Привязать скрипт, который реализует scrot и imagemagick для сочетания клавиш

1) Установите необходимые приложения

Из командной строки запустите:

sudo apt install scrot imagemagick

1) Установите необходимые приложения

Откройте свой текстовый редактор и создайте новый файл открытого текста со следующим содержимым. Обязательно измените переменные вверху, чтобы указать, где вы хотите сохранить изображения и какую часть экрана вы хотите вырезать. См. Этот трюк для получения координат мыши, которые можно использовать для поиска left и top и для вычисления width и height.

#!/bin/bash # Change these values to match your preferences imageQuality=100 # scrot default is 75 screenshotDir="/tmp" imageName="$(date +%Y-%m-%d.%H:%M:%S.%N).jpg" # save image names as timestamp left=10 # begin crop this number of pixels from the left of the image top=10 # begin crop this number of pixels from the top of the image width=100 # crop this many pixels wide height=100 # crop this many pixels tall #Do not make any more changes from here down unless you know what you're doing imagePath="$screenshotDir/$imageName" scrot -q $imageQuality "$imagePath" convert "$imagePath" -crop ${width}x${height}+${left}+${top} "$imagePath"

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

chmod +x /path/to/your/script/screenshot.sh

3) Привяжите этот скрипт к сочетанию клавиш

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

3
ответ дан 18 July 2018 в 12:10

Привязать скрипт, который реализует scrot и imagemagick для сочетания клавиш

1) Установите необходимые приложения

Из командной строки запустите:

sudo apt install scrot imagemagick

1) Установите необходимые приложения

Откройте свой текстовый редактор и создайте новый файл открытого текста со следующим содержимым. Обязательно измените переменные вверху, чтобы указать, где вы хотите сохранить изображения и какую часть экрана вы хотите вырезать. См. Этот трюк для получения координат мыши, которые можно использовать для поиска left и top и для вычисления width и height.

#!/bin/bash # Change these values to match your preferences imageQuality=100 # scrot default is 75 screenshotDir="/tmp" imageName="$(date +%Y-%m-%d.%H:%M:%S.%N).jpg" # save image names as timestamp left=10 # begin crop this number of pixels from the left of the image top=10 # begin crop this number of pixels from the top of the image width=100 # crop this many pixels wide height=100 # crop this many pixels tall #Do not make any more changes from here down unless you know what you're doing imagePath="$screenshotDir/$imageName" scrot -q $imageQuality "$imagePath" convert "$imagePath" -crop ${width}x${height}+${left}+${top} "$imagePath"

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

chmod +x /path/to/your/script/screenshot.sh

3) Привяжите этот скрипт к сочетанию клавиш

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

3
ответ дан 24 July 2018 в 19:55
  • 1
    Спасибо, что помогли мне. Я создал файл screenshot.sh из предоставленного вами сценария и дважды щелкнул его, но он не тренировался. Вот сообщение об ошибке «У файла, который вы открыли, есть некоторые недопустимые символы. Если вы продолжите редактирование этого файла, вы можете повредить этот документ. Вы также можете выбрать другую кодировку символов и повторить попытку. & Quot; Я также добавил ярлык и не получил никаких результатов. @b_laoshi – dipu 11 June 2017 в 18:09
  • 2
    Это звучит как проблема с редактором, который вы использовали для создания файла или для внесения изменений. Могу ли я рекомендовать использовать nano? Скопируйте сценарий со страницы выше, в терминале, введите nano /path/to/screenshot.sh, затем один раз, который открывается, удалите уже существующий текст и нажмите Ctrl + Shift + V, чтобы вставить. Сохраните это и сделайте его только для чтения. Для сохранения вам нужно нажать Ctrl + X, Y, Enter. – b_laoshi 12 June 2017 в 04:35
  • 3
    Одно дело проверить, что символ двойной кавычки выглядит так & quot; , а не этот " или этот " . Это три совершенно разных персонажа, и последние два не будут правильно разбираться. – b_laoshi 12 June 2017 в 04:40
  • 4
    Извините за задержку с ответом. Я попробовал то, что вы сказали, и теперь, когда я дважды нажимаю на screenshot.sh, он открывается в текстовом редакторе и отображает сценарий, который я ввел. Я не могу сделать это только для чтения. Как сделать его исполняемой программой, которая может снимать снимки экрана?. – dipu 15 June 2017 в 18:33
  • 5
    Есть 2 вещи для проверки. 1) первая строка скрипта читает #!/bin/bash, а 2) вы запустили строку chmod +x ..., чтобы сделать исполняемый файл сценария. Если эти две вещи верны, когда вы дважды щелкаете по файлу, вам нужно показать приглашение, спрашивающее, хотите ли вы: a) запустить в терминале, b) отобразить, c) отменить или d) выполнить. Если вы не видите это приглашение, вы не выполнили исполняемый файл сценария (это приглашение отображается только в том случае, если файл исполняемый и вы дважды щелкаете для запуска). Вы также можете запустить файл с терминала с помощью bash /path/to/screenshot.sh. Исполняемый или нет, это будет работать. – b_laoshi 16 June 2017 в 04:02

Другие вопросы по тегам:

Похожие вопросы: