Scripting

如何在不使用 xsel 或任何第三方工具的情況下使用 Red Hat 上的命令行將字元串複製到 X Window 剪貼板?

  • September 22, 2021

在無法安裝新工具的受限系統上,如何使用命令行或至少以自動化方式將字元串複製到 X Window 剪貼板(與Ctrl+ C/ Ctrl+一起使用的剪貼板),而不使用 xsel 或任何V其他這樣的第三方工具?

我正在使用紅帽。

我很難相信僅使用本機 Linux 無法完成這樣一項基本任務。

Python 標準庫包含該tkinter模組( Python 2 中的Tkinter),您可以通過它訪問 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,它是跨平台的並且不需要顯示視窗,但它們不是標準庫的一部分。)

引用自:https://unix.stackexchange.com/questions/668929