37

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.

Thanks

Update

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.

6

4 Answers 4

20

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 org.gnome.shell enabled-extensions

This should come up with something like

$ gsettings get org.gnome.shell enabled-extensions
['[email protected]', '[email protected]', '[email protected]']

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

Press add, and then enter the output of gsettings get org.gnome.shell enabled-extensions "['use... ...blogspot.com']" - 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:

#!/bin/bash
active_extensions=$(gsettings get org.gnome.shell enabled-extensions)
autostart_file=$HOME/.config/autostart/restore-extensions.desktop
echo -e "Currently active extensions:\n\e[34m$active_extensions\e[0m"
echo -e "[Desktop Entry]\nType=Application" > $autostart_file
echo Exec=gsettings set org.gnome.shell 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"
exit

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.

4
  • Hello, @Qasim, does this solve your problem?
    – Wilf
    Oct 29, 2013 at 14:59
  • 1
    The right line in wilf answer would be gsettings set org.gnome.shell enabled-extensions "['use... ...blogspot.com']" (changed "get" to "set", enabling the extensions). (Sorry for bad english).
    – user209242
    Oct 29, 2013 at 20:05
  • 1
    Thats a great solution! I use it, when gnome crashes and the extensions are all disabled
    – PythoNic
    Mar 21, 2014 at 19:31
  • 1
    Same script rewritten in Python: gist.github.com/sirex/ddf64bb5697271f8da02
    – sirex
    Dec 14, 2015 at 20:12
9

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

This is known bug: https://bugs.launchpad.net/ubuntu/+source/gnome-shell/+bug/1236749

Seems like related to TopIcons extension, try disabling this for now: https://extensions.gnome.org/extension/495/topicons/

5
  • I have the same problem that @sijoune has. I have the problem irrespective of whether TopIcons is installed. Oct 18, 2013 at 21:38
  • I removed the TopIcons and the problem hasn't gone. In my Arch installation though everything works flawlessly... weird. Oct 19, 2013 at 9:48
  • I see that if I first login to cinnamon, and then to gnome shell, then the extensions are enabled. Oct 20, 2013 at 3:43
  • Same i am having the same problem
    – Qasim
    Oct 22, 2013 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, 2014 at 22:52
4

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

2
  • 1
    Not working if you decide to enable automatic login after.
    – Hunsu
    Apr 28, 2014 at 9:25
  • 1
    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, 2014 at 22:54
-1

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.

Not the answer you're looking for? Browse other questions tagged .