재부팅 또는 로그 아웃없이 변경 사항 적용 또는 Unity 대시 / 런처 /… 재시작 상상할 수 있다는 것입니다. 따라서 재부팅하거나

.desktop시스템 전체 파일을 재정의 한 홈 디렉토리에서 사용자 정의 실행기 파일을 제거한 후 Unity 애플리케이션 렌즈에서 사용할 수 없었던 애플리케이션을 사용할 수 없었습니다.

내 문제는 변경 사항을 적용 하고이 경우 설치된 .desktop파일 의 데이터베이스를 업데이트해야 했지만 다른 유사한 시나리오도 상상할 수 있다는 것입니다.

따라서 재부팅하거나 로그 아웃 한 후 다시 로그인하는 대신 Unity 구성을 업데이트하고 모든 항목을 다시로드하고 다시 초기화하도록하는 대신 무엇을 할 수 있었습니까 (다음에 수행 할 수 있습니까)?

15.10에 있으므로 unity --reset &더 이상 사용되지 않으므로 작동하지 않습니다.

그런 다음 unity --replace &대신 시도했지만 바탕 화면이 손상되어 TTY7을 사용할 수 없게되었습니다. 처음에는 어두워졌고 Unity를 다시 시작하고 데스크탑을 복원하는 것처럼 보였지만 더 이상 반응하지 않았습니다. TTY1로 전환하고 다시 검은 화면과 마우스 커서로 나를 떠났습니다. TTY1 로그인 및를 통해 재부팅 한 후 다시 reboot작동했으며 Unity는 이제 내 응용 프로그램을 인식했습니다.

그러나 재부팅 또는 로그 아웃이 옵션이없는 상황에 처한 경우 어떻게해야합니까?



답변

를 눌러 Alt+의 F2유형 unity을 누릅니다 Enter.


답변

  • 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 플러그인 리 로더

      #!/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
      

답변