gnu screen - traduccion - ¿Cómo muestro el nombre de la "sesión" actual o el "nombre de plantilla" de una sesión de pantalla en la barra de estado?
screen terminal (7)
Ejecuto varias sesiones de pantalla, cada una creada con '' nombre de pantalla'' y me gustaría poder mostrar en la barra de estado el nombre que usé para crear la sesión de pantalla actual.
Sin embargo, parece que no puedo lograr esto. ¿Algunas ideas?
Como dice max_cantor en la respuesta del superusuario , se debe agregar un carácter de escape para el nombre de la sesión a la versión 4.1.0. Parece que la función de carácter de escape se agregó con un parche relativamente pequeño en 2008. Así que si te sientes valiente, puedes obtener una copia de la versión de desarrollo 4.1.0 y probarlo.
Intentaré esto con la versión de desarrollo cuando tenga la oportunidad.
El Superusuario tiene una respuesta a esta pregunta que no requiere $STY
, en lugar de eso, utiliza el comando de configuración de la screen -ls
y la screen -ls
: https://superuser.com/a/212520
La forma más fácil de mostrar el nombre de sesión es
C-a :
sessionname
(sin especificar un nombre después del nombre de sessionname
)
Vea la sección "PERSONALIZACIÓN" en la pantalla del hombre
Parafraseado de https://superuser.com/a/212520/151988 , ponga esto en su ~ / .screenrc;
screen
screen $SHELL -c ''screen -X caption always "$STY"''
Si nada más funciona (como para mí), como solución alternativa, puede crear una ventana con el número 0 y establecer el título a su nombre de pantalla:
screen -S myscreen
C^a :title "myscreen"
screen
tiene dos barras de estado, la barra de título y la barra de estado duro, las cuales utilizan los escapes de cadena especificados en la sección "STRING ESCAPES" de la pantalla del hombre . Desafortunadamente, no hay escape que se refiera directamente al nombre de la sesión.
Sin embargo, hay un truco que te permitirá hacer esto.
screen
pasa el nombre de la sesión al shell utilizando la variable $STY
. Cuando la shell intenta configurar el título de la ventana (usando uno de estos métodos ), la screen
captura ese intento y lo almacena en algo que llama confusamente "el estado de ventana", que tiene un escape que puede usar: %h
.
Entonces, si tiene la barra de título o hardstatus configurada para incluir %h
e intenta que el shell configure el título de la ventana en $STY
, entonces %h
se reemplazará con el nombre de la sesión cuando se muestre la barra.