स्क्रीन सत्र शुरू करने के लिए मैं क्रेस्टैब का उपयोग कैसे करूं?


12

मैं एक कॉन्टैब एंट्री बनाना चाहता हूं ताकि यह स्क्रीन शुरू करे, गेमर शुरू करे और डिटैच करे। यह उस स्थिति में है जब सर्वर रिबूट हो गया है और मैं चाहता हूं कि यह स्वतः ही मेरे लिए शुरू हो जाए।

0 0 0 0 0 0 (कमांड)

स्टार्टअप पर चलना चाहिए।

यह ~ / cube / server.sh पर स्थित एक शेल फ़ाइल चलाता है


क्या आप इस मशीन के उपयोगकर्ता हैं, या क्या आपके पास init स्क्रिप्ट्स तक पहुँच है?
कोरी एस।


@ डेनिस: हां, मुझे यह पसंद है। लेकिन हम उस गेम सर्वर को नहीं मान सकते जो वह चला रहा है उसमें किसी प्रकार का कंसोल नहीं है जिसे उसे एक्सेस करने की आवश्यकता होगी (यानी हमेशा अग्रभूमि में चलता है)। और क्यों वह स्क्रीन से परेशान होगा? जब तक, बेशक, वह nohup और पृष्ठभूमि के बारे में पता नहीं है।
कोरी एस।

मैं इस मशीन पर एक उपयोगकर्ता हूँ।
विक्टर

जवाबों:


15

कुछ इस तरह से काम करना चाहिए। यह उदाहरण एक स्क्रीन बनाता है और "शीर्ष" चलाता है:

screen -d -m top

जैसा कि संकेत दिया गया है, आप अपने क्रेस्टैब में कुछ इस तरह करना चाहेंगे:

@reboot /usr/bin/screen -dmS gameserver-screen /opt/mycoolgame/bin/gameserver

बेशक, अगर गेम सर्वर को "सामान्य" वातावरण सेट की आवश्यकता होती है, तो आप इसके द्वारा करीब पहुंच सकते हैं:

@reboot (. ~/.profile; /usr/bin/screen -dmS gameserver-screen /opt/mycoolgame/bin/gameserver)

1
. ~/.profileभाग क्या करता है?
विक्टर

यह क्रोन प्रवेश के लिए पर्यावरण को जबरन निर्धारित करता है। इसके बिना, आपको बस कुछ विशिष्ट प्रविष्टियाँ मिलेंगी। (विवरण के लिए मैन क्रॉस्टैब देखें)
कोरी एस।

मेरे पास एक .sh फ़ाइल है जो गेम सर्वर को निष्पादित करती है, इसलिए यह काम करेगा? @reboot (. ~/cube; /usr/bin/screen -dmS gameserver-screen ./server.sh)
विक्टर

शायद ऐसा करने का सबसे अच्छा तरीका है। यदि वह काम करता है, तो आपको शायद प्रोफाइल के बारे में चिंता करने की ज़रूरत नहीं है, लेकिन अगर आपको $ PATH, आदि की आवश्यकता है, तो आप हमेशा सर्वर.sh लिपि से इनफ़ाइटर का स्रोत बना सकते हैं।
कोरी एस।

5

यह पर्याप्त होना चाहिए ... भागो

$ crontab -e

फिर दर्ज करें:

@reboot screen -dmS Victor

क्या आप कृपया कोशिश कर सकते हैं और समझा सकते हैं कि यह 'विक्टर' कमांड एक स्क्रिप्ट चलाने से कैसे संबंधित है - उदाहरण के लिए ओपी ने जो स्क्रिप्ट लिखी है?
पैट्रिक

1
-S सिर्फ सत्र के नाम के लिए है
atx

4

पूर्णता के लिए, इसके बजाय उद्देश्य के लिए tmux का उपयोग करना भी संभव है screen( इस लिंक को तुलना के लिए देखें ):

@reboot tmux new-session -d -s yourNameOfTheSession "your command to run"

0

मेरे पास भी ऐसी ही स्थिति थी, लेकिन अन्य अनुचित प्रतिबंधों के कारण, मैं कॉन्टैब का उपयोग नहीं कर सकता था। मेरे पास वास्तव में इनटैब कॉल स्क्रीन थी। (जानकारी को अस्पष्ट करने के लिए कुछ नाम बदले गए):

XXX:5:respawn:/bin/su - useraccount -c "screen -D -m -c /home/xxxxxx/file.screenrc"

'File.screenrc' में मैं कुछ विकल्पों को सेटअप करता हूं:

sessionname obscuresessionname
multiuser on
cd
screen /home/xxxxxxx/programtostart

इस तरह यह बूट पर शुरू हुआ, और यदि प्रोग्राम की मृत्यु हो गई या स्क्रीन बंद हो गई तो यह फिर से शुरू होगा। इसे पारंपरिक नहीं माना जा सकता था, लेकिन मुझे पर्यावरण की कुछ आवश्यकताओं के लिए एक दौर में काम करना पड़ा। यदि हमें इसे नीचे ले जाने की आवश्यकता है, तो हमें उस पंक्ति को टिप्पणी करना होगा, और सत्र को मारना होगा। फिर जब इसे वापस लाने के लिए तैयार होता है, तो असुविधा, और init q।

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