É possível executar uma instância do servidor de clientes Vim através do SSH + tmux

6

Eu sou viciado em vim há um ano ou mais e tenho alguns pequenos truques gravados na minha memória. Eu faço muito desenvolvimento (no escritório) em um terminal no Ubuntu.

Uma das coisas que eu mais valorizo é ter o tmux cuidando das minhas sessões para que, se o Gnome, ou qualquer outra coisa, decidir se retirar, então eu não perdi nada.

Além disso, eu executo um servidor de clientes vim (Cb: neww 'vim --servername d') como uma das minhas janelas tmux e o uso para receber quaisquer arquivos com os quais eu queira trabalhar enquanto eu tenho minhas outras janelas tmux fazendo vários trabalhos . Isso significa que posso ter um vim aberto sem confusão sobre o que estou editando.

Quando estou trabalhando remotamente (via SSH,) eu me conecto à minha sessão do tmux e continuo, mas tenho um problema: o vim não inicia uma instância cliente-servidor.

Eu presumo que seja relacionado ao X, mas não consigo encontrar a diferença entre um tmux local e um tmux via ssh.

    
por connrs 11.03.2011 / 16:24

2 respostas

7

Sim, ele usa as propriedades do X para se comunicar. Tente executar sua sessão SSH remota com a opção -X para permitir o encaminhamento do X11. Você também pode ter que ativar esse recurso no lado do servidor. Você também pode ter que ajustar manualmente a variável de ambiente DISPLAY (para "localhost: 10.0"), pois a sessão existente já terá sua local a partir de quando ela foi iniciada.

    
por 12.03.2011 / 05:23
3

Isso realmente é mais apropriado como um comentário para @keith, mas eu queria elaborar um pouco:

A resposta dele resolveu-o perfeitamente com um simples -X ao se conectar, mas eu dei um passo adiante adicionando ao meu arquivo .ssh/config :

Host mydevserver.example.com
ForwardX11 yes

Além disso, fiquei tentada a investigar a repetição disso para um servidor de desenvolvimento descentralizado localizado fora do local em que estou trabalhando regularmente.

  1. Eu instalei os componentes X11 mais básicos com o yum: yum group install 'X11 Desktop Environment'
  2. Criado um alias no meu arquivo de aliases zsh para iniciar o X sob demanda (o desempenho ainda é importante em uma máquina de desenvolvimento!)
    alias initFakeDisplay=startx -- /usr/bin/Xvfb :2 -screen 0 1024x768x24 &

Em seguida, no futuro, posso conectar-me com o encaminhamento do X11 ativado e usar a mesma técnica do tmux + vim para executar um servidor de clientes vim

    
por 13.03.2011 / 02:36

Tags