WindowsボックスからLinux(X11がインストールされていない状態)でPuTTYを使用する場合、xselまたはxclipに代わるものはありますか? xclip/xselにはX11が必要です。シェルコマンドの出力全体をクリップボードにパイプして、Windowsボックスのアプリケーションに貼り付けます。これらのLinuxサーバーに必要なすべてのX11依存関係xselおよびxclipをインストールする必要はありません。これは可能ですか?ダン
クリップボード自体はX11の機能であるため、X11サーバーインスタンスがどこでも実行されていないと、クリップボードを使用できません。詳しくは以下をご覧ください。
ただし、xclip
/xsel
には依存関係としてX11サーバーがなく、クライアントライブラリをいくつかインストールするだけで済みます。ただし、パッケージをできるだけ少なくしたい場合は、xsel
よりも依存関係が大幅に少ないため、xclip
をインストールする必要があります(apt depends --recurse --important xsel
とapt depends --recurse --important xclip
の出力を比較してください)。
X11サーバーに戻ります。ヘッドレスUbuntuサーバーに完全なグラフィカルX11サーバースタックをインストールする必要はないと言っていましたが、これは必要ありません。ただし、クリップボードなどの機能を使用する場合は、ローカルクライアントでX11サーバーを実行する必要があります。
Linuxデスクトップクライアントでは、通常X11がすでに実行されているため、これは問題ありませんが、Windowsではそうではありません。幸いにも、Windows用の小さなX11サーバーバージョン Xming があるようです。
これを実行して構成したら、ローカルのX11セッションをSSH(PuTTYを使用)経由でヘッドレスサーバーに転送できるはずです。そこで、たとえば、 xsel
を操作して、ローカルクリップボードにアクセスします。
Xming、PuTTY、SSHサーバーをX11転送用に設定する方法の詳細については、以下の投稿を参照してください。
変更されたPuTTYの使用がオプションである場合、Windowsクリップボードにコピーして貼り付けるカスタムエスケープシーケンスを追加する このPuTTYへのパッチ を確認することをお勧めします。また、ターゲットのLinux/UnixホストからWindowsクリップボードにアクセスするために使用できる小さなwinclip
シェルスクリプトも付属しています。
パッチはPuTTY 0.53b(10年以上前)用で、PuTTY 0.60 here へのリベースがありますが、それでもまだ古いバージョンです。最新のPuTTY(この記事の執筆時点では0.70)に適合させるには多少の作業が必要かもしれませんが、現時点ではPuTTYコードベースはほとんど安定しているため、変更なしで適用できる場合があります。おそらくこれはあなたにとって役に立つかもしれません。
エスケープシーケンスはカスタムであり、実際には標準の一部ではないため、公式のPuTTYでパッチが受け入れられる可能性は低く、公式ディストリビューションでPuTTYによって正式にサポートされる可能性は低いです。
script
は、ダイアログ全体を記録しますコンパイルされたプログラムscript
は、Ubuntuのリポジトリ「main」にあるパッケージbsdutils
のプログラムです。テキスト画面、端末ウィンドウ、またはリモート接続でダイアログ全体を保存します。サーバーでscript
を実行できます。
ログファイルのデフォルトの名前は、TypeScript
を開始するディレクトリのscript
ですが、script
をパラメーター(エイリアス引数)で開始する場合は、別の名前を選択できます。
script my-script.log
script
を起動して、いくつかのコマンドを実行します。
sudodus@bionic64 ~/test $ LANG=C script my-script.log
Script started, file is my-script.log
sudodus@bionic64 ~/test $ echo 'Hello World'
Hello World
sudodus@bionic64 ~/test $ pwd
/home/sudodus/test
sudodus@bionic64 ~/test $ ls
my-script.log
sudodus@bionic64 ~/test $ exit
exit
Script done, file is my-script.log
ログファイルを確認します。
sudodus@bionic64 ~/test $ cat my-script.log
Script started on 2019-01-21 19:50:22+0100
sudodus@bionic64 ~/test $ echo 'Hello World'
Hello World
sudodus@bionic64 ~/test $ pwd
/home/sudodus/test
sudodus@bionic64 ~/test $ ls
my-script.log
sudodus@bionic64 ~/test $ exit
exit
Script done on 2019-01-21 19:50:52+0100
sudodus@bionic64 ~/test $
Windows側のPuTTYでは、画面上のテキストをコピーできます ショートカットセット経由 。コマンドの出力が大きすぎる場合は、Ubuntuサーバーではnc
を、Windowsクライアントではncat
を使用することを検討してください( nmap.orgから入手可能 )。
Ubuntuで実行
$ command > output.txt
# port 1234 is just an example, you can use your own port of choice
$ nc -N -l 1234 < output.txt
Windowsでは、ncat
を使用します。
PS C:\Users\Admin> & 'C:\Program Files (x86)\Nmap\ncat.exe' <ip of the server> 1234 --output foo.txt
サーバーに保存された出力は、クライアントのfoo.txt
に転送されます。