दूरस्थ tmux सेशन और स्थानीय Mac OS पेस्टबोर्ड के बीच पेस्टबोर्ड को सिंक्रनाइज़ करें


18

सेटअप: मैं दूरस्थ सर्वर से कनेक्ट करने के लिए MacOS पर iTerm2 का उपयोग करता हूं। रिमोट सर्वर tmux चलाता है, जिसमें मैं फ़ाइलों को खोलता हूं और विम सत्रों में संपादित करता हूं।

समस्या: मैं दूरस्थ tmux सत्र और स्थानीय iTerm क्लाइंट के बीच कॉपी / पेस्ट नहीं कर सकता। मैं टेक्स्ट का चयन करने के लिए iTerm 2 के ऑल्ट / ऑप्शन + माउस चयन का उपयोग कर सकता हूं, लेकिन यह कई वीम पैन / tmux पैन पर कॉपी करता है - खराब।

क्या रिमोट पेस्टबोर्ड और स्थानीय (MacOS पेस्टबोर्ड) के बीच तालमेल पैन में चयन करने के लिए कोई सुंदर समाधान है? मैंने reattach-to-user-namespace देखा है , लेकिन मुझे पूरा यकीन है कि यह वह नहीं करता जो मैं चाहता हूं।


3
क्या यह वास्तव में एक tmux समस्या है? मुझे लगता है कि आप सामान्य रूप से ssh पर अकेले जुड़ने में एक ही मुद्दा होगा।
कीजडलेन

3
यह एक tmux समस्या नहीं हो सकती है, लेकिन यह एक वर्कफ़्लो समस्या है। मैं केवल एक ही व्यक्ति नहीं हो सकता, जिसके पास यह सटीक समस्या है - यही वजह है कि मैं सोच रहा हूं कि अन्य लोग इसके आसपास क्या कर रहे हैं।
भार्गव

जवाबों:


13

इसलिए, जब आप सर्वर में ssh करते हैं, तो आप रिवर्स टनलिंग का उपयोग कर सकते हैं, ताकि आप अपने OSX मशीन पर वापस कमांड भेजने के लिए बात कर सकें pbcopy

ssh -R 1234:localhost:22 remoteServer

1234किसी भी खुले पोर्ट को रिमोट सर्वर से बदलें । फिर रिमोट सर्वर पर, आप फिर चला सकते हैं:

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

यह OSX से कनेक्ट होना चाहिए और अपने tmux कॉपी बफ़र की सामग्री को इसमें भेजना चाहिए। आप अपने OSX मशीन पर अपना पासवर्ड टाइप करने से रोकने के लिए ssh कुंजियों का उपयोग करना चाह सकते हैं।

यदि वह काम करता है, तो आप अपनी 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 = अपने सर्वर पर।

यह मूल रूप से एक कस्टम tmux है जो "-C" ध्वज का समर्थन करता है। यह ध्वज खिड़कियों, और पैन और उनके सभी बंटवारे 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 पहले से भी बेहतर है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.