Come posso fare uno screenshot alla schermata di accesso?


31

Come posso fare uno screenshot alla schermata di accesso?

Non voglio ricreare la mia installazione di Ubuntu in una macchina virtuale.


1
La prima cosa che vorrei cercare è qualcosa che catturi l'output di X. Una ricerca di "screenshot xserver" mi porta a questa risposta su Linuxquestions.org .
Lekensteyn,

Questa discussione correlata potrebbe essere pertinente: superuser.com/q/290432/120246
Waldir Leoncio

Ho condiviso uno script per farlo, in questo askubuntu.com/questions/177067/…
Nafis Ahmad

Risposte:


17

Questo blog potrebbe essere utile: http://ptspts.blogspot.com/2010/02/how-to-create-screen-shot-of-gdm-login.html

Installa ImageMagick per la conversione del formato file immagine di seguito:

sudo apt-get install imagemagick

Crea uno script di supporto:

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

Assicurarsi che la schermata di accesso sia attiva (disconnettersi o riavviare la macchina e attendere fino a quando non viene visualizzata la schermata di accesso). Accedi in modalità testo (premendo Ctrl-Alt-F1) o usando SSH. Crea la schermata eseguendo

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

Puoi accedere ora (premendo prima Ctrl-AltF7 per tornare alla schermata di accesso GDM). Converti la schermata in JPEG e / o PNG:

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

Visualizza la schermata nel tuo visualizzatore di immagini preferito.


4
Ho finito per utilizzare sudo sh -c 'sleep 5s; xwd -display :0 -root | convert - screenshot.png'da una console virtuale e passare alla schermata di accesso durante la sospensione di 5 secondi.
ændrük,

3
Ho modificato questo per lightdm. $ echo 'DISPLAY =: 0 XAUTHORITY = / var / run / lightdm / root /: 0 xwd -root'> /tmp/shot.sh
popey

11

Per 11.10 e Lightdm e successivi

Puoi provare a correre unity-greeter --test-modein un terminale. Visualizza la schermata di accesso all'interno della sessione. È quindi possibile fare uno screenshot della schermata di accesso come si fa normalmente con qualsiasi altra applicazione.

inserisci qui la descrizione dell'immagine


ma è troppo generico, non è possibile vedere alcuna modifica. c'è un modo per testare le attuali modifiche?
Ubuntuser,

@Ubuntuser Non che io sappia. Per quale modifica stai testando?
jokerdino

sto testando il lettore di impronte digitali. nella schermata di accesso e nella schermata di blocco viene visualizzata correttamente. voglio fare uno screenshot di entrambi.
Ubuntuser,

@Ubuntuser Immagino che le modifiche apportate influiscano direttamente su lightdm e non su Unity-greeter? Non sono sicuro. Sto solo speculando. Potresti voler fare una nuova domanda ...
jokerdino

8

Puoi provare questo:

gnome-screenshot -d 10

non è necessario installare nulla, basta inserire il comando e bloccare lo schermo, lo schermo verrà girato entro 10 secondi dopo l'esecuzione del comando.

Ancora di più .. il comando bloccherà lo schermo, copierà lo screenshot negli appunti e sbloccherà nuovamente lo schermo. Tutto da solo.

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

 inserisci qui la descrizione dell'immagine


3
Questa è di gran lunga la soluzione più semplice che ho trovato.
Caustico

7

Per Ubuntu 14.04

Le risposte sopra non hanno funzionato per me in Ubuntu 14.04 - Ho cercato in giro e ho scoperto che funziona.

  1. Installa ImageMagick

    sudo apt-get install imagemagick
    
  2. Crea un file nella tua home directory chiamato shot.shpreferibilmente nella tua home directory e incolla il seguente codice al suo interno:

    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. Renderlo eseguibile

    sudo chmod +x shot.sh
    
  4. Logout del sistema. Premi Ctrl+ Alt+ F1per accedere alla console (tty1) e accedere. Esegui lo script usando questo comando:

    sudo ./shot.sh
    

Ti riporterà all'interfaccia grafica della schermata di accesso (chvt 7) e dopo cinque secondi ci vorrà e salverà lo screenshot nella tua home directory con un nome file screenshot.png.


Ecco il mio:

inserisci qui la descrizione dell'immagine

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


Posso confermare che questo script di shell funziona ancora su Ubuntu 18.10 Cosmic Cuttlefish con Unity 7.5.0. Posso fare screenshot con successo in una sola prova. Grazie @Parto.
Ade Malsasa Akbar,

6

Digita questo in un terminale:

dm-tool add-nested-seat --fullscreen

Questo è tutto! fare uno screenshot come al solito

Premi Alt + F4 per chiudere la finestra a schermo intero della schermata di accesso


Questa è una bellezza! Genio!
Anwar,

Posso anche confermare che questo trucco funziona perfettamente su Ubuntu 18.10. Penso che questo trucco sia più facile e veloce dello script di shell. Grazie @afriend.
Ade Malsasa Akbar,

2

Volevo solo notare che ho avuto un sacco di problemi a farlo su Ubuntu 10.04 LTS con questo - ecco la mia soluzione:

Sono sulla macchina A e accedo alla macchina B tramite ssh:

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:~$ 

Quindi, procedo con diversi tentativi di acquisizione dello screenshot, che sono falliti tutti. Il problema può essere ridotto per xwininfonon essere in grado di sondare lo stato della finestra:

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'

Bene, si scopre che per qualche ragione, l'invocazione corretta per il targeting di X-windows tramite ssh è DISPLAY=:0.0 sudo xwininfo ...- cioè, la DISPLAY=:0.0variabile di ambiente inizia per prima; la sudova secondo - e poi il comando corrispondente X:

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

Ora che sappiamo che è xwininfopossibile sondare lo stato, non ci sono problemi con l'acquisizione dello screenshot tramite xwd:

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

0

Ho modificato "/ etc / mdm / Init / Default" e ho aggiunto:

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

prima della riga con "exit 0".

La prossima volta che eseguo il login, conto fino a cinque, bip e ho il mio screenshot in "/ root".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.