Berth उपयोगकर्ता मार्गदर्शिका

SFTP · टर्मिनल · सीरियल कंसोल, एक ही विंडो में — सर्वर जोड़ने से लेकर शॉर्टकट तक

🚀शुरुआत करना

स्क्रीन संरचना

एक ही विंडो में चार जगहें हैं।

पहला सर्वर जोड़ना

  1. साइडबार की ख़ाली जगह पर राइट-क्लिक करें या ⌘N दबाएँ।
  2. नाम और सर्वर पता लिखें। यूज़रनेम · पोर्ट ख़ाली छोड़ने पर डिफ़ॉल्ट मान इस्तेमाल होता है।
  3. सूची में दो बार क्लिक करने पर कनेक्ट होता है। एक बार क्लिक चुनना है।
💡 अगर पहले से टर्मिनल में ssh alias से कनेक्ट होने वाला सर्वर है, तो नया कुछ नहीं लिखना है। साइडबार मेनू के ~/.ssh/config से आयात करें(⌘⇧I) से एक साथ ले आएँ। FileZilla साइट सूची भी आयात की जा सकती है।

भाषा बदलना

मेन्यू के Berth › सेटिंग्स(⌘,) में जाकर 20 भाषाओं में से एक चुनें। डिफ़ॉल्ट सिस्टम भाषा के अनुसार चलता है, और चुनी गई भाषा सिर्फ़ इस ऐप पर लागू होती है। बदलने के बाद ऐप को दोबारा शुरू करने पर यह लागू होती है।

🗂सर्वर और फ़ोल्डर

फ़ोल्डर में समूहित करना और आगे देना

फ़ोल्डर(⌘⇧N) में सर्वर बांधने पर सेटिंग्स नीचे तक चली जाती हैं। फ़ोल्डर पर एक बार यूज़रनेम या सावधानी ग्रेड लगाने पर उसके नीचे के सभी सर्वर उसी को मानते हैं। बीस सर्वरों में एक ही मान बीस बार न लिखना पड़े, इसलिए यह सुविधा है।

सेटिंग्स विंडो का हर फ़ील्ड नीचे यह बताता है कि वह मान कहाँ से आया है (खुद तय किया है, या किसी फ़ोल्डर से विरासत में मिला है), और वापस लाने वाला बटन विरासत में मिले मान पर लौटा देता है।

सावधानी ग्रेड — डेवलपमेंट · स्टेजिंग · प्रोडक्शन

टियर रंग से ऊपर है। प्रोडक्शन पर सेट करने पर जोखिम भरी क्रियाओं से पहले अतिरिक्त पुष्टि माँगी जाती है। सत्र सूची में यह आपके चुने रंग से भरा जाता है और लाल किनारे से चिह्नित होता है, इसलिए कई प्रोडक्शन सर्वरों को रंग से पहचाना जा सकता है। जहाँ एक बार में एक ही दिखता है (पुष्टि संवाद आदि), वहाँ यह कड़ी चेतावनी के लिए लाल रहता है।

क्लिक के नियम

🔑कनेक्शन और प्रमाणीकरण

पहली बार कनेक्ट करते समय — फ़ोल्डर अनुमति

Berth App Store के नियम (सैंडबॉक्स) मानता है, इसलिए होम फ़ोल्डर को मनमाने ढंग से नहीं पढ़ता। पहली बार सर्वर खोलते समय SSH सेटिंग्स · कुंजी · known_hosts वाला फ़ोल्डर (आमतौर पर ~/.ssh) एक बार चुनने के लिए कहा जाता है। एक बार चुनने पर यह याद रखा जाता है और दोबारा नहीं पूछा जाता। अगर कुंजी कहीं और रखी है, तो होम फ़ोल्डर भी चुना जा सकता है।

लोकल फ़ाइल पैनल भी उसी वजह से आपके चुने हुए फ़ोल्डर को जड़ के रूप में इस्तेमाल करता है — पैनल के हेडर में लोकल फ़ोल्डर खोलें से इसे बदला जा सकता है, और यह भी याद रखा जाता है।

~/.ssh/config पढ़ता है

alias से कनेक्ट करने पर उस एंट्री का होस्ट · पोर्ट · यूज़रनेम · कुंजी फ़ाइल · ProxyJump · StrictHostKeyChecking पढ़कर इस्तेमाल किया जाता है। सहेजा हुआ पोर्ट पुराना हो तब भी सेटिंग्स फ़ाइल ही मान्य होती है।

⚠️ दो चीज़ें नहीं होतीं। ProxyCommand बाहरी प्रोग्राम चलाने की सुविधा है, इसलिए सैंडबॉक्स में यह रोक दी जाती है — जंप होस्ट के लिए ProxyJump लिखें। ssh-agent तक भी नहीं पहुँचा जा सकता, इसलिए कुंजी फ़ाइल सीधे पढ़ी जाती है, और पासवर्ड-सुरक्षित कुंजी के लिए कनेक्ट करते समय पासवर्ड माँगा जाता है।

प्रमाणीकरण तरीका

⚠️ अगर टर्मिनल में सीधे ssh से कनेक्ट होने वाला सर्वर है, तो ऑटोमैटिक ही सही है। मदद मिलेगी सोचकर कुंजी तय कर दी जाए, तो कनेक्शन उल्टा रुक जाता है — क्योंकि सिर्फ़ वही तय की गई कुंजी आज़माई जाती है।

जब सर्वर से अनुरोध आए

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

बार-बार पासवर्ड न टाइप करने के लिए

सर्वर पर राइट-क्लिक करके इस सर्वर पर सार्वजनिक कुंजी पंजीकृत करें… चुनने पर ~/.ssh की सार्वजनिक कुंजी सर्वर पर अपलोड कर दी जाती है। अगली बार से कुंजी से कनेक्शन होगा।

सहेजे गए पासवर्ड सिर्फ़ macOS Keychain में रहते हैं। सेटिंग्स फ़ाइल में सिर्फ़ "सहेजा हुआ है" का निशान रहता है, मान नहीं जाता।

अनजान सर्वर, बदली हुई होस्ट कुंजी

पहली बार जुड़ने वाला सर्वर कुंजी का प्रकार और फ़िंगरप्रिंट दिखाकर याद रखने के लिए पूछता है। याद रखने पर ~/.ssh/known_hosts में ssh जैसे ही रूप में लिखा जाता है और अगली बार नहीं पूछा जाता।

सर्वर की पहचान पिछली बार से अलग होने पर भी यह दिखता है। यह मैन-इन-द-मिडिल हमला भी हो सकता है, या सर्वर को दोबारा इंस्टॉल किया गया भी हो सकता है। Berth खुद फ़ैसला नहीं करता, बल्कि जानकारी देता है — पुरानी/नई कुंजी का प्रकार और फ़िंगरप्रिंट, और डिवाइस कंसोल पर सीधे मिलाने के लिए कमांड तक। पुष्टि करने के बाद "पुरानी कुंजी मिटाएँ और नई कुंजी याद रखें" दबाने पर पुरानी एंट्री मिटाकर (known_hosts.old में बैकअप लेकर) नई कुंजी लिखी जाती है।

💡 बार-बार दोबारा फ़्लैश होने वाले डेवलपमेंट बोर्ड जैसे उपकरण, जिनमें हर बार यह विंडो दिखती है, उनके लिए सर्वर सेटिंग्स में होस्ट कुंजी याद न रखें चालू किया जा सकता है। जोखिम सिर्फ़ उसी एक डिवाइस तक सीमित रहे, इसलिए known_hosts को नहीं छुआ जाता। प्रोडक्शन ग्रेड में यह चालू नहीं होता।

फ़ाइल पैनल (SFTP)

अपलोड और डाउनलोड करना

बाईं ओर आपका मैक है, दाईं ओर सर्वर। खींचकर छोड़ें या ⌥⌘→(अपलोड) · ⌥⌘←(डाउनलोड) से भेजें। प्रगति ट्रांसफ़र लाइन में जमा होती जाती है।

टर्मिनल को फॉलो करने वाला फ़ाइल पैनल

टर्मिनल में cd करने पर रिमोट पैनल उसी फ़ोल्डर में साथ चला आता है। यह साथ आना रुकावट लगे तो ⌘⇧L से बंद करें।

पसंदीदा जगहें · दृश्य

अंतर देखना

⌘⇧Y से चालू करने पर लोकल और रिमोट को साथ-साथ मिलाकर अलग चीज़ें · सिर्फ़ एक तरफ़ मौजूद चीज़ें को दिखाया जाता है। सिर्फ़ ज़रूरी चीज़ें भेजनी हों तब इस्तेमाल करें।

🌏 मैक और लिनक्स कोरियाई · जापानी · वियतनामी फ़ाइल नामों को अलग-अलग बाइट में लिखते हैं। Berth जोड़ी बनाते समय ही नाम मिलाकर देखता है, इसलिए एक जैसी दिखने वाली फ़ाइल "सिर्फ़ एक तरफ़ मौजूद" के रूप में नहीं बंटती। असल ट्रांसफ़र में सर्वर पर मौजूद नाम वैसे का वैसा इस्तेमाल होता है।

मिटाना

⌘⌫ डिफ़ॉल्ट रूप से सर्वर की ओर के ट्रैश में ले जाता है और हमेशा पुष्टि माँगता है। ट्रैश बंद वाले सर्वर पर पहले ही बता दिया जाता है कि यह वापस नहीं लाया जा सकता।

⌨️टर्मिनल

vim · tmux · less जो सचमुच वैसे ही चलते हैं, ऐसा असली शेल है। माउस से खींचकर चुनें और ⌘C से कॉपी करें — कमांड लाइन के आख़िर की फालतू ख़ाली जगह के बिना साफ़-सुथरा पेस्ट होता है।

पेस्ट की पुष्टि

कई लाइनें पेस्ट करने पर क्या चलेगा यह पहले दिखाया जाता है। लाइन-ब्रेक वाला पेस्ट वहीं कमांड बन सकता है, इसीलिए। ख़तरनाक लगने वाली चीज़ों को कारण सहित दिखाया जाता है।

बड़ा करके देखना

⌘↩ से मौजूदा हिस्से को बड़ा करें और दोबारा दबाकर वापस लौटें। ⌥⌘↩ सिर्फ़ एक पैनल को बड़ा करता है। फ़ॉन्ट साइज़ के लिए ⌘+ · ⌘- · ⌘0 हैं। टर्मिनल को ⌘L से साफ़ करें — स्क्रीन और स्क्रॉलबैक मिट जाते हैं, केवल मौजूदा प्रॉम्प्ट पंक्ति रहती है।

🔌सीरियल कंसोल (UART)

डिवाइस चुनना

⌃⌘N से सीरियल कंसोल जोड़ें, और सेटिंग्स में लगा हुआ डिवाइस चुनें। Berth पथ नहीं बल्कि डिवाइस को याद रखता है — सीरियल नंबर हो तो उससे, न हो तो प्रकार से। किसी दूसरे USB स्लॉट में लगाने पर भी वही डिवाइस ढूँढ लिया जाता है।

💡 वह सीरियल नंबर USB से पहचाने जाने वाले डिवाइस का होता है। USB-सीरियल अडैप्टर इस्तेमाल करने पर असल में अडैप्टर ही याद रखा जाता है, इसलिए अडैप्टर बदलने पर फिर से चुनना होगा।

स्पीड और लाइन सेटिंग्स

स्पीड सूची से चुनी जा सकती है या सीधे टाइप की जा सकती है (1,500,000 जैसा मानक से बाहर का मान भी चलेगा — बस अडैप्टर के स्वीकार करने लायक होना चाहिए)। डिफ़ॉल्ट 8N1 · फ़्लो कंट्रोल नहीं है, ज़्यादातर कंसोल यही इस्तेमाल करते हैं।

⚠️ फ़्लो कंट्रोल के बिना UART में लगातार · बड़ी मात्रा में संचार के दौरान डिवाइस का भेजना रुक जाने की स्थिति बन सकती है। यह सिर्फ़ इस ऐप की समस्या नहीं बल्कि लाइन की अपनी ख़ासियत है (उसी केबल पर दूसरे प्रोग्राम में भी ऐसा ही होगा), मूल हल यह है कि 4-तार केबल में फ़्लो कंट्रोल चालू करें या बोर्ड की स्पीड घटाएँ।

लॉग

सीरियल सेशन में आपके टाइप किए कमांड और उनके जवाब समय के साथ दाईं ओर जमा होते जाते हैं। पासवर्ड पूछे जाने वाली जगह का इनपुट छिपा दिया जाता है।

शॉर्टकट

ऐप के शॉर्टकट में हमेशा शामिल रहता है। · वाले संयोजन शेल और TUI (vim · tmux) के लिए हैं, इसलिए ऐप इन्हें नहीं लेता।

⌨️ माउस की ज़रूरत नहीं। यहाँ हर काम के लिए शॉर्टकट है — उनके लिए जो हाथ कीबोर्ड पर ही रखना चाहते हैं।
कुंजीकाम
⌘N · ⌃⌘N · ⌘⇧Nसर्वर जोड़ें · सीरियल कंसोल जोड़ें · फ़ोल्डर बनाएँ
⌘I · ⌘⇧Iइस सर्वर की सेटिंग्स · ~/.ssh/config से आयात करें
⌘Kकहाँ जाना है — नाम से ढूँढकर सीधे पहुँचें
⌘1⌘9सेशन बदलें
⌃⌘← पैनल के बीच जाएँ
⌘↩ · ⌥⌘↩बड़ा करें / वापस लौटें · सिर्फ़ इस पैनल को बड़ा करें
⌘⇧S · ⌥⌘↑ ⌥⌘↓साइडबार · डिवाइडर खिसकाएँ
⌥⌘→ · ⌥⌘←अपलोड · डाउनलोड
⌘D · ⌘R · ⌥⌘Nपिन लगाएँ/हटाएँ · फिर से पढ़ें · नया फ़ोल्डर
⌘↓ · ⌘↑ · ⌥⌘Tगहराई में जाएँ · वापस लौटें · ट्री↔सूची
⌘⌫ · ⌘⇧Fरिमोट से मिटाएँ · सर्वर पर खोजें
⌘⇧V · ⌘⇧L · ⌘⇧Yपथ टर्मिनल में · टर्मिनल फॉलो करना · अंतर दिखाना
⌘+ ⌘- ⌘0 · ⌘⇧Wफ़ॉन्ट साइज़ · इस सेशन को बंद करें
⌘L · ⌘] ⌘[टर्मिनल साफ़ करें · दायाँ पैनल टैब बदलें
⌘C · ⌘⇧P · ⌘⇧U · ⌘?कॉपी · रिकॉर्ड में रखें · मैनिफ़ेस्ट पुनः भेजें · उपयोगकर्ता गाइड

अक्सर पूछे जाने वाले सवाल

पासवर्ड कहाँ सहेजा जाता है?

सिर्फ़ macOS Keychain में सहेजा जाता है। सेटिंग्स फ़ाइल में सिर्फ़ "सहेजा हुआ है" का निशान रहता है। Keychain कनेक्ट होने के पल में सिर्फ़ एक बार खोला जाता है।

क्या इस्तेमाल का रिकॉर्ड इकट्ठा किया जाता है?

नहीं। ऐप के अंदर किसी तरह की ट्रैकिंग नहीं है। क्या खोला जा रहा है, कहाँ कनेक्ट किया जा रहा है — कुछ भी नहीं गिना जाता।

सीरियल कंसोल बीच में रुक जाता है।

फ़्लो कंट्रोल के बिना UART पर बड़ी मात्रा में संचार करने से बनने वाली लाइन की ख़ासियत है। 4-तार केबल हो तो सेटिंग्स में फ़्लो कंट्रोल (RTS/CTS) चालू करें, और 3-तार हो तो बोर्ड की स्पीड घटाएँ या आउटपुट को हिस्सों में बाँटकर भेजें।

क्या पहले से इस्तेमाल हो रही SSH सेटिंग्स फिर से लिखनी होंगी?

नहीं। ~/.ssh/config से आयात करने पर alias से वैसे का वैसा कनेक्ट होता है, और उस एंट्री का होस्ट · पोर्ट · यूज़रनेम · कुंजी · ProxyJump पढ़कर इस्तेमाल किया जाता है।

मेरी सेटिंग में ProxyCommand इस्तेमाल होता है।

ProxyCommand बाहरी प्रोग्राम चलाने की सुविधा है, इसलिए App Store के सैंडबॉक्स में इस्तेमाल नहीं किया जा सकता। जंप होस्ट से होकर जाने वाली सेटिंग हो तो ProxyJump में बदलने पर वैसे ही काम करता है। ssh-agent भी उसी वजह से इस्तेमाल नहीं होता, कुंजी फ़ाइल सीधे पढ़ी जाती है और पासवर्ड-सुरक्षित कुंजी के लिए कनेक्ट करते समय पासवर्ड माँगा जाता है।

कौन-सा macOS वर्शन सपोर्ट होता है?

macOS 14 (Sonoma) या उसके बाद का वर्शन, Apple Silicon और Intel दोनों पर चलता है।

अगर यह मददगार लगा

Berth मुफ़्त है। सहयोग करें से डेवलपमेंट में मदद की जा सकती है।