GNU Screenを使用する場合、コマンドを使用して「コピー モード」とも呼ばれるスクロールバック バッファを操作できます。Ctrl+a+[
そこで、テキストを選択してもう一度押すと、テキストをコピーバッファにコピーできます。space
space
このテキストをスクリーン コピー バッファから X クリップボードにコピーする方法はありますか?
私の場合、gnome と Xorg で Ubuntu 12.04 を使用しています。
GNU Screenを使用する場合、コマンドを使用して「コピー モード」とも呼ばれるスクロールバック バッファを操作できます。Ctrl+a+[
そこで、テキストを選択してもう一度押すと、テキストをコピーバッファにコピーできます。space
space
このテキストをスクリーン コピー バッファから X クリップボードにコピーする方法はありますか?
私の場合、gnome と Xorg で Ubuntu 12.04 を使用しています。
xsel
またはユーティリティのような CLI クリップボード ツールを使用してpbpaste
、cat
STDIN からコンテンツを取得できます。Linux での手順xsel
は次のとおりです。
cat | xsel -b
xsel
は、画面のコピー バッファを STDIN にダンプします。Ctrl+a+]
cat
て終了します。Ctrl+d
この時点で、スクリーン コピー バッファの内容がクリップボードにあるはずです。
編集: すべての X プログラムと同様にxsel
、クリップボードにアクセスするために X サーバーに接続する方法を知る必要があります。DISPLAY
環境変数を適切に設定する必要があります。
これを行うには、より簡単で手動の少ない方法があります。screen .rc ファイルに、次の行を追加します。
bindkey -m ' ' eval 'stuff \040' 'writebuf' 'exec sh -c "/usr/bin/pbcopy < /tmp/screen-exchange"'
コピー機能の使用方法:
screen -c path/to/screen/config.rc
編集: pbcopy を使用せず、clipit を使用する Linux では、次のように使用できます。
bindkey -m ' ' eval 'stuff \040' 'writebuf' 'exec sh -c "/bin/cat /tmp/screen-exchange | /bin/clipit"'
@kungfuspider と同様にプログラムでこれを行う方法が必要で、Windows で実行されている Ubuntu WSL で機能するようにソリューションを微調整しました。
設定:
win32yank.exe
(シンボリック リンクを で作成しました/usr/bin
) ln -s <path to exe> /usr/bin/win32yank
。~/.screenrc
(@kungfuspider から) に配置します。正しい場所を指すようにコマンドを変更する必要がある場合がcat
ありwin32yank
ます。bindkey -m ' ' eval 'stuff \040' 'writebuf' 'exec sh -c "cat /tmp/screen-exchange | win32yank -i --crlf"'
~/.screenrc
実行してセッションを強制終了せずにリロードしますCTRL+a
:
source ~/.screenrc
使い方:
CTRL+a
[
space
space
します。テキストは Windows クリップボードにあるはずで、右クリックで Ubuntu に貼り付けることができます。注: コピーを a で終了することは非常に重要です。これはspace
、bindkey
コマンドがマップに使用しているためです。win32yank
コピーしたい情報がほんの少しの場合は、マウスで強調表示してから、必要な場所に貼り付けます。
多くの情報を取得しようとしている場合は、画面セッションをファイルに記録してから、ファイルからコピーするか、少しクリーンアップして、操作の指示に使用できます
最後に、今日、マウスで解決策を見つけました:
Ctrlを押しながらマウスで右クリックします。コピー/貼り付けのコンテキスト メニューが表示されます。
https://michalzuber.wordpress.com/2015/01/28/gnu-screen-copy-paste-with-mouse/の一部の画面