X 없이 서버에서 터미널 응용 프로그램의 클립보드를 동기화하는 방법은 무엇입니까?

X 없이 서버에서 터미널 응용 프로그램의 클립보드를 동기화하는 방법은 무엇입니까?

X 서버가 있는 컴퓨터에서는 selection클립보드를 사용하여 GUI와 터미널 프로그램 간의 복사/붙여넣기를 동기화합니다. 이제 X가 없는 서버가 있고 및 같은 터미널 응용 프로그램 간에 복사/붙여넣기를 동기화하고 싶습니다 zsh. 나중에 이 클립보드를 Linux 서버에 SSH로 연결하는 데 사용하는 Mac의 시스템 클립보드와 추가로 동기화하고 싶습니다.vimtmux

이런 설정이 가능한가요? 구체적으로,

  • X11을 실행하지 않고도 터미널 응용 프로그램 전반에 걸쳐 Linux 공유 클립보드에서 복사/붙여넣기를 동기화할 수 있습니까?

  • 비슷한 도구가 xsel있습니까 xclip?

  • 더 좋은 점은 X 서버 실행 여부와 관계없이 작동하여 두 경우 모두 동일한 구성/점 파일을 사용할 수 있는 도구가 있습니까?

  • 마지막으로, 이것이 별개의 질문이라는 점을 인정합니다. 이 클립보드는 SSH 클라이언트의 클립보드와 어떻게 동기화됩니까?

답변1

터미널 애플리케이션에는 범용 클립보드가 없습니다. tmux, zsh 및 vim에는 모두 자체 클립보드가 있습니다.

tmux에는 이스케이프 시퀀스(옵션)를 사용하여 복사된 텍스트를 외부 터미널로 보내고 set-clipboard클립보드( )를 읽는 메커니즘이 있습니다 refresh-client -l. 이 기능은 모든 터미널이 아닌 X 터미널에서만 지원됩니다.

set-clipboardtmux는 또한 tmux 로 설정된 경우 tmux 내의 애플리케이션이 최신 붙여넣기 버퍼를 읽을 수 있도록 하는 동일한 이스케이프 시퀀스(OSC 52)를 지원합니다 on. 그러나 내가 아는 한 이를 사용하는 응용 프로그램은 거의 없습니다.

tmux를 사용하면 명령을 사용하여 붙여넣기 버퍼를 파일이나 표준 출력에 저장하고 save-buffer명령을 사용하여 로드할 수도 있습니다 load-buffer. OSC 52보다 사용하기가 더 쉬울 수 있습니다.

저는 zsh와 vim이 이들 함수 중 하나를 사용하여 클립보드를 설정하고 검색할 수 있는 스크립트를 작성하고 싶습니다.

그렇습니다. tmux 내에서 모든 것을 실행하고, tmux를 사용하여 클립보드를 저장하고, vim, zsh 등에서 가져오고 설정하는 스크립트를 작성하여 무언가를 함께 던질 수 있습니다. 하지만 제 생각에는 직접 해야 할 것 같습니다. 기존 솔루션이 없습니다.

관련 정보