Jakie polecenie terminalu wykonuje zrzut ekranu?

116

Jakich poleceń mogę używać w terminalu, co jest równoważne z przyciskiem PrtSc(Print Screen)?

Używam Ubuntu GNOME.

devav2
źródło
Używasz gnome'a, KDE czy czegoś innego? To zależy od używanego środowiska pulpitu.
Braiam
@Braiam spójrz na jego odpowiedź .
Avinash Raj
@AvinashRaj, czy zdajesz sobie sprawę, że Unity również używa zrzutu ekranu gnome?
Braiam
1
myślę, że gnome-screenshotjest domyślnym narzędziem do jedności do robienia zrzutów ekranu.
Avinash Raj
1
Możliwy duplikat Jakie narzędzia do zrzutów ekranu są dostępne?
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Odpowiedzi:

104

Możesz użyć narzędzia importującego dostępnego w pakiecie ImageMagick (musisz je zainstalować, jeśli nie jest już dostępne w twoim systemie).

Uruchom następujące polecenie w powłoce:

import screenshot.png

i wybierz okno, które chcesz uchwycić, lub wybierz region, naciskając lewy przycisk myszy i przeciągając.

import to w rzeczywistości bardzo potężne polecenie, które można wykorzystać na wiele sposobów, aby przechwycić ekran. Na przykład, aby przechwycić cały ekran, a po pewnym czasie i zmienić jego rozmiar, użyj następującego polecenia:

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

Aby zobaczyć wszystkie opcje dostępne w poleceniu importu, przejdź do strony ImageMagick .

Innym sposobem zrobienia zrzutu ekranu z terminala jest scrot

Aby zainstalować typ scrot :

sudo apt-get install scrot

Aby zrobić zrzut ekranu w systemie Linux z terminala typu scrot:

scrot MyScreenshot.png

Oto kilka innych opcji scrot:

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

W tym przykładzie

  • -b określa dołączenie obramowań okna
  • -d określa opóźnienie wynoszące pięć sekund
  • „% Y:% m:% d:% H:% M:% S.png” zapisze zrzut ekranu z nazwą opartą na bieżącej dacie i godzinie oraz w określonym formacie, .pngw tym przypadku
  • -e 'mv $f ~/Desktop/' mówi scrotowi, aby zapisać zrzut ekranu na pulpicie
61928
źródło
Obie odpowiedzi wydają się działać tylko z bieżącym WYŚWIETLACZEM $, dlatego nie działają nad SSH
ten Brazylijczyk
To z pewnością działa dla wielu użytkowników, po prostu nie działało dla mnie. ImageMagick import renderuje przezroczyste obramowania okien / efekt blasku KDE Desktop Effects w jednolitej czerni. I scrotwcale nie chce brać udziału w potokach, których używam, aby uniknąć niepotrzebnych plików pośrednich podczas przycinania pożądanego ekranu z konfiguracji Xinerama. Używam xwdzamiast tego i używam ImageMagick convert do konwersji formatu xwd na format PNG i kadrowania. (Zobacz także moją odpowiedź poniżej)
Christian Hujer,
55

Znalazłem tę opcję tutaj i inne opcje są również wymienione.

Otwórz terminal , naciskając Ctrl+ Alt+ Ti wpisz

gnome-screenshot

użyj gnome-screenshot -d xx, aby opóźnić akcję.

Aby opóźnić zrzut ekranu o 10 sekund

gnome-screenshot -d 10

lub

sleep 10;gnome-screenshot
devav2
źródło
4
gnome-screenshot --helpda ci wiele opcji.
coś
2
gnome-screenshot --interactive
Luis Souza,
13

Możesz użyć programu migawki , aby zrobić zrzut ekranu z terminala. Uruchom poniższe polecenia w terminalu, aby zainstalować migawkę,

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

Aby zrobić zrzut ekranu aktywnego okna,

shutter -a -o shot.png -e

Aby zrobić zrzut ekranu całego wyświetlacza,

shutter -f -o shot.png -e

Zrzuty ekranu są przechowywane w katalogu domowym .

Aby uzyskać więcej opcji, uruchom shutter --helppolecenie,

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.
Avinash Raj
źródło
2
Migawka jest bardzo zaawansowanym narzędziem, które ma edycję ujęć takich jak GIMP i łatwe dodawanie kształtu automatycznego przyrostu, co jest bardzo przydatne w samouczkach.
guneysus
8

Próbowałem użyć ImageMagick, import ale nie działało to dla mnie podczas korzystania z efektów pulpitu KDE. ImageMagick import ma wyjściowe przezroczyste obramowania okien w kolorze czarnym zamiast właściwego łączenia alfa pierwszego planu i tła.

Próbowałem także użyć X11 xwd i NetPBM, xwdtopnm ale to również nie działało dla mnie, NetPBM xwdtopnm nie mógł poprawnie poradzić sobie z wyjściem wieloekranowym, xwdponieważ mam konfigurację Xinerama.

Ale połączenie X11 xwd z ImageMagick convert działało dla mnie dobrze:

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

Lub, jeśli masz konfigurację Xinerama Dual-FullHD, taką jak ja i chcesz tylko pierwszego ekranu:

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

Tylko dla drugiego ekranu:

xwd -silent -root | convert xwd:- -crop 1920x1080+1920+0 +repage test.png
Christian Hujer
źródło
Niezła odpowiedź. Ale skoro czytasz z rury prawdopodobnie trzeba określić format wejściowy dla polecenia convert: xwd ... | convert xwd:- .... Przynajmniej było to wymagane w mojej instalacji Debian Strech z komunikatorem 6.9.6-2
Sylvain Leroux
7

Jeśli chcesz zrobić zrzut ekranu z terminala logowania (tego, który otwierasz za pomocą Ctrl+ Alt+ F1), możesz użyć programu fbgrab.

Możesz go zainstalować, pisząc sudo apt-get install fbcat.

Następnie wykonaj zrzut ekranu swojego terminala logowania, wpisz swój terminal logowania:

$ sudo fbgrab my_screenshot

moj zrzut ekranu jest zapisywany w bieżącym katalogu.

użytkownik2376000
źródło
2
Jaki jest format my_screenshot? Jak to zobaczyć?
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
Chociaż istnieje wiele sposobów na wykonanie zrzutu ekranu w GUI, tak naprawdę działa on w zwykłej konsoli bez X lub jakiegokolwiek GUI. Format zrzutu ekranu to PNG.
mivk
4

Używam Ubuntu 13.10 i mam właśnie napisany skrypt, który może być pomocny. Widzę, że na te pytania udzielono odpowiedzi, ale moje rozwiązanie nie wymaga żadnych dodatkowych instalacji.

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

Ten kod zapisze zrzut ekranu bez wyskakującego okna dialogowego. Używa aktualnego czasu dla nazwy pliku, aby uniknąć problemów ze zduplikowanymi nazwami plików.

Gary Hutchinson
źródło