टर्मिनल

Mobile SSH टर्मिनल फ़ोन और टैबलेट संचालन के लिए बनाया गया है। यह एक टर्मिनल कैनवस, अतिरिक्त कुंजी पंक्ति, मल्टी-सेशन पैन, स्क्रॉल हैंडलिंग और पुनः-कनेक्शन व्यवहार को एक साथ जोड़ता है।

टर्मिनल मूल बातें

मल्टी-सेशन ग्रिड

Mobile SSH एक साथ आठ SSH सेशन तक चला सकता है। प्रत्येक सेशन टर्मिनल ग्रिड में एक पैन के रूप में दिखता है। पैन को चुनने के लिए टैप करें, या दूसरा कनेक्शन शुरू करने के लिए + Add Session उपयोग करें।

पैन हेडर बताता है कि आप कहाँ हैं। Android पर यह उस पैन की असली कार्यशील डायरेक्टरी दिखाता है, जो tmux से पूछी जाती है या शेल द्वारा OSC 7 पर बताई जाती है और ऐप खुले रहने तक ताज़ा होती रहती है; iOS पर यह वह शीर्षक दिखाता है जो रिमोट सेट करता है, और उसके अभाव में user@host:port।

पैन बंद करने पर उसका SSH सेशन डिस्कनेक्ट होता है। होम स्क्रीन पर लौटने के बाद चालू सेशन सक्रिय सेशन से मिलते हैं। हेडर रुके हुए कनेक्शन दिखाता है; सेटिंग्स में ट्रांसफ़र दर और कनेक्शन जवाब न देने पर स्क्रीन मंद करने या कंपन के विकल्प हैं।

Eternal Terminal (ET)

दोनों प्लेटफ़ॉर्म पर सर्वर जोड़ते या बदलते समय ट्रांसपोर्ट चयनकर्ता में ये विकल्प मिलते हैं:

ET सेशन को सर्वर पर ज़िंदा रखता है, इसलिए जब आपका फ़ोन नेटवर्क बदलता है या स्लीप से जागता है, तो Mobile SSH नया शेल खोलने के बजाय उसी चल रहे शेल से दोबारा जुड़ जाता है। इसी वजह से यह मोबाइल डेटा, Wi-Fi और सेल्युलर के बीच अदला-बदली, तथा लंबे समय तक चलने वाली कमांड के लिए उपयुक्त है।

ET के लिए होस्ट पर etserver चाहिए। उसके न होने पर Mobile SSH SSH के ज़रिए उसे स्थापित और शुरू करने का प्रस्ताव दे सकता है। सेटअप कमांड देखकर अनुमति दें, फिर Eternal Terminal चुनकर जुड़ें। जंप होस्ट वाले मार्गों के लिए SSH ट्रांसपोर्ट आवश्यक है।

अतिरिक्त कुंजी पंक्ति

दोनों प्लेटफ़ॉर्म तेरह टर्मिनल कुंजियों की एक पंक्ति आपकी पहुँच में रखते हैं — वही कुंजियाँ जो टच कीबोर्ड पर असुविधाजनक या नदारद होती हैं। Android पर यह सेशन के नीचे एक पट्टी है (जो हार्डवेयर कीबोर्ड जुड़ा होने पर खुद को छिपा लेती है); iOS पर यह सॉफ़्टवेयर कीबोर्ड के ऊपर सवार रहती है।

दोनों के डिफ़ॉल्ट सेट आकार में बराबर हैं, पर एक जैसे नहीं:

AndroidiOS
डिफ़ॉल्टESC TAB CTRL तीर HOME PGUP END PGDN ⌫ ⌨ESC TAB CTRL ⇧ तीर HOME END PGUP PGDN ⌨
अंतरबैकस्पेस है, Shift नहींस्टिकी Shift है, बैकस्पेस नहीं

यह पंक्ति कभी स्क्रॉल नहीं होती। जब कुंजियाँ चौड़ाई में समाना बंद कर देती हैं, तो वे जगह को बराबर बाँटकर दूसरी पंक्ति में लिपट जाती हैं; उसके बाद भी जो बचे, वह ⋯ ओवरफ़्लो मेन्यू में समा जाता है। कुछ भी स्वाइप के पीछे नहीं छिपता और न ही स्क्रीन के किनारे कटता है, और सक्रिय किया हुआ मॉडिफ़ायर उस कुंजी पर भी लागू होता है जिसे आप ओवरफ़्लो में से चुनते हैं।

CTRL एक स्टिकी मॉडिफ़ायर की तरह काम करता है: CTRL टैप करें, फिर Ctrl-C भेजने के लिए C टाइप करें। Shift iOS पर Android की तुलना में अधिक स्टिकी है — iOS पर यह सॉफ़्टवेयर कीबोर्ड से टाइप किए जाने वाले अगले अक्षर को भी बड़ा कर देता है, जबकि Android पर यह केवल इसी पंक्ति की अपनी कुंजियों पर लागू होता है (Shift+Tab, Shift+तीर)।

तीर या PGDN जैसी किसी कुंजी को दबाए रखें तो वह दोहराती रहती है।

कीबोर्ड व्यवहार

Android पर सामान्य टाइपिंग सीधे रिमोट शेल तक जाती है; स्वतः सुधार और अनुमानित सुझाव डिफ़ॉल्ट रूप से बंद हैं। कीबोर्ड से आवाज़ द्वारा लिखना फिर भी संभव है।

iOS पर सेटिंग्स → टर्मिनल → डिक्टेशन और सुझाव डिफ़ॉल्ट रूप से चालू है। इससे पंक्ति लिखते समय आवाज़ से इनपुट, अनुमानित टेक्स्ट और सुधार मिलते हैं। सीधे कीस्ट्रोक भेजने के लिए इसे बंद करें, कीबोर्ड सुझाव बंद रखें और नया पैन खोलें।

टैप पर कीबोर्ड दिखाएँ तय करता है कि टैप करने पर सॉफ़्टवेयर कीबोर्ड खुले या नहीं। यह Android पर डिफ़ॉल्ट रूप से बंद और iOS पर चालू है; टूलबार का कीबोर्ड बटन भी उपलब्ध रहता है।

हार्डवेयर कीबोर्ड

बाहरी और Bluetooth कीबोर्ड Android और iOS दोनों पर सीधे टर्मिनल को चलाते हैं। सामान्य अक्षरों के अलावा, Mobile SSH तीर कुंजियाँ, Home/End, PgUp/PgDn, Insert, Delete, Esc, फ़ंक्शन कुंजियाँ F1–F12, Ctrl+कुंजी और Alt/Option-को-Meta कॉर्ड, तथा Shift+Tab को मैप करता है। मॉडिफ़ायर कुंजियाँ अतिरिक्त कुंजी पंक्ति के स्टिकी मॉडिफ़ायर के साथ मिलकर काम करती हैं।

पेस्ट

जो प्रोग्राम इसका अनुरोध करते हैं (bash, Vim और अन्य ब्रैकेटेड-पेस्ट ऐप्स) उनमें पेस्ट करना ब्रैकेटेड-पेस्ट मार्करों में लपेटा जाता है, इसलिए बहु-पंक्ति क्लिपबोर्ड सामग्री लाइन-दर-लाइन अपने आप निष्पादित होने के बजाय टेक्स्ट के रूप में डाली जाती है। केवल वास्तविक पेस्ट लपेटे जाते हैं; टाइप किया और बोला गया टेक्स्ट अछूता रहता है।

चयन, कॉपी, साझा करें

किसी शब्द को चुनने के लिए टर्मिनल में देर तक दबाएँ और चयन बदलने के लिए हैंडल खींचें। चयन टूलबार में ये विकल्प हैं:

टर्मिनल में खोज

पूरे टर्मिनल बफ़र — स्क्रॉलबैक और दृश्य स्क्रीन — में खोजें और मिलानों के बीच जाएँ। टर्मिनल नियंत्रणों से खोज खोलें, कोई क्वेरी टाइप करें और हिट्स के बीच आगे बढ़ें। यह Android और iOS दोनों पर काम करता है।

रंग, इटैलिक और रिमोट क्लिपबोर्ड

शेल इंटीग्रेशन और इनलाइन छवियाँ

रूप-रंग और कुंजियाँ

Android और iOS दोनों पर, Settings आपको टर्मिनल को अनुकूलित करने देती है:

रीसेट आज की सूची को जमा देने के बजाय ऐप के साथ आए डिफ़ॉल्ट लौटाता है, ताकि किसी बाद के रिलीज़ के सुधार भी आप तक पहुँचें। बदलाव पहले से खुले पैन पर लाइव लागू होते हैं।

स्क्रॉलिंग

Mobile SSH टर्मिनल की स्थिति के आधार पर स्क्रॉल इशारों को रूट करता है:

दोनों प्लेटफ़ॉर्म पर माउस ट्रैकिंग वाले प्रोग्राम में टैप सामान्यतः बायाँ क्लिक भेजता है। iOS पर टैप से कर्सर रखें इसे कर्सर खिसकाने से बदल देता है; Shift-टैप दूसरी क्रिया करता है। दबाकर फिर खींचने वाला वैकल्पिक माउस इनपुट डिफ़ॉल्ट रूप से बंद है, इसलिए सामान्य स्वाइप स्क्रॉल करता है।

यदि आप पीछे स्क्रॉल करते हुए टाइप करते हैं, तो Mobile SSH लाइव टर्मिनल दृश्य पर लौट आता है।

tmux व्यवहार

Mobile SSH आउटगोइंग tmux attach और new-session कमांड देखता है, जैसे:

tmux attach -t work
tmux a -t work
tmux new -A -s work

कनेक्शन टूटने पर ऐप जुड़े हुए tmux सेशन और सॉकेट को याद रखता है ताकि पुनः जुड़ने पर वहीं लौट सके। एक होस्ट के अलग पैन अपने-अपने जुड़ाव रखते हैं। सेशन समाप्त हो चुका हो तो शेल उपलब्ध रहता है।

iOS पर सॉकेट बदलते समय मौजूदा tmux प्रीफ़िक्स पढ़ा जाता है; Ctrl+B मानकर नहीं चला जाता। असमर्थित प्रीफ़िक्स या विफल खोज पर संदेश देकर रुकता है। टाइप करना, पैन बंद करना या डिस्कनेक्ट करना लंबित जुड़ाव रद्द करता है; अनपहचाने फ़ुल-स्क्रीन प्रोग्राम को attach कमांड नहीं भेजी जाती।

Tmux मैनेजर

Mobile SSH के tmux मैनेजर से प्रीफ़िक्स संयोजन टाइप किए बिना tmux देखें और नियंत्रित करें। जुड़े सेशन के मल्टिप्लेक्सर नियंत्रण से खोलें; कई मैनेजर उपलब्ध हों तो उसे देर तक दबाकर tmux चुनें। सूची के तीन भाग हैं:

मैनेजर से आप:

जिस सेशन का एजेंट इनपुट की प्रतीक्षा कर रहा हो, उस पर 🔔 लग जाती है — इसलिए रुका हुआ Claude Code या Codex एक नज़र में दिख जाता है और आप उससे अटैच हो सकते हैं। यह ऊपर बताए गए reattach संकेतों का पूरक है: reattach का तर्क पुनः कनेक्ट होने पर आपका पिछला सेशन अपने आप लौटा देता है, जबकि मैनेजर आपको पूरा मैन्युअल नियंत्रण देता है।

दोनों प्लेटफ़ॉर्म एक होस्ट पर कई tmux सर्वर (सॉकेट) संभालते हैं। मैनेजर में जुड़ाव के संकेत आपके वर्तमान टर्मिनल के हैं, सर्वर के किसी दूसरे क्लाइंट के नहीं।

Herdr और Zellij

Android और iOS दोनों Herdr तथा Zellij संभालते हैं। टूलबार का एक नियंत्रण मुख्य पहचाना हुआ मल्टिप्लेक्सर खोलता है; दूसरा चुनने के लिए देर तक दबाएँ। केवल उस सर्वर पर मिले प्रोग्राम दिखते हैं। मैनेजर में सर्वर शीर्षक से सर्वर और मल्टिप्लेक्सर चयनकर्ता से मैनेजर बदलें।

यदि herdr या Zellij स्थापित तो है पर लॉगिन शेल के PATH में नहीं है, तो पृष्ठ उसे जोड़ने का प्रस्ताव देता है।

हर सहेजे सर्वर में जुड़ने पर अटैच करें विकल्प है: स्वतः पहचानें, कुछ नहीं, tmux, herdr या Zellij। स्वतः विकल्प उपलब्ध पहचान और इतिहास के आधार पर पहले इस्तेमाल किए मल्टिप्लेक्सर को, फिर चालू सेशन वाले को, फिर स्थापित वाले को चुनता है। सहेजी पहचान न हो तो साधारण शेल खुलता है। बाद की जाँच भविष्य के कनेक्शन को प्रभावित करती है; मौजूदा इनपुट के ऊपर कुछ शुरू नहीं करती।

एजेंट अलर्ट

Mobile SSH आपको बताता है कि कोई रिमोट AI कोडिंग एजेंट — Claude Code, Codex, Gemini — कब आप पर अटका हुआ है। यह आपका टर्मिनल आउटपुट पढ़कर अनुमान नहीं लगाता। इसके दो रास्ते हैं, और वे अलग-अलग स्तर के विवरण देते हैं।

घंटी

टर्मिनल घंटी एजेंट अलर्ट दे सकती है। टाइपिंग के तुरंत बाद की घंटियाँ डिफ़ॉल्ट रूप से अनदेखी होती हैं। रिमोट डेस्कटॉप अधिसूचनाओं (OSC 9, OSC 777) और OSC 133 कमांड-समाप्ति अलर्ट की अलग सेटिंग्स हैं; iOS पर दोनों चालू करने तक बंद हैं।

इसमें कुछ सेट करना नहीं पड़ता, पर ऐप को केवल इतना पता होता है कि कुछ बजा है।

एजेंट हुक

ऐप को यह जानने के लिए कि कौन-सा एजेंट प्रतीक्षा कर रहा है और क्या कर रहा है, सर्वर पर एजेंट हुक स्थापित करें:

यह उस सर्वर पर ~/.mobile-ssh/agent-hook.sh में एक छोटी शेल स्क्रिप्ट लिख देता है। यह किसी एक एजेंट से बँधी नहीं है — यह किसी वेंडर के प्रारूप को पढ़ने के बजाय कमांड-लाइन आर्ग्युमेंट लेती है — इसलिए जो कुछ भी कोई कमांड चला सकता है, वह इसके ज़रिए अपनी स्थिति बता सकता है। फ़ाइल हटा देना ही साफ़-सुथरी अनइंस्टॉल है।

एक बार एजेंट हुक के ज़रिए अपनी स्थिति बताने लगे:

बिना टाइप किए जवाब देना

जब कोई एजेंट ऐसा सवाल पूछता है जिसके उत्तर तय हों, तो ऐप Agents सूची में हर विकल्प के लिए एक बटन दिखाता है — अधिकतम छह। Android पर आप किसी पैन हेडर में एजेंट चिप को भी टैप कर सकते हैं।

आपका जवाब सेशन में टाइप नहीं होता। वह एक अलग चैनल से एक फ़ाइल में लिखा जाता है और हुक उसे उठा लेता है, इसलिए जवाब देने से स्क्रीन पर चल रही चीज़ बिगड़ नहीं सकती। ऐप ऐसा विकल्प भेजने से मना कर देता है जो प्रॉम्प्ट ने वास्तव में दिया ही न हो, और यदि कनेक्शन इस बीच टूट गया हो तो चुपचाप विफल होने के बजाय साफ़-साफ़ बता देता है।

सेटिंग्स

दोनों प्लेटफ़ॉर्म पर एजेंट अलर्ट डिफ़ॉल्ट रूप से चालू हैं; सूचना, ध्वनि, कंपन और सक्रिय पैन के अलर्ट के अलग स्विच हैं। iOS पर सक्रिय पैन अलर्ट भी डिफ़ॉल्ट रूप से चालू हैं और केवल पृष्ठभूमि में देने का विकल्प है। iOS में ऐप को चलने की अनुमति रहने तक ही ये मिलते हैं; लंबे पृष्ठभूमि निलंबन से लाइव SSH अलर्ट रुकते हैं।

एक डिफ़ॉल्ट जानने लायक है: ध्वनि केवल हेडफ़ोन तक सीमित है। जब कुछ भी लगा या जुड़ा न हो, तो अलर्ट नोटिफ़िकेशन दिखाता है और कंपन करता है, पर कोई आवाज़ नहीं बजाता। यदि आप चाहते हैं कि अलर्ट फ़ोन के स्पीकर पर सुनाई दे, तो इसे बंद कर दें।

कोई संवेदनशीलता सेटिंग नहीं है और न ही कोई ध्वनि चयनकर्ता — नियंत्रण बस चालू/बंद के हैं।

फ़ुल-स्क्रीन टर्मिनल प्रोग्राम

Vim, less, htop, ncurses टूल और tmux पैन जैसे प्रोग्रामों के लिए:

रिमोट डेस्कटॉप

दोनों प्लेटफ़ॉर्म SSH के भीतर VNC कनेक्शन से रिमोट डेस्कटॉप खोलते हैं। macOS Screen Sharing सहित मौजूदा साझा स्क्रीन उपयोग करें या समर्थित Linux डेस्कटॉप के सेटअप की अनुमति दें। डेस्कटॉप सर्वर पर होना चाहिए; केवल SSH पहुँच से ग्राफ़िकल सेशन नहीं बनता। Linux स्क्रीन मिररिंग के लिए Wayland के बजाय X11 चाहिए। macOS पर नया निजी डेस्कटॉप बनाने के बजाय मौजूदा साझा स्क्रीन दिखती है।

टच से क्लिक, खींचना और ज़ूम करें; स्क्रीन या हार्डवेयर कीबोर्ड से लिखें। क्लिपबोर्ड नियंत्रण फ़ोन का टेक्स्ट डेस्कटॉप में पेस्ट करते हैं; डेस्कटॉप भी टेक्स्ट वापस फ़ोन पर कॉपी कर सकता है।

स्क्रीन आकार में पूर्वनिर्धारित और मनचाहे आयाम हैं, जिन्हें सर्वर के अनुसार याद रखा जाता है। iOS पर हर भुजा 320–5120 पिक्सेल होनी चाहिए। सर्वर समर्थन दे तो लाइव आकार बदलने पर ऐप चलते रहते हैं। पुनः शुरू करने का विकल्प पुष्टि माँगता है और केवल ऐप द्वारा बनाए निजी डेस्कटॉप में मिलता है। साझा या मौजूदा स्क्रीन को आकार बदलने के लिए पुनः शुरू नहीं किया जाता; Mac पर लाइव बदलाव न चले तो उसकी डिस्प्ले सेटिंग्स उपयोग करें।