Come registrare la sessione di Terminale in Ubuntu

terminal-icon

Se usi terminale di frequente, è possibile incontrare situazioni in cui è necessario eseguire il debug del codice o copiare l’output di uno script come riferimento futuro. Per questi casi, si consiglia di registrare la sessione del terminale per avere così il file di log di tutti i comandi inseriti in input e dei loro prodotti.

Ecco come registrare la sessione di terminale in Ubuntu:

1. Aprire un terminale e installare bsdutils:

sudo apt-get install bsdutils

2. Una volta installato, è già possibile utilizzare i due comandi script e scriptreplay per, rispettivamente, registrare la sessione esistente e riprodurre la registrazione.

Utilizzo

3. L’utilizzo è piuttosto semplice. Per avviare la registrazione, è sufficiente usare il comando:

script -t -a 2> /PERCORSO/file-di-tempo.txt /PERCORSO/file-registrazione.txt

Ricorda di cambiare il “PERCORSO” del file con un percorso valido. Ad esempio, se voglio salvare nella registrazione la mia cartella home, scriverò:

script -t -a 2> /home/sniperwolf/tempo.txt /home/sniperwolf/registrazione.txt

La flag “-t” indica allo script il file in cui salvare i dati dei dati di temporizzazione, mentre la flag “-a” indica lo script per aggiungere l’output.

4. Una volta immesso il comando, si dovrebbe vedere una linea “Script started...“. Qualunque cosa che si digita nel terminale (compreso il risultato) viene registrato.

5. Per concludere la registrazione, è sufficiente digitare exit per terminare la registrazione. Si dovrebbe vedere la linea “Script done...” che indica la fine della registrazione.

6. Per visualizzare la registrazione, è possibile aprire il file salvato (nel mio caso “registrazione.txt“) con un editor di testo, oppure utilizzando il comando scriptreplay:

scriptreplay ~/timing.txt ~/recording.txt

Tutto qui. Così semplice, ma davvero utile per il debug o per mostrare ad un amico la risoluzione di un particolare problema, mostrando in maniera intuitiva (e visiva) ciò che hai digitato e l’output che dovrebbe vedere come risultato nel terminale.