Apply changes or restart Unity dash/launcher/... without reboot or logout

Solution 1:

Press Alt+F2 type unity and press Enter.

Solution 2:

  • Unity is just a Compiz plugin, you can reload it using:

    compiz --replace
    

    Or to let you close terminal

    compiz --replace & disown
    

    To confirm, you can check:

    $ file `which unity`
    /usr/bin/unity: Python script, ASCII text executable
    
    $ more /usr/bin/unity
    
  • Another way, light reload only the plugin (very quick)

    1. Create the compiz_plugin_reloader script

      Source: iXce’s blog: Compiz plugin reloader

      #!/usr/bin/env python
      
      '''Compiz plugin reloader (through compizconfig)
      Copyright (c) 2007 Guillaume Seguin <[email protected]>
      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. Fix permissions

      chmod +x compiz_plugin_reloader
      
    3. Run as:

      ./compiz_plugin_reloader unityshell