Como executar aplicativos em x de ssh?

2

Eu recentemente mudei do windows 7 para o ubuntu 12.10. No Ubuntu 12.10 Estou usando o putty para conectar remotamente a uma máquina unix onde vários dos meus arquivos são armazenados, mas editar arquivos de texto através do prompt de comando é tedioso na minha opinião. Como posso configurar putty para permitir que eu execute xterms e por sua vez executar software como emacs (que é instalado na máquina unix) para editar arquivos na máquina unix da minha máquina ubuntu?

Nas janelas um servidor x é necessário, como xMing, é necessário algum software adicional?

    
por John Dream 16.01.2013 / 03:23

3 respostas

3

Você realmente usa o Putty para se conectar de uma máquina Ubuntu a um servidor Ubuntu? Esta é uma escolha altamente incomum, eu nem sabia que o Putty roda no Linux (ele realmente funciona e até está nos repositórios do Ubuntu).

Uma abordagem mais convencional é usar o comando ssh do openssh-client package, que é uma implementação nativa de um cliente para o protocolo OpenSSH. Instale-o com

sudo apt-get install openssh-client

Em seguida, você pode se conectar a uma máquina remota com

ssh [email protected]

Se você habilitar o encaminhamento do X11 com a opção -X , poderá executar aplicativos nas máquinas remotas e exibi-los em sua máquina local:

ssh -X [email protected]

Já que você está rodando um servidor X real, você não precisa rodar o xMing ou algo assim.

Embora, eu concorde que esta é uma solução para um problema estranho - se você quer apenas editar arquivos de texto, opções muito mais eficientes seriam:

  • encontre um editor de modo de texto adequado para você. Eu pessoalmente prefiro o editor do Midnight Commander, que você pode executar com mc -e myfile.txt .

  • de alguma forma monte o diretório remoto e edite arquivos em seu editor de texto local (usando sshfs)

  • no KDE, você pode abrir diretamente um arquivo de um host remoto em qualquer programa usando fish:user@host/path/to/file.txt . Eu acho que o Gnome também pode fazer algo similar

  • faça uma cópia local dos arquivos, edite arquivos locais e use rsync para fazer upload das alterações

  • use um sistema de controle de versão

por Sergey 16.01.2013 / 03:45
2

O servidor ao qual você está se conectando também deve ter as bibliotecas X instaladas, pois elas serão uma dependência para quaisquer editores gráficos de texto e xterms que você queira executar. Em caso afirmativo, você pode se conectar a ele da sua caixa do Ubuntu com a linha de comando:

ssh -X username@remotehost 

Então você pode simplesmente executar o comando desejado. Para iniciar uma sessão gráfica do emacs:

xemacs filename
    
por Aaron D 16.01.2013 / 04:01
0

Você está certo de que precisará estar executando um servidor X como o xMing localmente.

As configurações da conexão Putty permitem que você ative o encaminhamento X ao se conectar. Se você habilitar isso e tiver um servidor X local em execução, a execução de programas gráficos por meio da conexão SSH deve funcionar. Consulte o link

Saiba de antemão que vai ser lento. Também pode ajudar a ativar a compactação nas configurações de conexão. Eu entendo que pode ser tedioso editar arquivos de texto remotamente antes que você conheça um bom editor de texto - eu recomendo altamente aprender o vi / vim se você planeja editar arquivos em servidores linux remotos regularmente.

Se você quer definitivamente um ambiente gráfico, o VNC é outra opção. Você pode instalar e executar o vncserver no servidor e conectar-se a ele usando um cliente VNC. Embora o VNC ainda tenha um atraso perceptível, pode ser significativamente melhor do que redirecionar o X através de uma conexão com a Internet. O VNC é otimizado para uso em uma rede, enquanto o X não é. Se o firewall do seu servidor não permitir que você se conecte à porta VNC (por exemplo, 5901), você pode usar o putty para configurar um túnel SSH reverso que encaminha a porta VNC para uma porta em sua máquina Windows local à qual você possa se conectar . Consulte o link

    
por Edward Anderson 16.01.2013 / 03:32