.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
-
다른 방법으로, 플러그인 만 다시로드 (매우 빠름)
-
만들기
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 ()
-
권한 수정
chmod +x compiz_plugin_reloader
-
다음으로 실행 :
./compiz_plugin_reloader unityshell
-