X11転送設定

X11転送設定

SSHセッションを通じて、Macでいくつかのスイッチ設定を切り取り、貼り付けようとしています。バッファサイズを設定した後、破壊が始まるようです。もちろん、切り取り - 貼り付けバッファは、他のプログラムで切り取って貼り付けるのに十分な大きさです(同じSSHセッション用のクロム端末エミュレータも十分に面白いです)。 MacOSで端末の切り取り - 貼り付けバッファを増やす方法はありますか?または、ショートカット - 貼り付けの問題が発生しますか?

編集する: そこで、接続されたOSでカーネルttyドライバで多くのデバッグを行った後、根本原因が小さなバッファ(1k)しかない特定のtty実装であることがわかりました。したがって、大きなものを貼り付けると、そのバッファを超えて上記の問題が発生します。 Chrome端末エミュレータを使用すると、独自のバッファがあるように見え、プロンプトを待ってから1行ずつptyに送信します。

答え1

SSHセッションに貼り付けることができるデータ量を増やすソリューションはありませんが、適切な解決策があります。回避策は、X11がOS Xクリップボードを渡してXサーバークリップボードと共有することです。

X11転送設定

リモートサーバーでX11転送を設定するには、/etc/ssh/sshd_configファイルを編集して行を変更する必要があります。

#X11Forwarding no

到着

X11Forwarding yes

あなたはする必要があります再起動ファイル更新/etc/ssh/sshd_config後のSSHデーモン。今、xauthあなたのプラットフォームに適したコマンドを使用してリモートサーバーにインストールする必要があります。

sudo pacman -S xorg-xauth # Arch-Linux
sudo apt-get install xauth # Debian/Ubuntu/etc.
sudo yum install xauth # RHEL/CentOS/Fedora/etc.

-Xその後、または-オプションを使用してYサーバーに接続できます。

  • -XX11転送が有効になります。
  • -Y信頼できるX11転送が有効になります。

OpenSSHのバージョンによっては、この手順が必要になる場合もあれば必要ではない場合もあります。OpenSSHには、次のメッセージを生成する既知のバグがあります。

チャネル 0 で X11 転送要求が失敗しました。

X11転送を使用してリモートサーバーに接続しようとした場合。回避策は、ファイルを編集して/etc/ssh/sshd_config行を変更することです。

#X11UseLocalhost yes

到着

X11UseLocalhost no

これで、X11転送が有効になっているリモートサーバーに正常に接続できるようになりました。

OS XとXサーバーのクリップボードを共有する

OS XキーボードをXサーバーと共有するには、このファイル~/Library/Preferences/org.x.X11.plistまたは~/Library/Preferences/org.macosforge.xquartz.X11.plistls ~/Library/Preferences/ | grep X11編集するファイルを決定するために使用できます。これを行うには、5つのブールキーを追加する必要があります。

sync_clipboard_to_pasteboard
sync_pasteboard
sync_pasteboard_to_clipboard
sync_pasteboard_to_primary
sync_primary_on_select

おそらくそれを追加する最も簡単な方法は、ターミナルコマンドを使用することです。

defaults write org.macosforge.xquartz.X11 sync_clipboard_to_pasteboard -boolean true
defaults write org.macosforge.xquartz.X11 sync_pasteboard -boolean true
defaults write org.macosforge.xquartz.X11 sync_pasteboard_to_clipboard -boolean true
defaults write org.macosforge.xquartz.X11 sync_pasteboard_to_primary -boolean true
defaults write org.macosforge.xquartz.X11 sync_primary_on_select -boolean true

org.macosforge.xquartz.X11次へ交換org.x.X11。これを変更した後は、Xサーバーも再起動する必要があります。 SSHセッションからログアウトしてドックでアプリケーションを終了するだけで十分です。

またあるようだXQuartzのエラーOS Xの最新バージョンで利用可能であり、xclockOS XとXサーバーのクリップボードを共有する前にOS X端末で実行する必要があります。

コピーして貼り付ける

これで、OS XクリップボードとXサーバークリップボードの間でコピーして貼り付けることができるすべての設定が完了しました。最後に行うことは、xclipリモートサーバーにインストールすることです。コピーして貼り付けるあなたができることは何でもしてください。

コピーと貼り付けを初期化するために必要な順序は、まずSSHを介してリモートサーバーに接続することです。

$ ssh -X [user@]hostname

次に、別のターミナルウィンドウで次を実行します。

$ xclock
^C

^CCTRL+C を示します。または、CMD + Cを使用してOS Xからコピーし、pbcopy.pasteを使用してリモートサーバーに貼り付けますxclip

  • xclip -oクリップボードの内容を印刷しますstdout
  • xclip -istdinクリップボードから読みます。

関連情報