원격 TMUX 세션과 로컬 Mac OS 페이스트 보드간에 페이스트 보드 동기화


18

설정 : MacOS에서 iTerm2를 사용하여 원격 서버에 연결합니다. 원격 서버는 tmux를 실행하여 파일을 열고 vim 세션에서 편집합니다.

문제 : 원격 tmux 세션과 로컬 iTerm 클라이언트간에 복사 / 붙여 넣기를 할 수 없습니다. iTerm 2의 alt / option + 마우스 선택을 사용하여 텍스트를 선택할 수 있지만 여러 vim 창 / tmux 창에 복사됩니다.

tmux 패널에서 원격 페이스트 보드와 로컬 (MacOS 페이스트 보드)간에 동기화 할 수있는 훌륭한 솔루션이 있습니까? 나는 본 적이 다시 연결 - 투 - 사용자가 네임 스페이스를 하지만, 나는 내가하고 싶은 일을하지 않습니다 꽤 확신합니다.


3
이것이 실제로 tmux 문제입니까? 일반적으로 ssh 단독으로 연결하는 것과 동일한 문제가있는 것처럼 보입니다.
kejadlen

3
tmux 문제는 아니지만 워크 플로우 문제입니다. 나는이 정확한 문제가있는 유일한 사람이 될 수 없습니다. 그래서 다른 사람들이 그 문제를 해결하기 위해 무엇을하는지 궁금합니다.
bhargav

답변:


13

따라서 서버에 ssh 할 때 리버스 터널링을 사용하여 OSX 시스템과 다시 대화하여 명령 do을 보낼 수 pbcopy있습니다.

ssh -R 1234:localhost:22 remoteServer

1234원격 서버의 열린 포트로 교체하십시오 . 그런 다음 원격 서버에서 다음을 실행할 수 있습니다.

tmux save-buffer - | ssh -p 1234 localhost pbcopy

OSX에 다시 연결하고 tmux 복사 버퍼의 내용을 전송해야합니다. ssh 키를 사용하여 OSX 시스템에 비밀번호를 입력하지 못하게 할 수 있습니다.

이것이 효과가 있으면 tmux 키 바인딩을 만들 수 있습니다.

bind C-c run "tmux save-buffer - | ssh -p 1234 localhost pbcopy"

이것이 작동하려면 OSX에서 원격 공유를 켜야합니다.

보조 옵션 :

OSX를 사용하고 있으므로 iTerm2도 사용하는 경우 http://code.google.com/p/iterm2/downloads/detail?name=tmux-for-iTerm2-20120203.tar.gz&can 설치를 고려할 수 있습니다 서버에서 = 2 & q =

기본적으로 "-C"플래그를 지원하는 사용자 정의 tmux입니다. 이 플래그는 창, 창 및 모든 분할을 iTerm2로 넘깁니다.



2

더 간단한 방법

  1. XQuartz가 클립 보드를 동기화하도록 설정
  2. 원격 서버에 연결할 때 X11 전달 사용
  3. tmux.conf에서와 같이 바인딩하십시오. bind-key C-c run ‘tmux show-buffer | xsel -pbi'
    • 선택한 X 클립 보드가 파이프 뒤에있는 위치

원한다면 vim에서 비슷한 바인딩을 할 수 있습니다.


0

교황의 답변 덕분에 tmux -C힌트를 시도했습니다 .

  1. 현재 tmux 버전이 -C플래그를 지원하므로 아무것도 설치할 필요가 없습니다 .
  2. 사용 -CC하기 때문에 -C항상 작동하지 않습니다.

따라서 tmux -CC(또는 tmux -CC attach) tmux는 기존보다 훨씬 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.