Estou usando o encaminhamento do X11 sshpara executar aplicativos Linux na minha caixa do Windows e, quando a rede cai, perde tudo o que estava em execução. Existe algo parecido com o screenX11?
Esclarecer. Por que não usar apenas screen? Ou XVNC? Você executa a tela na máquina Linux e, quando sua rede cair, reconecte e use screen -DRpara anexar novamente a sessão.
Nix
@nix Isso funcionará para aplicativos X?
Michael Mrozek
2
@ Nix Eu não acho que screenfunciona para aplicativos GUI.
Abdullah Jibaly 04/04
Obviamente, a tela exigiria a execução de um xterm.
Há também o WinSwitch , que, à primeira vista, parece integrar o xpra e outros softwares relacionados.
Gilles 'SO- stop be evil'
6
Você está procurando por VNC . O princípio é semelhante à tela: você executa um servidor VNC (o SCREENprocesso de backgound ) e um cliente VNC (o screenprocesso de primeiro plano ). O servidor VNC é um servidor X, para que você possa executar aplicativos X nele.
Execute um servidor VNC na caixa Linux e um cliente na caixa Windows. Você tem várias implementações para escolher; uma possibilidade é o TightVNC . O TightVNC está em muitas distribuições Linux (se não estiver na sua, instale-o ou escolha uma implementação diferente), e há um cliente Windows.
Se suas duas máquinas não estiverem muito próximas da rede - se houver um firewall ou um risco de interceptação entre elas - você precisará encapsular o tráfego do VNC através do ssh. Faça com que o ssh encaminhe a porta local 5900 para a porta remota 5900 (5900 corresponde ao visor :0, use 5901 para :1, etc.).
Na verdade, você pode encaminhar o X para screen. A única coisa a fazer é instalar o $DISPLAYna screenjanela para que fique do mesmo lado externo.
Procedimento
depois ssh -Xna máquina remota, digite
$ echo $DISPLAY
e copie o resultado, geralmente localhost:N.0. Em seguida screen, digite , na screenjanela local ,
$ export DISPLAY=localhost:N.0
Depois disso, execute qualquer Xprograma necessário dentro da janela da tela.
NOTA: para cada screenjanela, as variáveis de ambiente são independentes. Portanto, para cada janela, pode ser necessário configurá-lo separadamente.
Olá Chong, bem-vindo ao unix.SE. Como os detalhes da solução que você vincula são simples, é melhor reescrevê-los explicitamente aqui. Dessa forma, a resposta é preservada caso algo aconteça com a publicação no askubuntu.com. Obviamente, é uma boa ideia manter o link presente também, pois ajuda a obter seu material.
drs
2
Tentei esta solução, mas não consigo fechar minha sessão ssh sem matar o aplicativo X em execução. Isso de alguma forma anula o objetivo dele ... Como devo me desconectar do host remoto deixando o aplicativo remoto em execução?
screen
? OuXVNC
? Você executa a tela na máquina Linux e, quando sua rede cair, reconecte e usescreen -DR
para anexar novamente a sessão.screen
funciona para aplicativos GUI.Respostas:
Xpra ou o garfo Xpra afirmam ser exatamente isso:
Não uso há algum tempo, mas funcionou muito bem quando tentei. Você inicia o servidor na máquina remota:
Em seguida, você se conecta ao servidor da sua máquina local:
E agora qualquer coisa exibida no display 13 do X na máquina remota aparecerá localmente:
fonte
Você está procurando por VNC . O princípio é semelhante à tela: você executa um servidor VNC (o
SCREEN
processo de backgound ) e um cliente VNC (oscreen
processo de primeiro plano ). O servidor VNC é um servidor X, para que você possa executar aplicativos X nele.Execute um servidor VNC na caixa Linux e um cliente na caixa Windows. Você tem várias implementações para escolher; uma possibilidade é o TightVNC . O TightVNC está em muitas distribuições Linux (se não estiver na sua, instale-o ou escolha uma implementação diferente), e há um cliente Windows.
Se suas duas máquinas não estiverem muito próximas da rede - se houver um firewall ou um risco de interceptação entre elas - você precisará encapsular o tráfego do VNC através do ssh. Faça com que o ssh encaminhe a porta local 5900 para a porta remota 5900 (5900 corresponde ao visor
:0
, use 5901 para:1
, etc.).fonte
Na verdade, você pode encaminhar o X para
screen
. A única coisa a fazer é instalar o$DISPLAY
nascreen
janela para que fique do mesmo lado externo.Procedimento
depois
ssh -X
na máquina remota, digitee copie o resultado, geralmente
localhost:N.0
. Em seguidascreen
, digite , nascreen
janela local ,Depois disso, execute qualquer
X
programa necessário dentro da janela da tela.NOTA: para cada
screen
janela, as variáveis de ambiente são independentes. Portanto, para cada janela, pode ser necessário configurá-lo separadamente.Referências
fonte