GnomeShell 3.10 extensions not loaded on startup


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

Startup Applications
Startup Applications

Add a new startup programs by pressing Add, and set the script;

Add new!
Add new!

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.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s