Що таке команда терміналу, щоб зробити знімок екрана?


116

Які команди (команди) можна використовувати в терміналі, еквівалентному PrtScкнопці (Екран друку)?

Я запускаю Ubuntu GNOME.


Ви використовуєте gnome, KDE або щось інше? Це залежить від того, яке середовище робочого столу ви використовуєте.
Брайам

@Braiam поглянь на його відповідь .
Avinash Raj

@AvinashRaj Ви знаєте, що Unity також використовує gnome-скріншот?
Брайам

1
Я думаю, що gnome-screenshotце інструмент за замовчуванням на єдність для отримання скріншотів.
Авінаш Радж

Відповіді:


104

Ви можете використовувати інструмент імпорту , доступний в пакеті ImageMagick (вам потрібно встановити це, якщо його вже немає в вашій системі).

Виконайте таку команду в оболонці:

import screenshot.png

і виберіть вікно, яке ви бажаєте захопити, або виберіть регіон, натиснувши ліву кнопку миші та перетягуючи.

import - це насправді дуже потужна команда, яку можна використовувати багатьма способами для зйомки екрана. Наприклад, щоб захопити весь екран і після деякої затримки та зміни розміру, скористайтеся такою командою:

import -window root -resize 400x300 -delay 200 screenshot.png

Щоб побачити всі параметри, доступні для команди import, перейдіть на веб-сайт ImageMagick .

Ще один спосіб зняти скріншот з терміналу - за допомогою scrot

Щоб встановити тип scrot :

sudo apt-get install scrot

Щоб зробити знімок екрана в Linux з терміналу з типом scrot:

scrot MyScreenshot.png

Ще кілька варіантів з scrot:

scrot -b -d 5 '%Y:%m:%d:%H:%M:%S.png' -e 'mv $f ~/Desktop/'

У цьому прикладі

  • -b вказує, включаючи рамки вікна
  • -d вказує на затримку на п’ять секунд
  • '% Y:% m:% d:% H:% M:% S.png' збереже скріншот із назвою на основі поточної дати та часу та із заданим форматом, .pngу цьому випадку
  • -e 'mv $f ~/Desktop/' повідомляє scrot, щоб зберегти скріншот на робочий стіл

Обидві відповіді, здається, працюють лише з поточним $ DISPLAY, тому не працюють над SSH
Той бразильський хлопець

Це, безумовно, працює для багатьох користувачів, це просто не працювало для мене. ImageMagick import відображає прозорі межі вікна / ефект світіння KDE в чистому чорному кольорі. І scrotзовсім не хоче брати участь у трубах, якими я користуюся, щоб уникнути непотрібних проміжних файлів при обрізанні потрібного екрана з налаштування Xinerama. Я використовую xwdзамість цього і використовую ImageMagick convert для перетворення xwd -формату в PNG і виконання обрізання. (Дивіться також мою відповідь нижче)
Крістіан Худжер

55

Знайдено цю опцію тут, а також перераховані інші варіанти.

Відкрийте термінал , натиснувши Ctrl+ Alt+ Tі введіть

gnome-screenshot

використовувати gnome-screenshot -d xx для затримки дії.

Для затримки дії екрана на 10 секунд

gnome-screenshot -d 10

або

sleep 10;gnome-screenshot

4
gnome-screenshot --helpдасть вам безліч варіантів.
десь

2
gnome-screenshot --interactive
Луїс Суза

13

Ви можете скористатися програмою затвора, щоб зробити знімок екрана з терміналу. Запустіть команди нижче в терміналі, щоб встановити затвор,

sudo add-apt-repository ppa:shutter/ppa
sudo apt-get update
sudo apt-get install shutter

Щоб зробити знімок екрана активного вікна,

shutter -a -o shot.png -e

Щоб зробити знімок екрана на весь дисплей,

shutter -f -o shot.png -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.

2
Затвор - це дуже просунутий інструмент, який має знімки для редагування типу GIMP та легко додає форму автоматичного збільшення, що дуже корисно для навчальних посібників.
guneysus

8

Я спробував використовувати ImageMagick, import але це не спрацювало для мене під час використання ефектів робочого столу KDE. ImageMagick import має прозорі рамки вікна чорного кольору замість належного поєднання альфа-фону та фону переднього плану.

Я також спробував використовувати X11 xwd і NetPBM, xwdtopnm але це також не спрацювало для мене, NetPBM xwdtopnm не міг належним чином справлятися з багатоекранним виходом, xwdтому що у мене налаштування Xinerama.

Але поєднання X11 xwd з ImageMagick convert для мене спрацювало чудово:

xwd -silent -root | convert xwd:- screenshot.png

Або якщо у вас є програма Dine-FullHD Xinerama, як я, і ви хочете лише перший екран:

xwd -silent -root | convert xwd:- -crop 1920x1080+0+0 test.png

Лише для другого екрана:

xwd -silent -root | convert xwd:- -crop 1920x1080+1920+0 +repage test.png

Гарна відповідь. Але так як ви читаєте з труби , ймовірно , потрібно вказати формат вводу для команди новонаверненого: xwd ... | convert xwd:- .... Принаймні, це було потрібно для моєї установки Debian Strech з IM 6.9.6-2
Sylvain Leroux

7

Якщо ви хочете зробити знімок екрана з терміналу входу (той, який ви відкриваєте за допомогою Ctrl+ Alt+ F1), можете скористатися програмою fbgrab.

Ви можете встановити його, ввівши sudo apt-get install fbcat.

Потім зробіть скріншот свого термінала входу, введіть свій термінал входу:

$ sudo fbgrab my_screenshot

my_screenshot зберігається під поточним каталогом.


2
Який формат my_screenshot? Як його переглянути?
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Хоча існує багато способів зробити скріншот у графічному інтерфейсі, він фактично працює в звичайній консолі без X або будь-якого GUI. Формат скріншоту - PNG.
mivk

4

Я використовую ubuntu 13.10 і у мене є сценарій, який я щойно написав, який може бути корисним. Я бачу відповіді на це питання, але моє рішення не потребує додаткових встановлень.

#!/bin/bash
curDate=$(date)
imgExtension=".png"
imgName=$curDate$imgExtension
imgDirectory="/path/to/desires/save/directory/"
imgSavePath=$imgDirectory$imgName
gnome-screenshot --file="$imgSavePath"

Цей код збереже знімок екрана, не спливаючи діалогове вікно. Він використовує поточний час для імені файлу, щоб уникнути будь-яких проблем з іменем файлу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.