web-dev-qa-db-ja.com

xterm(Awesome、Debian、VirtualBox)からテキストをコピーするにはどうすればよいですか?

私はVirtualBoxインスタンス内で最小限のDebianインストールを実行し、X11とAwesomeウィンドウマネージャーを手動で(まだカスタム構成なしで)インストールし、VirtualBoxの追加もインストールしました(設定で共有クリップボードを有効にしました)。ただし、xterm端末からテキストをコピーして貼り付けることは、まだ機能していないようです。 CTRL+C シグナルとして端末に送信され、 Shift+Insert 私が選択したテキストを挿入します(おそらく何らかの方法で何らかのバッファにコピーされたことを意味します)が、ホストオペレーティングシステムからはまだ利用できません。

16
Max Yankov

X11はPRIMARYCLIPBOARDの2つのバッファーを使用します。 CLIPBOARDバッファーにコピー/貼り付けするには、よく使用できます CTRL-C そして CTRL-V。テキストを選択してPRIMARYバッファーに挿入し、中マウスボタンを押してそこから貼り付けることができます。

CLIPBOARDバッファーを使用する場合は、これを~/.Xresourcesファイルに入れて使用します Ctrl+Shift+C そして Ctrl+Shift+V xtermのCLIPBOARDバッファーからコピー/貼り付けするには:

xterm*VT100.Translations: #override \
                 Ctrl Shift <Key>V:    insert-selection(CLIPBOARD) \n\
                 Ctrl Shift <Key>C:    copy-selection(CLIPBOARD)

それをファイルに書き込んだ後、xrdb ~/.Xresourcesを実行する必要があります。

20
MichalH

キーボードを使用してプロセスを支援する場合を除き、Firefoxとの間でデータをコピーするためにxterm翻訳リソースを変更する必要はありません。

2006年以降 xtermにはselectToClipboardの機能があり、PRIMARYの選択を切り替えることができます(標準)およびCLIPBOARD(Firefoxなど)。

一次選択を使用するプログラムと使用しないプログラムがあるため、これはxtermのメニューエントリです(controlmiddle-mouse):

show selectToClipboard in menu-entry

GNOMEアプリケーションなどの制御文字の提案を適応させると、キーボードを使用できると同時に、メニューで2つのタイプの選択を切り替えることができます。

xterm*VT100.Translations: #override \
                 Ctrl Shift <Key>V:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>C:    copy-selection(SELECT)

追加するが shiftInsert 元の意図に近いかもしれません:

xterm*VT100.Translations: #override \
                 Shift <Key>Insert:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>V:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>C:    copy-selection(SELECT)

平野 controlC 通常、INTRsignalに割り当てられます:

$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

参考文献:

17
Thomas Dickey
  1. xtermを開き、コピーするテキストを強調表示します。
  2. 貼り付けたいアプリケーションに移動し、貼り付けたいフィールドにマウスカーソルを合わせます。
  3. マウスのスクロールボタンをクリックします。 (ラップトップでは、これは左と右クリックを同時に押すことで実行できます)

テキストを強調表示すると、テキストがプライマリバッファにコピーされます。貼り付ける前に他のテキストをハイライト表示すると、そのテキストがプライマリバッファの以前のコンテンツを置き換えることに注意してください。

6
Peschke

結局のところ、X11には2つのバッファ primaryがあるという事実を考慮していません。クリップボード 。 xtermからのテキストがプライマリバッファーにコピーされましたが、クリップボードバッファーに必要でした。

parcelliteパッケージをインストールして起動し、2つのバッファーを同期するように構成することで、問題を解決できました。

2
Max Yankov