टर्मिनल

Mobile SSH टर्मिनल फोन आणि टॅबलेट संचालनासाठी बनवले आहे. ते एक टर्मिनल कॅनव्हास, अतिरिक्त की ओळ, मल्टी-सत्र पॅन, स्क्रोल हाताळणी आणि पुन्हा-कनेक्शन वर्तन एकत्र करते.

टर्मिनल मूलभूत गोष्टी

मल्टी-सत्र ग्रिड

Mobile SSH एकाच वेळी आठ SSH सत्रांपर्यंत चालवू शकते. प्रत्येक सत्र टर्मिनल ग्रिडमध्ये एक पॅन म्हणून दिसते. निवडण्यासाठी पॅनवर टॅप करा, किंवा दुसरे कनेक्शन सुरू करण्यासाठी + Add Session वापरा.

पॅन शीर्षलेख तुम्ही कुठे आहात ते सांगते. Android वर ते पॅनची खरी कार्यरत डायरेक्टरी दाखवते — जी tmux कडून विचारली जाते किंवा शेल OSC 7 वरून कळवते, आणि अ‍ॅप उघडे असताना ती ताजी ठेवली जाते; iOS वर ते रिमोट बाजू ठरवते ते शीर्षक दाखवते, आणि तसे नसल्यास user@host:port.

पॅन बंद केल्याने ते SSH सत्र खंडित होते. स्टार्ट स्क्रीनवर परत आल्यावर सक्रिय सत्रे Active Sessions द्वारे उपलब्ध राहतात.

Eternal Terminal (ET)

प्रत्येक जतन केलेला सर्व्हर दोन वाहतुकींपैकी एक वापरू शकतो, जी सर्व्हर जोडताना किंवा संपादित करताना Transport निवडकर्त्याने निवडली जाते:

ET सत्र सर्व्हरवर जिवंत ठेवते, त्यामुळे तुमचा फोन नेटवर्क बदलतो किंवा झोपेतून जागा होतो तेव्हा Mobile SSH नवे शेल उघडण्याऐवजी त्याच चालू शेलला पुन्हा जोडते. मोबाइल डेटा, Wi-Fi/सेल्युलर अदलाबदल आणि दीर्घकाळ चालणाऱ्या आज्ञांसाठी हे उत्तम बसते.

ET ला होस्टवर etserver प्रक्रिया लागते. सर्व्हरवर ती नसल्यास, Mobile SSH ती विद्यमान SSH कनेक्शनवरून तुमच्यासाठी स्थापित करून सुरू करू शकते — हाताने सर्व्हर सेटअप करण्याची गरज नाही. ET उपलब्ध झाल्यावर Eternal Terminal वाहतूक निवडून जोडा.

अतिरिक्त की ओळ

दोन्ही प्लॅटफॉर्म तेरा टर्मिनल कींची एक ओळ हाताशी ठेवतात — ज्या टच कीबोर्डवर गैरसोयीच्या किंवा मुळीच नसतात. 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 सारखी की दाबून धरल्यास ती पुन्हा-पुन्हा चालते.

कीबोर्ड वर्तन

टर्मिनल ऑन-स्क्रीन कीबोर्डशी नेटिव्ह पास-थ्रू जोडणी वापरते: तुम्ही टाइप करताच प्रत्येक अक्षर रिमोट शेलला पाठवले जाते, स्व-दुरुस्ती आणि भाकीत सूचना बंद असतात जेणेकरून कीबोर्ड शेलपर्यंत पोहोचण्यापूर्वी इनपुट कधीही पुन्हा लिहीत नाही. यामुळे Vim, tmux, htop, less, असामान्य की कॉर्ड्स वापरणारे शेल आणि रिमोट पासवर्ड प्रॉम्प्ट अंदाज करण्याजोगे राहतात — अक्षम करण्यासाठी कोणतीही सूचना बफर नाही.

सॉफ्ट-कीबोर्ड व्हॉइस डिक्टेशन तरीही चालते: बोललेला मजकूर इतर कोणत्याही टाइप केलेल्या इनपुटप्रमाणे थेट शेलला दिला जातो.

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

बाह्य आणि Bluetooth कीबोर्ड Android आणि iOS दोन्हींवर टर्मिनल थेट चालवतात. सामान्य अक्षरांव्यतिरिक्त, Mobile SSH बाण की, Home/End, PgUp/PgDn, Insert, Delete, Esc, फंक्शन की F1F12, Ctrl+की आणि Alt/Option-मेटा-म्हणून कॉर्ड्स, आणि Shift+Tab मॅप करते. मॉडिफायर की अतिरिक्त की ओळीच्या स्टिकी मॉडिफायरसह एकत्र होतात.

पेस्ट

विनंती करणाऱ्या प्रोग्राममध्ये (bash, Vim आणि इतर ब्रॅकेटेड-पेस्ट अ‍ॅप्स) पेस्ट करणे ब्रॅकेटेड-पेस्ट खुणांमध्ये गुंडाळले जाते, त्यामुळे बहु-ओळींची क्लिपबोर्ड सामग्री ओळ-ओळ आपोआप कार्यान्वित होण्याऐवजी मजकूर म्हणून घातली जाते. फक्त खरे पेस्ट गुंडाळले जातात; टाइप केलेला आणि बोललेला मजकूर तसाच राहतो.

निवडा, कॉपी करा, शेअर करा

तुमच्या बोटाखालील शब्द निवडण्यासाठी टर्मिनलच्या आत दीर्घकाळ दाबा, मग समायोजित करण्यासाठी हँडल्स ओढा. निवड टूलबार तीन क्रिया देतो:

टर्मिनलमध्ये शोधा

संपूर्ण टर्मिनल बफरमध्ये — स्क्रोलबॅक आणि दृश्यमान स्क्रीन — शोधा आणि जुळण्यांमध्ये उडी मारा. टर्मिनल नियंत्रणांमधून शोध उघडा, क्वेरी टाइप करा आणि जुळण्यांमधून पुढे जा. हे Android आणि iOS दोन्हींवर चालते.

रंग, इटॅलिक्स आणि रिमोट क्लिपबोर्ड

शेल एकत्रीकरण आणि इनलाइन प्रतिमा

स्वरूप आणि की

Android आणि iOS दोन्हींवर, Settings तुम्हाला टर्मिनल सानुकूल करू देते:

रीसेट आजची यादी गोठवण्याऐवजी अ‍ॅपसोबत आलेले डिफॉल्ट पुन्हा आणते, त्यामुळे पुढच्या आवृत्तीतील सुधारणाही तुमच्यापर्यंत पोहोचतात. बदल आधीच उघड्या असलेल्या पॅनना थेट लागू होतात.

स्क्रोलिंग

Mobile SSH टर्मिनल स्थितीनुसार स्क्रोल हावभाव मार्गस्थ करते:

Android वर, माउस-ट्रॅकिंग प्रोग्रामच्या आत केलेला टॅप त्या सेलवरील डावी क्लिक म्हणून पोहोचवला जातो, त्यामुळे htop, vim आणि क्लिक-टू-फोकस पॅन स्पर्शाला प्रतिसाद देतात. iOS वर त्याच प्रोग्राममधील टॅप क्लिक करण्याऐवजी कीबोर्ड वर आणतो; तिथे फक्त व्हील स्क्रोलिंग कळवले जाते.

मागे स्क्रोल केलेले असताना टाइप केल्यास, Mobile SSH थेट टर्मिनल दृश्याकडे परत येते.

tmux वर्तन

Mobile SSH बाहेर जाणाऱ्या tmux attach आणि new-session कमांड पाहते, जसे:

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

तुम्ही tmux मध्ये असताना कनेक्शन खंडित झाल्यास, अ‍ॅप त्या सर्व्हरच्या शेवटच्या tmux सत्राचे नाव लक्षात ठेवू शकते आणि पुन्हा-कनेक्शननंतर पुन्हा संलग्न होण्याचा प्रयत्न करू शकते. कोणतेही स्पष्ट सत्र नाव पाहिले नसले तरी अ‍ॅपला माहीत असेल की तुम्ही पर्यायी-स्क्रीन tmux-सदृश सत्रात होता, तर ते सामान्य tmux attach वापरून पाहू शकते.

हे वर्तन सर्वोत्तम-प्रयत्न आहे. रिमोट tmux सत्र आता अस्तित्वात नसल्यास, रिमोट शेल उपलब्ध राहते.

Tmux व्यवस्थापक

Mobile SSH मध्ये एक tmux व्यवस्थापक आहे, ज्यामुळे prefix कॉर्ड्स न टाइप करता तुम्ही tmux पाहू आणि नियंत्रित करू शकता. जोडलेल्या सत्रातून Tmux बटणाने तो उघडा. तो तीन विभागांत यादी दाखवतो:

व्यवस्थापकातून तुम्ही हे करू शकता:

ज्या सत्राचा एजंट इनपुटची वाट पाहत आहे त्यावर 🔔 दिसते, त्यामुळे थांबलेला Claude Code किंवा Codex एका नजरेत ओळखून त्याला attach होता येते. हे वरील reattach संकेतांना पूरक आहे: reattach तर्क पुन्हा जोडल्यावर तुमचे शेवटचे सत्र आपोआप परत आणतो, तर व्यवस्थापक तुम्हाला पूर्ण हाताने नियंत्रण देतो.

दोन्ही प्लॅटफॉर्म एकाच होस्टवरील एकापेक्षा अधिक tmux सर्व्हर (सॉकेट) देखील हाताळू शकतात, आणि सत्रे नावाने किंवा निर्मिती तारखेने क्रमवारी लावू शकतात.

Herdr आणि Zellij (Android)

Android इतर दोन मल्टिप्लेक्सरसाठी हीच कल्पना पुरवते. प्रत्येकाला स्वतःचे टूलबार चिन्ह मिळते, आणि सर्व्हरवर तो प्रोग्राम अ‍ॅपला प्रत्यक्षात सापडल्यावरच त्याचे चिन्ह दिसते — म्हणजे which न चालवता टूलबारच तुम्हाला तिथे काय स्थापित आहे ते सांगतो.

herdr किंवा Zellij स्थापित असूनही लॉगिन शेलच्या PATH वर नसल्यास, पृष्ठ ते जोडण्याची तयारी दाखवते.

प्रत्येक जतन केलेल्या सर्व्हरला एक Attach on connect सेटिंग आहे: Auto (detect), Nothing, tmux, herdr किंवा Zellij. Auto त्या सर्व्हरवर तुम्ही शेवटचे जे वापरले ते निवडते, मग ज्याची सत्रे चालू आहेत ते, मग जे स्थापित आहे ते — आणि सर्व्हरची तपासणी अद्याप झाली नसेल तर अंदाज बांधण्याऐवजी काहीही attach करत नाही.

iOS अ‍ॅप आज फक्त tmux पुरवते.

Agent alerts

रिमोट AI कोडिंग एजंट — Claude Code, Codex, Gemini — तुमच्यासाठी अडकून वाट पाहत असल्यास Mobile SSH तुम्हाला सांगते. ते तुमचा टर्मिनल आउटपुट वाचून अंदाज बांधत नाही. दोन मार्ग आहेत, आणि ते वेगवेगळ्या तपशील पातळीवर काम करतात.

घंटा

बॉक्समधून बाहेर पडताच, तुम्ही पाहत नसलेल्या सत्रातील टर्मिनल घंटा अलर्ट निर्माण करते, आणि अनेक साधने आधीच पाठवतात ते डेस्कटॉप-सूचना escape अनुक्रम (OSC 9, OSC 777) देखील. तुम्ही टाइप केल्यानंतर लगेच येणाऱ्या घंटा दुर्लक्षिल्या जातात, त्यामुळे नेहमीचा शेल पूर्णत्वाचा गोंगाट तुम्हाला त्रास देत नाही.

यासाठी काहीही सेटअप लागत नाही, पण अ‍ॅपला फक्त काहीतरी वाजले एवढेच कळते.

एजंट हुक

कोणता एजंट वाट पाहत आहे आणि तो काय करत आहे हे अ‍ॅपला कळावे यासाठी सर्व्हरवर एजंट हुक स्थापित करा:

हे त्या सर्व्हरवर ~/.mobile-ssh/agent-hook.sh येथे एक छोटी शेल स्क्रिप्ट लिहिते. ती एजंट-निरपेक्ष आहे — कोणत्याही एका विक्रेत्याचे स्वरूप वाचण्याऐवजी ती कमांड-लाइन आर्ग्युमेंट घेते — त्यामुळे आज्ञा चालवू शकणारी कोणतीही गोष्ट तिच्यामार्फत नोंद कळवू शकते. फाइल हटवणे म्हणजे स्वच्छ अनइन्स्टॉल.

एजंटने हुकमार्फत नोंद कळवल्यावर:

टाइप न करता उत्तर देणे

एजंट ठरावीक उत्तरांचा प्रश्न विचारतो तेव्हा अ‍ॅप एजंट यादीत प्रत्येक पर्यायासाठी एक बटण दाखवते — सहा पर्यायांपर्यंत. Android वर तुम्ही पॅन शीर्षलेखातील एजंट चिपवरही टॅप करू शकता.

तुमचे उत्तर सत्रात टाइप केले जात नाही. ते वेगळ्या वाहिनीवरून एका फाइलमध्ये लिहिले जाते आणि हुक ते उचलतो, त्यामुळे उत्तर दिल्याने स्क्रीनवर जे आहे ते बिघडू शकत नाही. प्रॉम्प्टने प्रत्यक्षात न दिलेला पर्याय पाठवण्यास अ‍ॅप नकार देते, आणि दरम्यान जोडणी तुटली असेल तर गुपचूप अपयशी होण्याऐवजी ते स्पष्टपणे सांगते.

सेटिंग्ज

दोन्ही प्लॅटफॉर्मवर अलर्ट डिफॉल्टनुसार चालू असतात, आणि सूचना, आवाज, कंपन तसेच तुम्ही सध्या पाहत असलेल्या सत्रानेही अलर्ट द्यावा का यासाठी स्वतंत्र बटणे आहेत.

एक डिफॉल्ट लक्षात ठेवण्यासारखा आहे: आवाज फक्त हेडफोनपुरता मर्यादित आहे. काहीही जोडलेले किंवा जोडी लावलेले नसल्यास, अलर्ट सूचना देतो आणि कंपन करतो, पण कोणताही स्वर वाजवत नाही. फोनच्या स्पीकरवर अलर्ट ऐकू यावा असे वाटत असल्यास ते बंद करा.

कोणतीही संवेदनशीलता सेटिंग नाही आणि आवाज निवडकर्ताही नाही — नियंत्रणे फक्त चालू/बंद आहेत.

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

Vim, less, htop, ncurses साधने आणि tmux पॅनसारख्या प्रोग्रामसाठी: