ซิงโครไนซ์บอร์ดระหว่างระยะไกล tmux เซสชั่นและท้องถิ่น pasteboard Mac OS


18

ตั้งค่า: ฉันใช้ iTerm2 บน MacOS เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล รีโมตเซิร์ฟเวอร์รัน tmux ซึ่งฉันเปิดไฟล์และแก้ไขในเซสชันเป็นกลุ่ม

ปัญหา: ฉันไม่สามารถคัดลอก / วางระหว่างเซสชัน tmux แบบรีโมตและไคลเอ็นต์ iTerm แบบโลคัล ฉันสามารถใช้การเลือก alt / ตัวเลือก + เมาส์ของ iTerm 2 เพื่อเลือกข้อความได้ แต่สิ่งนี้จะคัดลอกไปหลาย vim panes / tmux panes - แย่

มีโซลูชันที่สง่างามหรือไม่ที่จะทำการเลือกในบานหน้าต่าง tmux ที่ซิงโครไนซ์ระหว่างรีโมทกระดาษแข็งกับ Local (MacOS pasteboard)? ฉันเห็นreattach-to-user-namespaceแต่ฉันค่อนข้างแน่ใจว่ามันไม่ได้ทำในสิ่งที่ฉันต้องการ


3
นี่เป็นปัญหาของ tmux จริงๆหรือ ดูเหมือนว่าฉันชอบคุณมีปัญหาเดียวกันโดยทั่วไปในการเชื่อมต่อผ่าน SSH เพียงอย่างเดียว
kejadlen

3
อาจไม่ใช่ปัญหา tmux แต่เป็นปัญหาเวิร์กโฟลว์ ฉันไม่สามารถเป็นคนเดียวที่มีปัญหาตรงนี้ได้ - นี่คือเหตุผลที่ฉันสงสัยว่าคนอื่น ๆ กำลังทำอะไรอยู่
bhargav

คำตอบ:


13

ดังนั้นเมื่อคุณ ssh เข้าสู่เซิร์ฟเวอร์คุณสามารถใช้ reverse tunneling เพื่อให้คุณสามารถพูดคุยกับเครื่อง OSX ของคุณเพื่อส่งคำสั่งpbcopyได้

ssh -R 1234:localhost:22 remoteServer

แทนที่1234ด้วยพอร์ตใด ๆ ที่เปิดเซิร์ฟเวอร์ระยะไกล จากนั้นบนเซิร์ฟเวอร์ระยะไกลคุณสามารถเรียกใช้:

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

นั่นควรเชื่อมต่อกลับไปที่ OSX และส่งเนื้อหาของ tmux copy buffer ของคุณไปให้ คุณอาจต้องการใช้ปุ่ม ssh เพื่อป้องกันการพิมพ์รหัสผ่านของคุณไปยังเครื่อง OSX ของคุณ

หากสิ่งนั้นใช้ได้ผลคุณสามารถสร้าง keybindings tmux ของคุณ

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

ฉันควรทราบว่าเพื่อให้สิ่งนี้ใช้งานได้คุณจะต้องเปิดใช้ Remote Sharing ใน OSX

ตัวเลือกรอง:

เนื่องจากคุณใช้ OSX หากคุณใช้ iTerm2 ด้วยคุณอาจลองติดตั้งhttp://code.google.com/p/iterm2/downloads/detail?name=tmux-for-iTerm2-20120203.tar.gz&can = 2 & q =บนเซิร์ฟเวอร์ของคุณ

โดยพื้นฐานแล้วมันเป็น tmux แบบกำหนดเองที่สนับสนุนแฟล็ก "-C" การตั้งค่าสถานะนี้ส่งผ่าน windows และบานหน้าต่างและแยกทั้งหมดไปยัง iTerm2



2

วิธีที่ง่ายกว่า

  1. เปิดใช้งาน XQuartz เพื่อซิงค์คลิปบอร์ด
  2. ใช้การส่งต่อ X11 เมื่อคุณเชื่อมต่อกับเซิร์ฟเวอร์ระยะไกล
  3. มีผลผูกพันเหมือนใน tmux.conf ของคุณ: bind-key C-c run ‘tmux show-buffer | xsel -pbi'
    • ที่คลิปบอร์ด X ที่คุณเลือกอยู่หลังท่อ

คุณสามารถทำผูกพันที่คล้ายกันเป็นกลุ่มได้หากคุณต้องการเช่นกัน


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.