Como interagir graficamente com um servidor sem cabeça?

42

Eu tenho um servidor de desenvolvimento ubuntu no trabalho. É um servidor de rack antigo localizado em algum lugar da masmorra da empresa, para onde nunca ninguém vai. A única maneira de funcionar é como um servidor sem cabeça (ou seja, sem monitor / teclado conectado e apenas aceitando conexões de rede).

Obviamente, se você só precisa de acesso ao terminal, o ssh é mais que suficiente. Eu, no entanto, também gostaria de me conectar à interface gráfica de tempos em tempos. No momento, estou usando a funcionalidade VNC incorporada, mas tenho certeza de que essa não é a maneira mais eficiente nem segura de abordar esse problema.

Fiz um pouco de pesquisa sobre o assunto, mas não consegui chegar a nenhuma conclusão definitiva. Eu li sobre tentar encaminhar o ambiente X pelo ssh, o que resolveria pelo menos minhas preocupações de segurança. Alguém pode compartilhar suas experiências ao configurar isso? Existe alguma outra maneira que valha a pena procurar?

Eu quase me conecto exclusivamente a este servidor a partir de uma máquina Windows. Não sei se isso pode ser um problema para alguns dos métodos sugeridos.

silvo
fonte

Respostas:

20

Sim, o encaminhamento de X por ssh é realmente uma coisa bonita. Ele permite que você use aplicativos gráficos em um aplicativo por aplicativo e tenha janelas gerenciadas pelo seu próprio ambiente de área de trabalho. Você nem precisa de um ambiente de área de trabalho instalado no servidor.

Você precisa configurar algumas coisas de autenticação para que funcione. Eu acredito que você precisa de xauth para isso.

É muito mais rápido que o VNC também. VNC sempre foi bastante lento na minha experiência.

Editar: não tenho experiência em usar esse método via Windows, mas encontrei este tutorial para você, se você estiver interessado.

DLH
fonte
2
"ssh -X <servidor> <programa>" deve configurar tudo (eu nunca precisei tocar no xauth, embora ele precise ser instalado para que a opção -X no ssh funcione).
Suppressingfire
@Spresspressfire: Oh, obrigado. Acho que deveria ter incluído o comando pessoalmente.
DLH 28/07
2
Sim, o encaminhamento X funciona com o Windows. Eu usei com o Cygwin / X , no Windows XP. Não é o mais rápido ou o mais bonito, mas funciona.
Mp3foley
O encaminhamento do ssh X11 também limita quais serviços você precisa habilitar no seu servidor! Eu suspeito que a maioria dos servidores tem ssh de qualquer maneira. A ativação do X11 remoto (XDMCP) não é realmente conhecida por ser segura.
LassePoulsen
o link do tutorial está quebrado agora, lembra alguém que pode atualizá-lo?
owl
13

Você pode usar o freenx em vez do vnc. O Freenx transmite comandos x (com armazenamento em cache) em vez de bitmaps.

txwikinger
fonte
Posso usá-lo em uma máquina Windows?
silvo 28/07/10
2
Acredito que você pode baixar o cliente NoMachine NX para Windows e que ele funciona com o FreeNX, embora eu possa estar errado. nomachine.com/download.php
manyxcxi
9

Xming e XDMCP é uma opção brilhante.

Editar:

O Xming é um servidor x para Windows, baseado no Cygwin e capaz de compartilhar a área de transferência e implementa diferentes layouts de área de trabalho.

O XDMCP é um protocolo simples e - importante - não criptografado (não o use pela Internet) para conectar um gerenciador de exibição X e um servidor x.

ddeimeke
fonte
Você provavelmente deve editar a resposta para incluir um pouco mais de detalhes sobre por que e como isso funciona. Saber o que Xming e XDCMP significam que é a melhor escolha.
Ressu
Eu vou fazer isso.
Ddeimeke 31/07/10
7

Acho que não sei o "melhor" caminho, acho que é o YMMV, mas aqui está uma visão geral bastante abrangente de ferramentas à sua disposição: http://www.mynitor.com/2010/02/07/15-remote-desktop- soluções para linux /

Eu particularmente aqui está a minha experiência:

  1. nomachine nx - Velocidade impressionante. No modo nativo, parece que você está na frente do console. Ele suporta o início de novas sessões, bem como a sombra do console (mas a sombra é mais lenta). Ele suporta desanexar e anexar a sessões. O compartilhamento da área de transferência só funcionou de uma maneira para mim e não fui capaz de corrigi-lo. O nomachine oferece pacotes gratuitos de servidor e cliente com algumas restrições de licenciamento.
    O FreeNX é construído nas bibliotecas do nomachine nx

  2. x2go - Impressionado com este redirecionamento especialmente sonoro, mas não o usei durante o nomachine nx, porque descobri isso mais tarde.

  3. x11vnc - excelente servidor vnc capaz de se conectar à sessão do console. Utilizado em conjunto com o nomachine nx. Não tenho certeza se ele pode ser executado no modo sem cabeça, mas estou listando-o, caso seja possível, porque para mim foi o servidor vnc mais rápido do mercado.

  4. xrdp - parecia promissor, mas parece não ter manutenção. A solução OpenSuse nomad é baseada no xrdp e ouvi dizer que o nomad é a melhor experiência de desktop remoto que você pode obter no linux.

  5. teamviewer - A versão linux ainda é beta, roda sob o wine e consome um pouco de CPU, mas eu a usei muito recentemente e fiquei satisfeito com isso. Não tenho certeza se funciona em um servidor sem cabeça.

Li Lo
fonte
2

Considere também o xpra , que permite desanexar para uma sessão em execução de outro lugar, como "screen for X".

Há também o Window Shifter , um front end para o xpra, que também deve funcionar no Windows, veja a demonstração .

azulado
fonte
1
Isso parece interessante.
Li Lo
1

Embora inerentemente inseguro, você pode usar o XDMCP em uma rede local. Eu o uso frequentemente para acessar máquinas virtuais. É como fazer logon na área de trabalho, exceto que você escolheu o servidor remoto.

Tim Post
fonte
1

Eu uso o x11vnc , que funciona muito bem para mim. Ele permite que você mantenha uma sessão gráfica persistente entre as conexões, para que você possa desconectar e reconectar e tudo será exatamente como você o deixou. Ele também suporta tunelamento sobre SSH. Veja esses documentos da comunidade Ubuntu para obter uma breve descrição e algumas instruções sobre como configurá-lo.

Alex Grin
fonte
1

Eu usei o freenx com sucesso no Ubuntu usando o cliente Windows em http://nomachine.com .

Para mim, isso me permitiu usar um tablet PC antigo (que lutava mesmo com uma instalação limpa do Windows XP) como um front end em uma máquina desktop Ubuntu mais poderosa.

O único problema que tive foi que você precisava transformar os "Efeitos Visuais" em nenhum para obter um desempenho decente.

Gostaria de comentar a resposta de txwikinger sugerindo nxserver, mas não tenho reputação suficiente.

Grande onda
fonte
1

A configuração do acesso remoto ao X pode ser assustadora e envolve várias etapas.

Eu uso o x2go, que é carregado e é excepcionalmente fácil de usar. Ele fornece uma área de trabalho completa, como se você tivesse conectado uma nova tela e teclado ao seu servidor. Possui funcionalidade X completa.

O x2go NÃO é uma solução para "área de trabalho remota". Você recebe uma sessão completamente nova. No entanto, você pode desconectar e reconectar da mesma máquina ou de outra máquina com o cliente x2go; sua área de trabalho é persistente. O melhor de tudo é que a área de trabalho da máquina cliente é totalmente dimensionável em tempo real, simplesmente redimensionando a janela.

O x2go usa ssh para transporte, para que seus dados sejam criptografados. Isso simplifica a passagem de firewalls. A velocidade não se sente afetada pelo uso de ssh para transporte.

O software cliente x2go está disponível para Linux e Windows e Mac.

Muito bom software livre e de código aberto. Eu uso todos os dias.

Hugh Buntu
fonte