Unity 3D doesn't work anymore, just shows a menu on the top [duplicate]

Solution 1:

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.

Solution 2:

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

Solution 3:

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.