Примените изменения или перезапустите тире/средство запуска Единицы / … без перезагрузки или выхода из системы

Я был в ситуации, что приложение, которое я имел, не было доступно в линзе приложений Единицы после того, как я удалил пользовательское .desktop файл средства запуска в моем корневом каталоге, который переопределил в масштабе всей системы.

Моя проблема состояла в том, что я должен был применить те изменения и обновить в этом случае базу данных установленных .desktop файлы, но другие подобные сценарии являются также вообразимыми.

Таким образом, что я, возможно, сделал (и делают в следующий раз) вместо того, чтобы перезагрузить или выйти из системы и въезжают задним ходом, чтобы обновить конфигурацию Единицы и вынудить это перезагрузить и повторно инициализировать весь свой материал?

Я нахожусь на 15,10, таким образом, unity --reset & не работает, потому что это удерживается от использования.

Я затем попробовал unity --replace & вместо этого, но это разрушило мой рабочий стол и представило мое неприменимое TTY7. Это сначала высветилось темный и было похоже на него, перезапускал Единицу и восстанавливал рабочий стол, но затем это ни на что больше не реагировало. Переключение на TTY1 и назад оставленный меня с черным экраном плюс курсор мыши. После перезагрузки через TTY1 входят в систему и reboot, это работало снова, и Единица даже распознала мое приложение теперь.

Но если я был бы в ситуации, где перезагрузка или выход из системы не были никакой опцией, каков будет мой способ пойти?

14
задан 13 April 2017 в 05:25

2 ответа

Нажмите Высокий звук +, тип unity F2 и нажатие Входят .

33
ответ дан 23 November 2019 в 02:53
  • Единица является просто плагином 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
      
6
ответ дан 23 November 2019 в 02:53

Другие вопросы по тегам:

Похожие вопросы: