iTerm2 클립 보드 통합 (OSC 52/PASTE64) 사용 방법

================================================== ===========

OSC52 (PASTE64)의 쓰기 액세스가 활성화 된 iTerm2 빌드 가 나왔으므로, iTerm2에서의 구체적인 사용 방법을 소개합니다. 현재는 주로 tmux 사용자에게 혜택이 있습니다.

OSC52/PASTE64는 xterm 유래의 기능으로, 단말 에뮬레이터로부터 클립보드를 조작하기 위한 것입니다.

OSC52에 관해서는, 이미 작년의 터미널 멀티플렉서 어드벤트 캘린더로 @ttdoda

원격 tmux로 복사 한 내용을 로컬 클립 보드에 반영

설정 방법



요 전날의 빌드로 가세한 글로벌 설정,"Allow clipboard access to terminal apps"에 체크를 넣습니다.
이것뿐입니다.

osc52

tmux를 시작하고 복사 모드에서 tmux의 복사 버퍼에 무언가를 복사해 봅시다.

무슨 일이야?



tmux는 이러한 느낌의 시퀀스를 단말기에 보내고 있습니다.
$ printf "\033]52;;%s\033\\" `printf Hello|base64`

이제 Mac의 페이스트 보드에 "Hello"라는 문자열이 들어간다고 생각합니다.
Emacs에서는 send-string-to-terminal을 사용하여 비교적 쉽게 연계할 수 있을 것 같네요.

실은 이전의 iTerm2에서도 OSC50/CopyToClipboard라고 하는 순서로 같을 수 있었습니다만, 이것은 완전히 독자 확장으로 추종하는 구현이 없었습니다. (지금도 "Allow clipboard access to terminal apps"의 설정이 유효하면 이전과 같이 사용할 수 있습니다)

read access에 대응하는 단말에서는
$ printf '\033]52;;?\033\\'

라고 하면 클립보드의 내용을 읽어낼 수 있습니다만, iTerm2에서는 시큐리티의 문제등을 감안해, 시기 조상이라고 판단되었기 때문에 실장은 배웅되었습니다.

주의점



OSC 52에는 보안 문제가 있다는 점에 유의해야 합니다.
@ttdoda 님의 기사 에서도 언급되고 있습니다만, 보안 문맥이 다른 서버에 SSH할 때 등은, 영향을 생각해 현명하게 사용합시다.

프로필별로 유효/무효를 전환할 수 없습니까?



할 수 없습니다.
iTerm2는 OSC50/SetProfile이라고 하는 단말 시퀀스를 사용해 동적으로 프로파일을 전환할 수 있으므로, 프로파일 마다 보안 설정을 전환한다고 하는 발상은 현재는 엄격합니다.

Terminal.app에서도 사용하고 싶습니다.



Terminal.app의 터미널 에뮬레이션을 향상시키는 mouseterm-plus을 사용하는 방법이 있습니다.
다른 OS에서도 사용하고 싶은 경우, write access만의 이용이라면 xterm, TeraTerm, RLogin, mlterm등의 선택사항이 있습니다.
기기와 클립보드의 연동 솔루션에는 여러 가지가 있습니다만, 선택의 하나로서 검토해 보세요.

좋은 웹페이지 즐겨찾기