ログアウト時にFirefoxが正しく閉じない


10

インストール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が、セッションのログアウトのために?


カーネルは忍耐強い人ではありません。Firefoxプロセスは、最初に(うまく)通知された後、終了するのに時間がかかりすぎた可能性があります。彼はおそらく別の(より過激な)シグナルを受け取り、大まかに殺されました。これは主に開発者の仕事に依存し、特にシステムの構成に依存しません。
ジョンWHスミス

@JohnWHSmithしかし、ログアウトするには最大で2秒かかると言いました。もう一度試してみたところ、瞬時に(0.1秒)なりました。ログインすると、恥ずかしいFirefoxが再び私を迎えてくれました。また、それはバグなので、Ubuntuやカーネルで報告したり、実際に自分で何もできない場合はどうしますか?
sinekonata 2014

1
バグレポートはFirefoxに反するべきだと思います。Firefox 28は以前のように動作しないようです。すべてのウィンドウを閉じた後も実行を続け、複数のCPUコアをスピンロックします。
dobey 14

@dobeyあなたが言っていることが本当なら非常に高速でなければなりません:私はFirefox(x)ボタンを押した直後にシャットダウンすることをテストしましたが、バグはありませんでした。Ubuntuがやっていることは、killプロセスコマンドで終了しているような気がします。アドオンがインストールされていないこと、すべてが新しいこと、12.04では発生しなかったことを述べたいだけです。私が欲しいのは、「突然閉じる」アクションではなく「適切に閉じる」アクションを呼び出す方法です。
sinekonata 2014

ウィンドウが消えたからといって、Firefoxが実際に終了したわけではありません。または、必ずしも正常に終了したことを意味するわけではありません。ご存知のとおり、Firefoxは終了時にクラッシュする可能性があり、ログアウト/ログインプロセスとはまったく関係ありません。12.04で同じFirefox 28ビルドを使用していましたか?
dobey

回答:


1

どうやら、以前のように書き込む専用ファイルがないようです。それは/etc/gdm/PostSessionGnome の下でしたが、どうやらUnityから利用できません。そして、下のスクリプトを配置/etc/rc0.d/し、/etc/rc6.d/Xサーバがシャットダウンされた後、彼らはのみ実行されるため、動作しません。

ただしgnome-save-yourself、gnomeがログアウトするように要求されたときに、fired と呼ばれるイベントがあります。私はgedit、例えば暗黙のうちに呼ばれるものです。そして、Seamus Phelanは、イベントをリッスンし、キャッチされたときにスクリプトを実行するPythonスクリプトを作成しました。

ソリューションへのリンクは次のとおりです。ユーザーログアウト時のスクリプト実行(非rootユーザー)

手順に従って、次のようなスクリプトを配置するだけです。

#! /bin/sh
#Requires wmctrl
wmctrl -c firefox;
gmusicbrowser -cmd "Quit";
exit 0;

このオプションは、gMusicBroswerの場合と同様に、Firefoxを-c 穏やかに閉じます-cmd "Quit"。FirefoxとgMusicBrowserの両方を適切に閉じる必要がありますが、閉じないでください。

おそらくより良い方法は、使用をチェックするだろうSIGTERMSIGKILLkill timeoutUbuntuとプログラムで、私はそれについて十分に知りません。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.