Ubuntu 14.04 beta2
をインストールしたばかりで、ログアウト、シャットダウン、または再起動の25回の試行のうち、終了時にFirefox
が23回正しく閉じられませんでした。その結果、Firefoxのタブリカバリページが表示されますが、事前に手動でFirefoxを閉じるのに時間がかかると、このタブは表示されません。
2/25回動作したため、UbuntuがFirefoxのプロセス時間の終了を許可しないという時間の問題のように感じます(Ubuntuは約1〜2秒でログアウトします)。 "Firefoxを待ちますか?/とにかくシャットダウンしますか?" 12.04で確認したダイアログボックスを受け取ったことがありません。
それで、私が正しいなら、どうやってそれが待つようにするのですか?そうでない場合、問題は何であり、不適切な終了を解決するにはどうすればよいですか?
私はプロファイルまたはセッション構成ファイルの管理経験がなく、bashについてはほとんど経験していません(理解していますが、コーディングが粗末です)。もし答えられないが、Unix/Linux/Debian/Ubuntuでプロファイル/セッションがどのように機能するか(同じ場合)および/またはログイン/ログアウトイベントを変更する方法についての良い記事を持っているなら、私はそれに満足してください。
編集:時間の問題であることをさらに示す追加のテストを作成しました
wmctrl -c firefox; sleep 0.5; Sudo shutdown now -r
は100%正常に動作しますwmctrl -c firefox; sleep 0.2; Sudo shutdown now -r
は正常に動作します50%wmctrl -c firefox; Sudo shutdown now -r
は正常に動作します10%Sudo shutdown now -r& wmctrl -c firefox
は機能しないようです...回避策として、wmctrl -c firefox; sleep 0.5
または.profile
に似たファイルにbash_logout
を書き込むことができますが、セッションはログアウトしますか?
どうやら以前のような書き込み専用のファイルはありません。 Gnomeの下の/etc/gdm/PostSession
でしたが、明らかにUnity以来利用できません。また、/etc/rc0.d/
および/etc/rc6.d/
の下にスクリプトを配置しても、Xserverがシャットダウンされた後にのみ実行されるため機能しません。
ただし、gnomeがログアウトを要求されたときに起動されるgnome-save-yourself
というイベントがあります。たとえば、gedit
は暗黙的に呼び出すものです。そして、Seamus Phelanはpythonスクリプトを作成して、イベントをリッスンし、キャッチされたときにスクリプトを実行しました。
ソリューションへのリンクは次のとおりです。 ユーザーログアウト時のスクリプト実行(非rootユーザー)
指示に従うと、次のようなスクリプトを配置するだけで済みます。
#! /bin/sh
#Requires wmctrl
wmctrl -c firefox;
gmusicbrowser -cmd "Quit";
exit 0;
オプション-c
gentlyは、gMusicBroswerの-cmd "Quit"
と同様にFirefoxを閉じます。 FirefoxとgMusicBrowserの両方を適切に閉じる必要がありますが、それらは閉じません。
おそらくより良い方法は、UbuntuおよびプログラムでSIGTERM
、SIGKILL
、およびkill timeout
の使用を確認することですが、それについては十分に知りません。