如果我使用例如
echo 'test' | xclip -i -selection primary -loops 1 -quiet
并粘贴到另一个终端窗口,它按预期工作,即粘贴“测试”,然后主要选择返回到前一个客户端,“测试”消失了。但是,如果我粘贴到 X 程序中,这将不起作用。如果我使用-loops 10
,我可以看到“测试”被粘贴到应用程序的第四个循环中,例如 gedit 和 webkit 浏览器,在 Firefox 中它甚至是第七个循环。如果我xsel
改用,我会得到以下行为:
echo 'test' | xsel -i -p -n -vvvv
xsel: Window id: 0x2e00001 (unmapped)
xsel: Timestamp: 2495171514
xsel: Maximum request size: 4000 bytes
xsel: Accumulated 5 bytes input
xsel: handle_selection_request, property=0x1ca (<unknown atom>), target=0x23d (<unknown atom>)
xsel: Refusing conversion
xsel: handle_selection_request, property=0x1ca (<unknown atom>), target=0x1a9 (TARGETS)
xsel: change_property ()
xsel: data within maximum request size
xsel: Confirming conversion
xsel: handle_selection_request, property=0x1ca (<unknown atom>), target=0x121 (UTF8_STRING)
xsel: change_property ()
xsel: data within maximum request size
xsel: Confirming conversion
如果我使用clipboard
而不是primary
. 前几个循环会发生什么,数据去哪里了?
注意:这很有趣,因为在密码管理器中,您可能希望只粘贴一次密码...
另一个注意事项:我记得这曾经在过去的某个时候工作过,可能在旧的 Ubuntu 版本上。现在我可以在 Ubuntu 12.04 和 Debian 测试上重现这种行为。