在无法安装新工具的受限系统上,如何使用命令行或至少以自动方式将字符串复制到 X Window 剪贴板(与Ctrl+ C/ Ctrl+一起使用的剪贴板),而不使用 xsel 或任何V还有其他这样的第三方工具吗?
我正在使用红帽。
我很难相信仅使用本机 Linux 无法完成如此基本的任务。
答案1
Python 标准库包括tkinter
模块(特金特在Python 2中),你可以通过它访问X剪贴板。
python3 -c 'import sys, tkinter; sys.stdout.write(tkinter.Tk().clipboard_get())'
python2 -c 'import sys, Tkinter; sys.stdout.write(Tkinter.Tk().clipboard_get())'
您还可以设置剪贴板内容,但这更具侵入性,因为剪贴板内容由正在运行的应用程序拥有。程序喜欢xsel
在拥有剪贴板时让后台进程运行。这是一个简单的代码片段,您需要继续运行它,直到您不再对内容感兴趣为止;完成后关闭窗口。
echo -n 'new clipboard content' | python3 -c 'import tkinter; w = tkinter.Tk(); w.clipboard_clear(); w.clipboard_append(input()); w.mainloop()'
echo -n 'new clipboard content' | python2 -c 'import Tkinter, sys; w = Tkinter.Tk(); w.clipboard_clear(); w.clipboard_append(sys.stdin.read()); w.mainloop()'
(Python中有更好的方法来访问剪贴板,例如pyperclip这是跨平台的,不需要显示窗口,但它们不是标准库的一部分。)