GNU/Linux >> Linux Esercitazione >  >> Linux

Come faccio a sapere che sto correndo all'interno di uno schermo Linux o no?

Soluzione 1:

(Rubato da "Come posso sapere se sono su uno schermo?" su StackOverflow e creato dall'utente jho. P.S. Non puoi votare per un duplicato sui siti StackExchange.)

Seleziona $STY . Se è nullo, sei su un terminale "reale". Se contiene qualcosa, è il nome della schermata in cui ti trovi.

Se non sei sullo schermo:

[email protected] ~ $ echo $STY
[email protected] ~ $ 

Se sei sullo schermo:

[email protected] ~ $ echo $STY
2026.pts-0.ip-10-0-1-71

Se usi tmux invece di screen, seleziona anche $TMUX . Per aggiungere questo al tuo prompt, aggiungi quanto segue al tuo ~/.bashrc :

if [ -n "$STY" ]; then export PS1="(screen) $PS1"; fi
if [ -n "$TMUX" ]; then export PS1="(tmux) $PS1"; fi

Soluzione 2:

Cerca $STY che fornisce dettagli che screen utilizza per comunicare con se stesso; $WINDOW sarà quindi l'attuale screen numero finestra.

Soluzione 3:

Il semplice controllo che uso di solito è semplicemente premere Ctrl -a :

  • Se il cursore salta all'inizio della riga , non sono dentro una sessione dello schermo.

  • Se non succede nulla , so che sono dentro una sessione dello schermo e che ho appena utilizzato il tasto di controllo dello schermo. Poi premo a (salta all'inizio della riga), w (mostra le finestre dello schermo corrente) o esegui qualche altro comando "innocuo" sullo schermo per tornare al prompt dei comandi.

(Naturalmente, questo funziona solo se stai attualmente eseguendo bash o qualche altro software che "salta all'inizio della riga" o fa qualcosa di altrettanto innocuo quando premi Ctrl-a.)

Soluzione 4:

Bene, la maggior parte del tempo (in assenza dei tentativi di qualcuno di rovinare le cose) il tuo TERM sarà impostato su screen (o almeno menzionare screen da qualche parte).

La semplice soluzione al problema è semplicemente eseguire lo schermo ovunque. Non uscire di casa senza, dico.

Soluzione 5:

Lo tengo nel mio .bashrc :

 PS1='[\[email protected]\h \W'
 if [ "$WINDOW" ]; then PS1="$PS1 ($WINDOW)"; fi
 PS1="$PS1]$"

Non è infallibile, ma ogni volta che creo una nuova schermata, inserisce il numero della finestra nel prompt. Se non eseguo screen , non c'è nessun numero.


Linux
  1. Linux:come identificare quale distribuzione Linux è in esecuzione??

  2. Come utilizzare il comando "schermo" in Linux

  3. Come elencare le sessioni dello schermo in esecuzione?

  4. Come fermare un processo dello schermo in Linux?

  5. Come faccio a sapere se il mio kernel Linux è in esecuzione a 32 o 64 bit?

Come elencare i processi in esecuzione in Linux

Come installare e utilizzare lo schermo Linux?

Come utilizzare lo schermo Linux

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

Come conoscere i gruppi di un utente Linux

Come si pianifica un riavvio su Linux?