GUI के बिना कई "टर्मिनल" खोलें (प्रारंभ)


13

मुझे नहीं पता कि यदि शीर्षक स्वयं व्याख्यात्मक है, लेकिन मैं डेस्कटॉप शुरू करने के बिना कई (दो अब के लिए पर्याप्त होगा) टर्मिनल खोलना चाहता था।

मैं एक PHP स्क्रिप्ट चलाना चाहता हूं (पूर्णकालिक) और अभी भी अपने रास्पी टर्मिनल का उपयोग करने में सक्षम हो सकता हूं क्योंकि यह तब होता है जब मैं रास्पियन के साथ अपनी रास्पी शुरू करता हूं।


क्या आप ssh या अपने pi से सीधे जुड़ते हैं?
स्टीव इर्विन

नमस्ते, जो आप चाहते थे वह dvtm द्वारा प्रदान किया जा सकता है। brain-dump.org/projects/dvtm
cgte

जवाबों:


8

बस Alt + F1-F12 का उपयोग करें, इसलिए आपके पास GUI शुरू किए बिना 12 अलग कंसोल टैब हो सकते हैं


यह वास्तव में मेरे द्वारा वर्तमान में उपयोग किए जाने वाला विकल्प है :)
पसाडिनहास

1
यह रास्पियन पर काम नहीं करता है, किसी भी अन्य ttys पर कोई लॉगिन नहीं है।
आंद्रेकेआर

9

यदि आप कंसोल (संलग्न कीबोर्ड और स्क्रीन) पर हैं, तो आपको F12 के माध्यम से (ctrl-) alt-F1 का उपयोग करके और शिफ्ट के साथ कई टर्मिनलों के बीच लिनक्स वर्चुअल कंसोल सिस्टम का उपयोग करने में सक्षम होना चाहिए ।

कॉन्फ़िगर किए गए टर्मिनलों की संख्या और उनमें गेटी प्रक्रिया होने की संख्या (जो आपको लॉगिन और पासवर्ड के लिए पूछती है) कॉन्फ़िगरेशन पर निर्भर करती है


2
+1 क्योंकि मशीन से सीधे जुड़े होने पर, यह एक और लॉगिन पाने के लिए "मानक" तरीका है, और स्क्रीन / tmux स्थापित करने की आवश्यकता नहीं है ..
Kiirani

7

इससे भी बेहतर screen(मेरी राय में) है tmux। आप इसके माध्यम से स्थापित कर सकते हैं sudo apt-get install tmux। इसके साथ मैनपेज भी देखें man tmux

आप इसे tmuxअपने किसी कंसोल (XTL का जवाब देखें) पर टाइप करके शुरू कर सकते हैं।

यहां सबसे महत्वपूर्ण कमांड हैं ( C-b dमतलब: प्रेस नियंत्रण और बी एक ही समय में, फिर डी दबाएं):

  • C-b d अलग करने का सत्र
  • tmux attach चल रहे सत्र को फिर से संलग्न करने के लिए शेल पर
  • C-b " वर्तमान फ्रेम को क्षैतिज रूप से विभाजित करें (नया शेल शुरू किया गया है)
  • C-b % वर्तमान फ्रेम को लंबवत रूप से विभाजित करें (नया शेल शुरू किया गया है)
  • C-b arrow (up, down, left, right) वर्तमान फ्रेम में खिड़कियों के बीच नेविगेट करें
  • C-b c नया फ्रेम (नया शेल शुरू किया गया है)
  • C-b n अगले फ्रेम
  • C-b l अंतिम फ्रेम
  • C-b bC-bचल रहे एप्लिकेशन को भेजें

यहाँ tmux के लिए मजबूत अधिवक्ता, भी। स्टेटस लाइन कॉन्फ़िगरेशन बहुत अधिक सरल है और यह बेहतर तरीके से रीडर्स को हैंडल करता है।
कोडी

1
ध्यान दिया जाना चाहिए कि tmux में सत्र को कई वीटी ("स्क्रीन -x") के साथ संलग्न करने के संबंध में स्क्रीन के समान व्यवहार नहीं है
Kiirani

3

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

स्क्रीन ट्यूटोरियल के लिए कुछ लिंक:

http://www.rackaid.com/resources/linux-screen-tutorial-and-how-to/

http://magazine.redhat.com/2007/09/27/a-guide-to-gnu-screen/

कुछ उपयोगी के साथ एक धागे के लिए लिंक .rcrc युक्तियाँ:

https://bbs.archlinux.org/viewtopic.php?id=55618

रास्पबेरी पाई विशिष्ट ट्यूटोरियल:

http://raspi.tv/2012/using-screen-with-raspberry-pi-to-avoid-leaving-ssh-sessions-open


3
  1. यदि php स्क्रिप्ट जिसे आप चलाना चाहते हैं, वह उपयोगकर्ता के साथ इंटरैक्ट नहीं करता है या इनपुट की आवश्यकता नहीं है,

    आप उस &कमांड का उपयोग कर सकते हैं जो स्क्रिप्ट को पृष्ठभूमि में भेजता है

    यहाँ एक उदाहरण है।

    pi@raspberrypi ~ $php code1 &
    

    यह स्क्रिप्ट को बैकग्राउंड में भेज देगा जहां वह चलता रहेगा।

  2. यदि आप अपने टर्मिनल में ssh करते हैं, तो आप एक ही उपयोगकर्ता में दो बार ssh कर सकते हैं और दो टर्मिनल लगा सकते हैं।

  3. यदि आप ssh सत्र से कई टर्मिनल खोलना चाहते हैं,

    आपको स्क्रीन को देखना चाहिए या उससे भी बेहतर इंस्टॉल करना चाहिए byobuजो स्क्रीन के चारों ओर एक आवरण है।

    बायोबू एक रैपर है जो आसानी से ctrl-a से कुंजी संयोजन के बजाय एक साधारण फ़ंक्शन कुंजी के साथ नई स्क्रीन खोलने की अनुमति देता है। यह सभी खुले आभासी टर्मिनलों के साथ एक स्थिति रेखा भी दिखाता है जिसे नाम दिया जा सकता है।

    एक और अच्छी विशेषता यह है कि आपके ssh कनेक्शन के डिस्कनेक्ट होने के दौरान आपकी सारी स्क्रीन ऊपर रह सकती है। आप बस ssh और कॉल बायोबू के माध्यम से फिर से कनेक्ट करें और सब कुछ पहले की तरह है।

आशा करता हूँ की ये काम करेगा।


2

पूर्णता के लिए, दूसरा विकल्प बायोबू का उपयोग करना है । यह GNU स्क्रीन के शीर्ष पर एक सुविधाजनक परत है । यह अच्छी चूक प्रदान करता है और इसका उपयोग करना मेरे लिए आसान है। मैं व्यक्तिगत रूप से अपने Rapsberry Pi पर इसका उपयोग करता हूं और यह ठीक काम करता है। इसे स्थापित करने के लिए, बस टाइप करें:

$ sudo apt-get install byobu

एक बार स्थापित होने के बाद, इसे कॉन्फ़िगर करें:

$ byobu-config

लॉग-इन, और स्टेटस नोटिफिकेशन एप्लेट्स ( अपटाइम, लोड, डेट ... ) टॉगल करने पर आप इसे अपने आप शुरू करने का विकल्प चुन सकते हैं।

यहाँ छवि विवरण दर्ज करें

एक साइड नोट के रूप में, इस तरह का वर्चुअल कंसोल विभिन्न मशीनों पर अलग-अलग उपयोगकर्ताओं के बीच समान कंसोल इनपुट / आउटपुट साझा करने के लिए उपयोगी है (आप इसे टेक्स्ट मोड स्क्रीन शेयरिंग कह सकते हैं )।


मैंने दूसरे दिन बायबॉउ की कोशिश की और खुश नहीं था। फ़ंक्शन कुंजियों के माध्यम से नियंत्रण बहुत परतदार था। OS X पर काम नहीं किया, डेबियन के तहत भी समस्या थी। मैं tmux और उसके आदेशों के साथ रहूँगा। फ़ंक्शन कुंजियाँ mc (मिडनाइट कमांडर) से भी टकराती हैं।
Arne

Mc के साथ फ़ंक्शन कुंजी संघर्ष के लिए , आप उन्हें बायोबू पर बदल सकते हैं (आप आसानी से दो अलग-अलग मोड के बीच चयन कर सकते हैं byobu-config)।
लॉरेंट ग्रैगोइरे

2

चूंकि आपकी मूल आवश्यकता पृष्ठभूमि में PHP स्क्रिप्ट लॉन्च करने के लिए थी, इसलिए आप कमांड का उपयोग कर सकते हैं nohup। उदाहरण:

$ nohup php myscript.php &

एक बार शुरू होने के बाद, कमांड-लाइन तर्क के रूप में निर्दिष्ट कमांड को पृष्ठभूमि मेंnohup निष्पादित किया जाता है , और इसके इनपुट / आउटपुट को टर्मिनल से अनलिंक किया जाता है, जिसने SIGHUPसिग्नल को रोकने के लिए इसे शुरू किया था (इसलिए nohupनाम) जब पृष्ठभूमि प्रक्रिया को भेजा जाना है आपने शुरुआती कंसोल को छोड़ दिया (सिग्नल आमतौर पर प्रोग्राम को छोड़ने का कारण बनता है)। आउटपुट को फ़ाइल (डिफ़ॉल्ट nohup.out) पर पुनर्निर्देशित किया जाता है ।

अधिक जानकारी के लिए: man nohup

एक बेहतर और अधिक पूर्ण उत्तर के लिए, आप अपने प्रोग्राम को पूरी तरह से "डीमॉनेटाइज़" करना चाह सकते हैं । आप संभवतः वेब पर संसाधन पा सकते हैं जो यह समझाते हैं कि इसे PHP स्क्रिप्ट के साथ कैसे किया जाए।


कुछ गोले (बाश, zsh?) भी disownचयनित पृष्ठभूमि प्रक्रियाओं को लटकने से रोकने के लिए एक आदेश है।
XTL
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.