usar traduccion como commands attach gnu-screen

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


En las versiones actuales de la screen , hay un indicador %S para la línea de estado duro.

MWE (.screenrc):

hardstatus on hardstatus alwayslastline hardstatus string "%S"

Esto muestra el nombre de la sesión sin el ID (como ${STY#*.} ).

(Misma respuesta a otras preguntas here y here para completar).


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



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.