Muitas vezes precisamos realizar acesso remoto a servidores linux via SSH, e pra piorar a situação, nos deparamos com aplicações totalmente gráficas, mas como visualizar janelas utilizando conexão SSH?
Antes de tudo temos que entender o que é o protocolo X11 e como podemos utiliza-lo.
O X Window System ( Também chamado de X11) é um sistema de janelas para mostrar aplicações em sistemas operacionais baseado em UNIX, assim como o Linux e outros. Ele oferece um framework básico para um ambiente GUI: desenhando e movendo janelas na tela do dispositivo e sendo possível interagir com o mouse e o teclado
Se você já trabalhou com acesso SSH em máquinas remotas ou servidores Web, sabe que a maioria dos softwares linux rodam via linhas de comando, inclusive algumas aplicações java são criadas e desenvolvidas apenas por linha de comando. O que ocorre quando encontramos uma aplicação que precisa mostrar uma janela, sendo que o SSH trabalha apenas com linha de comando?
Esse é o caso de quando utilizamos o Putty ( App para acesso SSH ). A aplicação com certeza irá mostrar algum erro ao tentar ser executada pois não há saída para tela, muito menos conversão da GUI para linhas de texto no terminal. O que devemos fazer é criar um servidor X11 em nossa máquina para ser executado juntamente com o Putty.
Vou mostrar um exemplo prático de como funciona essa combinação, antes de tudo você precisa ter o Putty e o Xming instalados, e uma máquina para acesso SSH, que para efeito de testes pode ser uma máquina virtual linux já configurada. Se estiver utilizando o Windows, neste post eu mostro como instalar o Debian no próprio windows
Configurando o Xming
Clique no ‘XLaunch.exe’ na sua pasta de instalação.
Selecione múltiplas ‘Mulitple Windows’e digite o número 0 (zero) para ‘Display number’. Clique em Next.
Selecione ‘Start no Client’ e clique em ‘Next’.
Clique em ‘Next’. Não mude nada.
Clique em ‘Save Configuration’.
Salve sua configuração para o mesmo diretório com o nome config.xlaunch.
Instalação e configuração do Putty
Após baixar e instalar o Putty, vamos configura-lo de forma que ao executar uma conexã SSH ele ative o suporte também ao X11, antes de tudo vamos nomear uma seção e salva-la para facilitar o acesso depois.
- Na caixa de diálogo Host Name, digite o ip ou nome do seu servidor linux, e logo abaixo em ‘Saved Sessions’, clique em ‘Save’.
- Na lista de sessões salvas irá aparecer o nome da sessão que você acabou de salvar, clique nela e em seguida ‘Load’.
- Vamos agora configurar o X11 para essa sessão, na lista esquerda, vá até SSH > X11, nessa caixa de diálogo marque a opção ‘Enable X11’ se estiver desmarcada.
- Marque a opção MIT-Magic-Cookie-1.
- Quando tudo estiver marcado clique em Open, para abrir a conexão SSH.
- Efetue login normalmente no seu servidor linux, com login e senha.
Logo em seguida verifique os itens no seu caminho com os comandos
- which firefox
- which xclock
Você verá algo como:
- /usr/bin/firefox
- /usr/bin/xclock
Agora vamos testar a integração do Putty e do Xming, abrindo a aplicação de relógio do linux, digite o comando:
Xclock
Se abriu um relógio na sua tela, tudo está funcionando, e agora você pode abrir qualquer aplicação que possua interface gráfica através do SSH.