c'è un modo per salvare ciò che è stampato sul display con lo schermo gnu?


8

Mi piace salvare tutto ciò che faccio sulla riga di comando, ad esempio quando aggiorno qualcosa e voglio rileggere come è andato l'aggiornamento ecc.

Di solito con Mac OSX e Terminale puoi scorrere indietro quanto vuoi e salvare con Cmd-S. Ma quando sono su SSH usando lo schermo di GNU, non posso tornare indietro direttamente dal terminale.

Come posso salvare su disco tutto ciò che accade in una sessione dello schermo? Forse per impostazione predefinita (ogni sessione crea automaticamente un file su disco ...)

Grazie!

Risposte:


7

C'è una funzione di registrazione in screen. Inizia quando inizi screenfacendo screen -L(o dall'interno screen). Oppure, anche dall'interno screen, è possibile premere Ctrl- a : H.

Se si desidera avere l'accesso come predefinito, aggiungere la seguente riga al ~/.screenrcfile:

deflog on

Potresti voler impostare il nome del file usando qualcosa come:

logfile /tmp/screenlog.%n

1
Non si dovrebbe forse archiviarlo su / tmp, poiché di solito viene pulito al riavvio (ad es. A causa di un'interruzione di corrente).
massimo

@maxelost: è qualcosa da considerare. Era solo un esempio, però. Il punto era di includere una directory assoluta poiché il comportamento predefinito è quello di creare il file di registro nella directory corrente. Inoltre, le screensessioni (anche quelle staccate) non sopravvivono al riavvio.
Dennis Williamson,


2

Opzione 1: esaminare il comando di script. "man script"

"Script crea un dattiloscritto di tutto ciò che è stampato sul tuo terminale. È utile per gli studenti che necessitano di una registrazione cartacea di una sessione interattiva come prova di un compito, poiché il file dattiloscritto può essere stampato in seguito con lpr"

Fondamentalmente digitare "script" (senza virgolette) - fai il tuo lavoro e digita exit una volta per terminare la sessione.

Opzione 2: utilizzare la modalità "cartacea" dello schermo. 'Crtl-a' then 'h' Questo salverà la sessione corrente in un file.

nota: lo schermo GNU ha la possibilità di scorrere. Utilizzare 'crtl-]' (parentesi quadra destra) per accedere alla modalità copia, quindi 'ctrl-b' e 'ctrl-f' per spostare p e giù di una pagina alla volta.


1

Ti consigliamo di utilizzare l'operazione "log", generalmente associata Ctrl-a H. Questo apre un nuovo file chiamato screenlog. N dove N è il numero della finestra. Se il file esiste, quindi l'output viene aggiunto al file. Tutto l'output in quella finestra viene registrato nello screenlog. N file fino alla disattivazione premendo di Ctrl-a Hnuovo. Puoi anche ottenere questa funzionalità con Ctrl-a :log. Puoi cambiare il nome usando il logfile {filename}comando. Il file viene inserito nella directory in cui è stata avviata la schermata per la prima volta, ma può essere modificato con il comando logfile o con chdir [{directory}].

Si noti che questo non è lo stesso della copia cartacea o del buffer di scorrimento. Questa è la stessa funzionalità del programma script (1), ma legata a una singola finestra e senza chiamare un nuovo programma.

Se si desidera salvare l'intero contenuto del buffer di scorrimento, utilizzare Ctrl-a ] g <space> G <space> Ctrl-a :writebuf Questo salva il buffer di scorrimento nel file / tmp / screen-exchange. se si desidera salvare solo una parte, cambiare 'g' e 'G' con altri tasti di movimento.

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.