सवाल Xsession समाप्त होने के बाद कंप्यूटर को कैसे बंद करें?


मैं एक अकादमिक खेल के साथ एक आर्केड मशीन की तरह एक कंप्यूटर बना रहा हूँ। मैं एक आवेदन द्वारा डेस्कटॉप को बदलने के लिए Xsession का उपयोग कर रहा हूँ। यह ठीक काम कर रहा है। लेकिन जब मैं खेल से बाहर जाता हूं तो यह लाइटडीएम - लॉगिन स्क्रीन पर लौटता है। लेकिन मैं वापस लाइट डीएम पर बंद करना चाहता हूं। ऐसा करना संभव है?

कस्टम उपयोगकर्ता परिभाषित सत्र:

[Desktop Entry]
Encoding=UTF-8
Name=RacingGameX
Comment=Just the game!
Exec=/usr/share/xsessions/gameBash.sh
Type=Application

बैश स्क्रिप्ट:

xscreensaver -nosplash &
xrandr -r 60
exec /usr/bin/RacingGameX/RacingGameXExecutable
xrandr -r 75
sleep 5
sudo shutdown now # <- that's not working

सहायता के लिए धन्यवाद!


1
2018-02-17 19:42


मूल


exec इसके पीछे नामित निष्पादन योग्य को नियंत्रण स्थानांतरित करता है। जैसा यह प्रतीक होता है, sudo shutdown now कभी नहीं पहुंचा आपको हटा देना चाहिए exec। यह समाधान के रास्ते पर सिर्फ एक बाधा हो सकती है। - David Foerster
धन्यवाद @ डेविडफोस्टर। मैं अब अंतर देखता हूं। मैंने आदेश सोचा exec एक आवेदन चलाने के लिए था। - ulrich


जवाब:


के लिए वाक्यविन्यास shutdown कमांड लाइन से है

sudo shutdown -P now ## for system POWEROFF
sudo shutdown -h now ## for system HALT or POWEROFF

अगर यह काम नहीं करता है तो हम एक मजबूर पॉवरऑफ भी कर सकते हैं

sudo poweroff --force

यदि हम किसी उपयोगकर्ता सत्र से स्क्रिप्ट शुरू करते हैं (जैसा कि कस्टम सत्र में मामला था) तो हम उपयोगकर्ताओं को रूट विशेषाधिकारों के बिना बंद करने की अनुमति दे सकते हैं (उपयोग न करें sudo तब आपकी स्क्रिप्ट में!) या उपयोगकर्ता सत्र से रूट विशेषाधिकारों के बिना शट डाउन करने के लिए नीचे दिए गए प्रश्नों के उत्तर का पालन करें:


1
2018-02-17 21:06



आपके जवाब Takkat के लिए धन्यवाद! लेकिन कमांड लाइन ने कोशिश की है और काम नहीं किया है। बीटीडब्ल्यू मैंने इस प्रश्न में आपके निर्देशों का पालन किया है - askubuntu.com/questions/23932/... - ulrich
@ulrich: पूरी तरह से याद किया कि, क्षमा करें, आप अपनी लिपि में सुडो का उपयोग नहीं कर सकते - संपादन देखें। - Takkat
इसने काम कर दिया! बहुत धन्यवाद @ टककट! मैंने मुख्य पोस्ट समाधान में पोस्ट किया। - ulrich
मै वो कर लूंगा। एक बार फिर धन्यवाद! - ulrich


सबसे पहले मैं मदद के लिए Takkat और डेविड फोस्टर के सदस्यों का धन्यवाद करता हूं। :)

समाधान मैंने पाया है:

अगर आपको इस पोस्ट की तरह समस्या है, तो एक समाधान प्राप्त होता है consolekit और सिस्टम को बंद करने के लिए अपनी बैश स्क्रिप्ट में निम्न कोड डालें:

/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

बैश स्क्रिप्ट होगी:

xscreensaver -nosplash &
xrandr -r 60
/usr/bin/RacingGameX/RacingGameXExecutable
xrandr -r 75
sleep 5
/usr/bin/dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop

1
2018-02-18 12:39