GNU/Linux >> Linux Esercitazione >  >> Linux

Come avviare automaticamente la sessione dello schermo su Linux durante l'accesso

Alcuni giorni fa abbiamo visto come avviare automaticamente la sessione di Tmux ogni volta che accedi a un sistema Linux in locale o in remoto tramite SSH. Oggi vedremo come avviare automaticamente lo Schermo sessione su Linux al momento dell'accesso. Le sessioni di avvio automatico dello schermo sono di grande aiuto quando si esegue un processo di lunga durata tramite SSH. Se hai perso la connettività di rete per qualsiasi motivo, il processo continuerà a essere eseguito all'interno della sessione Screen nel sistema remoto e potrai ricollegarti ad esso quando la rete tornerà online.

Avvio automatico della sessione dello schermo su Linux durante l'accesso

Per avviare automaticamente la sessione Screen su Linux, modifica il ~/.bash_profile del tuo sistema Linux o ~/.bashrc file:

$ nano ~/.bash_profile

Se il file sopra non è disponibile, basta crearlo.

E aggiungi le seguenti righe:

if [[ -z "$STY" ]]; then
   screen -xRR default
fi

Qui abbiamo usato -x flag da allegare a una sessione dello schermo non scollegata. E il -RR flag tenta di riprendere la sessione di schermo staccata più giovane (in termini di tempo di creazione) che trova.

Nota: Se utilizzi la shell Zsh, aggiungi le righe precedenti in ~/.zshrc file.

Salva e chiudi il file. Disconnettersi e riconnettersi al sistema. Verrai indirizzato a una nuova sessione Screen denominata 'predefinita' .

Ora avvia qualsiasi processo all'interno della sessione Screen e scollegalo premendo Ctrl+a seguito da d . Il processo continuerà a essere eseguito all'interno della sessione Screen anche se la connessione di rete viene disconnessa. Una volta che la connessione di rete è tornata, puoi di nuovo SSH nel sistema remoto e vedrai che il lavoro è ancora in esecuzione!!

Dai un'occhiata alla seguente demo animata:

Consentitemi di chiarire cosa ho appena fatto nell'output sopra.

  1. Mi collego al mio server Ubuntu remoto tramite SSH dal mio sistema locale. Viene avviata automaticamente una nuova sessione Screen denominata "predefinita".
  2. All'interno della sessione Screen, eseguo un comando (es. watch grep \"cpu MHz\" /proc/cpuinfo) per monitorare la velocità della CPU.
  3. Quindi, mi sono disconnesso dalla sessione premendo Ctrl+a e d .
  4. E poi, elenco le sessioni Screen usando il comando "screen -ls" ed esco dalla sessione SSH.
  5. Infine, mi ricollego al sistema remoto tramite SSH e verifico se il processo continua a funzionare all'interno della sessione Screen senza alcuna interruzione.

Spero che tu capisca.

Per interrompere l'avvio automatico della sessione Screen, elimina semplicemente le righe aggiunte in precedenza dal ~/.bashrc del tuo sistema remoto o ~/.bash_profile file.


Linux
  1. Come terminare la connessione SSH che non risponde in Linux?

  2. Linux – Come salvare la sessione X — Archlinux+openbox?

  3. Come disabilitare l'oscuramento dello schermo in 14.04?

  4. Come assegnare un nome a uno schermo?

  5. Come fermare un processo dello schermo in Linux?

Come verificare se sei nella sessione dello schermo o meno in Linux

Avvio automatico della sessione Tmux sul sistema remoto quando si accede tramite SSH

Come utilizzare il comando dello schermo su Linux per gestire i terminali

Come utilizzare Linux Screen Command [Guida essenziale]

Come usare il comando schermo in Linux

Come cancellare il terminale in Linux {Cancella schermo in Linux}