再起動またはログアウトせずに、変更を適用するかUnity dash / launcher / ...を再起動します


14

.desktopシステム全体のファイルを上書きしていたホームディレクトリのカスタムランチャーファイルを削除した後、Unityアプリケーションレンズで使用していたアプリケーションが使用できない状況にありました。

私の問題は、これらの変更を適用し、この場合はインストール済み.desktopファイルのデータベースを更新する必要があることでしたが、他の同様のシナリオも考えられます。

それで、Unity構成を更新し、すべての内容をリロードして再初期化するために、再起動またはログアウトしてから再ログインする代わりに、私は何をすることができましたか(そして次回も)?

私は15.10にいるので、unity --reset &廃止されているため機能しません。

次にunity --replace &代わりに試しましたが、デスクトップがクラッシュし、TTY7が使用できなくなりました。最初は暗く点滅し、Unityを再起動してデスクトップを復元しているように見えましたが、その後は何にも反応しませんでした。TTY1に切り替えて戻ると、黒い画面とマウスカーソルが残りました。TTY1ログインおよびを介して再起動した後reboot、それは再び機能し、Unityはアプリケーションを認識しました。

しかし、再起動またはログアウトが選択できない状況にあったとしたら、どうすればよいでしょうか?


1
あなたが試すことができsetsid unity、それは団結を「リフレッシュ」します。私のインストールの1つではそうなり、もう1つではログアウトになります。他の人は、デフォルトにリセットすると言っているようですが、どちらの場合もここにはありません。
ダグ

回答:


33

プレスAlt+ F2タイプunityとプレスEnter


3
シンプルだが優しい。誰もこれを以前考えなかった理由がわかりません。Unityの再起動の程度はわかりませんが、オーバーライドされた.desktopファイルを認識するのに間違いなく十分です。ありがとうございました!数日後に報奨金を授与し、さらなる回答をお待ちしています。
バイトコマンダー

1
@padlyuckの最初の賞金おめでとうございます!:D
バイトコマンダー

9
16.04にこれを行い、ウィンドウを台無しにして、いくつかのアプリを閉じました(ブラウザなど)。
ダニエル

これについて詳しく説明していただけますか?それは正確に何をしますか?
ジョージD

1
注意してください-14.04にこれを行い、X(およびすべてのアプリ)をシャットダウンし、再度ログインする必要がありました。
-davidA

6
  • Unityは単なるCompizプラグインです。次を使用してリロードできます。

    compiz --replace
    

    または、ターミナルを閉じます

    compiz --replace & disown
    

    確認するには、次を確認できます。

    $ file `which unity`
    /usr/bin/unity: Python script, ASCII text executable
    
    $ more /usr/bin/unity
    
  • 別の方法では、プラグインのみを軽くリロードします(非常に高速)

    1. compiz_plugin_reloaderスクリプトを作成する

      ソース: iXceのブログ:Compiz plugin reloader

      #!/usr/bin/env python
      
      '''Compiz plugin reloader (through compizconfig)
      Copyright (c) 2007 Guillaume Seguin <guillaume@segu.in>
      Licensed under GNU GPLv2'''
      
      import compizconfig
      from sys import argv, exit
      from time import sleep
      
      if __name__ == "__main__":
          if len (argv) < 2:
              print "Usage : %s plugin1 [plugin2 ... pluginN]" % argv[0]
              exit (2)
          plugins = argv[1:]
          context = compizconfig.Context (basic_metadata = True)
          print "Unloading " + " ".join (plugins)
          for plugin in plugins:
              if plugin not in context.Plugins:
                  print "Warning : %s plugin not found" % plugin
                  plugins.remove (plugin)
                  continue
              context.Plugins[plugin].Enabled = False
          if len (plugins) == 0:
              print "Error : no plugin found"
              exit (1)
          context.Write ()
          print "Waiting for settings update"
          sleep (2)
          print "Loading " + " ".join (plugins)
          for plugin in plugins:
              context.Plugins[plugin].Enabled = True
          context.Write ()
    2. 権限を修正

      chmod +x compiz_plugin_reloader
      
    3. として実行:

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