Como conectar-se à sessão X existente sem desbloquear a tela física?

16

Normalmente, deixo muitos programas em execução na minha estação de trabalho e, às vezes, preciso usá-lo remotamente. Então, eu preciso me conectar à sessão X existente, mantendo a exibição física (monitor da estação de trabalho) bloqueada o tempo todo.

Eu tentei o vino (vino-server & vinagre como cliente), mas eles abrem uma nova sessão X vazia, por isso não me dá acesso aos aplicativos em execução.

Eu também tentei o x11vnc, mas parece desbloquear a tela física e deixá-la desbloqueada (!) Quando o cliente terminar, então temos um problema de segurança ...

Nas duas extremidades, há o Ubuntu 12.04 em execução, com a GUI padrão, portanto, nenhuma solução específica do GNOME funcionará (applets, etc.).

A solução ideal deve me dar acesso a todos os programas em execução nos monitores e em vários "desktops virtuais". O que pode exigir a captura de teclas especiais como Crtl + [number] e Alt-TAB.

Como alternativa ... se for possível encaminhar a janela existente (programa já em execução) através ssh -Xdela, será uma boa solução.

EDIT: x1vnc, não "x11server" é claro ...

sfp
fonte
Solução parcial I encontrada aqui: karlrunge.com/x11vnc/faq.html#faq-gone-lock
SFP
Solução parcial que encontrei na página x11vnc Author, mas não tenho certeza se funciona com a tela LCD. Como funciona? Há um monitor de configuração de bloco de programa no modo DPMS desligado (padrão para monitores CRT; economia de energia desligada) e procurando algumas vezes por segundo se ele foi alterado. Se sim - execute um comando como "ativar o protetor de tela". Portanto, a tela deve estar preta ou bloqueada (também para o usuário remoto vnc).
Sfp
Observe que você pode resolver parcialmente o problema de desbloquear a tela executando apenas DISPLAY=:0 gnome-screensaver-command -lquando terminar. A tela ainda será desbloqueada durante a sua sessão.
Michael Mior

Respostas:

10

Não é possível encaminhar janelas já existentes através do SSH, tanto quanto eu sei.

Eu sugiro ir x11vnc. Pode ser necessário instalá-lo primeiro. Este comando deve habilitar um servidor VNC único e sem senha, compartilhando sua área de trabalho em execução atual (primeiro a chegar, primeiro a ser servido):

x11vnc -noxdamage -display :0 -safer -nopw -once -xrandr

Pode ser necessário ajustar a exibição. Você também pode obtê-lo programaticamente usando a interface do dbus do ConsoleKit, mas isso é um problema demais e :0é bom na maioria das vezes. Se isso não funcionar, basta usar :1e assim.

Isso é útil, porque você pode executá-lo de uma sessão SSH de outro lugar, apenas quando precisar.

Jorge Suárez de Lis
fonte
Eu tentei x11vnc, apenas digitado incorretamente ao preparar a pergunta. Corrigido. Enfim ... Não consigo ver como essas opções me salvam da tela de desbloqueio.
Sfp
2

Você deve dar uma olhada no x2go e conectar-se à "Conexão com a área de trabalho local" em vez de especificar um gerenciador de janelas ou ambiente de área de trabalho.

Ele usa SSH; portanto, depois de instalar e iniciar o servidor em sua estação de trabalho, você poderá conectar-se a ele com o x2goclient se já puder fazer o SSH nele.

Vrealidade
fonte
Não, isso desbloqueia a área de trabalho local.
Robert Pollak
1

Você deve dar uma olhada no X11RDP .

É realmente uma ótima atualização do Xrdp. Além disso, você pode personalizar o comportamento conforme necessário. Eu tive os mesmos problemas que o seu antes e eu instalo o x11rdp e edito o arquivo xrdp.conf para ativar o login na sessão anterior ... De qualquer forma, verifique o site e tente a versão7. O cara lá "Kevin Cave" é um gênio e agora ele faz algumas atualizações para que você possa instalar o x11rdp como pacotes Debian.

Maythux
fonte