Como executar aplicativos na janela X existente a partir do console virtual?

3

Eu corro o Debian Wheezy e tenho o Xfce como meu X-Window Manager no console virtual 7, que é iniciado automaticamente.

Uma vez logado e usando a interface xfce, é possível pressionar Ctrl + Alt + F2 e passar para outro console virtual (não-X, console 2), e iniciar um aplicativo no meu, já em execução, x-session no console 7?

Além disso, posso fazer isso remotamente: digamos que eu tenha um laptop executando Linux com o Xfce sendo executado em casa. Posso iniciar um aplicativo nessa instância do Xfce em vez de ssh do trabalho?

    
por Shaaz 04.12.2013 / 15:25

3 respostas

3

Sim, você pode. O programa precisa da variável de ambiente $DISPLAY . Em algumas distribuições linux mais complexas você também precisa de 2 outras variáveis $XAUTHORITY e $DBUS_SESSION_BUS_ADDRESS .

Por exemplo, digite no terminal:

DISPLAY=:0 xterm 

Se ainda não estiver funcionando, exporte os 2 varibales:

export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-LoSJ0EDrKV,guid=d46a103f4e55832818aa23c80000219c
export XAUTHORITY=/var/run/gdm/auth-for-user-6jbaaz/database

Para descobrir os valores dessas variáveis, digite echo VARIABLE na sessão gráfica.

    
por 04.12.2013 / 15:50
3

No Ubuntu, isso é muito parecido com o Debian, você pode fazer

DISPLAY=:0 xterm &

Além disso, depois de se conectar ao servidor ssh, você pode executar o mesmo comando.

    
por 04.12.2013 / 15:47
2

Sim, mas Xfce é arenque vermelho. É tudo sobre o X11.

Qualquer aplicativo X11 precisa de duas coisas para se conectar a um servidor de exibição (que fornece teclado, vídeo e mouse para o aplicativo), ele precisa saber qual servidor e precisa de permissão.

No caso comum de conexão com o servidor X local, ele tem o nome: 0, o que significa que o host local é exibido pela primeira vez. Na maioria dos casos, você pode informar ao seu aplicativo o nome do servidor a ser usado na linha de comando (normalmente, -display ou --display, mas pode variar) ou definindo a variável de ambiente DISPLAY.

A autorização é normalmente fornecida no arquivo ~ / .Xauthority, mas se estiver em outro lugar, a variável XAUTHORITY dirá onde.

    
por 04.12.2013 / 17:22

Tags