Wie kann ich einen Screenshot des Anmeldebildschirms machen?

31

Wie kann ich einen Screenshot des Anmeldebildschirms machen?

Ich möchte meine Ubuntu-Installation nicht in einer virtuellen Maschine neu erstellen.

ændrük
quelle
1
Das erste, wonach ich suchen würde, ist etwas, das die Ausgabe von X erfasst. Eine Suche nach "screenshot xserver" führt mich zu dieser Antwort auf Linuxquestions.org .
Lekensteyn,
Diese Diskussion zu diesem Thema
Waldir Leoncio
Ich habe ein Skript dazu in diesem askubuntu.com/questions/177067/…
Nafis Ahmad

Antworten:

17

Dieses Blog kann hilfreich sein: http://ptspts.blogspot.com/2010/02/how-to-create-screen-shot-of-gdm-login.html

Installieren Sie ImageMagick für die folgende Konvertierung des Bilddateiformats:

sudo apt-get install imagemagick

Erstellen Sie ein Hilfsskript:

echo 'DISPLAY=:0 XAUTHORITY=/var/lib/gdm/:0.Xauth xwd -root' >/tmp/shot.sh

Stellen Sie sicher, dass Ihr Anmeldebildschirm aktiv ist (melden Sie sich ab oder starten Sie den Computer neu und warten Sie, bis Sie den Anmeldebildschirm sehen). Melden Sie sich im Textmodus (durch Drücken von Strg-Alt-F1) oder mit SSH an. Erstellen Sie den Screenshot, indem Sie ausführen

sudo bash /tmp/shot.sh >/tmp/shot.xwd

Sie können sich jetzt anmelden (indem Sie zuerst Strg-AltF7 drücken, um zum GDM-Anmeldebildschirm zurückzukehren). Konvertieren Sie den Screenshot in JPEG und / oder PNG:

convert -quality 50 /tmp/shot.xwd /tmp/shot.jpg
convert /tmp/shot.xwd /tmp/shot.png

Zeigen Sie den Screenshot in Ihrem bevorzugten Bildbetrachter an.

Niroshan
quelle
4
Am Ende habe ich sudo sh -c 'sleep 5s; xwd -display :0 -root | convert - screenshot.png'von einer virtuellen Konsole aus auf den Anmeldebildschirm gewechselt, während ich 5 Sekunden geschlafen habe.
ændrük,
3
Ich habe dies für LightDM optimiert. $ echo 'DISPLAY =: 0 XAUTHORITY = / var / run / lightdm / root /: 0 xwd -root'> /tmp/shot.sh
popey 10.06.12
11

Für 11.10 und Lightdm und höher

Sie können versuchen, unity-greeter --test-modein einem Terminal zu laufen . Es zeigt den Anmeldebildschirm innerhalb der Sitzung an. Sie können dann wie bei jeder anderen Anwendung einen Screenshot des Anmeldebildschirms erstellen.

Bildbeschreibung hier eingeben

jokerdino
quelle
Aber das ist zu allgemein, Änderungen können nicht gesehen werden. Gibt es eine Möglichkeit, aktuelle Änderungen zu testen?
Ubuntuser
@ Ubuntuser Nicht das ich wüsste. Auf welche Modifikation testen Sie?
jokerdino
Ich teste Fingerabdruckleser. auf dem Anmeldebildschirm und dem Sperrbildschirm wird es schön angezeigt. Ich möchte einen Screenshot von beiden machen.
Ubuntuser
@Ubuntuser Ich vermute, die Änderungen, die Sie vorgenommen haben, wirken sich direkt auf das lightdm aus und nicht auf den Unity-Greeter? Ich bin mir nicht sicher. Ich spekuliere nur. Vielleicht möchten Sie eine neue Frage stellen ..
jokerdino
8

Sie können dies versuchen:

gnome-screenshot -d 10

Sie müssen nichts installieren, geben Sie einfach den Befehl ein und sperren Sie den Bildschirm. Der Bildschirm wird innerhalb von 10 Sekunden nach Ausführung des Befehls angezeigt.

Der Befehl sperrt den Bildschirm, kopiert den Screenshot in die Zwischenablage und entsperrt den Bildschirm erneut. Alles für sich.

gnome-screensaver-command -l && sleep 2 && gnome-screenshot -c && loginctl unlock-session

 Bildbeschreibung hier eingeben

Mahmoud S. Marwad
quelle
3
Dies ist bei weitem die einfachste Lösung, die ich gefunden habe.
Caustic
7

Für Ubuntu 14.04

Die obigen Antworten haben bei mir in Ubuntu 14.04 nicht funktioniert - ich habe gesucht und festgestellt, dass dies funktioniert.

  1. Installieren Sie ImageMagick

    sudo apt-get install imagemagick
    
  2. Erstellen Sie eine Datei in Ihrem Homeverzeichnis, shot.shvorzugsweise in Ihrem Homeverzeichnis, und fügen Sie den folgenden Code ein:

    chvt 7;
    sleep 5s;
    DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 xwd -root -out ~/screenshot.xwd;
    convert ~/screenshot.xwd ~/screenshot.png;
    rm ~/screenshot.xwd
    
  3. Mach es ausführbar

    sudo chmod +x shot.sh
    
  4. Abmelden vom System. Drücken Sie Ctrl+ Alt+ F1an die Konsole (tty1) und Login zu gehen. Führen Sie das Skript mit folgendem Befehl aus:

    sudo ./shot.sh
    

Sie gelangen zurück zur grafischen Benutzeroberfläche des Anmeldebildschirms (Kapitel 7). Nach fünf Sekunden wird der Screenshot in Ihrem Ausgangsverzeichnis unter einem Dateinamen gespeichert screenshot.png.


Hier ist meins:

Bildbeschreibung hier eingeben

Quelle: http://itsfoss.com/screenshot-login-screen-ubuntu-linux/

Parto
quelle
Ich kann bestätigen, dass dieses Shell-Skript unter Ubuntu 18.10 Cosmic Cuttlefish mit Unity 7.5.0 noch funktioniert. Ich kann einen Screenshot in einem Versuch erfolgreich machen. Vielen Dank, dass Sie @Parto.
Ade Malsasa Akbar
6

Geben Sie dies in ein Terminal ein:

dm-tool add-nested-seat --fullscreen

Das ist es! Machen Sie wie gewohnt einen Screenshot

Drücken Sie Alt + F4, um das Vollbildfenster Ihres Anmeldebildschirms zu schließen

ein Freund
quelle
Das ist eine Schönheit! Genius!
Anwar
Ich kann auch bestätigen, dass dieser Trick unter Ubuntu 18.10 perfekt funktioniert. Ich denke, dieser Trick ist einfacher und schneller als Shell-Skript. Vielen Dank an @afriend.
Ade Malsasa Akbar
2

Ich wollte nur wissen, dass ich auf Ubuntu 10.04 LTS eine Reihe von Problemen damit hatte - hier ist meine Lösung:

Ich bin auf Maschine A und melde mich über ssh auf Maschine B an:

myusername@pcA:~$ ssh pcB
myusername@pcB's password: 
Linux pcB 2.6.32-44-generic #98-Ubuntu SMP Mon Sep 24 17:32:45 UTC 2012 i686 GNU/Linux
Ubuntu 10.04.4 LTS

Welcome to Ubuntu!
 * Documentation:  https://help.ubuntu.com/

myusername@pcB:~$ 

Dann fahre ich mit mehreren Versuchen fort, einen Screenshot zu erstellen, die alle fehlgeschlagen sind. Das Problem kann dadurch verringert werden, xwininfodass der Fensterstatus nicht ermittelt werden kann:

myusername@pcB:~$  xwininfo
xwininfo:  unable to open display ''

myusername@pcB:~$ sudo xwininfo
[sudo] password for myusername: 
xwininfo:  unable to open display ''

myusername@pcB:~$ DISPLAY=:0.0 xwininfo
No protocol specified
xwininfo:  unable to open display ':0.0'

myusername@pcB:~$ DISPLAY=:0 xwininfo
No protocol specified
xwininfo:  unable to open display ':0'

Nun, es stellt sich heraus, dass aus irgendeinem Grund der richtige Aufruf für das Targeting von X-Fenstern über ssh lautet DISPLAY=:0.0 sudo xwininfo ...- das heißt, die DISPLAY=:0.0Umgebungsvariable steht an erster Stelle. Das sudogeht an zweiter Stelle - und dann den entsprechenden X-Befehl:

myusername@pcB:~$ DISPLAY=:0 sudo xwininfo

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

myusername@pcB:~$ DISPLAY=:0.0 sudo xwininfo -root

xwininfo: Window id: 0x109 (the root window) (has no name)

  Absolute upper-left X:  0
  Absolute upper-left Y:  0
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1366
  Height: 768
  Depth: 24
  Visual: 0x21
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x20 (installed)
  Bit Gravity State: ForgetGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +0+0  -0+0  -0-0  +0-0
  -geometry 1366x768+0+0

Jetzt, da wir wissen, dass wir xwininfoden Status prüfen können, gibt es auch kein Problem mit der Aufnahme des Screenshots über xwd:

myusername@pcB:~$ DISPLAY=:0.0 sudo xwd -root > /tmp/shot.xwd
sdaau
quelle
0

Ich habe "/ etc / mdm / Init / Default" bearbeitet und hinzugefügt:

scrot -d 5 -e 'mv $f /root' &

vor der Zeile mit "exit 0".

Wenn ich mich das nächste Mal anmelde, zähle ich bis fünf, piepse und bekomme meinen Screenshot in "/ root".

Ikem Krueger
quelle