リモートtmuxセッションとローカルMac OSペーストボード間でペーストボードを同期する


18

セットアップ:MacOSでiTerm2を使用してリモートサーバーに接続します。リモートサーバーはtmuxを実行します。tmuxでは、vimセッションでファイルを開いて編集します。

問題:リモートtmuxセッションとローカルiTermクライアント間でコピー/貼り付けができません。iTerm 2のalt / option +マウス選択を使用してテキストを選択できますが、これは複数のvimペイン/ tmuxペインにコピーします-悪い。

tmuxペインで選択をリモートペーストボードとローカル(MacOSペーストボード)間で同期させるエレガントなソリューションはありますか?re-attach-to-user-namespaceを見てきましたが、私はそれが私が望むことをしないと確信しています。


3
これは本当にtmuxの問題ですか?あなたは一般的にsshだけで接続するのと同じ問題があるように思えます。
ケジャドレン

3
tmuxの問題ではないかもしれませんが、ワークフローの問題です。この問題を抱えているのは私だけではありません。だから、他の人がそれを回避するために何をしているのだろうと思っています。
-bhargav

回答:


13

したがって、サーバーにsshするときに、リバーストンネリングを使用して、OSXマシンに戻ってコマンドdoを送信できますpbcopy

ssh -R 1234:localhost:22 remoteServer

1234リモートサーバーの開いているポートに置き換えます。次に、リモートサーバーで、次を実行できます。

tmux save-buffer - | ssh -p 1234 localhost pbcopy

これでOSXに接続し直し、tmuxコピーバッファーの内容を送信します。sshキーを使用して、OSXマシンにパスワードを入力しないようにすることができます。

それが機能する場合は、tmuxキーバインドを作成できます。

bind C-c run "tmux save-buffer - | ssh -p 1234 localhost pbcopy"

これが機能するためには、OSXでリモート共有を有効にする必要があることに注意してください。

二次オプション:

OSXを使用しているため、iTerm2も使用している場合は、http: //code.google.com/p/iterm2/downloads/detail?name = tmux-for-iTerm2-20120203.tar.gz&canのインストールを検討できます。サーバーで= 2&q =

基本的には、「-C」フラグをサポートするカスタムtmuxです。このフラグは、ウィンドウ、ペイン、およびそれらのすべての分割をiTerm2に渡します。



2

より簡単な方法

  1. XQuartzを有効にしてクリップボードを同期する
  2. リモートサーバーに接続するときにX11転送を使用する
  3. tmux.confのようなバインディングを使用します。 bind-key C-c run ‘tmux show-buffer | xsel -pbi'
    • 選択したXクリップボードはパイプの後

必要に応じて、vimで同様のバインディングを実行できます。


0

教皇の答えのおかげで、私はtmux -Cヒントを試みました。

  1. 現在のtmuxバージョンはこの-Cフラグをサポートしているため、何もインストールする必要はありません。
  2. は常に機能する-CC-Cは限らないため、を使用します。

したがって、tmux -CC(またはtmux -CC attach)tmuxを使用すると、すでにある場合よりもさらに優れています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.