Я был в ситуации, что приложение, которое я имел, не было доступно в линзе приложений Единицы после того, как я удалил пользовательское .desktop
файл средства запуска в моем корневом каталоге, который переопределил в масштабе всей системы.
Моя проблема состояла в том, что я должен был применить те изменения и обновить в этом случае базу данных установленных .desktop
файлы, но другие подобные сценарии являются также вообразимыми.
Таким образом, что я, возможно, сделал (и делают в следующий раз) вместо того, чтобы перезагрузить или выйти из системы и въезжают задним ходом, чтобы обновить конфигурацию Единицы и вынудить это перезагрузить и повторно инициализировать весь свой материал?
Я нахожусь на 15,10, таким образом, unity --reset &
не работает, потому что это удерживается от использования.
Я затем попробовал unity --replace &
вместо этого, но это разрушило мой рабочий стол и представило мое неприменимое TTY7. Это сначала высветилось темный и было похоже на него, перезапускал Единицу и восстанавливал рабочий стол, но затем это ни на что больше не реагировало. Переключение на TTY1 и назад оставленный меня с черным экраном плюс курсор мыши. После перезагрузки через TTY1 входят в систему и reboot
, это работало снова, и Единица даже распознала мое приложение теперь.
Но если я был бы в ситуации, где перезагрузка или выход из системы не были никакой опцией, каков будет мой способ пойти?
Нажмите Высокий звук +, тип unity
F2 и нажатие Входят .
Единица является просто плагином 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