Скрипт 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

Установить через центр программного обеспечения ImageMagick Установите imagemagick

Это позволит вам использовать import команда. Также попробуйте пакет graphicsmagick-imagemagick-compat.

другие альтернативы для импорта

  • scrot

    Чтобы установить Scrot: sudo aptitude install scrot

Установить через центр программного обеспечения 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 ключ и не позаботился о расследовании.

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