I’ve been using GnomeShell since Canonical shoved Unity to my face back in 2011. I recently put GnomeShell 3.10 on my Ubuntu 13.10 install, and I quite like it. Some stuff such as Gnome online accounts doesn’t work, but it’s not really a big problem for me. I do have one that nags me though. Most of the time, extensions fail to load at startup, and I need to open Gnome Tweak and turn them on, one by one.
If you happen to stumble to the same problem as me, what we can do is to create a startup script that loads all of these extensions. First, load all extensions that we want to be uploaded at startup via Gnome Tweak. Next, get a list of these extensions :
ikhsan@M5-X:~$ gsettings get org.gnome.shell enabled-extensions ['user-theme@gnome-shell-extensions.gcampax.github.com', 'AdvancedVolumeMixer@harry.karvonen.gmail.com', 'dash-to-dock@micxgx.gmail.com'] ikhsan@M5-X:~$
So now that we have the list of all extensions that we want to be loaded on startup, we can put them into a startup script. I personally place all my scripts in a single folder. For the purpose of this article, this would be “/home/ikhsan/.scripts”. Create the script using your preferred tool.
ikhsan@M5-X:~$ cd .scripts/ ikhsan@M5-X:~$ nano enabledext.sh
Copy the result of the first command into the script, so it should look like this on mine:
#!/bin/bash gsettings set org.gnome.shell enabled-extensions "['user-theme@gnome-shell-extensions.gcampax.github.com', 'AdvancedVolumeMixer@harry.karvonen.gmail.com', 'dash-to-dock@micxgx.gmail.com']"
Save the script, and set it to be executable:
ikhsan@M5-X:~$ chmod 755 enabledext.sh
Set it to be executed on startup. Press the Windows button to open the overview, and search for startup applications
Add a new startup programs by pressing Add, and set the script;
Save, then close the Startup Applications. Your extensions should be loaded every time you log into GnomeShell session.
If the script conflicts other program on your startup applications, add a delay by modifying the script like this:
#!/bin/bash sleep 10 gsettings set org.gnome.shell enabled-extensions "['user-theme@gnome-shell-extensions.gcampax.github.com', 'AdvancedVolumeMixer@harry.karvonen.gmail.com', 'dash-to-dock@micxgx.gmail.com']"
This will give the script a 10 seconds delay before the extensions are being loaded. If you think you need more, just increase the sleep period.