लॉग-इन के बाद सूक्ति-टर्मिनल पर स्वचालित रूप से कमांड कैसे चलाएं?


11

प्रत्येक लॉगिन के बाद, कुछ कमांड्स हैं जो मैं गनोम-टर्मिनल के विशिष्ट टैब पर चलाता हूं। यह एक थकाऊ प्रक्रिया है, तो क्या यह स्वचालित रूप से किया जा सकता है?

जवाबों:


5

हां वहां एक रास्ता है। आपको कुछ प्रोफ़ाइल के साथ टैब लॉन्च करने के लिए सूक्ति-टर्मिनल बताने की आवश्यकता है; ये प्रोफ़ाइल आपके इच्छित कमांड के साथ एक शेल शुरू करने के लिए सेटअप होनी चाहिए।

सबसे पहले, आपको एक स्क्रिप्ट (या लॉन्चर आइकन) बनाने की आवश्यकता है जो शुरू हो जाएगी gnome-terminal --tab-with-profile=Dev। "देव" आपके द्वारा बनाई गई एक प्रोफ़ाइल का नाम है, इसलिए जो आप चाहते हैं उसे बदल दें। इसके अलावा, आप जितने चाहें उतने --tab-with-profileएस निर्दिष्ट कर सकते हैं: यह प्रत्येक के लिए एक टैब खोल देगा।

अब, आपको उस प्रोफाइल की आवश्यकता है जिसे आपने अभी संदर्भित किया है। यह मेनू में खुलने gnome-terminal, और खोजने के द्वारा बनाया गया है Edit->Profiles...। एक नया प्रोफ़ाइल बनाएं और उसे पिछले चरण में निर्दिष्ट नाम दें। अगला, आपको इसकी प्राथमिकताएं निर्धारित करने की आवश्यकता है। नई बनाई गई प्रोफ़ाइल को हाइलाइट करें और संपादन बटन पर क्लिक करें। जब प्रोफ़ाइल वरीयताएँ संवाद ऊपर होता है, तो "शीर्षक और कमांड" टैब को सक्रिय करें, "एक कस्टम कमांड चलाएँ ..." और संबंधित पाठ बॉक्स में डाल दें sh -c "ENV=$HOME/.dev_profile sh"। बेशक, आप ईएनवी को अपने इच्छित पथ पर सेट कर सकते हैं, जब तक कि आप अगले चरण में संगत हों। यह sh शुरू होता है, और जो कुछ भी कमांड होता है उसे sh निष्पादित करेगा$HOME/.dev_profile

इसके बाद, आपको वह शेल प्रोफ़ाइल फ़ाइल बनाने की आवश्यकता है। इसलिए $ HOME / .dev_profile (या जो भी फ़ाइल आपने पिछले चरण में निर्दिष्ट की है) को संपादित करें। वहां जो कुछ भी आदेश चाहते हैं उसे रखें; शेल शुरू होने पर उन्हें निष्पादित किया जाएगा। इस तरह से व्यवहार करें जैसे आप .bashrc - यह इसे बदल देगा। आपकी .bashrc सेटअप कैसे है, इस पर निर्भर करते हुए, आप source $HOME/.bashrcअपने सामान्य श प्रोफाइल से अधिक कार्यक्षमता को कॉपी करने के लिए प्रोफ़ाइल में चाहते हो सकते हैं ।


3
वैसे, मैं इसके बजाय tmux या GNU स्क्रीन की अत्यधिक अनुशंसा करूंगा। वे टर्मिनल मल्टीप्लेक्सर हैं जो इस तरह की चीज़ के लिए सेटअप करना थोड़ा आसान है, और आप उन्हें एक ssh कनेक्शन पर उपयोग कर सकते हैं। एकमात्र नुकसान यह है कि आपके पास क्लिक करने के लिए उनके पास टैब नहीं हैं, लेकिन आप उन विंडोज़ या सत्रों की एक मेनू सूची प्राप्त कर सकते हैं, जिन्हें आप ऊपर और नीचे नेविगेट कर सकते हैं और एक पर स्विच कर सकते हैं। उनके पास अन्य फैंसी विकल्प भी हैं जैसे स्प्लिट-स्क्रीन, गतिविधि / निष्क्रियता मॉनिटर, और बिना टर्मिनल संलग्न किए सत्र को खुला रखने की क्षमता।
शॉन जे। गोफ

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

@ गिल्स: या स्क्रीन को स्क्रॉल करना आसान है: यह आपके काम करने के तरीके पर निर्भर करता है। मुझे यकीन नहीं है कि आप दो खिड़कियों के बारे में क्या सोचते हैं - मैं यह हर समय करता हूं: ^ ए एस ^ ए <टैब> ^ एसी
शॉन जे। गोफ

2
हाँ, टैब बार पर डबल क्लिक करने की तुलना में बहुत सरल है
फल्म्रीरी

2
@Falmarri: वास्तव में यह है। मैं माउस को पर्याप्त रूप से स्पर्श करता हूं कि ऑप्टिकल सेंसर स्वयं बंद हो जाता है इसलिए मुझे कुछ भी क्लिक करने से पहले लगभग 1.5 सेकंड के लिए इसे चारों ओर लहराना होगा। (इसका उल्लेख नहीं करने का मतलब है कि कीबोर्ड से मेरा हाथ हिलाना और फिर से कीबोर्ड पर घर की लोकेशन का पता लगाना।)
Shawn J. Goff

7

आप --tab-with-profileकई बार विकल्प निर्दिष्ट करके एक ही सूक्ति-टर्मिनल कमांड लाइन पर कई कमांड शुरू कर सकते हैं , हर बार एक ही -eनिर्दिष्ट करके उस टैब में क्या कमांड चलाएं। आप --window-with-profileकई विंडो का उपयोग कर सकते हैं । उदाहरण के लिए, निम्न कमांड प्रत्येक दो टैब के साथ दो विंडो शुरू करता है; पहली विंडो प्रत्येक टैब में बैश चलती है, पर्यावरण चर TABको 1 या 2 पर सेट करती है; दूसरी विंडो htopएक टैब iotopमें और दूसरे टैब में चलती है । shसही उद्धरण के साथ स्पष्ट आह्वान, किसी कारण से आवश्यक है।

gnome-terminal --tab-with-profile="Default" -e 'sh -c '\''export TAB=1; exec bash'\' \
               --tab-with-profile="Default" -e 'sh -c '\''export TAB=2; exec bash'\' \
               --window-with-profile="Default" -e 'htop' \
               --tab-with-profile="Default" -e 'iotop'

यदि आप लॉग इन करते समय चलाना चाहते हैं, तो इसे एक शेल स्क्रिप्ट में डालें (उदाहरण के लिए ~/bin/my_gnome_login_commands, और इसे Gnome मेनू में "सिस्टम / प्राथमिकता / स्टार्टअप एप्लिकेशन" में पंजीकृत करें। वैकल्पिक रूप से, एक फ़ाइल ~/.config/autostart/my_commands.desktopयुक्त बनाएं।

[Desktop Entry]
Type=Application
Exec=/home/tshepang/bin/my_gnome_login_commands
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true

(आपको अपने होम डाइरेक्टरी के पूर्ण पथ का उपयोग Exec=लाइन पर करना चाहिए , आप उपयोग नहीं कर सकते ~।)

(यह जवाब Ubuntu 10.04 पर Gnome 2.30 के साथ परीक्षण किया गया है। जैसा कि Gnome कभी-कभी संगतता तोड़ता है, यह अन्य संस्करणों पर लागू हो सकता है या नहीं भी हो सकता है।)


0

मैं यहां बहुत सारी चीजें देख रहा हूं। शायद आपको इसके लिए किसी चीज की जरूरत नहीं है।

ये वे चरण हैं जो मैंने अपने Oracle 5.9 लिनक्स में किए थे:

  1. अपने डेस्कटॉप में एक गनोम-टर्मिनल आइकन बनाएं।
  2. अपना सूक्ति-टर्मिनल खोलें।
  3. एडिट -> प्रोफाइल पर जाएं।
  4. अपनी डिफ़ॉल्ट प्रोफ़ाइल चुनें और संपादित करें पर क्लिक करें।
  5. "शीर्षक और कमांड" टैब में जाएं।
  6. "लॉगिन शेल के रूप में रन कमांड" विकल्प चुनें।
  7. क्लोज बटन पर क्लिक करें।

इसने मेरे लिए काम किया। बेशक, मेरे मामले में, मैं सिर्फ अपने टर्मिनल वातावरण की स्थापना के लिए .profile चलाना चाहता हूं।

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