SSH + tmuxを介してVimクライアントサーバーインスタンスを実行できますか?

SSH + tmuxを介してVimクライアントサーバーインスタンスを実行できますか?

私は約1年間vimファンで、いくつかの素晴らしい小さなコツを覚えました。私はターミナル(オフィス)でUbuntuの開発をたくさんします。

私が最も重要なことの1つは、tmuxが私のセッションを処理するようにして、Gnomeや他のものが終了することを決めても何も失わないようにすることです。

また、vimクライアントサーバー(Cb:neww 'vim --servername d')を私のtmuxウィンドウの1つとして実行し、それを使用して作業したいファイルを受け取ると同時に、他のtmuxウィンドウでさまざまな種類のタスクを実行できます。一意。つまり、編集中のコンテンツを混同せずにvimを開くことができます。

SSHを介してリモートで作業しているときは、tmuxセッションに接続して続行しますが、問題があります。 vimはクライアントサーバーインスタンスを起動しません。

Xに関連しているようですが、SSHを介してローカルのtmuxとtmuxの違いを見つけることができないようです。

答え1

はい、Xプロパティを使用して通信します。 X11転送を許可するには、-Xオプションを使用してリモートSSHセッションを実行してみてください。サーバー側で機能を有効にする必要があります。既存のセッションにはすでに起動時にローカル環境変数があるため、DISPLAY環境変数を手動で「localhost:10.0」に調整する必要があります。

答え2

これは@keithへのコメントとしてもっと適していますが、もう少し詳しく説明したいと思いました。

.ssh/config彼の答えは、接続時に単純な-Xを使用して問題を完全に解決しましたが、ファイルに次のものを追加することでさらに一歩進んでいます。

Host mydevserver.example.com
ForwardX11 yes

また、私がよく使うオフサイトヘッドレス開発サーバーについても、この作業を繰り返してみたいと思います。

  1. 最も基本的なX11コンポーネントをインストールするためにyumを使用しました:yum group install 'X11 Desktop Environment'
  2. 必要に応じてXを起動するために私のzshエイリアスファイルにエイリアスを作成しました(開発システムではパフォーマンスは依然として重要です!)
    alias initFakeDisplay=startx -- /usr/bin/Xvfb :2 -screen 0 1024x768x24 &

その後、後でX11転送を有効にして接続し、同じtmux + vimテクノロジを使用してvimクライアントサーバーを実行できます。

関連情報