GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo sé que estoy corriendo dentro de una pantalla de Linux o no?

Solución 1:

(Obtenido de "¿Cómo puedo saber si estoy en una pantalla?" en StackOverflow y escrito por el usuario jho. P.D. No puede votar por un duplicado en los sitios de StackExchange).

Comprobar $STY . Si es nulo, estás en una terminal "real". Si contiene algo, es el nombre de la pantalla en la que te encuentras.

Si no estás en la pantalla:

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

Si estás en pantalla:

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

Si usa tmux en lugar de pantalla, también marque $TMUX . Para agregar esto a su aviso, agregue lo siguiente a su ~/.bashrc :

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

Solución 2:

Busque $STY que proporciona detalles que screen utiliza para comunicarse consigo mismo; $WINDOW será entonces el actual screen número de ventana.

Solución 3:

La verificación simple que suelo usar es presionar Ctrl -a :

  • Si el cursor salta al principio de la línea , no estoy dentro una sesión de pantalla.

  • Si no pasa nada , sé que estoy dentro una sesión de pantalla y que acabo de usar la tecla de control de pantalla. Luego presiono a (saltar al principio de la línea), w (mostrar las ventanas de la pantalla actual) o ejecutar algún otro comando de pantalla "inofensivo" para volver al símbolo del sistema.

(Por supuesto, esto solo funciona si actualmente está ejecutando bash o alguna otra pieza de software que "salta al comienzo de la línea" o hace algo equivalentemente inofensivo al presionar Ctrl-a).

Solución 4:

Bueno, la mayoría del tiempo (sin que alguien intente joder las cosas) tu TERM se establecerá en screen (o al menos mencionar screen en algún lugar).

La solución fácil al problema es simplemente ejecutar la pantalla en todas partes. No salgas de casa sin él, te digo.

Solución 5:

Guardo esto en mi .bashrc :

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

No es infalible, pero cada vez que creo una nueva pantalla, pone el número de ventana en el aviso. Si no estoy ejecutando screen , no hay número.


Linux
  1. ¿Cómo detener un proceso de pantalla en Linux?

  2. ¿Cómo sé si mi kernel de Linux se ejecuta en 32 o 64 bits?

  3. ¿Cómo sé si estoy ejecutando Linux de 32 o 64 bits?

  4. ¿Cómo programo un reinicio en Linux?

  5. Linux - ¡Ayuda, me estoy quedando sin inodos!

Cómo enumerar los procesos en ejecución en Linux

¿Cómo instalar y usar Linux Screen?

Cómo usar la pantalla de Linux

Cómo verificar si está en sesión de pantalla o no en Linux

¿Vim no se ejecuta dentro de Tmux?

Cómo saber los grupos de un usuario de Linux