Los programas X saben con qué sesión X deben hablar mirando la DISPLAY
variable de entorno.
Primero, deberá averiguar qué DISPLAY
está configurado en la sesión X donde desea que se ejecute su programa. Haga esto emitiendo el comando echo $DISPLAY
dentro de un terminal X en esa sesión X. Por lo general, se obtiene algo como :0.0
se genera.
Digamos que desea iniciar el excelente programa xclock
en su sesión X donde DISPLAY
está :0.0
, pero desea hacerlo en la consola. Luego presiona Alt-Ctrl-F1 para cambiar a esa consola y luego escribe:
DISPLAY=:0.0 xclock # variables set w/ a command are local to that command
Luego regresas a X presionando Alt-Ctrl-F7 o Alt-Ctrl-F8 (o tal vez alguna otra tecla F, dependiendo de tu sabor de Linux) y miras el nuevo reloj de pared bonito que tienes allí.
De hecho, podría haber ejecutado el comando anterior en cualquier shell en esa misma máquina (a través de SSH, en cualquier sesión X, en cualquier consola, etc.); el hecho de que haya especificado DISPLAY=:0.0
antes del comando significa que la xclock
ventana siempre aparecerá en la misma sesión X
De hecho, aparte del hecho de que los programas X lo miran, la DISPLAY
variable no tiene nada de especial . Normalmente, cuando inicia programas desde un terminal X, comienzan en el lugar correcto porque DISPLAY
ya se ha configurado para usted.
En lugar de utilizar el comando anterior, también puede dividirlo en dos configurando primero DISPLAY
y luego ejecutando xclock
. En este caso, la DISPLAY
configuración persistirá hasta que cierre ese shell, y todos los programas X posteriores que se inicien desde allí se abrirán en la misma sesión X que xclock
.
# variables set w/o a command are local to the shell,
export DISPLAY=:0.0 # unless exported
xclock