Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am running Ubuntu Gnome 13.10 with Gnome 3.10. My problem is that every time I reboot the OS all the shell extensions are turned off. The weird thing is that their settings are kept. They are just turned off and I have to re-enable them every time. How can I make them persistent.



Today Ubuntu 13.10 was officially released and after I upgraded, my problem is still there. Here is my system info:

$ uname -a
Linux ubuntu-desktop 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:20:46 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Any ideas?

Sidenote - Can someone please tell me at least were the settings of the state of the extensions (on/off) are stored? I have removed all the extensions

rm -r ~/.local/share/gnome-shell/extensions/*
rm -r /usr/share/gnome-shell/extensions/*

and I installed the ones I use. So I am thinking of creating a cronjob and enabling all of them everytime the system boots. At least until i find how to fix this.

share|improve this question

closed as off-topic by Seth, Lucio, Warren Hill, Eric Carvalho, Luis Alvarado Dec 9 '13 at 0:23

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Bug reports and problems specific to development version of Ubuntu should be reported on Launchpad so that developers can see, track and fix these issues." – Seth, Lucio, Warren Hill, Eric Carvalho, Luis Alvarado
If this question can be reworded to fit the rules in the help center, please edit the question.

Can you please explain why the downvote? – Christos Baziotis Oct 16 '13 at 19:12
I am having the same problem – Qasim Oct 22 '13 at 16:41
Yeah, that bug is finally fixed! – Willi Jan 22 '14 at 23:44

This works in Gnome 3.8.4, and should work later versions.

Set all the extensions you want to be on. Then run:

gsettings get enabled-extensions

This should come up with something like

$ gsettings get enabled-extensions
['', '', '']

Copy the output, and then run gnome-session-properties

Press add, and then enter the output of gsettings get enabled-extensions "['use...']" - However, as has been kindly pointed out, change get to set when entering in the command box, like in the picture below. PUT THE DOUBLE QUOTES IN, OTHERWISE THIS WILL NOT WORK (If not sure, test the command in the terminal first - if no feedback is given, it worked).

EDIT: For newer versions without gnome-session-properties, you need will probably need to manually make a .desktop file in ~/.config/autostart - some GUI tools may be available via Gnome Tweak Tool or similar.

For Example:

Description 1

Then make sure that this is on:

Description 2

Now, every time you login, it should run a command to restore all the extensions!

N.B. If you make changes to your activated extensions, this would need to be updated.

To automate this process, this script seems to work:

active_extensions=$(gsettings get enabled-extensions)
echo -e "Currently active extensions:\n\e[34m$active_extensions\e[0m"
echo -e "[Desktop Entry]\nType=Application" > $autostart_file
echo Exec=gsettings set enabled-extensions \"$active_extensions\" >> $autostart_file
echo -e "Hidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nName=Restore Extensions\nComment=Restore enabled extensions on login" >> $autostart_file
echo "Command to restore currently active extensions added to $HOME/.config/autostart/restore-extensions.desktop"

Save the script to ~/.local/bin/extension-update, make it executable (either set it in the file's Properties window, or run chmod +x ~/.local/bin/extension-update).

Then every time you run extension-update, it will update an autostart file at ~/.config/autostart/restore-extensions.desktop (it will likely be different a different autostart entry if you created one manually as above, so if you created one manually you may want to delete that) - you can check in gnome-session-properties to make sure.

share|improve this answer
Hello, @Qasim, does this solve your problem? – Wilf Oct 29 '13 at 14:59
The right line in wilf answer would be gsettings set enabled-extensions "['use...']" (changed "get" to "set", enabling the extensions). (Sorry for bad english). – user209242 Oct 29 '13 at 20:05
Thats a great solution! I use it, when gnome crashes and the extensions are all disabled – PythoNic Mar 21 '14 at 19:31
thanks for the solution – Shakil Apr 8 '15 at 9:23
Same script rewritten in Python: – sirex Dec 14 '15 at 20:12

Edit: Selecting 'System Default' instead of 'gnome' in login screen seems to work for me

This is known bug:

Seems like related to TopIcons extension, try disabling this for now:

share|improve this answer
I have the same problem that @sijoune has. I have the problem irrespective of whether TopIcons is installed. – Swarnendu Biswas Oct 18 '13 at 21:38
I removed the TopIcons and the problem hasn't gone. In my Arch installation though everything works flawlessly... weird. – Christos Baziotis Oct 19 '13 at 9:48
I see that if I first login to cinnamon, and then to gnome shell, then the extensions are enabled. – Swarnendu Biswas Oct 20 '13 at 3:43
Same i am having the same problem – Qasim Oct 22 '13 at 16:38
For those who won't get a desktop environment when selecting the "System Default", try the following on a terminal and reboot: gsettings set org.gnome.desktop.session session-name 'gnome' – amfcosta Sep 4 '14 at 22:52

On login menu, set option to "system default" instead of "gnome or classic", extensions should now stay enabled after reboot. Worked for me!

share|improve this answer
Worked for me too. Thanks – euDennis Mar 13 '14 at 2:49
Not working if you decide to enable automatic login after. – Hunsu Apr 28 '14 at 9:25
For those who won't get a desktop environment when selecting the "System Default", try the following on a terminal and reboot: gsettings set org.gnome.desktop.session session-name 'gnome' – amfcosta Sep 4 '14 at 22:54

I know it's a bit late but I implemented a solution script in python if the one above don't satisfy you.

Hope that the problem will be fixed soon by the way.

share|improve this answer
your script enable all the extensions and not everyone want that. – Hunsu Apr 29 '14 at 6:09

I fixed the problem (in openSUSE, but may be the same for you) by deleting the dconf key for enabled extensions, restarting the shell or logging out, and then re-activating the extensions in tweak tool.

Some extensions in dconf weren't actually installed... seems to have been the problem, since it's working now...

Hope that helps.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.