¿Hay alguna manera de dar un nombre particular a una sesión de pantalla de Unix? Por ejemplo, supongamos que estoy ejecutando el mismo programa varias veces, cada uno con diferentes parámetros y quiero decir cuál es cuál.
¿Hay alguna manera de dar un nombre particular a una sesión de pantalla de Unix? Por ejemplo, supongamos que estoy ejecutando el mismo programa varias veces, cada uno con diferentes parámetros y quiero decir cuál es cuál.
Respuestas:
Puede nombrar una sesión al iniciarla con la -S name
opción. Desde una pantalla en ejecución, puede cambiarla escribiendo CTRL-a, :sessionname name
. Puede ver sesiones de pantalla en ejecución con screen -ls
y conectarse a una por nombre con screen -xS name
.
Dentro de una sola sesión de pantalla, también puede nombrar cada ventana. Para ello, escriba CTRL-a, A
el nombre que desee. Puede ver una lista interactiva de ventanas con nombre escribiendo CTRL-a, "
y seleccionar la que desea cambiar de esa lista.
Nombrar pantallas y terminales dentro de pantallas es realmente útil para recordar cuáles son y por qué las comenzó en primer lugar.
:sessionname NEWNAME
), pero es "generalmente desalentado". La $STY
variable de entorno todavía se refiere al nombre original. Consulte el screen
manual: gnu.org/software/screen/manual/html_node/Session-Name.html
Aquí hay dos conceptos, y no estoy seguro de cuál tiene en mente:
C-a c
crea una ventana C-a n
y C-a p
cambia a la ventana siguiente / anterior, y así sucesivamente.-r
o -R
) crea una nueva sesión.Windows tiene títulos, que se pueden configurar a través de la -t
opción de línea de comando, la C-a A
combinación de teclas, el title
comando o la \ek
secuencia de escape. Vea la respuesta de Shellter para más detalles.
Las sesiones pueden tener nombres. Por lo general, establecería el nombre en la línea de comando con la -S
opción; si no especifica un nombre, la pantalla lo inventa. Si usa varias sesiones de pantalla, normalmente les daría diferentes nombres de sesión. Puede enumerar la sesión de la pantalla en ejecución con screen -ls
; La primera palabra en cada línea de sesión es 12345.sessionname
donde 12345 es la ID del proceso de la pantalla. Use screen -r sessionname
o screen -r 12345
para reanudar una sesión indicada a través de su nombre o ID de proceso.
Ah ... Pantalla, me lleva de vuelta ;-)
Para una ventana
-t name
sets the title (a.k.a.) for the default shell or specified program.
See also the "shelltitle" .screenrc command.
Para varias sesiones iniciadas desde su .screenrc
screen -t top 2 nice top
screen -t ....
Aquí hay un enlace a una copia en línea de la página de manual para la pantalla.
Editar: agregado
Para cambiar el nombre de la pantalla actual, cree una herramienta de script de shell como
cat scrnTitle.sh
#/bin/bash
echo -ne '\ek${0}\e\\'
Sin probar, no tengo pantalla disponible en el sistema en el que estoy trabajando.
screen
al menos 25 años. Me devuelve, porque ahora es un caso de uso especial que me llevaría screen
. Normalmente sigo abriendo X-Terms
, pero recuerdo cuando parecía imposible correr X
en una PC 486 ;-) ¡Salud!
Las respuestas anteriores ya le dicen cómo nombrar una pantalla cuando la inicia. También señalan que una pantalla no se puede renombrar después de que se ha iniciado. El título de la ventana se puede establecer, pero el nombre utilizado para adjuntar a la pantalla sigue siendo pid.pty.host.
Sin embargo, para lograr un efecto útil, descubrí que usar alias funciona bastante bien. Si me olvido de nombrar una pantalla o me encuentro en una sesión con un montón de pantallas abiertas que naturalmente se han convertido en pantallas para tareas particulares, simplemente configuro un alias para que el comando las adjunte.
ejemplo:
alias goncompile='screen -r 2354'
La emisión del comando alias por sí solo le recordará qué pantallas tiene activadas y el comando que configuró para adjuntarlas.
Use unalias
para eliminarlos.