Unity doesn't load, no Launcher, no Dash appears

When I login, nothing happens.

I am presented with my desktop wallpaper.

Blank desktops suck

No Dash, no Launcher, nothing.


This answer applies to versions of Ubuntu running Compiz.

This answer assumes Unity is being run through Compiz. If you don't have compiz installed (ex: on non-Unity versions of Ubuntu, such as the Gnome-based Ubuntu 18.04 and later) this answer doesn't apply to you.

You just need to turn the Unity plugin back on. The problem is this is a pain in the bottom because you've now got no graphical method to do this. So:

  1. Try to open a terminal with Ctrl+Alt+T.
    This may not work but you can try right clicking on the desktop and selecting "Open terminal here." Otherwise, you may need to change to a "hard" terminal by pressing Ctrl+Alt+F1 and log in.

  2. Install compizconfig-settings-manager by running

    sudo apt-get install compizconfig-settings-manager
    
  3. Then run it with this:

    DISPLAY=:0 ccsm &
    

    The first part tells the terminal which display you want it to load on (otherwise it won't have a clue).

  4. If you switched to a TTY in step 1, switch back to the graphical server by pressing Ctrl+Alt+F7 (or Ctrl+Alt+F8 sometimes).
    There there should be a CompizConfig Settings Manager waiting for you.

  5. Find the Unity plugin. Enable it (detailed instructions just below). You will be asked "Ubuntu Unity Plugin requires the plugin OpenGL. Enable Ubuntu Unity Plugin / Enable OpenGL"

    • 1) To enable the Unity Plugin: Click "Desktop" (left side) --> Ubuntu Unity Plugin. You can also type "unity plugin" into the "Filter" search box. Screenshot: enter image description here
    • From here, click the checkbox for "Enable Ubuntu Unity Plugin": enter image description here
    • 2) To enable OpenGL: click "General" (left side) --> then check the box for "OpenGL", as shown below. You can also type "opengl" into the "Filter" search box to bring it up. enter image description here
  6. Everything should spring into life but if it doesn't, you might have to restart. You can do that by going back to the terminal and running sudo reboot.


A solution good for me (has solved the same problem):

in a terminal:

export DISPLAY=:0   
sudo dconf reset -f /org/compiz/

and then

setsid unity

In 13.04 and 14.04:

unity --replace is deprecated. Instead, use the following:

dconf reset -f /org/compiz/ 
unity --reset-icons &disown

Reboot if it doesn't work right away.


For 12.10 and below:

Press Ctrl+Alt+T for a terminal and run ccsm, then re-enable your 'Unity' plugin.

You also may then need to run a unity --replace.


It is a good idea to check your graphics driver is configured to use hardware acceleration and it is configured to use OpenGL. Try searching Ask Ubuntu and Ubuntu Forums for information specific to your GPUs and Ubuntu flavour. For hybrid graphics users see the last section "Hybrid Graphics" below.

You might want to run the compizconfig-settings-manager Install compizconfig-settings-manager package and make sure that the Unity plugin is checked (see What are some of the issues with CCSM and why would I want to avoid it?).

For 12.04 And Newer

  1. Change to tty1 by pressing Ctrl+Alt+F1 and log in.

  2. Install compizconfig-settings-manager by running

    sudo apt-get install compizconfig-settings-manager
    
  3. Then run it by doing this:

    export DISPLAY=:0
    ccsm
    

    The first part tells the terminal which display you want it to load on (otherwise it won't have a clue).

  4. Press Ctrl+Alt+F7 (or Ctrl+Alt+F8 sometimes) to get back to the graphical display where there should be a CompizConfig Settings Manager screen sitting there.

  5. Find the Unity plugin. Enable it. CCSM

  6. Everything should spring into life but if it doesn't, you might have to restart. You can do that by going back to tty1 and running sudo reboot.

If unity still does not load try:

dconf reset -f /org/compiz/
unity --reset-icons &disown

Reboot if it doesn't work right away.

For 11.10 And Older

If you hope into a TTY (Ctrl+Alt+F1 through F6) and run:

DISPLAY=:0 unity --replace

It will reset Unity back on TTY 7 (Ctrl+Alt++F7).

You can also try just:

DISPLAY=:0 unity

But that won't work if a windows manager is already running on display 0 (it will give you an error, just use unity --replace in that case).

If Unity absolutely refuses to restart try this:

Install gnome-panel:

sudo apt-get install gnome-panel

Than run it on display 0:

DISPLAY=:0 gnome-panel

You should then have Gnome 2 style panels on your desktop, which you can use to logout.

Hybrid Graphics

Some very useful information and further reading for hybrid graphics users can be found here.

Once GPUs are configured appropriately for 3D acceleration and OpenGL you can:

  1. Install Nvidia drivers from https://edge.launchpad.net/~xorg-edgers/+archive/ppa:

    sudo apt-add repository ppa:xorg-edgers/ppa
    

    or:

    I would really prefer the stable PPA, but it does not seem to have packages for 13.04 yet. Update: these seem to be available as of Sep. 25. I would install this stable PPA - you can try but I have not tested it.

    The Ubuntu-supplied Nvidia drivers were already installed and I simply installed from this PPA by adding it and doing a package update using update-manager.

    sudo apt-add repository ppa:ubuntu-x-swat/x-updates
    
  2. Install Bumblebee from https://launchpad.net/~bumblebee/+archive/stable

    UPDATE: As of Oct. 6, ppa:xorg-edgers/ppa seems to contain bumblebee as well. So if you install from this PPA, you might want to try skipping the addition of the Bumblebee PPA and installing it from here instead.

    If you chose the stable PPA in step 1, install the Bumblebee stable PPA as follows:

    sudo apt-add-repository ppa:bumblebee/stable
    
  3. UPDATE: After adding the PPA(s), update your package lists:

    sudo apt-get update
    

    If you already had nvidia drivers installed from Ubuntu's standard repositories, simply upgrade to get the new version from the repository chosen in step 1:

    sudo apt-get upgrade
    sudo apt-get install bumblebee
    
  4. Perform the following commands to 'repair' Unity (from brandon-bertelsen's answer to Unity doesn't load, no Launcher, no Dash appears):

    dconf reset -f /org/compiz/
    unity --reset-icons & disown