開いているウィンドウを失うことなく、Ubuntuでフリーズした画面を再起動するにはどうすればよいですか?


12

Ubuntu 12.04 LTSを実行しているデバイスで画面がフリーズした。一般的に私は、単に利用可能TTY、すなわち上に跳ね上がっているCtrl- Alt- F1とコマンドを実行しました/etc/init.d/lightdm restartservice lightdm restart。しかし、これは私が開いているすべてを殺します。これを回避するにはどうすればよいですか?


1
これを達成することはできません。xシステムのウィンドウを表示/管理するのはlightdmです。
アップルII

これにより、開いているものはすべて強制終了されますが、一度ctrl-alt-backspaceはXを再起動します。TTYに切り替えてログインし、Xに再起動を要求するよりも簡単です。それでも動作するかどうかはわかりません。

@Douglas B. Staple-Ubuntu 12.04 LTSでは機能しません。まだ他のディストリビューションで動作するかどうか、またはUnityに固有のものかどうかはわかりません。
PeanutsMonkey

実行中にウィンドウマネージャーを置き換える方法がいくつかあります。(少なくともGNOME-Shellを使用するか、i3ウィンドウマネージャーを使用することで、何らかの方法が可能になります)。
FSMaxB

@FSMaxB-Gnome-Shellまたはi3 Window Managerを使用してこれを達成する方法について詳しく説明してください。
PeanutsMonkey

回答:


12

免責事項: Brendenのコメントによると、これは時代遅れで、Ubuntuの新しいバージョンではもう機能しない可能性があります。また、開いているウィンドウが失われる可能性があることに注意してください。

今、Unity用に入手しました(ログアウトしたりウィンドウを閉じたりせずに、GNOMEシェルを単一に置き換えました)。

  1. tty1 [Ctrl] + [Alt] + [F1]に移動します
  2. 入力しDISPLAY=:0て、プログラムがどのポートでX-Serverを見つけるかを知る
  3. export DISPLAY
  4. unity --replaceまたはgnome-shell --replace(GNOME-Shellを単一に、UnityをGNOME-Shellに置き換えることもできます)

これは、X-ServerまたはGNOMEが凍結されておらず、UnityまたはGNOME-Shellのみが凍結されている場合にのみ機能します。

仕組み:プログラムとUIを表示するX-Server間の通信は、ネットワークソケットを介して機能しています。これは通常、「localhost:0」の短い「:0」にあります。DISPLAY変数を設定することで、プログラムはX-Serverを見つけて通信する場所を知るため、プログラムがtty1で実行されている場合でも、プログラムはtty7のX-Serverに表示されます。

ウィンドウのコンテンツはX-Serverによって管理されますが、ウィンドウの位置と境界は単一またはGNOMシェルに統合されたウィンドウマネージャーによって管理されるため、X-上のアプリケーションを再起動せずにウィンドウのみを置き換える方法があります。サーバ。

PS:理解していることを説明しているだけなので、いくつかの点で間違っている場合は編集して修正してください。

編集: GNOME-Shellの場合、再起動する別の方法があります。ttyに変更した後pkill -HUP gnome-shell、単に入力するだけで、Unityに似たようなものがあるかどうかわかりません。


それは奇跡のように働きました。実際、今日それは私を救った。本当にありがとう。各ステップがステップ1で何をするかを詳しく説明していただければ幸いです。ボンネットの下で何が起こっているのかよくわかりません。
PeanutsMonkey

ご回答ありがとうございます!unity --helpのコメント:「--replace Run unity /!\これは他のデスクトップインターフェイスとの互換性のためであり、-replaceなしでunityを実行するのと同じ動作をします」
トム

また、ウィンドウを保存するにはsudoを使用してUnityを実行する必要がありました。
トム

2
--replaceは非推奨であり、何も行わず、このソリューションはセッションを再起動します。つまり、すべてのウィンドウが失われます。(
Brenden

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