8 votos

¿GNU de la pantalla, cómo actualizar dinámicamente el título de una ventana?

Yo estoy tratando de mejorar el aspecto de GNU Pantalla usando el screenrc archivo, en sintonía con los colores, la línea de estado, el título y la lista de la carga de windows.

La única cosa que yo no soy capaz de lograr es conseguir el título con el actual comando ejecutado como en la foto de abajo, nota el vim título en el panel de la derecha:

enter image description here

Lo que actualmente tengo es este, y lo que me gustaría conseguir es tener los subtítulos (y si es posible también hardstatus línea) con |0 less| 1 man en lugar del actual |0 bash| 1 bash.

¿Cómo puedo hacer esto?

Actualización: Hasta ahora la única solución que he encontrado es en este post pero no imprimir lo que necesito...

Sin embargo ese es el único trabajo dinámico título que he encontrado hasta ahora.

PROMPT_COMMAND='echo -ne "\033k\033\134\033k${HOSTNAME}[`basename ${PWD}`]\033\134"'`

en .bashrc y shelltitle '] |bash' .screenrc. El título se actualiza con el nombre de host y el nombre base del directorio de trabajo, pero el mensaje es completamente erróneo (también tiene un líder en el espacio):

134134fabio@host10:~$

8voto

Łukasz Lew Puntos 10907

En su .bashrc archivo de conjunto de su PROMPT_COMMAND como este:

ACTUALIZACIÓN:

case "$TERM" in
    screen*) PROMPT_COMMAND='echo -ne "\033k\033\0134"'
esac

ACTUALIZACIÓN: parece ser un error con el eco construido en bash. La solución debe ser el uso de /bin/echo o \0134. Probar:

$ echo -e "\134 = \0134"
\134 = \
$ /bin/echo -e "\134 = \0134"
\ = \

Esta es la secuencia de escape para que la pantalla de necesidades para identificar qué comando se ejecuta, y reemplazar el título de la ventana actual.

Luego, en tu .screenrc archivo, asegúrese de que las siguientes líneas de existir:

shelltitle '> |something:'
hardstatus alwayslastline

El patrón search|name dice pantalla a search su end-of-prompt para algunos cadena (en este caso, '> '). El nombre de la parte, especifica el shell por defecto el nombre de la ventana. Así que, cuando usted no tiene nada, pero el shell ejecuta, verás algo como:

$ something:

Pero cuando se ejecuta la parte superior:

$ something:top

2voto

src Puntos 76

Como alternativa, puede utilizar tmux en vez de screen . Tmuxajustará automáticamente el título de la ventana actual.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: