Я делаю компьютер как машина галереи с академической игрой. Я использую Xsession для замены рабочего стола приложением. Это хорошо работает. Но когда я иду из игры, она возвращается в LightDM - экран входа в систему. Но я требую, закрывается вместо этого назад к LightDM. Возможно сделать это?
Пользовательская определяемая пользователем сессия:
[Desktop Entry]
Encoding=UTF-8
Name=RacingGameX
Comment=Just the game!
Exec=/usr/share/xsessions/gameBash.sh
Type=Application
Сценарий Bash:
xscreensaver -nosplash &
xrandr -r 60
exec /usr/bin/RacingGameX/RacingGameXExecutable
xrandr -r 75
sleep 5
sudo shutdown now # <- that's not working
Спасибо за справку!
Синтаксис для shutdown
из командной строки
sudo shutdown -P now ## for system POWEROFF
sudo shutdown -h now ## for system HALT or POWEROFF
, Если это не работало, мы можем также выполнить принудительное выключение питания
sudo poweroff --force
В случае, если мы запускаем сценарий с сеанса пользователя (как имел место на пользовательской сессии), мы можем или позволить пользователям завершать работу без полномочий пользователя root (не используйте sudo
в Вашем сценарии тогда!) или следуют ответам на ниже вопросов завершить работу без полномочий пользователя root от сеанса пользователя:
В первую очередь, я благодарю участников Takkat и David Foerster для справки.:)
решение я нашел:
, Если у Вас есть проблема как это сообщение, одно решение, получают 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