Скрипт Bash, чтобы сделать скриншот и сохранить изображение - Ubuntu
Я написал скрипт bash, как показано ниже:
#!/bin/bash
echo "Enter a file name"
read filename
import -window root $HOME/Desktop/$filename.png
Я ожидал, что этот скрипт сделает снимок экрана и сохранит изображение с указанным именем файла на моем рабочем столе.
Проблема: Мой терминал Ubuntu выдает ошибку:
импорт: команда не найдена
3 ответа
Вам необходимо установить пакет imagemagic, чтобы использовать команду import.
sudo apt-get install imagemagick
Это позволит вам использовать import
команда. Также попробуйте пакет graphicsmagick-imagemagick-compat.
другие альтернативы для импорта
scrot
Чтобы установить Scrot:
sudo aptitude install scrot
usage: `scrot screen.png`
gnome-screenshot
sudo aptitude устанавливает gnome-скриншот
Вы можете использовать лучший инструмент скриншот затвора для использования в скриптах тоже! И я считаю, что это самый мощный инструмент, и он дает вам самые продвинутые и отлаженные опции для использования в скриптах.
Установите его с помощью команды в терминале
sudo apt-get install shutter
или используя центр программного обеспечения (нажав большую кнопку ниже)
И после установки используйте эту команду, чтобы сделать снимок всего экрана и сохранить снимок в файле с именем myshot.png
shutter -f -o myshot.png -e
-f
говорит затвору сделать скриншот всего дисплея. Вы также можете использовать-a
сделать снимок экрана активного окна или попросить его сделать снимок из любого конкретного окна.-o
Опция используется для сообщения затвора имени выходного файла. Вы можете указать любое имя файлаe
Опция заставляет затвор выходить после съемки скриншота.
Выход из shutter --help
приводится ниже для справки.
Usage:
shutter [options]
Options:
Example 1
shutter -a -p=myprofile --min_at_startup
Example 2
shutter -s=100,100,300,300 -e
Example 3
shutter --window=.*firefox.*
Example 4
shutter --web=http://shutter-project.org/ -e
Capture Mode Options:
-s, --select=[X,Y,WIDTH,HEIGHT]
Capture an area of the screen. Providing X,Y,WIDTH,HEIGHT is
optional.
-f, --full
Capture the entire screen.
-w, --window=[NAME_PATTERN]
Select a window to capture. Providing a NAME_PATTERN (Perl-style
regex) ist optional.
-a, --active
Capture the current active window.
--section
Capture a section. You will be able to select any child window
by moving the mouse over it.
-m, --menu
Capture a menu.
-t, --tooltip
Capture a tooltip.
--web=[URL]
Capture a webpage. Providing an URL ist optional.
-r, --redo
Redo last screenshot.
Settings Options:
-p, --profile=NAME
Load a specific profile on startup.
-o, --output=FILENAME
Specify a filename to save the screenshot to (overwrites any
profile-related setting).
Supported image formats: You can save to any popular image
format (e.g. jpeg, png, gif, bmp). Additionally it is possible
to save to pdf, ps or svg.
Please note: There are several wildcards available, like
%Y = year
%m = month
%d = day
%T = time
$w = width
$h = height
$name = multi-purpose (e.g. window title)
$nb_name = like $name but without blanks in resulting strings
$profile = name of current profile
$R = random char (e.g. $RRRR = ag4r)
%NN = counter
The string is interpretted by strftime. See "man strftime" for
more examples.
As an example: shutter -f -e -o './%y-%m-%d_$w_$h.png' would
create a file named '11-10-28_1280_800.png' in the current
directory.
Application Options:
-h, --help
Prints a brief help message and exits.
-v, --version
Prints version information.
-d, --debug
Prints a lot of debugging information to STDOUT.
--clear_cache
Clears cache, e.g. installed plugins, at startup.
--min_at_startup
Starts Shutter minimized to tray.
--disable_systray
Disables systray icon.
-e, --exit_after_capture
Exit after the first capture has been made. This is useful when
using Shutter in scripts.
Чтобы установить imagemagick, содержащий программу import
см другой ответ. Однако вы также можете запустить gnome-screenshot из командной строки, вызвав gnome-screenshot
, Апплет сделает снимок экрана без задержки и покажет диалоговое окно для ввода имени файла:
Мне нравится
scrot
за это (apt install scrot
):
#!/bin/bash
scrot -u -q 100 '/home/stephen/pic/screenshots/screenshot.%Y%m%d_%H%M%S.png'
И привязан к какому-то ключу. Я столкнулся с проблемами при использовании
printscr
ключ и не позаботился о расследовании.