私は次の観察を行いました:
$ xclip text.txt
text.txt
実行は即座に終了し、 のコンテンツをデフォルトの選択にコピーします。XA_PRIMARY
つまり、マウスの中ボタンまたは で貼り付けることができますxclip -o
。
xclip が何をしているかを見たいとき、もう終了しません:
$ xclip -verbose text.txt
Connected to X server.
Using UTF8_STRING.
Reading text.txt...
Waiting for selection requests, Control-C to quit
Waiting for selection request number 1
X11システムで何かを選択するまで終了しません。たとえば、ここに貼り付けたこの出力です。動作が に制限されている場合、これは理解できverbose
ます。結局のところ、あなたは座って何が起こるかを見たいのです.
で同じ動作を再現できstrace
ますが、 fork オプションが提供されている場合のみです
$ strace -f xclip text.txt
または、出力を返す必要があるシステム実行コマンドを使用してRubyからシェルアウトする場合、実際には何もありません.
$ ruby -e "`xclip text.txt`"
与えられたヒントstrace
は、イベントを待つためにファイル記述子をポーリングしていることです。このイベントは、何かを選択すると満たされます。この動作は説明可能ですか? これはどのシステムでも再現できないという証拠を得ました。これはチケット#9 に関連している可能性があります stdin からクリップボードを設定するときに stdout を閉じませんか?
xclip
Ubuntu 13.04 でバージョン 0.12 を実行しています。