स्थानीय स्क्रॉलबैक / इतिहास दिए बिना Mosh का उपयोग करें?


62

क्या moshस्थानीय स्क्रॉलबैक दिए बिना उपयोग करने का कोई तरीका है ?

मूल रूप से, कुछ परिस्थितियों में, आईपी-रोमिंग वास्तव में उपयोगी और आवश्यक है, लेकिन अतिरिक्त टर्मिनल इम्यूलेशन और कुंजी भविष्यवाणी केवल स्थानीय स्क्रॉलबैक बफर लाइनों और सत्र इतिहास से छुटकारा पाती लगती है।


जवाबों:


42

Filippo Valsorda में OS X का एक समाधान है जिसमें iTerm 2, tmux और mosh शामिल हैं

उसका समाधान दूरस्थ शेल से कनेक्ट करने के लिए एकल विंडो / टैब का उपयोग करता है। खोल डिस्कनेक्ट (उदाहरण के लिए, कनेक्शन विफलता, आईपी परिवर्तन, लैपटॉप रिबूट) से बचता है और एक टचपैड, कॉपी-पेस्ट और रंगों के साथ स्क्रॉलबैक का समर्थन करता है।

कैविट्स यह है कि आपको स्रोत से मॉश का निर्माण करना चाहिए, स्क्रॉलिंग देशी की तुलना में कम तरल पदार्थ है, और क्लिक-ड्रैग को रिले किया गया है, इसलिए आपको चयन करने के लिए विकल्प रखना होगा।

  • iTerm

    टर्मिनल प्रोफाइल सेटिंग्स में, xterm माउस रिपोर्टिंग सक्षम करें और xterm-256color पर रिपोर्ट टर्मिनल प्रकार सेट करें ।

  • tmux

    ~/.tmux.confसर्वर पर निम्न पर सेट करें । इन सेटिंग्स के साथ, यदि आप संलग्न करने का प्रयास करते हैं और कोई सत्र नहीं हैं, तो एक नया बनाया जाता है। सेटिंग्स माउस इंटरैक्शन (और इस तरह टचपैड स्क्रॉलिंग) को भी सक्षम करती हैं।

    new-session
    set-window-option -g mode-mouse on
    set -g history-limit 30000
    

    नोट: अधिक हाल के tmux (यानी> 2.1) पर, जैसा कि रिपोर्ट किया गया है tmux -V, विभिन्न माउस विकल्प (माउस-आकार-फलक, माउस-मोड, आदि) को एक ही विकल्प पर दोबारा लिखा गया है mouse, इसलिए आपको दूसरी पंक्ति बदलनी होगी इसके बजाय set-window-option -gमाउस के ऊपरon

    यह माउस स्क्रॉल तब भी काम करेगा जब आप कीबोर्ड स्क्रॉल मोड (जैसे Ctrl- bतब [) में होंगे, लेख में वर्णित है कि tmux में स्क्रॉल कैसे करें

  • mosh

    मॉश का स्थिर निर्माण पुराना है और माउस रिपोर्टिंग (और टचपैड स्क्रॉलिंग) का समर्थन नहीं करता है। नवीनतम संस्करण स्थापित करने के लिए, निम्नलिखित करें:

    OS X (आपका ग्राहक)

    brew install --HEAD mobile-shell
    

    लिनक्स / यूनिक्स (सर्वर)

    git clone https://github.com/keithw/mosh.git
    cd mosh/
    sudo apt-get build-dep mosh
    ./autogen.sh && ./configure && make
    sudo make install
    

अब, कनेक्ट करने के लिए, बस निम्नलिखित टाइप करें:

mosh HOST -- tmux a

5
यह महत्वपूर्ण जानकारी को इन-लाइन के लिंक से चिपकाने के लिए अच्छा रूप माना जाता है।
हेलोसिस्टहोस्ट

2
यद्यपि यह उत्तर तकनीकी कारणों से अस्वीकार कर दिया गया था, यह संभवत: सबसे अच्छा (केवल?) तरीका है जो स्थानीय क्लाइंट पर mosh का उपयोग करके सभ्य स्क्रॉलबैक प्राप्त करने का है।
जयहिन्द्रन

@ संजय: या आप केवल अनन्त टर्मिनल का उपयोग कर सकते हैं ।
दानस्केलस्कु

कृपालु होने की आवश्यकता नहीं है। मेरी टिप्पणी 2014 से थी। इटरनल टर्मिनल की पहली रिलीज़ 2017 में हुई थी।
जेहेनड्रेन

15

टर्मिनल एमुलेशन को मोश के डिज़ाइन में बहुत गहरा बेक किया गया है , इसलिए, नहीं। Mosh क्लाइंट और सर्वर दोनों होने से काम करता है, जो स्क्रीन वर्तमान में "जैसा दिखता है" उसके स्थानीय विचार को बनाए रखता है, और इसके लिए सर्वर को टर्मिनल इम्यूलेशन की आवश्यकता होती है। यह कुछ समय के लिए दूर रहने और कुछ डेटा खो जाने के बाद क्लाइंट स्क्रीन की सामग्री को ताज़ा करने में सक्षम है।

मुझे लगता है कि mosh के आईपी रोमिंग फीचर के साथ एक एप्लिकेशन बिना टर्मिनल एमुलेशन के बिल्कुल अलग (लेकिन सरल) एप्लिकेशन होगा। इस तरह के एक आवेदन के लिए, डेटा की हानि (जब ग्राहक कुछ समय के लिए नेट-नेट सहित होता है) तो स्क्रीन सामग्री का नुकसान या भ्रष्टाचार होगा। यह एक स्वीकार्य सीमा है यदि उपयोगकर्ता किसी ऐसे एप्लिकेशन का उपयोग कर रहा है, जहां यह बहुत ज्यादा मायने नहीं रखता है (जैसे शेल) या ऐसा एप्लिकेशन जिसमें रिपीट फीचर हो (जैसे viकंट्रोल-एल का उपयोग कर)।

मोश के कार्यान्वयनकर्ता इस बात के लिए आवेदन में स्क्रॉलबैक समर्थन की योजना बना रहे हैं कि इस तथ्य के लिए कि आपका स्थानीय टर्मिनल अब ऐसा नहीं कर सकता है। मुझे लगता है कि यह थोड़ा screenस्क्रॉलबेक बफर की तरह काम करना होगा : कीस्ट्रोक्स द्वारा नियंत्रित, स्क्रॉलबार और माउस नहीं।


4

अनन्त टर्मिनल ( https://mistertea.github.io/EternalTerminal/ ) Mosh का एक विकल्प है जो देशी स्क्रॉलबैक का समर्थन करता है और फिर भी आईपी रोमिंग की अनुमति देता है। ET टाइपिंग की भविष्यवाणी नहीं करता है, इसलिए यह उपयुक्त नहीं हो सकता है यदि आपके पास एक उच्च विलंबता कनेक्शन है (यदि आप ड्रोन में या सेल फोन से ssh-ing हैं), लेकिन व्यक्तिगत रूप से ET मैं सब कुछ चाहता हूं और स्क्रॉलबैक का समर्थन करता है।


यह बहुत बढ़िया था
सोरेन

ET अद्भुत है और इसके लिए बहुत अधिक वकालत की जरूरत है ।
दानस्केलस्कु

1

टर्मिनल में "स्क्रॉल वैकल्पिक स्क्रीन" को अनचेक करते हुए- प्राथमिकताएं-> प्रोफाइल-> कीबोर्ड ने मेरे लिए इसे निर्धारित किया।


1
इस जवाब का कोई मतलब नहीं है, तुम भी इस तरह के एक मेनू कहाँ मिलता है?
20

3
वह प्रीफ़ॉफ़ सेटिंग मौजूद है, लेकिन इसे अनचेक करने के कारण स्क्रॉलिंग केवल मेरी स्थानीय विंडो में काम करने के लिए हुई, यानी स्क्रॉल करने से पहले जो लाइनें वहां आईं, उसमें मैंश कमांड का उपयोग किया गया था। इसने मुझे ऐसा कुछ नहीं दिखाया, जिसने दूरस्थ सत्र के शीर्ष पर स्क्रॉल किया हो।
mARK

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