Ricerca nel sito web

20 esempi di comandi su schermo per gestire i terminali Linux


Breve: in questa guida discuteremo alcuni esempi utili del comando screen. Al termine di questa guida, gli utenti saranno in grado di lavorare con più sessioni di shell utilizzando un'unica finestra di terminale Linux.

Come utenti Linux, spesso dobbiamo lavorare su attività di lunga durata, come scaricare o copiare file di grandi dimensioni, eseguire lunghe query sul database e così via. A volte queste attività importanti vengono interrotte improvvisamente a causa del timeout della sessione.

Per mitigare tali scenari, possiamo utilizzare il comando screen, che è un programma software a schermo intero che può essere utilizzato per multiplexare una console fisica tra diversi processi (tipicamente shell interattive). Offre all'utente la possibilità di aprire diverse istanze di terminale separate all'interno di un unico gestore di finestre di terminale.

L'applicazione schermo è molto utile se hai a che fare con più programmi da un'interfaccia a riga di comando e per separare i programmi dalla shell del terminale. Ti consente inoltre di condividere le tue sessioni con altri utenti e di scollegare/collegare sessioni terminali.

In questa guida discuteremo come installare, configurare e utilizzare il comando screen su un sistema Linux. In questa guida comprenderemo l'utilizzo e i vantaggi del comando sullo schermo utilizzando esempi pratici.

Quindi iniziamo.

Installa il comando schermo in Linux

Sul mio Ubuntu Server Edition, il comando screen è stato installato per impostazione predefinita. Ma Linux Mint non ha uno schermo installato per impostazione predefinita, quindi devo installarlo utilizzando il comando apt-get prima di usarlo .

Seguire la procedura di installazione della distribuzione per installare lo schermo.

sudo apt-get install screen      [On Debian, Ubuntu and Mint]
sudo yum install screen          [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/screen   [On Gentoo Linux]
sudo apk add screen              [On Alpine Linux]
sudo pacman -S screen            [On Arch Linux]
sudo zypper install screen       [On OpenSUSE]    

Ora verifichiamo che il comando sia stato installato correttamente:

screen --version

Screen version 4.8.00 (GNU) 05-Feb-20

In realtà, lo schermo è un ottimo programma multiplexer di terminale in Linux che è nascosto all'interno di centinaia di comandi Linux.

Iniziamo a vedere l'utilizzo del comando screen in Linux con i seguenti esempi.

Sintassi dei comandi sullo schermo

La sintassi del comando screen è la seguente

screen [OPTIONS] [ CMD [ ARGS ] ]

Nella sintassi precedente, possiamo vedere che tutti i parametri sono opzioni e sono rappresentati dalle parentesi quadre ([]).

1. Schermata iniziale per la prima volta

Basta digitare schermata al prompt dei comandi. Quindi lo schermo mostrerà un'interfaccia esattamente come il prompt dei comandi.

screen

2. Mostra i parametri dello schermo

Quando accedi allo schermo, puoi svolgere tutto il tuo lavoro come se fossi nel normale ambiente della riga di comando. Ma poiché lo schermo è un'applicazione, ha comandi o parametri.

Digita "Ctrl-A" e "?" senza virgolette. Quindi vedrai tutti i comandi o parametri sullo schermo.

Per uscire dalla schermata di aiuto, puoi premere il pulsante "barra spaziatrice" o "Invio". (Tieni presente che tutte le scorciatoie che utilizzano "Ctrl-A" sono scritte senza virgolette).

3. Come elencare tutte le finestre aperte

Nell'esempio precedente, abbiamo avviato una nuova sessione di shell utilizzando il comando screen. Ora utilizziamo la combinazione di tasti ctrl-a + " per elencare tutte le finestre aperte della sessione dello schermo corrente:

Nell'output sopra, possiamo vedere il numero e il nome della finestra. La prima colonna rappresenta il numero della finestra e inizia da zero.

La colonna successiva rappresenta il nome della finestra e il suo formato predefinito è @:.

4. Come terminare la sessione della finestra dello schermo

Possiamo terminare la sessione della finestra attiva utilizzando le combinazioni di tasti ctrl-a + k. È importante notare che questa azione interromperà l'esecuzione del comando dalla finestra virtuale corrente.

Nell'output sopra, possiamo vedere che il comando screen è in attesa della conferma dell'utente. Mostra il messaggio di avviso nell'angolo in basso a sinistra.

Proprio come gli altri comandi Linux, possiamo usare 'y' per continuare o 'n' per interrompere l'operazione.

5. Come avviare una sessione dello schermo con il nome

Il comando screen ci permette di creare una sessione con un nome definito dall'utente, cosa utile quando sono disponibili più sessioni.

Quindi, utilizziamo l'opzione -S del comando per creare una sessione denominata:

screen -S demo-screen

Nel comando precedente, la schermata demo è il nome della sessione.

6. Scollegare la sessione terminale con schermo

Uno dei vantaggi di uno schermo è che puoi staccarlo. Quindi, puoi ripristinarlo senza perdere nulla di ciò che hai fatto sullo schermo. Ecco lo scenario di esempio:

Sei nel mezzo di SSH sul tuo server. Supponiamo che tu stia scaricando una patch da 400 MB per il tuo sistema utilizzando il comando wget.

Si stima che il processo di download richieda 2 ore. Se disconnetti la sessione SSH o improvvisamente la connessione viene persa per sbaglio, il processo di download si interromperà. Bisogna ricominciare dall'inizio. Per evitare ciò, possiamo utilizzare uno schermo e staccarlo.

Dai un'occhiata a questo comando. Per prima cosa devi entrare nella schermata.

screen

Quindi puoi eseguire il processo di download. Ad esempio, sul mio Linux Mint, sto aggiornando il mio pacchetto dpkg utilizzando il comando apt.

sudo apt install dpkg
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following packages will be upgraded:
  dpkg
1 upgraded, 0 newly installed, 0 to remove and 1146 not upgraded.
Need to get 2,583 kB of archives.
After this operation, 127 kB of additional disk space will be used.
Get:1 http://debian.linuxmint.com/latest/ 
testing/main dpkg i386 1.16.10 [2,583 kB]
47% [1 dpkg 1,625 kB/2,583 kB 47%]     14,7 kB/s

Durante il download in corso, puoi premere "Ctrl-A" e "d". Non vedrai nulla quando premi quei pulsanti. L'output sarà simile al seguente:

[detached from 5561.pts-0.mint]
pungki@mint ~ $

7. Ricollegare la sessione terminale con lo schermo

Dopo aver scollegato lo schermo, supponiamo che tu stia disconnettendo la sessione SSH e tornando a casa. A casa tua, ricominci a utilizzare SSH sul tuo server e vuoi vedere l'avanzamento del processo di download. Per fare ciò, è necessario ripristinare lo schermo. Puoi eseguire questo comando:

pungki@mint ~ $ screen -r

E vedrai che il processo che hai lasciato è ancora in esecuzione.

Quando hai più di 1 sessione sullo schermo, devi digitare l'ID sessione dello schermo. Utilizza screen -ls per vedere quante schermate sono disponibili.

pungki@mint ~ $ screen -ls
pungki@mint ~ $ screen -ls
There are screens on:
        7849.pts-0.mint (10/06/2021 01:50:45 PM)        (Detached)
        5561.pts-0.mint (10/06/2021 11:12:05 AM)        (Detached)
2 Sockets in /var/run/screen/S-pungki

Se desideri ripristinare la schermata 7849.pts-0.mint, digita questo comando.

pungki@mint ~ $ screen -r 7849

8. Utilizzo di finestre terminali a schermo multiplo

Quando hai bisogno di più di 1 schermo per svolgere il tuo lavoro, è possibile? Sì. È possibile eseguire più finestre sullo schermo contemporaneamente. Ci sono 2 (due) modi per farlo.

Innanzitutto, puoi staccare la prima schermata ed eseguire un'altra schermata sul terminale reale. In secondo luogo, crea una schermata nidificata come mostrato.

Per creare nuove finestre, utilizza la combinazione di tasti ctrl-a + c due volte per creare due nuove finestre. Successivamente, utilizziamo la combinazione di tasti ctrl-a + " per elencare tutte le finestre attive:

Nell'output sopra, possiamo vedere che ora ci sono tre finestre.

9. Come rinominare una finestra sullo schermo

Nell'esempio precedente abbiamo creato due nuove finestre. Tuttavia, i loro nomi predefiniti non forniscono alcun dettaglio su di essi. In questi casi, possiamo assegnare loro alcuni nomi significativi.

Possiamo usare la combinazione di tasti ctrl-a + A per rinominare la sessione della finestra corrente. Questa combinazione di tasti richiede all'utente di impostare il titolo della finestra:

10. Passaggio tra le finestre del terminale dello schermo

Nell'esempio precedente abbiamo creato più finestre. Ora vediamo come passare da uno all'altro.

Innanzitutto, elenchiamo tutte le finestre attive utilizzando la combinazione di tasti ctrl-a + ". Successivamente, utilizza il tasto freccia su o giù per selezionare la finestra appropriata. Infine, premi il tasto Invio per passare alla finestra selezionata finestra.

In questo esempio, abbiamo selezionato la finestra con il titolo – db-query.

11. Come passare alla finestra della schermata successiva

Possiamo usare la combinazione di tasti ctrl-a + n per passare alle finestre successive. Capiamolo con un esempio.

Innanzitutto, passa alla prima finestra e verificala utilizzando la combinazione di tasti ctrl-a + ":

Ora premiamo la combinazione di tasti ctrl-a + n due volte per andare alla terza finestra e utilizziamo la combinazione di tasti ctrl-a + " per verificare la stessa cosa.

Nell'output sopra, possiamo vedere che ora siamo nella terza finestra.

12. Come passare alla finestra della schermata precedente

In modo simile, possiamo usare la combinazione ctrl-a + p per passare alla finestra precedente.

Attualmente siamo alla terza finestra. Utilizziamo quindi la combinazione di tasti ctrl-a + p due volte e verifichiamo di essere nuovamente nella prima finestra:

Nell'output sopra, possiamo vedere che ora siamo tornati alla prima finestra.

13. Come passare dalla finestra corrente a quella precedente

A volte, vogliamo semplicemente passare da una finestra all'altra. In questi casi, possiamo usare la combinazione di tasti ctrl-a + ctrl-a.

Per capirlo, passa prima alla prima finestra:

Successivamente, passa all'ultima finestra:

Infine, utilizza la combinazione di tasti ctrl-a + ctrl-a per passare nuovamente alla prima finestra.

14. Come passare a una finestra dello schermo particolare

Negli esempi precedenti, abbiamo visto vari modi per passare da una finestra all'altra. Tuttavia, a volte vogliamo passare a una finestra particolare. In tali scenari, possiamo utilizzare i numeri delle finestre.

Innanzitutto, utilizziamo la combinazione di tasti ctrl-a + " per trovare il numero della finestra:

Nell'output precedente, la prima colonna rappresenta il numero della finestra. È importante notare che il comando screen inizia la numerazione da zero.

Ora utilizziamo la combinazione di tasti ctrl-a + 2 per passare alla terza finestra e verificare di essere nella finestra corretta:

15. Come dividere orizzontalmente una finestra sullo schermo

Proprio come i normali terminali, possiamo anche dividere la finestra dello schermo. Possiamo usare la combinazione di tasti ctrl-a + S per dividere la finestra orizzontalmente.

Ora possiamo usare la combinazione di tasti ctrl-a + tab per passare da una regione all'altra.

Infine, possiamo utilizzare la combinazione di tasti ctrl-a + X per rimuovere la regione corrente. È importante notare che qui dobbiamo usare il carattere X maiuscolo.

16. Come dividere verticalmente una finestra sullo schermo

Allo stesso modo, possiamo usare la combinazione di tasti ctrl-a + | per dividere verticalmente la finestra corrente:

Oltre a ciò, possiamo anche utilizzare la combinazione di tasti ctrl-a + tab tra le regioni e la combinazione di tasti ctrl-a + X per chiudere la regione corrente.

17. Abilita la registrazione dello schermo in Linux

A volte è importante registrare ciò che hai fatto mentre sei alla console. Supponiamo che tu sia un amministratore Linux che gestisce molti server Linux.

Con questa registrazione sullo schermo, non avrai bisogno di annotare ogni singolo comando che hai eseguito. Per attivare la funzione di registrazione dello schermo, basta premere “Ctrl-A” e “H“. (Fai attenzione, utilizziamo lettere maiuscole 'H'. L'uso di 'h' non maiuscole creerà solo uno screenshot dello schermo in un altro file denominato hardcopy) .

In basso a sinistra dello schermo, ci sarà una notifica che ti dice di mettere mi piace: Creazione del file di registro "screenlog.0". Troverai un file screenlog.0 nella tua directory home.

Questa funzione aggiungerà tutto ciò che fai mentre sei nella finestra dello schermo. Per chiudere la schermata per registrare l'attività di corsa, premi nuovamente "Ctrl-A" e "H".

Un altro modo per attivare la funzione di registrazione è possibile aggiungere il parametro "-L" la prima volta che si esegue lo schermo. Il comando sarà così.

pungki@mint ~ $ screen -L

18. Blocca lo schermo del terminale Linux

Lo schermo dispone anche di una scorciatoia per bloccare lo schermo. Puoi premere le scorciatoie "Ctrl-A" e "x" per bloccare lo schermo. Questo è utile se desideri bloccare rapidamente lo schermo. Ecco un esempio di output della schermata di blocco dopo aver premuto la scorciatoia.

Screen used by Pungki Arianto  on mint.
Password:

Puoi usare la tua password Linux per sbloccarlo.

19. Aggiungi password alla sessione dello schermo

Per motivi di sicurezza, potresti voler inserire la password nella sessione dello schermo. Ti verrà richiesta una password ogni volta che desideri riagganciare lo schermo. Questa password è diversa dal meccanismo di Blocco schermo sopra.

Per proteggere lo schermo tramite password, puoi modificare il file "$HOME/.screenrc". Se il file non esiste, puoi crearlo manualmente. La sintassi sarà così.

password crypt_password

Per creare la "crypt_password" sopra, puoi utilizzare il comando "mkpasswd" su Linux. Ecco il comando con la password "pungki123".

pungki@mint ~ $ mkpasswd pungki123
l2BIBzvIeQNOs

mkpasswd genererà una password hash come mostrato sopra. Una volta ottenuta la password hash, puoi copiarla nel tuo file ".screenrc" e salvarlo. Quindi il file ".screenrc" sarà così.

password l2BIBzvIeQNOs

La prossima volta che esegui lo schermo e lo scolleghi, ti verrà richiesta una password quando provi a riagganciarlo, come mostrato di seguito:

pungki@mint ~ $ screen -r 5741
Screen password:

Digita la tua password, che è "pungki123" e lo schermo si riattaccherà di nuovo.

Dopo aver implementato questa password sullo schermo e premuto "Ctrl-A" e "x", l'output sarà così.

Screen used by Pungki Arianto on mint.
Password:
Screen password:

Ti verrà chiesta una password due volte. La prima password è la tua password Linux e la seconda password è la password che hai inserito nel tuo file .screenrc.

20. Uscita dalla sessione terminale dello schermo

Esistono 2 (due) modi per lasciare lo schermo. Innanzitutto, utilizziamo "Ctrl-A" e "d" per staccare lo schermo. In secondo luogo, possiamo usare il comando exit per terminare lo schermo. Puoi anche usare "Ctrl-A" e "K" per chiudere lo schermo.

Foglio informativo sui comandi dello schermo

screen -S <session_name>

Avvia una nuova sessione con il nome della sessione.

screen -ls

Elenca le sessioni/schermate in esecuzione.

screen -x

Allega a una sessione in esecuzione.

screen -r <session_name>

Allega a una sessione in esecuzione con nome.

screen -d <session_name>

Scollegare una sessione in esecuzione.

Ctrl-a c

Crea nuova finestra.

Ctrl-a Ctrl-a

Passa all'ultima finestra attiva visitata.

Ctrl-a <number>

Passa alla finestra per numero.

Ctrl-a ' <number or title>

Passa alla finestra tramite numero o nome.

Ctrl-a n or Ctrl-a <space>

Passa alla finestra successiva nell'elenco.

Ctrl-a p or Ctrl-a <backspace>

Passa alla finestra precedente nell'elenco.

Ctrl-a "

Vedi l'elenco delle finestre.

Ctrl-a w

Mostra la barra della finestra.

Ctrl-a k

Uccide la finestra corrente.

Ctrl-a \

Uccidi tutte le finestre.

Ctrl-a A

Rinomina la finestra corrente.

Ctrl-a S

Visualizzazione divisa orizzontalmente.

Ctrl-a | or Ctrl-a V

Visualizzazione divisa verticalmente.

Ctrl-a tab

Passa alla regione di visualizzazione successiva.

Ctrl-a X

Rimuovi la regione corrente.

Ctrl-a Q

Rimuovi tutte le regioni tranne quella attuale.

Ctrl-a H

Abilita l'accesso nella sessione dello schermo.

Ctrl-a x

Visualizzazione del blocco (protezione tramite password).

Questi sono alcuni dei comandi sullo schermo utilizzati quotidianamente. Ci sono ancora molte funzionalità all'interno del comando sullo schermo. Puoi vedere la pagina man della schermata per maggiori dettagli.

Conosci qualche altro miglior esempio del comando screen in Linux? Fateci sapere le vostre opinioni nei commenti qui sotto.