Como faço para acessar meu servidor Ubuntu remoto via X-windows no meu Mac?

35

Eu tenho um servidor Ubuntu (12.04 LTS) executando remotamente em um serviço de hospedagem em nuvem. Eu instalei ubuntu-desktopvia apt-get:

$ sudo apt-get install ubuntu-desktop

Parece ter instalado nenhum problema.

Eu confirmei que /etc/ssh/ssh_configno servidor contém as linhas

ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes

e que /etc/ssh/sshd_configno servidor contém a linha:

X11Forwarding yes

Eu então reiniciei o servidor. Voltou sem problemas.

Agora, iniciando o X11.app no ​​meu Mac, recebo um Xterm.

Eu me conecto ao meu servidor a partir deste terminal usando:

$ ssh -X <myhost>

e eu me conecto ao servidor, não tem problema.

Neste ponto, eu não sei o que fazer. eu tentei

$ sudo startx

mas recebo o erro "nenhuma tela encontrada".

Eu não tenho telas porque é um servidor em nuvem sem cabeça, mas eu só quero acessá-lo do meu Mac através do X.

E agora?

Magooda
fonte
2
Tente instalar xvfb. Não tenho experiência com isso, mas funciona como uma tela sem hardware.
ζ--

Respostas:

21

Existem vários métodos para conseguir isso, dependendo do que você realmente precisa fazer.

Para encaminhar aplicativos remotos para o ambiente X local, é necessário instalar o X11 no seu Mac (você pode encontrá-lo no site de suporte da Apple): http://support.apple.com/kb/DL1605?viewlocale=en_US&locale=en_US

No aplicativo X11, abra o terminal e acesse o host remoto com:

    ssh -XC user@host

Em seguida, quando estiver logado, basta executar o comando para o aplicativo desejado, por exemplo: firefox, nautilus, thunderbird, qualquer que seja ...

Você pode até iniciar apenas o sistema (Ubuntu, Xubuntu, Mint, etc.) Menu Principal e interagir com o sistema remoto a partir daí, sem a necessidade de um front-end gráfico completo. Em um ambiente Linux Mint remoto, eu simplesmente corro:

    mintmenu&

Se você realmente precisar, pode até iniciar o ambiente gráfico remoto localmente no X11 do seu Mac, simplesmente executando:

    ubuntu-session
    xubuntu-session
    etc... (depends of your remote environment)

Melhor que qualquer VNC, ainda melhor que uma conexão X11VNC! Conexão segura e compactada FTW.

undertuga
fonte
7

No seu Mac, você precisará instalar o XQuartz, se ainda não o fez (consulte http://xquartz.macosforge.org ). Depois de instalado, reinicie e abra uma janela do terminal XQuartz e SSH no sistema Ubuntu Server:

ssh -X yourubuntuserver

Se o lightdm estiver em execução (consulte https://askubuntu.com/a/153423/66799 para ler como ativá-lo e desativá-lo conforme necessário), execute este comando para obter o Ubuntu Unity otimizado para o seu Mac no X11:

gnome-session --session=ubuntu-2d

Isso funciona para mim com o Ubuntu Server 12.04 LTS e o Mac OS X Mountain Lion 10.8.2, mas recebo erros ocasionais do Composiz. Dito isto, eu sempre recebia erros do Composiz ao executar o Ubuntu Desktop localmente também. (-:

Você pode sair do Unity para fechar as janelas do Ubuntu Desktop.

Steve HHH
fonte
Isso funciona, o XQuartx é necessário.
SmallChess
Funciona muito bem no Windows 10 no WSL com o Xming para exibição.
Harsh
-1

Você tem a ideia certa, mas a sintaxe errada :)

startxnão será iniciado sshassim porque precisa de uma tela (também conhecido como Xservidor)

tente este comando para iniciar a GUI da área de trabalho

sudo service gdm start

isso iniciará o ambiente da área de trabalho.

desconectar.

e tentar

ssh -X nautilus username@host 

nota não testou acima da linha

Se tudo funcionar bem, você verá o pop-up do gerenciador de arquivos do ubuntu. Caso contrário, você pode estar perdendo algumas bibliotecas ou a sintaxe do comando está errada (o topo da minha cabeça não tentou).

Matt Mootz
fonte
4
Não há necessidade (ou razão) para executar sudo service gdm start. O servidor X é executado no cliente SSH - a máquina sendo usada como estação de trabalho. Ele não precisa estar em execução na máquina remota para ssh -Xfuncionar.
Eliah Kagan
Ah, eu não sabia disso, obrigado pela informação.
26612 Matt Mootz