如何在 Red Hat 上使用命令行将字符串复制到 X Window 剪贴板,而不使用 xsel 或任何第三方工具?

如何在 Red Hat 上使用命令行将字符串复制到 X Window 剪贴板,而不使用 xsel 或任何第三方工具?

在无法安装新工具的受限系统上,如何使用命令行或至少以自动方式将字符串复制到 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这是跨平台的,不需要显示窗口,但它们不是标准库的一部分。)

相关内容