Ative a exibição remota e execute o aplicativo X remotamente

1

Eu tenho uma máquina de desktop rodando Debian 8.0 que eu tenho ssh access to. Eu executo um aplicativo gráfico nesta máquina remotamente, então deixaria minha sessão de desktop aberta, ssh na máquina, e rodaria:

DISPLAY=:0.0 ./my-application
Infelizmente, a máquina foi reinicializada recentemente e a sessão da minha área de trabalho terminou, portanto, não consigo mais acessar a DISPLAY , pois ela está exibindo a tela de login de kdm-greet .

Existe um mecanismo para fazer login remotamente em uma sessão gráfica ou para iniciar um segundo DISPLAY para executar meu aplicativo? Observe que não posso fazer o encaminhamento do X11 para usar minha exibição local.

    
por Louen 11.09.2018 / 19:15

2 respostas

1

Instale um servidor VNC como o tigervnc. Comece como root, encaminhe a porta (isso não é o encaminhamento do X11, então você deve ser capaz de fazer isso a menos que eles o proíbam separadamente), então conecte-se a ele. Você deve ver a tela de login. Faça login. Então, executar DISPLAY=:0.0 ./my-application deve funcionar normalmente, já que, assim, você fez login localmente.

Como alternativa, se você não tiver raiz, poderá usar um servidor VNC diferente, como vnc4server, que cria um novo DISPLAY em vez de anexá-lo ao existente. Então, basta usar o número que lhe der para o seu programa.

    
por 12.09.2018 / 02:02
1

Se você não precisa interagir com o programa (mas ainda precisa de um servidor X por algum motivo), você pode usar o XvFB - a tela virtual do framebuffer. Eu acho isso muito útil para executar o meu programa de interface do usuário em máquinas de compilação (principalmente auto-testes e gerando screen-grabs de produtos em uma seleção de idiomas).

Na maioria das distribuições, está disponível como xvfb :

Description: Virtual Framebuffer 'fake' X server

Xvfb provides an X server that can run on machines with no display hardware and no physical input devices. It emulates a dumb framebuffer using virtual memory. The primary use of this server was intended to be server testing, but other novel uses for it have been found, including testing clients against unusual depths and screen configurations, doing batch processing with Xvfb as a background rendering engine, load testing, as an aid to porting the X server to a new platform, and providing an unobtrusive way to run applications that don't really need an X server but insist on having one anyway.

This package also contains a convenience script called xvfb-run which simplifies the automated execution of X clients in a virtual server environment. This convenience script requires the use of the xauth program.

    
por 12.09.2018 / 13:54

Tags