Как выполнить скрипт непосредственно перед остановкой x-сервера или выходом из gnome?

Chrome показывает сообщение «Не правильно закрылось» каждый раз в моей системе Fedora 28. Я отключаю функцию «Продолжать запуск фоновых приложений, когда Google Chrome закрыт».

Я думаю, что проблема в том, что мой скрипт выполняется после остановки сервера x или выхода из системы. Вот почему Chrome и другие приложения по-прежнему некорректно закрываются.

Скрипт работает нормально вручную, однако я хочу сделать это автоматически. Я попробовал три способа добиться этого.

Скрипт для закрытия всех окон:

#!/bin/sh #wmctrl -l | while read -r line #do # wmctrl -c `echo "$line" | sed 's/.* [0-9]* [fink168] //'` #done WIN_IDs=$(wmctrl -l | awk '$3 != "N/A" {print $1}') for i in $WIN_IDs; do wmctrl -ic "$i"; done 

/etc/systemd/system/closeWindow.service :

 [Unit] Description=CloseWindows DefaultDependencies=no Before=shutdown.target reboot.target halt.target kexec.target [Service] Type=oneshot RemainAfterExit=true ExecStart=/bin/true ExecStop=/home/fink168/bin/close-all-windows [Install] WantedBy=multi-user.target systemctl status closeWindow.service ● closeWindow.service - CloseWindows Loaded: loaded (/etc/systemd/system/closeWindow.service; enabled; vendor preset: dis> Active: active (exited) since Sun 2018-07-29 12:17:58 CST; 1h 4min ago Process: 619 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 619 (code=exited, status=0/SUCCESS) Jul 29 12:17:58 fink168 systemd[1]: Started CloseWindows. 

/etc/gdm/PostSession/Default :

 #!/bin/sh echo " Closing selected windows programs gracefully" #export DISPLAY=$DISPLAY su - fink168 -c /home/fink168/bin/close-all-windows #su fink168 -c pkill -o chrome 

Я также сделал мягкие ссылки на rc6.d , rc0.d и rc5.d

 $ ls -alrt /etc/rc6.d/ total 8 lrwxrwxrwx. 1 root root 17 Apr 25 14:34 K90network -> ../init.d/network lrwxrwxrwx. 1 root root 20 Apr 25 14:34 K50netconsole -> ../init.d/netconsole lrwxrwxrwx. 1 root root 17 Apr 25 14:39 K99livesys -> ../init.d/livesys lrwxrwxrwx. 1 root root 22 Apr 25 14:39 K01livesys-late -> ../init.d/livesys-late drwxr-xr-x. 10 root root 4096 Jul 18 19:39 .. lrwxrwxrwx. 1 root root 23 Jul 28 22:56 K99pkillChrome -> /etc/init.d/pkillChrome drwxr-xr-x. 2 root root 4096 Jul 28 22:56 . 

pkillChrome инициализации pkillChrome :

 $ cat /etc/init.d/pkillChrome #!/bin/bash #pkill -o chrome #pkill -f chrome su - fink168 -c /home/fink168/bin/close-all-windows 

Ни один из этих подходов не работает на моей Fedora 28. Что не так?

One Solution collect form web for “Как выполнить скрипт непосредственно перед остановкой x-сервера или выходом из gnome?”

попытайтесь использовать graphical цель – это может исправить это.

Interesting Posts

Не удается получить доступ к дискам NTFS после установки элементарной ОС

Идентифицировать файлы / процессы, которые предотвращают повторное подключение только для чтения

Синхронизация времени в XFCE 4.8

Возможное состояние гонки при подключении плагинов для наушников

Использовать awk для печати и редактирования даты

Как я могу запускать программу в качестве другого пользователя во всех отношениях?

rpm temp file question (rpm-tmp)

Могу ли я подключиться к Windows-машине из оболочки Linux?

Как выполнять резервное копирование файлов из nautilus, сохраняя отметку времени?

Может ли Linux Desktop OS работать на планшетных устройствах Baytrail, которые поставляются с Windows

Что такое многоадресный просмотр и почему он прерывает UPnP / DLNA?

Как просмотреть все необработанное сообщение в альпийском?

Какой способ Debian сохранить изменение конфигурации ядра через обновления?

Будет ли zgrep рекурсивно искать zip-файлы, встроенные в zip-файлы?

Терминал недоступен после команды

Linux и Unix - лучшая ОС в мире.