Как завершить работу компьютера после того, как Xsession заканчивается?

Я делаю компьютер как машина галереи с академической игрой. Я использую 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

Спасибо за справку!

1
задан 18 February 2015 в 05:34

2 ответа

Синтаксис для shutdown из командной строки

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

, Если это не работало, мы можем также выполнить принудительное выключение питания

sudo poweroff --force

В случае, если мы запускаем сценарий с сеанса пользователя (как имел место на пользовательской сессии), мы можем или позволить пользователям завершать работу без полномочий пользователя root (не используйте sudo в Вашем сценарии тогда!) или следуют ответам на ниже вопросов завершить работу без полномочий пользователя root от сеанса пользователя:

1
ответ дан 10 November 2019 в 10:57

В первую очередь, я благодарю участников 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
1
ответ дан 10 November 2019 в 10:57

Другие вопросы по тегам:

Похожие вопросы: