Gestione delle Sessioni
Crea ed Elenca Sessioni
screen # nuova sessione senza nome screen -S work # nuova sessione chiamata "work" screen -ls # elenca tutte le sessioni screen -list # uguale a -ls
Comandi di Sessione
screen -S nameAvvia nuova sessione con nome
screen -r nameRiattacca a sessione staccata
screen -x nameAttacca a sessione già attiva (condivisione)
screen -d nameStacca sessione remota
screen -d -r nameStacca altrove, riattacca qui
screen -D -RRForza stacco e riattacco (aggressivo)
screen -lsElenca tutte le sessioni con PID
screen -wipePulisce le sessioni inattive
Finestre
Basi delle Finestre
Ctrl-a cCrea nuova finestra
Ctrl-a nFinestra successiva
Ctrl-a pFinestra precedente
Ctrl-a 0-9Passa alla finestra per numero
Ctrl-a "Elenca tutte le finestre (interattivo)
Ctrl-a 'Passa alla finestra per nome/numero
Ctrl-a ARinomina la finestra corrente
Ctrl-a kChiude la finestra corrente
Gestione delle Finestre
Ctrl-a wMostra lista finestre nella barra di stato
Ctrl-a Ctrl-aAlterna tra le ultime due finestre
Ctrl-a NMostra numero e nome della finestra
exit / Ctrl-dChiude finestra (esci dalla shell)
Split e Regioni
Comandi di Split
Ctrl-a SDivide orizzontalmente (sopra/sotto)
Ctrl-a |Divide verticalmente (sinistra/destra)
Ctrl-a TabSposta il focus alla regione successiva
Ctrl-a XChiude la regione corrente
Ctrl-a QChiude tutte le regioni tranne la corrente
Flusso di Lavoro con le Regioni
Ctrl-a S # divide orizzontalmente Ctrl-a Tab # sposta nella nuova regione Ctrl-a c # crea finestra nella regione Ctrl-a :resize 20 # imposta la regione a 20 righe
Modalità Copia
Scorrimento e Copia
Ctrl-a [Entra in modalità copia/scorrimento
SpaceAvvia/termina selezione (in modalità copia)
EnterCopia la selezione ed esce dalla modalità copia
Ctrl-a ]Incolla il testo copiato
h/j/k/lSposta il cursore (tasti vi in modalità copia)
Ctrl-u / Ctrl-dScorre su/giù di mezza pagina
/ or ?Cerca avanti/indietro
EscEsci dalla modalità copia
Flusso di Lavoro per la Copia
Ctrl-a [ # entra in modalità copia Space # segna l'inizio (naviga prima) Space # segna la fine + copia (naviga prima) Ctrl-a ] # incolla nella finestra corrente
Stacco e Riattacco
Stacco
Ctrl-a dStacca la sessione corrente
Ctrl-a D DStacca e disconnetti
Ctrl-a zSospendi screen (come Ctrl-Z)
screen -d PIDStacca remotamente sessione per PID
Riattacco
screen -r # riattacca (se c'è solo una sessione) screen -r work # riattacca per nome screen -r 12345 # riattacca per PID screen -d -r work # sottrai sessione da altro terminale
Flussi di Lavoro Persistenti
# Avvia task di lunga durata, stacca, riconnetti dopo screen -S build make -j4 all # avvia build Ctrl-a d # stacca, vai a casa screen -r build # riattacca dopo
Condivisione
Modalità Multi-Utente
# L'host abilita multiuser Ctrl-a :multiuser on Ctrl-a :acladd alice # concede accesso all'utente alice # Alice si connette screen -x hostuser/sessionname
Controllo degli Accessi
:multiuser onAbilita modalità multi-utente
:acladd userConcede accesso completo all'utente
:aclchg user -w '#'Rende l'utente di sola lettura (tutte le finestre)
:acldel userRimuove accesso utente
screen -x user/sessConnetti a sessione condivisa
Configurazione
Elementi Essenziali di ~/.screenrc
startup_message off # salta schermata di avvio defscrollback 10000 # righe di buffer di scorrimento hardstatus alwayslastline hardstatus string '%{gk}%H %{wk}%?%-Lw%?%{bw}%n*%f %t%{wk}%?%+Lw%?' shell -$SHELL # usa shell di login
Impostazioni Utili
startup_message offSopprime il messaggio di avvio
defscrollback NImposta il buffer di scorrimento (default 100)
escape ^BbCambia il tasto prefisso in Ctrl-b
shelltitle '$ |bash'Imposta automaticamente i titoli delle finestre
caption always '%n %t'Mostra sempre la caption con info finestra
autodetach onAuto-stacca al hangup (default attivo)
vbell onUsa campanello visivo invece di audio
Pattern Comuni
Setup per lo Sviluppo
# Crea finestre automaticamente in .screenrc screen -t editor 0 vim screen -t server 1 python -m http.server screen -t shell 2 bash select 0 # parti dalla finestra editor
Logging e Monitoraggio
Ctrl-a H # attiva/disattiva log in screenlog.N Ctrl-a M # monitora attività nella finestra Ctrl-a _ # monitora silenzio nella finestra
Riferimento Rapido
Ctrl-a ?Mostra tutti i binding dei tasti
Ctrl-a :helpAiuto integrato
Ctrl-a :source fileCarica file di configurazione
Ctrl-a :screen cmdEsegui comando in nuova finestra
Ctrl-a :quitChiudi tutte le finestre ed esci dalla sessione