web-dev-qa-db-ja.com

Gnome-Shellが応答不能/フリーズになった後、再起動する方法は?

時々、私のgnome-Shellがフリーズします。バックグラウンドプロセスが動作している(音楽を再生している)のを見る(聞く)ことはできますが、gnomeでは何もできません。番号 Alt+F2+R

次を使用してコンソールに切り替えることができます: Ctrl+Alt+F1、同じユーザーとしてログインして実行します:

gnome-Shell --replace

そして戻る Ctrl+F7、しかし、その後、私は奇妙な動作を取得します。たとえば、ネットワーク接続を編集することはできません。私もログアウトできません。 gnome-shellを再起動する適切な方法は何ですか?

122
jk_

簡単な方法は押すだけです Alt + F2、「r」と入力してから Enter。これは、シェルが使用不可能でない限り機能します。

SIGQUITgnome-Shellプロセスに送信して、シェルのみを終了することもできます。

killall -3 gnome-Shell

他の方法では、より破壊的な手段を使用して、すべてのアプリケーションを閉じますが、これはすべきではありません。

167
Braiam
  • 自分自身を再起動するようにgnome-Shellに「きちんと」尋ねたい場合は、次のコマンドでdbusを介して内部再起動関数を呼び出すことができます(DBUS_SESSION_BUS_ADDRESS env varが正しい値に設定され、同じユーザーとして実行されていると仮定します) ):

    dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'
    
  • 新しいインスタンスを実行する場合は、gnome-Shell --replaceで問題ありません。コンソールでは、DISPLAYDBUS*などの必要な環境変数を定義する必要があります。 /proc/$gnome_Shell_pid/environを参照してください

  • 既存のものを再起動する場合は、killall -HUP gnome-Shellが再起動します。あまりにも頻繁にそれを行うと、gnome-Shellはすべての拡張機能を無効にし、強制的にログオフするか、ユーザーフレンドリーでない方法で動作する可能性があります。
31
korc

私は同じ問題に直面しており、別の回避策を見つけました:

  1. CTRL + ALT + F1を押してローカル端末にログインします
  2. 次のコマンドを実行します:Sudo kill -HUP `pidof gnome-Shell`
  3. Ctrl + Alt + F7を押して、グラフィカルインターフェイスに戻ります。

PS:gdm3の代わりにlightdmを使用しています。

7
masina

必要なUbuntu gnomeをインストールしている場合は、gnomeディスプレイマネージャーを使用している可能性があります。その場合、Ctrl + Alt + F4などの別のTTYに変更してから、

Sudo service gdm restart

最近、このような状況についての記事も書きました。

ヘルプ、Linuxデスクトップがハングします!

幸運!

6
Gerhard Stein

gnome-Shell --replaceに満足していないので、ディスプレイマネージャ自体を再起動してみてください。

Sudo service lightdm restart

それはあなたが実行している他のプロセスを殺すと思います。 http://worldofgnome.org/how-to-restart-gnome-Shell-when-freezes-if-ever/ も参照してください

毎回フリーズするようなことに真剣に取り組んでいる場合は、 https://www.kernel.org/doc/Documentation/admin-guide/sysrq.rst に記載されているようにSysRqを有効にしてから、 <alt><sysrq/print_screen_key><k>は、画面に表示されているものをすべて削除します。

5
Jay Aurabind

私は時々あなたが説明したのと同じ問題を抱えており、私の解決策は次のとおりです。

Ctrl + Alt + F1、同じユーザーとしてログインして実行します:

Sudo pkill -9 ^gnome-Shell

そして戻る Ctrl + Alt + F7

これが適切な方法である場合、私は知りません。私にとっては、それは毎回動作します。

3
landas

Xを再起動します

  • まず、次のコマンドを使用して、Ubuntuが使用しているディスプレイマネージャーを見つけます。

    cat /etc/X11/default-display-manager
    

    私の場合は/usr/sbin/gdm3です

    内部Xまたは外部Xから

方法1〜4の場合

  • wコマンドを使用して、使用しているディスプレイを見つけます。

        w
    

    答えは、たとえばtty3かもしれません(そのため、私の(ackの)「ディスプレイに戻る」キーはCtl + Alt + F3です。

方法1

exit Ctl + Alt + F1で終了、Ctl + Alt + F3で終了

方法2

    Sudo /etc/init.d/gdm3 restart

方法3

    systemctl restart gdm.service

方法4

    Sudo service gdm3 restart

方法5

    dbus-send --type=method_call --print-reply --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'global.reexec_self()'

方法6

簡単な方法は、Alt + F2を押し、rと入力してからEnterキーを押すことです。これは、シェルが使用不可能でない限り機能します。

kill -15 gnome-Shellは機能しませんが、kill -9は機能します。 kill -9がセグメンテーションフォールトをトリガーし、gnome-Shellが自動的に再起動するのに対し、kill -15はトリガーしないためだと思います。

0
Walter