
Chrome は Fedora 28 システムで毎回「正しく閉じられていません」というメッセージを表示します。 「Chromeの終了時にバックグラウンドアプリを引き続き実行」機能をオフにしました。
問題は、xサーバーが停止した後、またはgnomeがログオフした後に私のスクリプトが実行されることです。これがChromeや他のアプリがまだ正しく閉じられていない理由です。
スクリプトは手動でうまく機能しますが、自動化したいと思います。私はこれを達成するために3つの方法を試しました。
すべてのWindowsスクリプトを閉じます。
#!/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
初期化スクリプト:
$ cat /etc/init.d/pkillChrome
#!/bin/bash
#pkill -o chrome
#pkill -f chrome
su - fink168 -c /home/fink168/bin/close-all-windows
これらの方法のどれも私のFedora 28では動作しません。何が間違っていますか?
答え1
ターゲットを試してくださいgraphical
。これにより問題を解決できます。