2010-12-16 25 views
17

अपने दिए गए आदेश से बाहर निकलने के बाद आप gnome-terminal को बाहर निकलने से कैसे रोकते हैं?निष्पादन के बाद बाहर निकलने से जीनोम टर्मिनल को रोकें

मैं उपयोगकर्ता के लिए टर्मिनल सुलभ बनाने के लिए, क्रोनबॉज से gnome-terminal को कॉल कर रहा हूं। टर्मिनल को शुरू में चलाने के लिए एक विशिष्ट कार्यक्रम दिया जाता है। जैसे

gnome-terminal --tab -e "/usr/bin/myprog" 

यह ठीक काम करता है, सिवाय इसके कि जब "myprog" निकलता है, तो gnome-terminal भी करता है। मैं इसे कैसे चलाना जारी रखता हूं, लेकिन टर्मिनल प्रॉम्प्ट पर वापस आ जाता हूं?

+6

ही समस्या का एक और चर्चा: http://stackoverflow.com/प्रश्न/3512055/से बचें-gnome-terminal-close-after-script-execution –

+1

@Ignacio, यह एक आम शब्द है। Google इसके लिए 100k से अधिक परिणाम दिखाता है ... – Cerin

+0

@Ignacio, शब्द "खोल" और "टर्मिनल" आमतौर पर समानार्थी होते हैं। यदि आपकी शब्दावली या तकनीकी वातावरण अलग है, ठीक है। गलतफहमी के लिए खेद है। – Cerin

उत्तर

21

इस प्रयास करें:

gnome-terminal --tab -e "/bin/bash -c '/usr/bin/myprog; exec /bin/bash -i'" 
+0

बहुत सरल है। धन्यवाद। – Cerin

3

इस तरह एक खोल स्क्रिप्ट बनाएँ:

#!/bin/bash 
# myprog-wrapper.sh - runs /usr/bin/myprog and then starts a new bash session 
/usr/bin/myprog 
/bin/bash 

दें खोल स्क्रिप्ट अनुमति निष्पादित।

फिर सीधे कॉल myprog के बजाय इस स्क्रिप्ट कॉल करने के लिए अपने क्रॉन जॉब की स्थापना:

gnome-terminal --tab -e "/path/to/myprog-wrapper.sh" 

अपनी पसंद के खोल के साथ /bin/bash बदलें।

2

आप xterm या rxvt-यूनिकोड बजाय GNOME टर्मिनल इस्तेमाल कर सकते हैं, जो दोनों के इस उद्देश्य के लिए -hold विकल्प होता है।

21

alt text

एक प्रोफ़ाइल (यानी पकड़), सेट बनाएँ "जब आदेश बाहर निकलता है: पकड़ो टर्मिनल खुला" और फिर

$ gnome-terminal --tab --profile hold -e /usr/bin/myprog 
+0

केवल कमांड लाइन के माध्यम से 'टर्मिनल ओपन' विकल्प सेट के साथ प्रोफाइल बनाने का कोई तरीका होना चाहिए। –

+0

अपने gnome-terminal पर निर्भर करते हुए, आप उस प्रॉपर्टी के सेट को सेट करने या प्राप्त करने के लिए gconf या gsettings का उपयोग कर सकते हैं: 'gconftool-2 -g/apps/gnome-terminal/profiles/profile0/exit_action' –

संबंधित मुद्दे