Startup Applications

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.

By ikhsan

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.