xsel이나 타사 도구를 사용하지 않고 Red Hat의 명령줄을 사용하여 X Window 클립보드에 문자열을 복사하는 방법은 무엇입니까?

xsel이나 타사 도구를 사용하지 않고 Red Hat의 명령줄을 사용하여 X Window 클립보드에 문자열을 복사하는 방법은 무엇입니까?

새로운 도구를 설치할 수 없는 제한된 시스템에서 xsel이나 다른 것을 사용하지 않고 명령줄을 사용하거나 적어도 자동화된 방식으로 문자열을 X Window 클립보드( Ctrl+ C/ +와 함께 Ctrl사용되는 것 )에 복사하려면 어떻게 해야 합니까? 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에서 클립보드에 액세스하는 더 좋은 방법이 있습니다.파이퍼클립이는 크로스 플랫폼이며 표시 창이 필요하지 않지만 표준 라이브러리의 일부는 아닙니다. )

관련 정보