Was ist der Terminalbefehl, um einen Screenshot zu machen?

116

Welche Befehle kann ich im Terminal verwenden, die der PrtScSchaltfläche (Bildschirm drucken) entsprechen?

Ich verwende Ubuntu GNOME.

devav2
quelle
Benutzt du Gnome oder KDE oder etwas anderes? Es hängt davon ab, welche Desktop-Umgebung Sie verwenden.
Braiam
@Braiam werfen Sie einen Blick auf seine Antwort .
Avinash Raj
@AvinashRaj ist dir bewusst, dass Unity auch Gnome-Screenshots verwendet?
Braiam
1
Ich denke, es gnome-screenshotist das Standardwerkzeug für Unity, um Screenshots zu machen.
Avinash Raj
1
Mögliches Duplikat von Welche Screenshot-Tools sind verfügbar?
Ciro Santilli新疆改造中心法轮功六四事件

Antworten:

104

Sie können das im ImageMagick-Paket enthaltene Import- Tool verwenden (Sie müssen es installieren, wenn es auf Ihrem System bereits nicht verfügbar ist).

Führen Sie den folgenden Befehl in einer Shell aus:

import screenshot.png

und wählen Sie das Fenster aus, das Sie erfassen möchten, oder wählen Sie eine Region aus, indem Sie die linke Maustaste drücken und ziehen.

import ist ein sehr mächtiger Befehl, der auf viele Arten verwendet werden kann, um den Bildschirm zu erfassen. Verwenden Sie zum Beispiel den folgenden Befehl, um den gesamten Bildschirm zu erfassen und nach einer gewissen Verzögerung die Größe zu ändern:

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

Um alle mit dem Befehl import verfügbaren Optionen anzuzeigen , besuchen Sie die ImageMagick-Website .

Ein anderer Weg , einen Screenshot vom Terminal aus zu machen, ist Scrot

So installieren Sie den Scrot- Typ:

sudo apt-get install scrot

So machen Sie unter Linux einen Screenshot vom Terminal mit dem Scrot-Typ:

scrot MyScreenshot.png

Einige weitere Optionen mit scrotsind hier:

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

In diesem Beispiel

  • -b Gibt an, dass die Fensterrahmen eingeschlossen werden
  • -d gibt eine Verzögerung von fünf Sekunden an
  • '% Y:% m:% d:% H:% M:% S.png' speichert den Screenshot unter einem Namen, der auf dem aktuellen Datum und der aktuellen Uhrzeit basiert, und in dem .pngin diesem Fall angegebenen Format
  • -e 'mv $f ~/Desktop/' Weist scrot an, den Screenshot auf dem Desktop zu speichern
user61928
quelle
Beide Antworten scheinen nur mit dem aktuellen $ DISPLAY zu funktionieren, funktionieren also nicht über SSH
That Brazilian Guy
Dies funktioniert sicherlich für viele Benutzer, es hat einfach nicht für mich funktioniert. ImageMagick import rendert transparente Fensterränder / Glüheneffekte von KDE Desktop Effects in festem Schwarz. Und scrotmöchte überhaupt nicht an Pipes teilnehmen, die ich verwende, um unnötige Zwischendateien beim Zuschneiden des gewünschten Bildschirms aus einem Xinerama-Setup zu vermeiden. Ich benutze xwdstattdessen und benutze ImageMagick convert , um das xwd-Format in PNG umzuwandeln und das Zuschneiden zu machen. (Siehe auch meine Antwort unten)
Christian Hujer
55

Fand diese Option hier und andere Optionen werden ebenfalls aufgelistet.

Öffnen Sie das Terminal, indem Sie Ctrl+ Alt+ drücken Tund tippen

gnome-screenshot

Verwenden Sie gnome-screenshot -d xx , um die Aktion zu verzögern.

Verzögerung der Screenshot-Aktion um 10s

gnome-screenshot -d 10

oder

sleep 10;gnome-screenshot
devav2
quelle
4
gnome-screenshot --helpgibt Ihnen viele Möglichkeiten.
irgendwann
2
gnome-screenshot --interactive
Luis Souza
13

Sie können das Shutter- Programm verwenden, um einen Screenshot vom Terminal zu machen. Führen Sie die folgenden Befehle im Terminal aus, um den Shutter zu installieren.

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

So machen Sie einen Screenshot des aktiven Fensters:

shutter -a -o shot.png -e

So machen Sie einen Screenshot der gesamten Anzeige:

shutter -f -o shot.png -e

Die Screenshots werden im Home- Verzeichnis gespeichert .

Für weitere Optionen führen Sie den shutter --helpBefehl aus,

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
quelle
2
Shutter ist ein sehr fortschrittliches Tool, das Bearbeitungs-Shots wie GIMP und das einfache Hinzufügen von Auto-Inkrement-Shapes enthält, was für Tutorials sehr nützlich ist.
Guneysus
8

Ich habe versucht, ImageMagick zu verwenden, import aber es hat bei mir mit KDE Desktop Effects nicht funktioniert. ImageMagick import gibt transparente Fensterränder in Schwarz aus, anstatt Alpha und Hintergrund des Vordergrunds richtig zu kombinieren.

Ich habe auch versucht, X11 xwd und NetPBM zu verwenden, xwdtopnm aber das hat auch bei mir nicht funktioniert. NetPBM xwdtopnm konnte mit der Multiscreen-Ausgabe von nicht richtig umgehen, xwdda ich ein Xinerama-Setup habe.

Aber die Kombination von X11 xwd mit ImageMagick convert hat mir sehr gut gefallen:

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

Oder, wenn Sie ein Dual-FullHD Xinerama-Setup haben, wie ich, und nur den ersten Bildschirm möchten:

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

Nur für den zweiten Bildschirm:

xwd -silent -root | convert xwd:- -crop 1920x1080+1920+0 +repage test.png
Christian Hujer
quelle
Gute Antwort. Aber da Sie aus lesen Rohr müssen Sie wahrscheinlich das Eingabeformat für den Befehl convert angeben: xwd ... | convert xwd:- .... Zumindest war es auf meiner Debian Strech-Installation mit IM 6.9.6-2
Sylvain Leroux
7

Wenn Sie einen Screenshot von einem Login-Terminal nehmen (die man öffnen Sie mit Ctrl+ Alt+ F1) können Sie das Programm verwenden können fbgrab.

Sie können es durch Eingabe installieren sudo apt-get install fbcat.

Dann mache einen Screenshot von deinem Login-Terminal, tippe dein Login-Terminal ein:

$ sudo fbgrab my_screenshot

my_screenshot wird im aktuellen Verzeichnis gespeichert.

user2376000
quelle
2
Was ist das Format von my_screenshot? Wie kann man es sehen?
Ciro Santilli
Es gibt zwar viele Möglichkeiten, einen Screenshot in der GUI zu erstellen, dies funktioniert jedoch in einer einfachen Konsole ohne X oder eine GUI. Das Format des Screenshots ist PNG.
Mivk
4

Ich benutze Ubuntu 13.10 und ich habe ein Skript, das ich gerade geschrieben habe, was hilfreich sein kann. Ich sehe, dass diese Fragen beantwortet wurden, aber meine Lösung erfordert keine zusätzlichen Installationen.

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

Dieser Code speichert den Screenshot, ohne das Dialogfenster zu öffnen. Es verwendet die aktuelle Zeit für einen Dateinamen, um doppelte Dateinamenprobleme zu vermeiden.

Gary Hutchinson
quelle