Los programas X saben con qué sesión X deben hablar mirando la DISPLAYvariable de entorno.
Primero, deberá averiguar qué DISPLAYestá configurado en la sesión X donde desea que se ejecute su programa. Haga esto emitiendo el comando echo $DISPLAYdentro de un terminal X en esa sesión X. Por lo general, se obtiene algo como :0.0se genera.
Digamos que desea iniciar el excelente programa xclocken su sesión X donde DISPLAYestá :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.0antes del comando significa que la xclockventana siempre aparecerá en la misma sesión X
De hecho, aparte del hecho de que los programas X lo miran, la DISPLAYvariable no tiene nada de especial . Normalmente, cuando inicia programas desde un terminal X, comienzan en el lugar correcto porque DISPLAYya se ha configurado para usted.
En lugar de utilizar el comando anterior, también puede dividirlo en dos configurando primero DISPLAYy luego ejecutando xclock. En este caso, la DISPLAYconfiguració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