En el trabajo, tengo un escritorio con un monitor y algunas sesiones de tmux en ejecución. En casa, frecuentemente ingreso a ese escritorio e ingreso a mis sesiones tmux en ejecución. Cuando ssh desde casa, no quiero usar X11, así que no uso la -X
bandera. Cuando vuelvo al trabajo (después de enviar algo desde casa) y uso esas sesiones de tmux en el escritorio, ya no puedo hacer nada que genere una GUI. No puedo abrir archivos en evidencia. Cuando intento usar matplotlib, recibo un : cannot connect to X server
mensaje.
Después de abrir y abrir una sesión tmux existente desde casa, ¿cómo puedo volver a conectar la capacidad de abrir cosas de GUI en el escritorio?
El ssh'ing desde casa parece hacer que la sesión tmux olvide que puede generar cosas de GUI.
EDITAR:
-X
bandera ahora o no? Solo puede hacer cosas X11 a través de SSH si está configurado.Respuestas:
Todo lo que necesito hacer es establecer la variable de entorno DISPLAY en: 0.0. Creo que el problema es que estoy usando el shell de pescado, y necesito usar la bandera -x para configurarlo al hacer esto:
fuente
DISPLAY
podría ser diferente de:0.0
. Una forma rápida de averiguarlo es crear una nueva ventana tmux yecho $DISPLAY
allí.echo $DISPLAY
volvílocalhost:10.0
y corriendoset DISPLAY localhost:0.0
hice el truco.bash
equivalente, o una versión cross-shell?set -x
solo aumenta la verbosidad para mí enbash
. @ Isaac, ¿tuvo queset DISPLAY localhost:10.0
hacerlo en su lugar olocalhost:0.0
trabajó para usted?export DISPLAY=:0.0
.$DISPLAY
?Tuve el mismo problema. Normalmente lo uso
tmux
como parte de un entorno de escritorio X11 de múltiples monitores, y a veces ssh desde un Chromebook, que no es compatible con X11 o set$DISPLAY
. La respuesta de @chrisdembia funciona, pero requiere cambiarDISPLAY
en cada nueva ventana para el resto de la sesión de tmux, lo cual es una molestia.Una solución permanente es eliminar
DISPLAY
de laupdate-environment
variable tmux en la configuración de tmux. Puede ver su valor actual con este comando:Para eliminarlo, agregué esta línea a mi
~/.tmux.conf
archivo, incluyendo todo menosDISPLAY
:Esto se explica con más detalle en Restablecer la variable DISPLAY de shell en una sesión tmux a través de ssh , lo que explica por qué
DISPLAY
existe de forma predeterminada, para un caso de uso común diferente.fuente