Eu tenho um servidor de desenvolvimento ubuntu no trabalho. É um servidor de rack antigo que fica em algum lugar do calabouço da empresa, onde ninguém nunca vai. A única maneira de funcionar é como um servidor sem cabeça (ou seja, sem monitor/teclado conectado e aceitando apenas conexões de rede).
Obviamente, se você só precisa de acesso ao terminal, o ssh é mais do 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 integrada, mas tenho certeza de que essa não é a maneira mais eficiente nem segura de abordar esse problema.
Eu 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 por ssh, o que pelo menos resolveria minhas preocupações de segurança. Alguém pode compartilhar suas experiências na configuração disso? Existe alguma outra maneira que pode valer a pena olhar?
Eu me conecto quase 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.
Sim, o encaminhamento do X por ssh é realmente uma coisa linda. Ele permite que você use aplicativos gráficos aplicativo por aplicativo e tenha janelas gerenciadas por seu próprio ambiente de área de trabalho. Você nem precisa de um ambiente de desktop instalado no servidor.
Você precisa configurar algumas coisas de autenticação para que funcione. Eu acredito que você precisa xauth para isso.
É MUITO mais rápido que o VNC também. O VNC sempre foi bastante lento em minha experiência.
Editar: não tenho experiência em usar esse método via Windows, mas encontrei este tutorial para você, se estiver interessado.
Você poderia usar freenx em vez de vnc. O Freenx transmite comandos x (com cache) em vez de bitmaps.
Xming e XDMCP são uma opção brilhante.
Editar:
Xming é um x-server para Windows, que é baseado no Cygwin e tem a capacidade de compartilhar a área de transferência e também 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 X-displaymanager e um x-server.
Não sei qual é a "melhor" maneira, acho que YMMV, mas aqui está uma visão geral bastante abrangente das ferramentas à sua disposição: http://www.mynitor.com/2010/02/07/15-remote-desktop- soluções-para-linux/
Eu particularmente aqui está minha experiência:
nomachine nx - Velocidade impressionante. Em seu modo nativo, parece que você está na frente do console. Ele oferece suporte ao início de novas sessões, bem como ao sombreamento do console (mas o sombreamento é mais lento). Ele suporta desanexar e anexar a sessões. O compartilhamento da área de transferência funcionou apenas de uma maneira para mim e não consegui corrigi-lo. nomachine oferece pacotes gratuitos de servidor e cliente com algumas restrições de licenciamento.
FreeNX é construído sobre as bibliotecas nomachine nx
x2go - Impressionado com isso também, especialmente o redirecionamento de som, mas não o usei por tanto tempo quanto nomachine nx porque descobri isso mais tarde.
x11vnc - Ótimo servidor vnc capaz de se conectar à sessão do console. Usei-o em conjunto com o nomachine nx. Não tenho certeza se pode ser executado no modo sem cabeça, mas estou listando caso possa, porque para mim foi o servidor vnc mais rápido do mercado.
xrdp - Parecia promissor, mas parece não ter manutenção. A solução OpenSuse nomad é baseada em xrdp e ouvi dizer que nomad é a melhor experiência de área de trabalho remota que você pode obter no Linux.
teamviewer - A versão linux ainda é beta, roda em wine e consome alguma CPU, mas eu usei muito recentemente e fiquei satisfeito com isso. Não tenho certeza se funciona em um servidor sem cabeça.
Considere também o xpra , que permite desanexar uma sessão em execução de outro lugar, como "screen for X".
Há também o Window Shifter , um front end para xpra, que deve funcionar também para Windows, veja o demo .
Embora inerentemente inseguro, você pode usar o XDMCP em uma rede local. Eu o uso com frequência para acessar máquinas virtuais. É como fazer logon em sua área de trabalho, exceto que você escolheu o servidor remoto.
Eu uso 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 ficará do jeito que você deixou. Ele também suporta tunelamento sobre SSH. Veja estes documentos da comunidade Ubuntu para uma breve descrição e algumas instruções sobre como configurá-lo.
Eu usei com sucesso o freenx no Ubuntu usando o cliente Windows de http://nomachine.com .
Para mim, isso era para permitir que eu usasse um tablet PC antigo (que lutava mesmo com uma instalação limpa do Windows XP) como um front-end em uma máquina de desktop Ubuntu mais poderosa.
O único problema que tive foi que você precisava transformar os "Efeitos Visuais" em nenhum para obter um desempenho decente.
Eu ia comentar a resposta de txwikinger sugerindo nxserver, mas não tenho reputação suficiente.
A configuração do acesso X remoto pode ser assustadora e envolve várias etapas.
Eu uso o x2go, que é rápido e excepcionalmente fácil de usar. Ele oferece uma área de trabalho completa, como se você tivesse conectado uma nova tela e teclado ao seu servidor. Tem funcionalidade X completa.
O x2go NÃO é uma solução de "área de trabalho remota". Você obtém uma sessão completamente nova. No entanto, você pode desconectar e reconectar da mesma máquina ou de outra com o cliente x2go; sua área de trabalho é persistente. O melhor de tudo é que a área de trabalho em sua máquina cliente é totalmente dimensionável em tempo real simplesmente redimensionando a janela.
x2go usa ssh para transporte, então seus dados são criptografados. Isso simplifica a passagem de firewalls. A velocidade não é afetada pelo uso de ssh para transporte.
O software cliente x2go está disponível para Linux, Windows e Mac.
Software gratuito e de código aberto muito bom. Eu uso todos os dias.