How can I set default applications in Unity Launcher for other users?
So I'm the first user on Ubuntu 13.10, and want to add other users as well. How can I change the default applications in Unity Launcher in a way that all new users will find my set of applications in the Launcher, and not the default ones, like Amazon, Ubuntu One, or the Libreoffice staff?
Solution 1:
Those settings are in the schema "com.canonical.Unity.Launcher", key "favorites" in the com.canonical.Unity.gschema.xml file under the /usr/share/glib-2.0/schemas/ directory.
Then those xml schemas are compiled in a binary file with the name gschemas.compiled that can be used by GSettings.
To change those settings you can edit the com.canonical.Unity.gschema.xml file, but in my opinion the best way is to create .gschema.override file. (to overwrite the default settings).
NOTE:I recommend you to do this in a Virtual Machine or in a Test Machine to see is everything is OK.
In this example I wil create a gschema.override file to edit the applications in the Unity Launcher. It will show by default only Nautilus & Gedit.
1) To see the default values you can open a Terminal window Ctrl+Alt+T and type:
sed -n 52p /usr/share/glib-2.0/schemas/com.canonical.Unity.gschema.xml
The Result:
<default>[ 'application://ubiquity.desktop', 'application://nautilus.desktop', 'application://firefox.desktop', 'application://libreoffice-writer.desktop', 'application://libreoffice-calc.desktop', 'application://libreoffice-impress.desktop', 'application://ubuntu-software-center.desktop', 'application://ubuntuone-installer.desktop', 'application://ubuntu-amazon-default.desktop', 'application://UbuntuOneMusiconeubuntucom.desktop', 'application://gnome-control-center.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices' ]</default>
Or with dconf-editor.
sudo apt-get install dconf-editor
The .desktop files are the default applications in the Launcher.
nautilus
firefox
libreoffice-writer
libreoffice-calc
libreoffice-impress
ubuntu-software-center
ubuntuone-installer
ubuntu-amazon-default
UbuntuOneMusiconeubuntucom
gnome-control-center
2) To create a gschema.override type:
sudo nano /usr/share/glib-2.0/schemas/99_launcher.favorites.gschema.override
The format would be:
[Schema]
key = values
The content of the 99_launcher.favorites.gschema.override would be:
[com.canonical.Unity.Launcher]
favorites = ['application://nautilus.desktop', 'application://gedit.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices']
Save the changes with Ctrl+O,Enter then Ctrl+X.
3) Compile the schemas.
-
sudo -i
-
glib-compile-schemas /usr/share/glib-2.0/schemas/
Now you can create a new user , Login as the new user to see the new default icons in the Launcher.
NOTE: To add your programs by default in the system-wide, you need the .desktop file for each application under /usr/share/applications/ directory.
Default:
New Default:
Hope this helps.