xselを使用して長いファイルをクリップボードにコピーしたいと思います。ローカルコンピュータで、次のように入力します。
cat /usr/bin/mysql_secure_installation|xsel -b
mysql_secure_installation
ローカルオペレーティングシステムのファイルがクリップボードにコピーされました。
ここで、sshコマンドを使用して私のvpsにログインし、次のように入力します。
DISPLAY=:0 cat /usr/bin/mysql_secure_installation|xsel -b
エラーメッセージが表示されました:
xsel: Can't open display: (null)
: Inappropriate ioctl for device
リモートファイルを取得する正しい方法はscp
次のコマンドであることがわかります。
scp -P port username@tohostname:/remotefile /newlocalfile
私のvpsにログインした後、リモートコンピュータからローカルコンピュータのクリップボードにファイルの内容をクリップボードにコピーする方法を知りたいです。
同じエラー:
DISPLAY=:0 xsel -b < /usr/bin/mysql_secure_installation
xsel: Can't open display: (null)
: Connection refused
答え1
ssh
接続を開始
ssh -X yourserver
それからいいえ変数を直接変更してくださいDISPLAY
。これは、(他のX11クライアントと同様に)クリップボードを含むローカルコンピュータのディスプレイを使用できるssh
ように自動的に設定する必要があります。xsel
これは…X11配信。
DISPLAY=:0
セッションで手動で設定すると、そのサーバーが稼働している場合は、そのリモートサーバーのディスプレイを使用するようにssh
求められます。xsel
答え2
別の答えは、希望のO(結果)を得るためにXセッションを渡す方法を示しました。しかし、これはすでに指摘されているように、非常に安全ではなくパフォーマンスが悪く、しばしば追加の設定が必要です。
SCROEモデルで同じE(効果)を達成するための最良の方法は、生のデータバイトをホストにストリーミングし、それをクリップボードにローカルにプッシュすることです。ほぼすべて来ました。パイプがあり、scpがありますが、scpはほぼ正しいです。
ssh -p port username@tohostname cat /usr/bin/mysql_secure_installation | xsel -ib
パイプはcat
コマンドの標準出力を保証します。離れてホストは最終的にxsel
コマンドの標準入力として機能します。地元のマスター。 (これも追加します-i
。動作モードが明示的に指定されている場合は、xselを使用するのが最も安全です。)
答え3
ザイルズ卿のようにここで言う:
- 顧客接続する必要があります
ssh -X
(セッションごとに~/.ssh/config
常に使用)。 - サービス端末
X11Forwarding yes
(/etc/ssh/sshd_config
注意)が必要ですd
。またxauth
、などのいくつかのソフトウェアパッケージがlibxdmcp6
既定でインストールされます。sudo systemctl restart sshd.service
変更を適用することを忘れないでください(sudo sshd -t
エラーがあるかどうかを確認するには()前にテストモードを使用してください)。
セキュリティ上の理由から、常に使用を許可せず、通常は非常に信頼できるサーバーでのみ使用します。