X가 없는 서버에서 터미널 응용 프로그램의 클립보드를 어떻게 동기화할 수 있습니까?

X가 없는 서버에서 터미널 응용 프로그램의 클립보드를 어떻게 동기화할 수 있습니까?

X 서버가 있는 컴퓨터에서는 selection클립보드를 사용하여 GUI와 터미널 프로그램 전반에 걸쳐 복사/붙여넣기를 동기화했습니다. 이제 터미널 앱(예: zshvim및 ) 에서 복사/붙여넣기를 동기화하려는 X가 없는 서버가 있습니다 tmux. 나중에 Linux 서버에 SSH로 연결하는 데 사용 중인 Mac의 시스템 클립보드와 해당 클립보드를 추가로 동기화하고 싶습니다.

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

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

  • xsel이와 유사한 도구가 있습니까 xclip?

  • 더 좋은 점은 X 서버를 실행하거나 실행하지 않고 작동하여 두 시나리오 모두에 동일한 구성/도트 파일을 사용할 수 있는 도구가 있습니까?

  • 마지막으로 이것이 약간 별개의 문제라는 점을 인정합니다. 이 클립보드를 SSH 클라이언트의 클립보드와 어떻게 동기화할 수 있습니까?

답변1

터미널 애플리케이션을 위한 공통 클립보드는 없습니다. tmux, zsh 및 vim에는 각각 자체 클립보드가 있습니다.

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

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

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

zsh 및 vim용 스크립트를 작성하여 이러한 기능 중 하나를 사용하여 클립보드를 설정하고 검색하는 것이 가능할 것으로 기대합니다.

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

관련 정보