Le miniguide di UbaWeb

Screenshot da terminale

Premessa Torna su

18 febbraio 2012 - Linux 2.6.32-38-generic-pae -Ubuntu i686 GNU/Linux - Mi stavo guardando la pagina man di X e ho trovato che normalmente, vengono istallati due programmi utili a salvare schermate di finestre (xwd) e per visualizzare la schermata salvata (xwud). Ganzo! 8-)
(Si lo so che esiste il tasto Stamp e la combinazione Alt+Stamp che funzionano da sempre anche su Windows!)
Ho fatto qualche prova e funziona benissimo; basta digitare nel terminale: xwd -out nomeDelFileimmagine e premere il tasto Invio; il cursore si trasforma in una croce, ora basta cliccare su una finestra da catturare e il file viene salvato.
Per visualizzare il file salvato basta digitare nel terminale: xwud -screen -in nomeDelFileimmagine e premere il tasto Invio
Ho provato a visualizzare il file creato, con il visualizzatore predefinito eog, ma niente, non lo apre. Allora ho pensato al mitico Imagemagick, che fa veramente tutto; infatti, con convert nomeDelFileimmagine nomeDelFilePng.png sono riuscito a convertire in png l'immagine. Ottimo!
In pratica, con solo due righe di codice, si può ottenere l'immagine della schermata nel formato che si vuole. Infatti basterebbe fare uno script con solo due comandi:
xwd -out nomeDelFileimmagine
convert nomeDelFileimmagine nomeDelFilePng.png

Il mio script Torna su

Ho cominciato a scrivere il mio script. Per prima cosa ho fatto in modo di eliminare file "temp", ottenuto dal primo salvataggio, dopo che è stata ottenuta la versione convertita nel formato voluto.
Poi ho inserito la possibilità di impostare un percorso per il salvataggio delle immagini png (di base nella directory Schermate_xwd all'interno della home utente).
Poi ho inserito un modo per nominare progressivamente le immagini salvate.(screen_1.png, screen_2.png, ..screen_n.png).
Poi ho inserito la possibilità di impostare il formato dell'immagine che si vuole ottenere; jpg, gif,... (di base png).
Poi ho inserito la possibilità di impostare il programma che aprirà il file dopo il salvataggio (di base eog).
Poi ho inserito un controllo sull'effettiva disponibilità del programma impostato.
Poi... basta! Ci ho impiegato un pomeriggio e sarebbero moltissime le migliorie da inserire. Se qualcuno a voglia di fare meglio può scrivermi a info@ubaweb.it; se vorrete potrò così pubblicare il link al vostro script o lo script direttamente.

Uso Torna su

Scaricare il file st_screen.sh, renderlo esguibile (come sempre con chmod +x nome_file). Entrare nella directory in cui si è salvato ed eseguirlo digitando ./st_screen.sh e premere il tasto Invio; il cursore si trasforma in croce, ora basta cliccare sulla finestra che si vuole catturare. Fatto ciò verrà visualizzata l'immagine con eog, creata la directory Schermate_xwd, nella home utente, ed al suo interno potremo trovare le schermate salvate con nome progressivo (screen_0.png, screen_1.png, ...).
Naturalmente per un uso più comodo andrebbe salvato nella directory user/local/bin o in un'altra directory presente nel PATH, in modo da poter eseguire lo script da qualsiasi posizione.

Impostazioni Torna su

Se si vogliono salvare in formato differente da png o in una directory diversa oppure si vuol far aprire il file da un programma diverso da eog (ad esempio geequie, gthumb, gpicview, gimp... ) si devono cambiare le impostazioni rispettivamente alle righe 13, 14, 15.
Se non si vuole far aprire il file dal programma impostato (funzionante): commentare la riga 48 (# ad inizio riga).
Se non si vuole nemmeno impostare il programma per aprire il file: commentare dalla riga 18 alla 26 comprese e la riga 48.

È tutto! Lo script è ipercommentato e non dovrebbero esserci problemi se i programmi citati sono correttamente istallati.
Buona cattura 9-)

Altrimenti? Altrimenti c'è import!

Si può usare il comando "import" di Imagemagick che funziona allo stesso modo e consente di scegliere direttamente il formato di salvataggio (png, gif, jpg...). Per esempio digitando import schermata.png comparirà una croce con cui delimitare l'area del display da salvare con il nome schermata.png.
Si potrebbe fare uno script ancora più semplice utilizzando "import". Ma ora non ne ho voglia 8-P

Torna su
Sito realizzato da: UbaWeb di Giovanni Ubaldi

Licenza Creative Commons Tutto il contenuto di questo sito se non diversamente dichiarato è di Giovanni Ubaldi ed è distribuito con Licenza:

Creative Commons Attribuzione - Condividi allo stesso modo 4.0 Internazionale.