[РЕШЕНО]Как перезагружаться и выключать систему, что бы нормально завершались процессы?

safocl
ты ваще пробывал как я сказал делать?
"Вьюноша бледный со взором горящим" - давно ЕГЭ сдал?
Для информации
$ head -n 1 /var/log/pacman.log
[2012-07-28 15:50] installed filesystem (2012.7-1)

При старте через старт иксов произошло то, что и должно было произойти: по завершению сессии KDE (нажатие на кнопку Power off) сессия закончилась и система перешла на приглашение к логину, в текстовом виде. Что это доказало?
Velesich
Что это доказало?
очевидно же -- чо sddm не при чем
Velesich
по завершению сессии KDE
хмм... а ты сессию завершил??? или выключение нажал?
т.к. там есть отдельно "выключить", а есть отдельно "выйти"
если нажал кнопку завершения сессии, то все верно сработала оболочка, как и должна была
А кто говорил что sddm имеет к этому эффекту какое-то отношение? Насчёт кнопок - ты видимо не только писать, но и читать не умеешь, прочти моё предидущее сообщение ещё раз.
akorop
vasek
killall лучше/отличается от shutdown ....???
Возможно, просто временем, остающимся до SIGKILL.
Эх, раз уж пошла такая пьянка, подрихтовал свой скрипт. Получилось вот что:
/usr/local/bin/.stop
#!/bin/bash
echo "Завершение всех приложений"

echo "Завершаем виртуальные машины с сохранением"
for VM in `VBoxManage list runningvms | cut -d " " -f 2`
do
  echo $VM
  VBoxManage controlvm $VM savestate
done

echo "Пытаемся закрыть все окна, кроме своего"
LIST=`wmctrl -l | cut -d " "  -f 1-1`
for i in $LIST; do
  id=$(("$i"))
  if [ $id != $WINDOWID ] ; then
    wmctrl -ic "$i"
  fi
done
sleep 1

echo "Оставшиеся окна вызываем на этот десктоп"
LIST=`wmctrl -l | cut -d " "  -f 1-1`
for i in $LIST; do
  id=$(("$i"))
  if [ $id != $WINDOWID ] ; then
    wmctrl -iR "$i"
  fi
done

echo "Ждём, пока окна не кончатся"
c='1'
while [ -n "$c" ]
do
  c=''
  LIST=`wmctrl -l | cut -d " "  -f 1-1`
  for i in $LIST; do
    id=$(("$i"))
    if [ $id != $WINDOWID ] ; then
      echo "ждём $i"
      c='1'
      sleep 1
    fi
  done
done

echo "Завершаем приложения из трея"
killall -TERM oosplash
killall -TERM seamonkey
killall -TERM qbittorrent
killall -TERM skype
killall -TERM pidgin
sleep 1
Употребление, в частности, такое:
/usr/local/bin/.shutdown
#!/bin/bash
.stop
sudo shutdown -hP now
Вызов из меню openbox:
<item icon="/usr/share/icons/gnome/16x16/actions/system-shutdown.png" label="Shutdown">
  <action name="Execute">
    <execute>urxvt -e .shutdown</execute>
  </action>
</item>
Если по ходу дела передумал выключаться - просто прибиваю окно urxvt, где всё это крутится.

И как удалось добиться желаемого поведения этим способом?
Werd
И как удалось добиться желаемого поведения этим способом?
Что для Вас есть "желаемое поведение"?
Я желаю, чтобы при завершении работы
  • все программы с окнами завершались так же, как если нажать на крестик закрытия окна. В частности, чтобы если завершается редактор с несохранённым документом, то был выдан запрос на сохранение, я этот запрос увидел, и если вообще передумал завершать систему, то имел такую возможность;
  • все запущенные виртуальные машины закрывались с сохранением состояния;
  • все приложения из трея корректно завершались с сохранением того, что они захотят сохранить.
Это достигается вызовом приведённого скрипта. А его вызов вставлен в начало скриптов (опять таки самописных) .logoff, .reboot и .shutdown. А вызов этих скриптов делается через меню openbox.
единственная проблема, которая не исчезла, из-за которой собсна ентот пост и образовался -- хромиум все равно не успевает нормально закрыться даже если его закрыть на крестик и тут же сдлелать ребут, все равно после такого он ругается на то чо был завершен не корректна.
safocl
хромиум все равно не успевает нормально закрыться даже если его закрыть на крестик и тут же сдлелать ребут,
А если не "тут же", а дождаться исчезновения окна, как в моём скрипте?
akorop
А его вызов вставлен в начало скриптов (опять таки самописных) .logoff, .reboot и .shutdown
а какая причина была делать скрытыми эти команды? (имею ввиду точку вначале)
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja, предположу что сначала эти скрипты лежали в хомяке.
In Tux We Trust
 
Зарегистрироваться или войдите чтобы оставить сообщение.