リモートtmuxからローカルxクリップボードにテキストをコピーする

リモートtmuxからローカルxクリップボードにテキストをコピーする

VPSにSSHで接続し、tmuxを実行します。マウスとShiftキーを使用して、リモートからローカルに、ローカルからリモートにコピー/貼り付けを行うことができます。

しかし、コピーする方法がわかりません。多くのテキスト

ローカルで作業している場合は、次の操作を行うか、cat somefile.txt | xsel -bクリップボードcat somefile | xclip -selection clipboardにコピーできます。 (もちろん、リモートサーバーがxを実行していないため、これはできませんが、クリップボードはtmuxで使用されているものと一致しません。)

それでは、tmuxセッションからテキストをコピーし、ネットワーク経由でローカルシステムのクリップボードにコピーするにはどうすればよいですか?

アップデート:
実際にはこれはtmuxなしで動作します。リモートシェルとローカルシェルの間に大きなバッファをコピーして貼り付ける方法です。

ベストアンサー1

双方向クリップボードがあります(もっと見るここ):

  1. 走るsshそして-XX11転送を有効にします。

  2. インストールするxsel(Xを操作して選択してください)。

    sudo apt install xsel
    

それはすべてです。リモートホストでリモート→ローカル実行をテストするには、次の手順を実行します。

date +%Y-%m-%d_%T | xsel -b  # Or tee >(xsel -b) to send output also to stdout

ローカルホストから:

echo "Time on server is $(xsel -b)"

timeコマンドを使用してテキストをクリップボードにコピーするのに要した時間を表示します。

ノート

  • 代わりにメインバッファを使用することもできます。

    オプションの選択

    -p--primary:PRIMARY選択に対して機能します(デフォルト)。
    -b--clipboard::クリップボードの選択に対処します。

  • tmuxバッファスタック場合によってはそれで十分かもしれません。

  • -X必要になるかもしれないxauthサーバーから。

  • xsellibx11-6 と libc6( apt depends xsel) によって異なります。

  • xsel: Can't open display: (null)小切手を受け取ったらこの回答

おすすめ記事