回答:
クリップボードはXサーバーによって提供されます。サーバーがヘッドレスであるかどうかは関係ありません。重要なのは、ローカルグラフィカルセッションがリモートマシンで実行されているプログラムで利用できることです。Xのネットワーク透過設計のおかげで、これは可能です。
Linuxを実行しているマシンからSSHでリモートサーバーに接続していると仮定します。クライアント構成とサーバー構成の両方でX11転送が有効になっていることを確認してください。クライアント構成では、デフォルトでオンForwardX11 yes
に~/.ssh/config
するためにラインを入れるか、そのセッションのためだけにコマンドにオプション-X
を渡す必要がありますssh
。サーバー構成では、次の行を持っている必要がありますX11Forwarding yes
に/etc/ssh/sshd_config
(それはUbuntuの上でデフォルトで存在しています)。
X11転送が有効かどうかを確認するには、DISPLAY
環境変数の値を確認しますecho $DISPLAY
。次のような値が表示されますlocalhost:10
(リモートマシンで実行されているアプリケーションは、同じマシンで実行されているディスプレイに接続するように指示されますが、そのディスプレイ接続は実際にはSSHによってクライアント側ディスプレイに転送されます)。DISPLAY
が設定されていない場合、手動で設定しても意味がありません。転送が設定されている場合、環境変数は常に正しく設定されます。SSH接続の問題を診断する必要がある場合は、オプション-vvv
を渡してssh
、何が起こっているかの詳細なトレースを取得します。
他の方法で接続している場合、X11転送を実現できる場合とできない場合があります。クライアントがWindowsを実行している場合、PuTTYはX11転送をサポートします。XmingなどのWindowsマシンでXサーバーを実行する必要があります。
xclip
、インストールされたプログラムやサポートライブラリが、それはXサーバをインストールする必要ありません。
X11Forwarding yes
サーバーのsshd_configにあり、サーバー-X
にsshしたときにパスしました。Error: Can't open display: (null)
オンcat ~/.ssh/id_rsa.pub | xclip -selection clipboard
pbcopy
すでにローカルで私のMacで動作しているので、動作するだろうと考えました。Macでxサーバーを起動するにはどうすればよい$DISPLAY
ですか?