web-dev-qa-db-ja.com

XTermを閉じた後に `CLIPBOARD`コンテンツを保持するにはどうすればよいですか? (たとえば、FirefoxやLeafpadのように。)

使いたかった CTRLSHIFTC そして CTRLSHIFTV XTermや他のアプリケーション内でのコピーアンドペースト用なので、追加しました

XTerm*vt100.translations: #override \
    Shift Ctrl <Key> C: copy-selection(CLIPBOARD) \n\
    Shift Ctrl <Key> V: insert-selection(CLIPBOARD)

わたしの ~/.Xresources。 XTermを閉じない限り、コピーアンドペーストは正常に機能します。その後、すべてのCLIPBOARDコンテンツが失われます。使用しても同じ問題が発生します

XTerm*vt100.selectToClipboard: true

テキストが選択されるとすぐに、テキストはCLIPBOARDに直接コピーされます(PRIMARYの代わりに、または両方にコピーされますか?)が、XTermが実行されている間のみ使用できます。

だから、私はCLIPBOARDでもう少し読んだ

...しかし、決定的な答えを見つけることができませんでした。たとえば、CLIPBOARDPRIMARYを同期できるツールが存在するようです。または、CLIPBOARDコンテンツを永続化します。または、ある種のCLIPBOARD履歴。しかし、これが私が探しているものかどうかはわかりません。

例:CLIPBOARDコンテンツが実際にアプリケーションを離れず、他のプログラムが元のアプリケーションにコンテンツを「要求」する必要がある場合CLIPBOARDの場合、これはこのプログラムが実行されている間のみ可能であることは理にかなっています。しかし、プログラムが閉じられていても、FirefoxまたはLeafpadから選択されたCLIPBOARDテキストはどのように利用可能になりますか? Firefox/Leafpadはこれをどのように行いますか?彼らは外部ツールを使用していませんね?!

2
finefoot

Xの下には、実際にはクリップボードはありません。すべての選択(プライマリ、セカンダリクリップボード)は、関係する2つのXクライアントが相互に通信することによってコピーされます。 (詳細については、たとえば ウィキペディアの記事 を参照してください)。

つまり、選択を保持している1つのXクライアントが実行されなくなった場合、選択は失われます。

あなたができることは、別のクライアントを実行することです。 xclipboardは、選択が行われるとすぐにxterm(または他のXクライアント)から選択をコピーし、xtermはもう実行されていません。もちろん、今はxclipboardを実行し続ける必要があります...

Firefoxがどういうわけか違う動作をすることを私は見たことがありませんが、Firefoxを閉じた後に選択が実際に利用できる場合は、他のXクライアントがまだ実行されている必要があります。おそらくデスクトップの一部です。そうです、Firefoxはある種の外部ツールを使用する必要があります(しかし、私が言ったように、私はこれを自分で観察していません。しかし、私はこの意味で「デスクトップ」を使用していません。fvwmだけです)。

2
dirkt