Come uscire da screen linux. Utilizzo dello schermo in Linux. Crea e rinomina una schermata

  • Crea più finestre nel terminale SSH;
  • Mantieni attiva la sessione anche durante le interruzioni di rete;
  • Disconnettersi e riconnettersi alla sessione da luoghi diversi;
  • Eseguire un processo di lunga durata senza mantenere una sessione attiva.

Installazione di Screen con Yum

Probabilmente hai già Linux Screen sul tuo sistema. Sulla maggior parte delle distribuzioni Red Hat e CentOS, puoi trovare Screen Linux in /usr/bin/screen . Per vedere se Screen è presente, puoi utilizzare il seguente comando:

# quale schermo
/usr/bin/schermo

Se non hai Screen, puoi installarlo dall'RPM o dal file del pacchetto per il tuo sistema. Ad esempio, su CentOS, puoi installare Screen con yum:

# yum schermata di installazione
...
Completare!

Poiché molto probabilmente hai già Screen o puoi utilizzare RPM, non tratterò l'installazione di Screen da una risorsa. E ti dirò come usare lo schermo.

Schermo di avvio Linux

Lo schermo inizia con riga di comando proprio come qualsiasi altro comando:

[email protetta]~]# schermata

Ora sei in una finestra in Screen. Funziona esattamente come una normale shell ad eccezione di alcuni caratteri speciali.

Team di gestione

Squadra: "Ctrl-a"
Screen usa il comando "Ctrl-a", che è il tasto "CTRL" e la "a" minuscola funziona come segnale per inviare comandi a Screen invece che alla shell. Ad esempio, "Ctrl-a" e poi "?". Ora dovresti avere una pagina di aiuto dello schermo.

Le combinazioni di tasti sono i comandi che Screen accetta dopo aver premuto "Ctrl-a". Puoi rimappare queste chiavi a tuo piacimento usando il file .screenrc, ma sto usando le impostazioni predefinite.

Creazione di finestre

Squadra: "Ctrl-a" "c". Per creare una nuova finestra usa "Ctrl-a" "c".

Questa combinazione, con le impostazioni predefinite, creerà una nuova finestra. La tua vecchia finestra sarà ancora attiva.
Ad esempio, posso eseguire top e quindi aprire una nuova finestra per fare qualcos'altro. Top rimane funzionante! Per provarlo, esegui lo schermo e quindi corri in alto. (Nota: alcuni dei miei screenshot sono stati ridotti per fare spazio.)

Correre...

in alto - 09:10:33 fino a 35 giorni, 17:26, 1 utente, carico medio
Compiti: 131 in totale, 1 corsa, 130 dormienti, 0 stop
CPU: 0.4%us, 0.2%sy, 0.0%ni, 99.4%id, 0.0%wa, 0
Mem: 12302040k totali, 6363652k usati, 5938388k gratuiti,
Swap: 1052248k in totale, 12k usati, 1052236k gratis,

Ora apri una nuova finestra con: "Ctrl-a" "c"

La tua finestra principale è ancora in esecuzione. Se necessario, puoi passare ad esso.

Passaggio da una finestra all'altra

Comando: "Ctrl-a" "n"

Lo schermo ti consente di spostarti avanti e indietro. Puoi usare "Ctrl-a" "n" per tornare indietro. Questo comando passa alla finestra successiva.

Funziona come una giostra: tornerà alla prima finestra. Puoi creare più finestre e attivarle con "Ctrl-a" "n" per la finestra successiva o "Ctrl-a" "p" per la finestra precedente. Ogni processo continuerà a essere eseguito fino alla chiusura della finestra.

Disconnessione dallo schermo

Comando: "Ctrl-a" "d"

Lo schermo ti consente di staccarti dalla finestra e di tornarci in un secondo momento. Se la connessione di rete viene interrotta, Screen disconnetterà automaticamente la sessione!

Puoi staccare usando "Ctrl-a" "d".

Tutte le finestre dello schermo sono ancora presenti e puoi unirle nuovamente. Ciò è utile quando si utilizza rsync per migrare un server.

Ricollegamento allo schermo

Se la tua connessione si interrompe o ti disconnetti da Screen, puoi riconnetterti semplicemente eseguendo:

$ schermo -r

Si ricollegherà al tuo schermo. Tuttavia, se hai più schermi, potresti ritrovarti con questo:

$ schermo -r
Ci sono diverse schermate adatte su:
31917.pts-5.office (staccato)
31844.pts-0.office (staccato)
Digita "screen [-d] -r tty.host" per riprenderne uno.

In tal caso, definisci semplicemente lo schermo che desideri.

$ schermo -r 31844.pts-0.office

Registrazione delle azioni sullo schermo

Trovo importante acquisire ciò che sto facendo sul server di qualcuno. Fortunatamente, Screen lo rende facile.
Usando "Ctrl-a" "H", inizia la registrazione della sessione. Screen continuerà ad aggiungere dati al file in più sessioni. L'uso della funzione di registrazione è molto utile per tenere traccia di ciò che hai fatto, soprattutto se devi apportare molte modifiche. Se qualcosa va storto, ci sarà sempre un'opportunità per trovare un errore.

Ricezione di notifiche

Lo schermo può controllare la finestra, la sua attività o inattività. Questa funzione è necessaria se si caricano file di grandi dimensioni, si compila o si attende l'output.

Se stai aspettando una risposta da un programma "lungo", puoi usare "Ctrl-a" "M" per tenere traccia dell'attività. Lo schermo visualizzerà un avviso nella parte inferiore della pagina quando una risposta viene registrata su quella schermata.
Lo uso quando eseguo un comando che richiede molto tempo. Posso semplicemente eseguire un comando, passare a una finestra diversa e non dover tornare ogni volta per controllare lo stato.

Se stai caricando grande archivio o compila il programma, sarai avvisato al termine. Questo segnalerà che l'attività è stata completata. Per controllare tali momenti senza l'output dello schermo che uso "Ctrl-A" "_".

Blocco della sessione dello schermo

Se devi lasciare il computer per alcuni minuti, puoi bloccare la sessione utilizzando "Ctrl-a" "x". Avrai nuovamente bisogno di una password per accedere alla sessione.

Schermata utilizzata da root .
Parola d'ordine:

Interrompi schermo

Quando hai finito il tuo lavoro, ti consiglio di terminare la sessione invece di lasciarla per dopo. Per fermare Screen, puoi, come al solito, digitare semplicemente "Esci" dalla tua shell. Questo chiuderà lo schermo. Per terminare una sessione, è necessario chiudere tutte le finestre.

Non appena chiudi tutte le finestre, viene visualizzato un messaggio che indica che lo schermo ha iniziato a completarsi.

In alternativa, puoi usare "Ctrl-a" "k".

C'è un'utilità così meravigliosa schermo di cui non sapevo prima! Ora provo ad usarlo sempre. E, spero, dopo aver letto questo articolo, lo userai anche tu.

Allora a cosa serve?

Quante volte si è verificata una situazione in cui, mentre lavoravo nel terminale tramite SSH, mi sono disconnesso e tutti gli sviluppi (configurazione aperta o processo di copia) sono andati persi. Screen ti consente di avviare sessioni utente nel tuo ambiente e accedervi, avendo, per così dire, diverse console virtuali. Puoi lasciare aperta la configurazione di qualsiasi servizio, disconnetterti alla fine della giornata lavorativa, tornare a casa e connetterti alla stessa sessione da casa, e tutto ciò che era nel terminale sarà a tua disposizione, compresa la cronologia, apri editore eccetera. Le interruzioni di comunicazione non sono più un ostacolo. È possibile avere più sessioni diverse e connettersi ad esse in modo arbitrario!

Vediamo come funziona:

Avevo già installato l'utilità, di cui il team mi ha felicemente informato:

# informazioni dpkg | schermata grep

OK è tutto finito adesso! Ora puoi iniziare a lavorare.

Lavorare con le sessioni dello schermo

Puoi avviare la schermata digitando il nome di questo programma nella console. Verrai immediatamente portato o al terminale o alla finestra dell'invito, da dove, dopo aver premuto la barra spaziatrice o essere rientrati nel terminale.

Puoi visualizzare tutte le sessioni dello schermo in questo modo:

Se le sessioni sono aperte, puoi connetterti ad esse in questo modo:

# schermo -x Nome

o senza un nome, se esiste una sola sessione.

Puoi creare una sessione con un nome specifico come questo:

# schermo -S "nome"

Inoltre, puoi avviare immediatamente i programmi in una sessione Screen digitandoli:

# schermo<команда>

Abbiamo lavorato con lo schermo, ora possiamo chiudere la sessione (uscindo dalla shell) o disconnetterci da essa (Ctrl + D). Allo stesso tempo, tutto ciò che era nella sessione continuerà ad essere eseguito ulteriormente.

Inoltre, è possibile utilizzare più console nella stessa finestra dello schermo.

Puoi terminare una sessione con il comando poi K.

Gestione dello schermo

Lo schermo ha un controllo molto specifico. Tutte le sequenze di tasti vengono passate al programma in esecuzione al suo interno, ad eccezione di quelle precedute dalla combinazione ctrl+a(predefinito). Quelli. per controllare lo schermo, devi prima premere questa combinazione, quindi digitare il tasto Ctrl.

Quindi, creiamo una nuova finestra all'interno della sessione dello schermo:

# C

Possiamo rinominare questa finestra per poterla trovare rapidamente:

# UN

Abbiamo digitato il testo, premere Invio.

Puoi visualizzare tutte le finestre in questo modo:

#

Ci porterà un elenco interattivo di finestre con numeri e nomi, puoi passare a qualsiasi.

Ci sono opzioni per selezionare un elenco non interattivo w, oltre a passare al successivo n o alla finestra precedente P. O immediatamente a un numero di finestra noto 2 . Si prega di notare che la numerazione è da zero.

Questo può essere molto conveniente per questo: diciamo che dobbiamo monitorare un processo in tempo reale. Supponiamo di voler ascoltare un file di registro tutto il tempo. Per questo abbiamo bisogno di una squadra

# coda -f /percorso/del/registro

che prenderà gli ultimi 10 record in tempo reale e li visualizzerà sullo schermo. Creiamo una nuova console dello schermo come questa:

# screen -d -m -S tail-log tail -f /var/log/nginx/error.log

- questo creerà una nuova sessione dello schermo, ad es. quando gli screenshot non sono ancora in esecuzione. Quando digiti questo comando, a prima vista, non succede nulla. In effetti, lo è. Crea (-m) una nuova sessione chiamata tail-log in cui viene eseguito il comando tail -f /var/log/nginx/error.log (stampando le ultime 10 voci del file di log in tempo reale), e questa sessione inizia già minimizzato (-d).

Se lo schermo è già in esecuzione, puoi creare una nuova finestra:

# C

Rinominalo in tail-log

# UN

Ed esegui il comando di cui abbiamo bisogno lì:

# tail -f /var/log/nginx/error.log

E in un'altra finestra, allo stesso modo, apri l'editor delle regole del firewall e aggiungi a DENY coloro che sono chiaramente indesiderabili per noi. Bene, o un'altra applicazione simile quando devi passare rapidamente da una finestra all'altra.

Monitora le modifiche alla finestra

Ma non è tutto. La comodità è appena iniziata. Ci sono situazioni in cui l'output di una finestra rimane invariato per molto tempo. Ad esempio, l'attesa che alcune informazioni entrino nei registri può essere molto lunga. E lo schermo ha qualcosa a che fare con questo!

Abbiamo lanciato due finestre LOG in cui viene ascoltato il file di registro e USER in cui viene visualizzata la nostra console. Stiamo aspettando la console. Reagiremo quando qualcosa arriva al LOG ascoltato. Ma non cambiare continuamente avanti e indietro per cogliere i cambiamenti?

Combinazione di stampa:

# m

e abilita il monitoraggio dell'attività della finestra. Ora se il testo della finestra cambia, allora nell'elenco delle finestre accanto al suo nome verrà visualizzato il simbolo "@" e la scritta "Attività nella finestra #..." apparirà nella parte inferiore della finestra per alcuni secondi !

C'è anche una possibilità inversa per monitorare il "silenzio", per questo viene utilizzato il comando: _ .

Due finestre contemporaneamente

È possibile aprire due finestre della console contemporaneamente? Certo che puoi! Lo schermo ti consente di dividere una finestra. Ecco come lo faremo.

Dividere la finestra in parti:

# S

Questo sposterà la finestra corrente in alto.

Il passaggio alla regione inferiore (alla prima, se già alla più bassa) si effettua come segue:

# Tab

Apri un'altra console lì:

#

e selezionalo per nome. I nomi delle finestre sono evidenziati (0 LOG, 1 USER) in modo da non perderci tra di loro.
2 finestre contemporaneamente? Facile

Spostando il focus dell'input attraverso la scheda come descritto sopra, abbiamo finalmente giocato abbastanza. Chiudiamo le finestre.

# X- chiude la regione attuale, Q chiude tutti gli altri tranne quello corrente. Guarda di cosa hai bisogno.

Copia il testo tra le finestre

C'è un'altra caratteristica interessante: copiare il testo tra le finestre attraverso un buffer speciale.

C'è un comando per questo

# [ , mentre puoi spostarti all'interno della finestra con i tasti cursore, per determinare l'inizio del frammento di testo, premi la barra spaziatrice. Spostare il cursore con le frecce per segnare la fine della selezione e premere nuovamente la barra spaziatrice. Tutto, il frammento è copiato. Si inserisce nella stessa o in un'altra finestra premendo ] . Tutto è semplice!

Schermata di registrazione e stampa

Puoi anche tracciare tutto l'output di testo sulla finestra in un file speciale registro. dove N è il numero della finestra.

#h

Ora tutti i risultati del tuo lavoro verranno registrati e potrai vedere la cronologia non solo dell'input, ma anche dell'output.

Anche il comando per rimuovere la finestra corrente

#h

trasferimenti in archivio copia cartacea. solo il contenuto della finestra corrente, invece di monitorare costantemente l'I/O. Schermo di stampa analogico.

Configurazione

Per te, puoi configurare Screen in modo molto flessibile. Dopo l'avvio, vengono eseguiti i comandi in /etc/screenrc configs e personal.screenrc nella directory dell'utente.

Ogni comando da tastiera ha anche un'opzione di testo per la configurazione, che può essere visualizzata nella guida.

Ma ad esempio, ecco una configurazione in cui disattiviamo il saluto, creiamo un titolo e una riga di stato, creiamo due finestre USER e LOG, in cui apriamo le directory corrispondenti, rendiamo attiva la prima finestra USER.
messaggio_avvio disattivato
didascalia sempre "%(= 45)%(+b w)Schermo: %n | %h %=%t %c"
hardstatus sempreultima riga "%-Lw%(= BW)%50>%n%f* %t%(-)%+Lw%<"
chdir /root/
schermo -t UTENTE
chdir /var/log/nginx/
schermo -t LOG
seleziona 0

Ora, con un semplice avvio dello schermo, avremo quanto segue:

riferimento

Ci sono altre possibilità che puoi guardare in questo modo.

Screen è un'applicazione console che consente di utilizzare più sessioni di terminale in un'unica finestra. Il programma agisce all'interno di una sessione della shell e funge da contenitore e gestore per altre sessioni di terminale, proprio come un gestore di finestre gestisce le finestre.

In molti casi, non è possibile creare più finestre di terminale. Potrebbe essere necessario gestire più sessioni della console senza avviare il server X; potrebbe essere necessario accedere rapidamente a diversi server cloud remoti o visualizzare un programma in esecuzione mentre si lavora su un'altra attività. Tutte queste esigenze possono essere soddisfatte facilmente con Screen Console.

Installazione

Questa guida utilizza Ubuntu 12.04; su ogni distribuzione moderna, tutti i comandi tranne l'installazione saranno gli stessi.

Per installare la console su Ubuntu, usa il comando "apt-get":

sudo apt-get update
sudo apt-get installscreen

Nozioni di base sull'utilizzo

Per avviare una sessione schermo, è sufficiente chiamare il comando "schermo":

schermo
Versione dello schermo 4.00.03jw4 (FAU) 2-maggio-06
Copyright (c) 1993-2002 Juergen Weigert, Michael Schroeder
Copyright (c) 1987 Oliver Laumann
Questo programma è un software gratuito; puoi ridistribuirlo e/o modificarlo in
i termini della GNU General Public License come pubblicata dal Software Libero
fondazione; la versione 2 o (a tua scelta) qualsiasi versione successiva.
Questo programma è distribuito nella speranza che possa essere utile, ma SENZA
QUALSIASI GARANZIA; senza nemmeno la garanzia implicita di COMMERCIABILITÀ o IDONEITÀ
PER UNO SCOPO PARTICOLARE. Vedere la GNU General Public License per maggiori dettagli.
Dovresti aver ricevuto una copia della GNU General Public License insieme a
questo programma (vedi file COPYING); in caso contrario, scrivi al Software Libero
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Invia segnalazioni di bug, correzioni, miglioramenti, magliette, denaro, birra e pizza a
[email protetta]

All'avvio, verrà visualizzata la pagina delle licenze. Premi "Invio" o "Invio" per continuare.

Ulteriori azioni del programma potrebbero essere impreviste. Viene fornita una normale riga di comando e sembra che non accada nulla. Forse c'è stato un errore sullo schermo? Per scoprirlo, usa la scorciatoia da tastiera. Tenere premuto il tasto Ctrl (Ctrl), premere "a", quindi il tasto "v":

Questa azione interroga Screen per informazioni sulla versione; il risultato visualizzato indica che la console sta funzionando.

Ora devi familiarizzare con la gestione della console. Lo schermo è controllato principalmente dalle scorciatoie da tastiera. Ciascuna di queste combinazioni deve essere preceduta da "Ctrl-a" (tenere premuto il tasto "Ctrl" prima di premere "a"). Questa sequenza di tasti indica a Screen di prestare attenzione ai successivi tasti premuti.

Questo principio è già stato utilizzato quando si richiedono informazioni su Screen. Usalo di nuovo per averne di più informazioni utili.

Ctrl-a?
Associazioni dei tasti dello schermo, pagina 1 di 2.
Tasto comando: ^A Letterale ^A: a
break ^B b licenza , removebuf =
cancella la schermata di blocco C ^X x ripristina Z
due punti: log H schermata ^C c
copia ^[ [ accedi L seleziona "
stacca ^D d meta a silenzio _
digraph ^V monitor M split S
visualizza * successivo ^@ ^N sp n sospende ^Z z
dumptermcap. numero N tempo ^T t
fit F solo Q titolo A
flusso ^F f altro ^A vbell ^G
focus ^I pow_break B versione v
cartaceo h pow_detach D larghezza W
aiuto? precedente ^H ^P p ^? finestre ^W w
cronologia ( ) esci \ avvolgi ^R r
informazioni che ho letto< writebuf >
kill K k rivisualizza ^L l xoff ^S s
lastmsg ^M m rimuovi X xon ^Q q

Questo è un elenco di tasti di scelta rapida interni. Vale la pena ricordare il comando per chiamarlo, poiché questo è un ottimo modo per ottenere rapidamente aiuto. Come puoi vedere in fondo al file, per ottenere più comandi, devi premere la barra spaziatrice.

Ora chiama il comando "top", che fornisce informazioni sui processi.

superiore
in alto - 16:08:07 in su 1:44, 1 utente, carico medio: 0.00, 0.01, 0.05
Compiti: 58 in totale, 1 in esecuzione, 57 addormentati, 0 fermi, 0 zombi
CPU: 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 507620k totali, 262920k usati, 244700k gratuiti, 8720k buffer
Scambio: 0k totali, 0k utilizzati, 0k gratuiti, 224584k memorizzati nella cache
PID UTENTE PR NI VIRT RES SHR S %CPU %TEMPO MEM+ COMANDO
1 radice 20 0 3384 1836 1288 S 0,0 0,4 0:00,70 init
2 radice 20 0 0 0 0 S 0.0 0.0 0:00.00 kthread
3 radice 20 0 0 0 0 S 0.0 0.0 0:00.11 ksoftirqd/0
5 radice 20 0 0 0 0 S 0.0 0.0 0:00.12 klavoratore/u:0
6 radice RT 0 0 0 0 S 0.0 0.0 0:00.00 migrazione/0
7 radice RT 0 0 0 0 S 0.0 0.0 0:00.07 watchdog/0
8 radice 0 -20 0 0 0 S 0.0 0.0 0:00.00 cpuset
9 radice 0 -20 0 0 0 S 0.0 0.0 0:00.00 khelper
10 radice 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs
11 radice 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns
12 radice 20 0 0 0 0 S 0.0 0.0 0:00.03 sync_supers
13 radice 20 0 0 0 0 S 0.0 0.0 0:00.00 bdi-default
14 radice 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd
15 radice 0 -20 0 0 0 S 0.0 0.0 0:00.00 kbloccato
16 radice 0 -20 0 0 0 S 0.0 0.0 0:00.00 ata_sff
17 radice 20 0 0 0 0 S 0.0 0.0 0:00.00 khubd
18 radice 0 -20 0 0 0 S 0.0 0.0 0:00.00 md

Ora puoi visualizzare i processi sul VPS. Ma quali comandi utilizzare per ottenere informazioni più dettagliate sull'esecuzione dei programmi? Non puoi uscire dal comando "top", ma semplicemente creare una nuova finestra per eseguire questi comandi.

La sequenza "Ctrl-a c" crea una nuova finestra. Ora puoi eseguire qualsiasi comando senza disturbare i comandi in esecuzione in un'altra finestra (in questo caso, il monitoraggio del processo).

Dov'è finita quell'altra finestra? Puoi tornarci con il comando:

Questa sequenza visualizza la finestra di esecuzione successiva. L'elenco delle finestre è circolare, quindi se non ci sono altre finestre dietro la finestra corrente, restituisce la prima finestra.

Questa sequenza cambia le finestre in ordine inverso. Se ad esempio ci sono tre finestre in esecuzione e la terza è corrente, questo comando visualizzerà la seconda finestra.

Quando si passa costantemente da una finestra all'altra, è utile utilizzare la seguente scorciatoia da tastiera:

Questa sequenza porta l'utente alla finestra visitata più di frequente. Nell'esempio precedente, si aprirebbe nuovamente la terza finestra.

Ora, tenere traccia di tutte le finestre che sono state create può sembrare impossibile. Fortunatamente, la console Screen offre diversi modi per gestire sessioni diverse. Per iniziare, crea tre nuove finestre (per un totale di 4 finestre), quindi utilizza uno degli strumenti di gestione delle finestre più semplici: "Ctrl-a w".

Ctrl-a c
Ctrl-a c
Ctrl-a c
Ctrl-a w
0$bash 1$bash 2-$bash 3*$bash

Questo comando fornisce informazioni utili: un elenco di finestre aperte. In questo caso sono aperte 4 finestre. Ogni finestra ha un numero che inizia da 0. Un asterisco accanto al numero indica la finestra corrente.

Come puoi vedere, al momento la finestra #3 è la finestra corrente (infatti è la quarta, dato che la numerazione parte da 0). Come passare rapidamente alla finestra n. 1?

Il numero di sequenza può essere utilizzato per saltare direttamente alla finestra desiderata. Apri di nuovo l'elenco delle finestre:

Ctrl-aw
0$bash 1*$bash 2$bash 3-$bash

Come puoi vedere, la finestra n. 1 è ora la finestra corrente. Prova un altro modo per passare da una finestra all'altra.

Ctrl-a"
Numero Nome Flags
bash $ 0
1 bash$
colpisci $ 2
3 dollari

Questa volta viene visualizzato il menu di navigazione. Ora puoi navigare usando le frecce su e giù o i tasti "j" e "k", come avviene in editor di testo vi. Puoi passare alla finestra selezionata premendo il pulsante "Invio" o "Invio".

Questo è abbastanza utile, ma al momento tutte le finestre sono chiamate "bash". Questo non è molto conveniente. Ora dobbiamo nominare la sessione. Passa alla finestra a cui vuoi assegnare un nome e usa la sequenza "Ctrl-a A".

Ctrl-a 0
Ctrl-A
Imposta il titolo della finestra su: bash

Usando questa sequenza, puoi dare un nome alla sessione. Usa il tasto backspace per cancellare "bash" e inserire un nuovo nome. Ad esempio, denominare la finestra n. 0 "monitoraggio" ed eseguire il comando "top" al suo interno.

Imposta il titolo della finestra su: monitoraggio
Ctrl-a"
Numero Nome Flags
0 monitoraggio$
1 bash$
colpisci $ 2
3 dollari

La finestra n. 0 ha un nome più conveniente.

Ora puoi creare e rinominare le finestre; ma come sbarazzarsi della finestra non necessaria?

Usa la sequenza "Ctrl-ak", che significa "uccidi":

Ctrl-ak
Uccidi davvero questa finestra

Gestione della sessione dello schermo

Per uscire da Screen e chiudere tutte le finestre, utilizzare la seguente sequenza di comandi:

Ctrl-a \
Esci davvero e uccidi tutte le tue finestre

Questo terminerà la sessione dello schermo. Tutte le finestre create, così come qualsiasi lavoro in corso, andranno perse.

L'uso dello schermo ha un enorme vantaggio. La sessione non può essere cancellata, ma semplicemente rimossa. La rimozione di una sessione consente ai programmi in esecuzione in Screen di continuare a funzionare e consente anche l'accesso alla sessione della console principale (quella che inizia a funzionare con Screen). Questa sessione dello schermo esiste ancora, è solo gestita in background.

Ctrl-a d

Quindi la sessione è finita. Come tornare a questa sessione?

Il flag "-r" significa "ricollega" o "ripristina". Ma cosa succede se ci sono più sessioni di Screen? Cosa succede se una sessione Screen è stata creata ed eliminata e quindi è stata creata una nuova sessione che è stata anche rimossa?

schermo
Ctrl-a d
schermo
Ctrl-a d

Come dire a Screen quale sessione ripristinare?

schermo -ls
Ci sono schermate su:
2171.pts-0.Blank (07/01/2013 05:00:39) (staccato)
1835.pts-0.Blank (07/01/2013 15:50:43) (staccato)
2 prese in /var/run/screen/S-justin.

Viene visualizzato l'elenco delle sessioni. Per ripristinare la seconda sessione, inserire il suo numero identificativo dopo il flag "-r".

schermo –r 1835

Cosa succede se è necessario ripristinare una sessione su due computer remoti o finestre di terminale? Usa il flag "-x" per dividere la sessione.

Gestione del terminale in Screen

Esistono numerosi comandi che consentono di gestire le sessioni del terminale in esecuzione in Screen.

Per copiare il testo, utilizzare la sequenza:

Questa sequenza fornisce un cursore che può essere spostato utilizzando i tasti freccia o i tasti "h", "j", "k", "l" (come in vi). Sposta il cursore all'inizio del testo che desideri copiare e premi "Invio" o "Invio". Quindi sposta il cursore alla fine del frammento e premi di nuovo "Invio" o "Invio". Il testo verrà copiato negli appunti.

Nota che questo è anche il meccanismo di scorrimento della console. Se desideri visualizzare il testo fuori schermo, digita "Ctrl-a [" e scorri verso l'alto.

Puoi incollare il testo copiato con una parentesi quadra di chiusura

Potresti anche voler visualizzare i programmi in esecuzione in un'altra finestra dello schermo.

Ad esempio, alcuni dati vengono compilati in una finestra ed è necessario sapere quando la procedura è completata. Puoi dire a Screen di monitorare l'inattività di questa finestra con la sequenza "Ctrl-a _", che ti dirà se non viene visualizzato alcun output entro 30 secondi.

Facciamo un esempio più semplice. Dì alla console dello schermo di dirti quando la finestra ha terminato di eseguire il ping di Google 4 volte.

ping -c 4 www.google.com
Ctrl-a_
La finestra è ora monitorata per 30 sec. silenzio.

Ora puoi lavorare in un'altra finestra e attendere la notifica di completamento dell'attività nella finestra precedente.

Ctrl-a 1
Finestra 2: silenzio per 30 secondi

Puoi anche, al contrario, richiedere la notifica dell'attività di una determinata finestra. Questo viene fatto usando la sequenza "Ctrl-a M".

sleep 20 && eco "uscita"
Ctrl-a M
La finestra 2 (bash) è ora monitorata per tutte le attività.

Ora apparirà una notifica quando i dati vengono visualizzati in questa finestra.

Ctrl-a 1
attività nella finestra 2

Ad esempio, è necessario apportare una serie di modifiche importanti e, nel farlo, è necessario ottenere un registro dei comandi in esecuzione. La sessione può essere registrata utilizzando:

Ctrl-a H
Creazione del file di registro "screenlog.1".

Aree dello schermo

Se hai bisogno di vedere più finestre contemporaneamente, puoi utilizzare le cosiddette "aree". Nuove regioni vengono create quando la regione corrente viene suddivisa. Per dividere l'area corrente orizzontalmente, puoi digitare:

Questo sposterà la finestra corrente nella parte superiore dello schermo e si aprirà una nuova area vuota sotto di essa. Per spostarti nell'area inferiore, usa "tab":

Ora puoi creare una nuova finestra nell'area inferiore o passare a un'altra finestra normalmente.

Se necessario, distruggi l'area corrente, usa la seguente sequenza:

Questo rimuove la regione senza distruggere la finestra corrente. Cioè, se un comando è stato lanciato in quest'area, è ancora possibile accedervi come una normale finestra, solo un'area separata viene distrutta.

Se devi fare una sezione verticale, puoi usare la sequenza:

Nota: questo non è un carattere 1 (uno) o L. È un carattere pipe che si trova sullo stesso tasto del carattere "\" sulla maggior parte delle tastiere. I controlli per le aree verticali sono gli stessi di quelli per le aree orizzontali. Se è necessario eliminare più aree diverse e tornare a un'area, è possibile utilizzare questa sequenza, che distrugge tutte le aree tranne quella corrente:

Usando Byobu

Un grande miglioramento per Screen è un programma chiamato "byobu". Agisce come un wrapper per Screen e fornisce una migliore usabilità. Su Ubuntu può essere installato con:

sudo apt-get install byobu

Prima di iniziare, dobbiamo dire a byobu di utilizzare lo schermo come buffer di output. Questo può essere fatto con il comando:

byobu-select-backend
Seleziona il backend di byobu:
1.tmux
2. schermo
Scegli 1-2:

Qui puoi impostare lo schermo come gestore terminale predefinito.

Ora puoi digitare "byobu" invece di "schermo" per avviare una sessione.

byobu
Benvenuto in Ubuntu 12.04 LTS (GNU/Linux 3.2.0-24-virtual i686)
* Documentazione: https://help.ubuntu.com/
Benvenuto nel leggero e potente gestore di finestre di testo Byobu.
Puoi attivare o disattivare l'avvio di Byobu al login con:
"byobu-disabilita" e "byobu-enable"
Per suggerimenti, trucchi e ulteriori informazioni, vedere:
*http://bit.ly/byobu-help
[email protetta]:~$
tu? 12.04 0:* 118! 3h55m 2.00 2.0GHz 496M6% 2013-07-01 18:19:21

Come puoi vedere, lo schermo è ora avvolto in un'interfaccia intuitiva.

Digitando "Ctrl-a" per la prima volta, devi dire a byobu di riconoscere questo comando come comando a schermo, non Emacs.

Ctrl-a
Configura il comportamento ctrl-a di Byobu...
Quando premi ctrl-a in Byobu, vuoi che funzioni in:
(1) Modalità schermo (sequenza di escape predefinita di GNU Screen)
(2) Modalità Emacs (vai all'inizio della riga)
Notare che:
- L'F12 funziona anche come via di fuga a Byobu
- Puoi premere F9 e scegliere il tuo personaggio di fuga
- Puoi eseguire "byobu-ctrl-a" in qualsiasi momento per modificare la tua selezione
Selezionare :

Selezionare 1 per utilizzare normalmente byobu.

L'interfaccia fornisce molte informazioni utili, come un elenco di finestre e informazioni di sistema. Su Ubuntu riporta anche quanti pacchetti hanno aggiornamenti di sicurezza come numero seguito da punto esclamativo su fondo rosso.

L'unica differenza tra byobu e screen è che byobu gestisce le sessioni. Se digiti di nuovo "byobu" dopo la disconnessione, ripristinerà la sessione precedente invece di crearne una nuova.

Per creare una nuova sessione, devi digitare:

byobu -S nomesessione

Modifica "sessionname" (nome della sessione) a tuo piacimento per invocare una nuova sessione. L'elenco delle sessioni in corso può essere visualizzato con:

byobu –ls
Ci sono schermate su:
22961.new (07/01/2013 18:42:52) (staccato)
22281.byobu (07/01/2013 06:37:18) (staccato)
2 socket in /var/run/screen/S-root.

Se ci sono più sessioni, dopo aver inserito "byobu" apparirà un menu in cui puoi selezionare a quale sessione vuoi connetterti.

byobu
Sessioni Byobu...
1.schermo: 22961.nuovo (07/01/2013 06:42:52) (staccato)
2.schermo: 22281.byobu (07/01/2013 06:37:18) (staccato)
3. Crea una nuova sessione Byobu (schermata)
4. Esegui una shell senza Byobu (/bin/bash)
Scegli 1-4:

Puoi selezionare una qualsiasi delle sessioni esistenti, creare una nuova sessione di byobu o anche una nuova shell che non utilizza byobu.

Una delle funzionalità molto utili per un server cloud remoto è la possibilità di eseguire automaticamente byobu ogni volta che ci si connette a una sessione. Ciò significa che quando una sessione viene disconnessa, il lavoro non andrà perso e sarà facile riconnettersi nuovamente a questa sessione.

Per consentire a byobu di avviarsi automaticamente ogni volta che accedi, digita nel terminale:

byobu-enable
Il gestore delle finestre Byobu verrà lanciato automaticamente ad ogni login di testo.
Per disabilitare questo comportamento in un secondo momento, esegui semplicemente:
byobu-disabilita
Premi per continuare...

Come detto sopra, per disabilitare questa funzione è sufficiente digitare:

Quindi non si avvierà automaticamente.

Tag: ,

Ha molte caratteristiche. È molto comodo utilizzare questa utility quando ci si connette al sistema in remoto tramite ssh. Ma il suo utilizzo più comune è nascondere in background i programmi che non sanno come fare, con la possibilità di un successivo ritorno ad essi. questo può essere utile quando si lavora con programmi che sono implementati non come "daemon + client", ma come una singola entità, e non funzionano senza avviare l'interfaccia. Un tipico esempio è rtorrent, che, con tutti i suoi vantaggi, viene lanciato solo come interfaccia della console, e non può andare in background, puoi solo “uscire del tutto”. Prendiamolo come esempio.

Avvio e funzionamento di base di Screen

    Lo schermo crea oggetti separati, a volte chiamati "schermi". Ogni schermata è qualcosa come una finestra che può essere ridotta a icona ed espansa, se tracciamo un'analogia con un'interfaccia grafica. Solo al posto di una finestra, ottieni una console virtuale che può essere inviata in background o portata in primo piano e in cui viene avviata l'applicazione specificata.

    L'avvio più semplice viene eseguito dal comando:

schermo

    Quando viene lanciato in questa forma, ad es. senza parametri, il programma creerà una nuova schermata in cui aprirà una sessione della shell dei comandi, come se fossi connesso a una console tty o aprissi una nuova scheda in un terminale grafico, per chiarezza, fai qualcosa sulla riga di comando - per esempio, ls.

    Ora su come ridurre al minimo la schermata in esecuzione insieme a tutto ciò che funziona al suo interno. Per fare ciò, premi Ctrl + A , quindi premi D . in linea di principio, questa è l'unica combinazione che un semplice utente dovrebbe ricordare. Ctrl + A metterà lo schermo in modalità comando. il tasto D darà il comando per ridurre a icona la schermata corrente. Ora puoi chiudere il terminale o disconnetterti dalla console tty: il processo in esecuzione nella schermata ridotta a icona continuerà a funzionare in background.

    Per tornare alla schermata ridotta a icona, basta eseguire:

schermo-r

    Il tasto -r dirà semplicemente al programma che è necessario espandere lo schermo ridotto a icona (se ce n'è uno, ovviamente). Dovresti vedere la stessa sessione nella console che hai ridotto a icona, con tutto ciò che era in essa.

    Ora esci dalla sessione con il comando exit. Lo schermo ti avviserà che ha completato il suo lavoro. Pertanto, devi solo uscire dal processo in esecuzione sullo schermo e lo schermo si spegnerà.

torrent dello schermo

    rtorrent si è aperto davanti a te, puoi ridurlo a icona e quindi tornare ad esso, come descritto sopra. Rtorrent scaricherà/trasmetterà in streaming in background, risparmiandoti di dover mantenere una scheda del terminale aperta o una console tty (che è anche pericolosa) per questo.

Lavorare con più schermi

    Se è necessario eseguire un solo programma - quanto sopra è più che sufficiente, ma se ci sono diversi programmi di questo tipo - alle schermate sarà necessario assegnare un nome in modo che la schermata sappia a quale schermata ridotta a icona si desidera tornare. Il nome della schermata creata si imposta con il tasto -S:

schermo -S rtor torrent

    Piega lo schermo con rtorrent "ohm ed esegui qualcos'altro, ad esempio nano:

schermo -S nano nano

    Fai scorrere anche questo schermo. Ora puoi tornare a una qualsiasi delle due schermate nello stesso modo descritto sopra, solo con il nome della schermata che vuoi espandere, ad esempio:

schermo -r nano

    L'elenco delle schermate in esecuzione può essere visualizzato utilizzando:

elenco delle schermate

Schermo -ls

    È anche possibile tornare a una schermata che è già stata distribuita in un altro terminale:

schermo -x nano

Schermata di avvio nella visualizzazione ridotta a icona

    Il programma può essere avviato immediatamente in una schermata ridotta a icona. Questo è utile nel caso di autorun, o quando sai che il programma stesso farà tutto (stabilire una connessione e continuare a scaricare/caricare nel nostro esempio rtorrent), e non c'è niente da guardare. Tutto è fatto di nuovo semplicemente. Il comando di avvio sarà:

schermo -dmS rtor rtorrent

    L'opzione -d indicherà che lo schermo deve essere compresso e l'opzione -m indicherà che è necessario crearla prima. Il processo è "complicato" perché l'opzione -d viene utilizzata per impostazione predefinita per ridurre al minimo una schermata avviata in precedenza distribuita su un'altra console o in una scheda adiacente per distribuirla nella posizione corrente (perché se lo stesso programma è controllato da due posizioni - questo può causare imbarazzo). In questo modo programma desiderato si avvierà immediatamente in background e lo schermo visualizzerà solo un messaggio che il programma è in esecuzione e lo schermo è ridotto a icona.

A volte devi lavorare con i server *nix in remoto tramite ssh, nel mio caso tramite stucco. Se il disco si connette a causa di Internet scadente, la sessione è danneggiata, quindi il khan è costituito da tutti i nostri processi incompleti, sviluppi in configurazioni non salvate, ecc. Per mettermi in guardia da tali incidenti, nonché per archiviare sessioni e connettermi ad esse in qualsiasi momento da qualsiasi luogo, ho scoperto il gestore delle finestre dello schermo. Ora per affari.

Installare:

#yum install -yscreen

Per prima cosa, impariamo i passaggi di base per manipolare le finestre.
Apri qualsiasi emulatore di terminale (nel mio caso, questo è mastice) ed eseguirlo Schermo:


Questa finestra è la prima finestra Schermo, che è stato creato automaticamente dal programma all'avvio. Creiamo un'altra finestra.
Digitiamo la seguente combinazione di tasti sulla tastiera (ovunque senza -, - è un separatore):
ctrl+aC

Iniziamo qualsiasi processo in questa finestra. Lascia che sia in alto e crea un'altra finestra
ctrl+aC e avviare un processo al suo interno. Questa volta come sarà schermo uomo

Al momento abbiamo tre finestre dello schermo in esecuzione in una finestra del terminale di stucco.
Come vedere quante finestre? come opzione ctrl+aw

Vediamo nell'angolo in alto a sinistra della finestra la linea:
$0 bash 1*$ bash 2-$ bash

Questo è l'elenco delle finestre dello schermo attive che abbiamo creato. 0 , 1 , 2 sono i numeri della finestra e bash- i loro nomi (titoli). Come puoi vedere, la numerazione delle finestre parte da zero. Ma i nomi di tutti e tre sono gli stessi - bash

Finestra:
* $ 0 bash- è quello che Schermo l'ha creato lui stesso al suo avvio (andando un po' avanti, possiamo dire che il loro numero può essere più di uno ed è impostato nel file di configurazione);
* 1-$bash- in questa finestra abbiamo confuso superiore;
* 2*$ bash- in questa finestra abbiamo lanciato schermo uomo.

Il cambio avviene tramite:
CTRL+un -P- passa alla console virtuale precedente
ctrl+un - n o spazio- passa alla prossima console virtuale
ctrl+a“ -- interattivo (al contrario di ctrl+a-w) un elenco delle finestre che abbiamo creato. Puoi navigare attraverso di esso con le frecce su e giù ed entrare accedere'om nel posto giusto.


Puoi andare alla finestra desiderata, conoscendone il numero, usando il comando:
Ctrl+unnumero_finestra

Andiamo ad esempio alla seconda finestra:
ctrl+a1

Oppure, modificando leggermente il comando:
ctrl+a

La riga inferiore ti chiederà di inserire il numero della finestra in cui vuoi andare. Diciamo che dobbiamo andare alla prima finestra: inserisci il numero 0 e premere accedere:

Come abbiamo visto dall'output del comando ctrl+a-w e Ctrl+a - ", i nomi delle finestre (titoli) sono gli stessi. Risolviamo questo problema. Reclutiamo una squadra ctrl+aUN

La riga inferiore ti chiederà di cambiare il titolo della finestra. Passa da bash a main e premi Invio. È possibile trovare il nome della finestra corrente ctrl+an vedremo il suo nome nell'angolo in alto a sinistra della finestra.

Informazioni sulla finestra:
ctrl+aio

Vedremo nell'angolo in alto a sinistra della finestra le informazioni e il suo nome, nel nostro caso il nome Main.

Come si evince dai precedenti output, la numerazione delle finestre avviene in modo sequenziale, con numeri crescenti: 0 - 1 - 2 . Se ne chiudiamo una, la numerazione delle restanti finestre non cambierà.

Chiudendo la finestra Schermo eseguita eseguendo il comando Uscita nella finestra. Innanzitutto, è necessario interrompere tutti i processi in esecuzione al suo interno. Le finestre possono anche essere chiuse con una combinazione ctrl+ak. Tuttavia, non è consigliabile eseguirlo, poiché questa operazione è identica al comando uccisione- "uccidere" il processo.

Chiudiamo la seconda finestra. Fermiamo il processo superiore e fai Uscita. E poi vediamo l'output del comando.

Vediamo che ora la numerazione è la seguente: 0 — 2 . Cambiamo la numerazione delle finestre, in particolare le finestre numerate 2 e dagli un numero 1 . Eseguiamo il comando:
ctrl+a:
Verrà visualizzato un prompt dei due punti nella parte inferiore della finestra per immettere il comando.
Inseriamo il comando:
numero 1
E noi premiamo accedere.
Vediamo il risultato:
ctrl+a

Aiuto per le scorciatoie da tastiera Schermo:
ctrl+a?

Predefinito, Schermo visualizza solo una finestra sullo schermo dell'emulatore di terminale. Tuttavia, è possibile rompere la finestra Schermo nel terminale per diversi. Per fare ciò, c'è un comando per dividere una finestra in parti orizzontali: regioni. La comodità in questo caso sta nel fatto che non è necessario passare da una finestra all'altra: sono tutte in vista e tutti i processi sono sotto controllo, devi solo guardare la finestra desiderata.
Apri un emulatore di terminale ed esegui Schermo ed esegui il comando per dividere lo schermo dell'emulatore in due parti orizzontali - regioni:
ctrl+aS

Come puoi vedere nello screenshot, la finestra dell'emulatore di terminale mastice era divisa in due parti orizzontali identiche. V Schermo tali parti eseguite con il comando Ctrl+a - S prendono il nome di regioni. Potrebbero non esserci necessariamente due di queste regioni, ma molte di più. Diciamo di avere tre finestre Schermo nel nostro caso, è necessario eseguire nuovamente il comando nella regione corrente (è la nostra principale) Ctrl+a - S. Quindi puoi creare tre, quattro, cinque finestre, ecc Schermo. Ma ci concentreremo sull'opzione di due finestre, per chiarezza.

Nella regione superiore, abbiamo lanciato Schermo e quella regione è a fuoco (cursore verde). La nostra regione inferiore è vuota - non è in esecuzione Schermo e finora non c'è niente. Dobbiamo andare nella regione inferiore, creare una finestra lì Schermo e avviare il processo in esso.
Spostiamo lo stato attivo nella regione inferiore:
ctrl+aTab
e crea una finestra al suo interno Schermo:
ctrl+aC

Abbiamo una riga di comando.
Iniziamo il processo qui - in alto


Ora torniamo (trasferiamo lo stato attivo) nella regione superiore e corriamo lì ps-aux.
Immettere di nuovo il comando:

ctrl+aTab
ed eseguire:
ps-aux

Noi abbiamo:


Chiusura della regione attuale in Schermo prodotto dalla squadra ctrl+a-X. Eseguiamolo nella nostra attuale regione superiore:
ctrl+aX

Noi abbiamo:

Se sono aperte più (più di due) regioni, è possibile chiuderle tutte in una volta, tranne una, quella corrente, eseguendo il comando:
ctrl+aQ

Ed ecco di più:
ctrl+a-| (divisione verticale)

CTRL+A - D- staccare - disconnettersi dalla finestra (ma non chiudere)
CTRL+A - h- scrivere su un diario
CTRL+A - C- (cancella) cancella lo schermo.
CTRL+A - D- (stacca) disabilita lo schermo da questo terminale. CTRL+A - D-D- (pow_detach) disconnetti e annulla la registrazione. Opzioni utili della riga di comando: -ls e -list non avvia lo schermo, ma visualizza invece un elenco di stringhe pid.tty.host che identificano le sessioni dello schermo. Le sessioni contrassegnate con la parola "staccato" possono essere proseguite con il comando "screen -r". Le sessioni contrassegnate come "collegate" sono in esecuzione e dispongono di un terminale di controllo. Se una sessione è in esecuzione in modalità multiutente, è contrassegnata dalla parola "multi". Le sessioni contrassegnate come "irraggiungibili" sono in esecuzione su un host diverso o sono morte. Una sessione irraggiungibile è considerata morta se il suo nome corrisponde al nome host locale o al parametro specificato (se presente). Come descrivere le righe per la selezione è descritto nella descrizione dell'opzione -r. Le sessioni contrassegnate come "morte" devono essere controllate ed eliminate. Se non sei sicuro che una sessione debba essere eliminata, puoi contattare il tuo amministratore di sistema (a meno che tu non sia tu, altrimenti potresti finire con la ricorsione infinita). Puoi eliminare le sessioni con l'opzione -wipe. -pulire funziona come "screen -ls" tranne per il fatto che elimina i file delle sessioni distrutte invece di contrassegnarli come "morti" (morti). Una sessione che non risponde è considerata morta o se il suo nome corrisponde al nome host locale o a un parametro di corrispondenza specificato in modo esplicito. Vedere la descrizione dell'opzione -r per le regole per la compilazione di una corrispondenza. -r -r proprietario della sessione/ riprende una sessione disconnessa. Nessun'altra opzione (tranne le combinazioni con -d/-D non sono consentite). Il parametro facoltativo tty.host può essere specificato per specificare quale delle sessioni disconnesse si intende. Il secondo modulo viene utilizzato per connettersi alla sessione multiutente di un altro utente. Questa opzione ti dice di cercare il file nella directory di un altro utente. Richiede il bit setuid-root sul programma dello schermo. -X Connettiti alla sessione dello schermo attiva (non scollegata). (Modalità display multiplo). -X Invia il comando specificato a una sessione dello schermo in esecuzione. -S nome della sessione Questa opzione può essere utilizzata per assegnare un nome alla sessione quando viene creata. Il nome viene utilizzato per l'identificazione quando si chiama "screen -list" e "screen -r". Sostituisce il prefisso predefinito "tty.host". -UN Adatta le dimensioni di tutte le finestre alle dimensioni del terminale corrente. Per impostazione predefinita, lo schermo tenta di ripristinare la vecchia dimensione della finestra (quando è collegato a terminali ridimensionabili (quelli con "WS" nella loro descrizione, come suncmd o xterm). -d -m Avvia la sessione in modalità "disconnesso". La sessione viene creata, ma non viene stabilita alcuna connessione. Questo è utile per avviare gli script di sistema. -D -m Avvia anche lo schermo in modalità "disabilitata", ma non crea un nuovo processo. Il comando termina se la sessione viene terminata. d|-D non avvia una nuova sessione, ma ne disconnette una già avviata. Lo stesso effetto si ottiene premendo i tasti "C-a d" sul terminale di controllo schermo. L'interruttore -D è equivalente all'interruttore di scollegamento dell'alimentazione. Se non è possibile accedere a nessuna sessione, l'opzione viene ignorata. Insieme a -r/-R, è possibile ottenere altri effetti più interessanti. -d -r Connettiti alla sessione e, se necessario, disconnettila prima.

In ogni sessione, le sue finestre!

Prendiamo uno script come esempio:

#!/bin/bash "Qui inviamo il comando di uscita alla sessione di Proga1" screen -X -S Proga1 exit "Qui andiamo nella directory del programma, che si trova nella nostra home directory e avviamo una sessione chiamata Proga1 in modalità "disconnected" ed eseguiamo immediatamente nasha_program.sh nella stessa sessione " cd ~/program /schermo - A -m -d -S Proga1 nasha_program.sh

Quelli. creiamo una sessione con il nome Proga1 , ma non ci colleghiamo ad essa ed eseguiamo il programma al suo interno, e se esiste già una sessione con lo stesso nome, la chiudiamo prima inviando il comando exit.

Controlli all'interno dello schermo:

ctrl+a - C- creazione di una nuova scheda all'interno della sessione dello schermo corrente.
ctrl+a - numero- passare alla scheda "numero" nella sessione dello schermo corrente.
ctrl+a - UN- crea un nome per la scheda corrente.
ctrl+a - " - comoda navigazione attraverso le schede con nome.
ctrl+a - D- stacca, stacca da una sessione dello schermo, esci a una normale bash. Tutte le attività continuano ad essere eseguite, ma all'interno dello schermo.
ctrl+d- il solito logout, come da terminale da. Se la scheda è l'unica nella sessione, la schermata corrente verrà chiusa. Se uno dei tanti, si chiuderà e passerai alla scheda precedente in base al numero.
Ctrl+D- disconnettersi da tutte le sessioni dello schermo

Controllo dello schermo dall'esterno, dalla bash.
schermo-r- allega , se è presente una singola sessione di una schermata in esecuzione, allega ad essa.
schermo -r proc-id- partecipare alla sessione specificata tramite il suo numero di processo.
screen-ls- stampa della lista delle schermate attualmente in esecuzione.

Se la sessione viene avviata da un altro terminale (allegato), puoi provare -D -R

messa a punto

Puoi anche regolare leggermente la visualizzazione esterna delle console virtuali, per questo, crea un file nella tua home directory .screenrc e inserisci quanto segue:

Caption always caption string "%(kw)%-w%(wr)%n %t%(-)%+w" shell -$SHELL Ora il numero di console virtuali e il display a colori di quella corrente saranno sempre visualizzati a il fondo.

Pubblicazioni correlate