Extensions are turned off after reboot [closed]

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.


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/


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