Fare uno screenshot (all'interno di X)


8

Come posso fare uno screenshot in X.org?

Non sono sicuro che il pulsante Stampa schermo "funzioni" e non so come farei per provarlo.

Risposte:


8

Si chiama l'applicazione Linux più comunemente usata per fare screenshot scrot

Puoi installarlo con per Debian:

sudo apt-get install scrot

O per Arch:

sudo pacman -S scrot

Viene catturata una schermata digitando:

scrot output-file.png

Se si desidera associare scrotla print screenchiave, sarà necessario che sia controllato dal proprio gestore di finestre.


1
Scrot è più veloce e più piccolo di ImageMagick: 1 MB rispetto a 43 MB.

5

Ho trovato un'ottima risposta a questa domanda qui , vale la pena ripeterla.

Ciò può essere ottenuto con ImageMagick. Installa eseguendo il comando

sudo apt-get install imagemagick

Per prendere tutto il desktop basta digitare

import -window root screen.png

Oppure puoi farlo con un ritardo di 5 secondi

sleep 5; import -window root screen.png

Mi chiedo se potremmo legarlo a una combinazione chiave; chiunque?
Alex Chamberlain,

@AlexChamberlain: dipende dal WM in uso.
Jivings,

@AlexChamberlain c'è una risposta su come farlo qui

-1 Disprezzo ImageMagick e tutti i suoi derivati ​​/ parenti. Installare è un calcio nei pantaloni, ed è anche peggio riparare se qualcosa si rompe.
Andrew Larsson,

@Jivings Immagino che se stai usando le combinazioni di tasti del tuo gestore di finestre; Penserei che la maggior parte delle persone usi xbindkeysperò
Michael Mrozek

0

Uso "xwd". Ad esempio, uno che ho appena fatto: xwd | xwdtopnm > dw.ppm l'unico aspetto negativo che conosco con xwd è che hai bisogno di un'altra utilità per convertire il suo output in qualcosa compreso da qualcosa di diverso da 'xwud'.


0

Questo è lo script perl6 che uso per prendere la finestra dell'area radice o ritardare ScreenShots usando import:

#!/usr/bin/env perl6
use v6;

sub message(Str $file) {
  run <xmessage -nearmouse -timeout 3>, "Screenshot saved in $file";
}

sub print_window(Str $file) {
  qx{xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"} ~~ /(0x\d*).*$/;
  run <import -window>, $0, $file;
  message($file);
}

sub MAIN( Str $option where $option ∈ <root area window delay> ) {
  my $today = DateTime.now( formatter => { 
        sprintf "%04d_%02d_%02d_%02d:%02d:%02d", 
                .year, .month, .day, .hour, .minute, .second 
       } );
  my $file  = "$*HOME/Dades/Imatges/ScreenShots/$today.png";

  given $option {
    when 'root'   { run <import -window root>, $file; message($file) }
    when 'area'   { run "import", $file             ; message($file) }
    when 'window' { print_window($file)                              }
    when 'delay'  { sleep 5; print_window($file)                     }
    default       { say 'Something went wrong'      ; exit           }
  }
}

Questi sono i collegamenti chiave in i3 per eseguire lo script:

bindsym $mod+Print exec Print_Screen root 
bindsym --release $mod+Shift+Print exec Print_Screen area
bindsym $mod+Mod1+Print exec Print_Screen delay
bindsym $mod+Control+Print exec Print_Screen window
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.