O problema
Estou usando um aplicativo que é computacionalmente intensivo e requer que o X11 seja executado. Eu quero executá-lo em um servidor remoto (que está obviamente executando o X11).
Eu não preciso encaminhar o X11, só preciso que ele seja executado no servidor.
Mais detalhes
Se eu executar o aplicativo do servidor (ou seja, eu uso o teclado fisicamente conectado à máquina), tudo funciona bem. Meu problema é que eu quero iniciar este aplicativo remotamente (a partir de uma conexão SSH) porque nem sempre posso acessar o servidor fisicamente.
Não sei bem como funciona, mas quando executo o seguinte comando da máquina (ou seja, usando o teclado):
$ xhost +
posso executar meu aplicativo ( $ DISPLAY=:0 ./run-my-app
) sem problemas no SSH. Agora, não posso executar xhost +
do SSH e, de qualquer forma, parece uma má ideia em termos de segurança.
Se eu não executar xhost +
, recebo a seguinte saída:
No protocol specified
xauth: (argv):1: unable to open display ":0".
Em conclusão, parece que há algum recurso de segurança (controle de acesso) que me impede de executar o aplicativo no X11 remotamente. Mas o ponto é que eu não quero ter mais do que o que acontece quando eu inicio o aplicativo do servidor (com o teclado conectado à máquina física); Eu só quero começar / pará-lo remotamente, sem qualquer encaminhamento.
Existe uma maneira de fazer isso?
Perguntas similares
Parece semelhante a X11 no servidor sem encaminhamento e Como posso executar o Firefox no Linux sem problemas (ou seja, sem exigir libgtk-x11-2.0.so.0)? , mas nestas situações eles podem usar um servidor virtual como Xvfb , que não funciona em o meu caso. Além disso, eu tenho um servidor X rodando no servidor, e eu preciso disso.