LINUX.ORG.RU

Мягкое выключение (закрытие X приложений) без DE

 ,


0

1

Для Гнома, например, можно сделать так:

gnome-session-quit --logout --no-prompt
shutdown -h now

Но я не использую DE и тем не менее не хочу вручную закрывать все X приложения перед выключением.

Можно написать скрипт, который будет выключать Лису и Вим перед «shutdown -h now», но это пусть костылей.

Тут предлагается поставить gdm для этого: http://superuser.com/questions/432048/graceful-logout-in-dwm

Есть варианты, которые не связаны / не тянут за собой Гном/Кеды и другие окружения?

Слим вроде бы не умеет опрашивать/закрывать приложения.

А killall не умеет правильно выключить приложение?

ymuv ★★★★
()

gdm тут не поможет, тут скорее gnome-session запускать, и выходить через gnome-session --logout-dialog | --shutdown-dialog. Да если подумать, так ли уж это чревато, убивать их без спроса? Лиса предложит восстановлеие сессии, а vim… пусть автосохраняет.
Если уж оче надо помягче, то для выхода можно пинать что-то вроде
[code]
killall -u myusername
[/code]

Deleted
()
Ответ на: комментарий от ksevelyar

killall убивает, а не закрывает.

Чушь kill посылает приложению сигнал. Приложение может его отработать и закрыться. Убивает kill -9

sdio ★★★★★
()
Ответ на: комментарий от ksevelyar

Да что ты говоришь? «Закрыть» приложение - это ли не вызов SIGTERM?

Lighting ★★★★★
()
Ответ на: комментарий от AITap

Вроде бы то, что нужно. Спасибо.

С этим хуком http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Hooks-EwmhDesktops.html работает.

Теперь дело за малым, найти/написать скрипт, который получает список окон окон и все их закрывает.

ksevelyar
() автор топика

Systemd умеет завершать все процессы, открытые в сессии, при закрытии сессии, если использовать pam_systemd.so и systemd-logind. И не нужны никакие скрипты-костыли, которые закрывают только окна.

gentoo_root ★★★★★
()
Ответ на: комментарий от Eddy_Em

Ну так это проблемы конкретных программ. Стоит написать разработчикам об этом, а не городить костылей.

anonymous
()
Ответ на: комментарий от ksevelyar

:)

<зануда>
for i in $( wmctrl -l | cut -d' ' -f1 )
</зануда>

beastie ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.