Saturday, November 19. 2011
Some weeks ago I realized that gnome-shell and all gnome3 packages were ready to be installed in my wheezy box. Cos I were (and I still am) very busy with a project I am involved, I decided not to upgrade my system at that moment. I had heard such bad comments about this new version that I felt afraid about the change (I was very comfortable with my old desktop). But I have always been a loyal gnome user so the previous weekend my new gnome3/gnome-shell environment was installed, tested and customized.
Obviously the bad comments about the new version are justified in the big differences between both versions. In my opinion plain gnome 3.0 (current version in wheezy), though very eye-candy, is very very restrictive and unproductive in its use. Lots of clicks are wasted to do the same thing you previously did in just one. This annoying fact is very related to the lost of many applets I usually managed (virtual desktop management, menus, launchers, window selector, weather,...), which made your life easier. But finally I discovered that gnome-shell introduces a new idea: gnome shell extensions. The gnome-shell uses extensions in a very similar way than firefox does but, right now, there is not a trusted gnome extension repository or a extension manager application (easy installation, auto-update and so on). But it is clear for me that it is planned for the near future.
In order to configure gnome-shell and its extensions you better install gnome-tweak-tool application. But you always can do all configuration using typical gsettings command or dconf-editor application (utilities to manage the gnome configuration in general). So once I had understood new gnome-shell stuff I installed the following extensions to be comfortable with my new desktop:
Gnome itself has a collection of extensions (these are the ones that I think, at least, are going to be in any linux distro by default). I installed two of them:
- dock: Shows a dock-style task switcher on the right side of the screen (it replaces my typical launchers and window selectors). Next version 3.2 adds configuration properties for changing the default position and auto-hiding.
- user-theme: Loads a shell theme from ~/.themes/<name>/gnome-shell (I like to customize my desktop ).
The installation process is the following:
Get the source from GIT:
$ git clone git://git.gnome.org/gnome-shell-extensions
Go to tag gnome 3.0.2 (version of my current wheezy gnome-shell):
$ cd gnome-shell-extensions/ $ git checkout 3.0.2
Autogen, make and install them (only the two extensions):
$ ./autogen.sh --prefix=$HOME/.local --enable-extensions="user-theme dock" $ make $ make install
Right now there is a bug in glib-2.0 that it does not take into account extended schemas you have in your ~/.local/share/glib-2.0/schemas directory. So you have to copy the new schemas from there to the global directory and compile them:
$ cd ~/.local/share/glib-2.0/schemas/ $ sudo cp org.gnome.shell.extensions.dock.gschema.xml \ org.gnome.shell.extensions.user-theme.gschema.xml /usr/share/glib-2.0/schemas/ $ sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
- All the themes for gnome3 (GTK, window manager or gnome-shell itself) can be download from gnome-look.org. They are installed as always inside ~/.themes and ~/.icons directories. Use gnome-tweak-tool to change any theme.
Another applet I used to add to my gnome2 panel was the weather applet. An equivalent extension is the gnome-shell-weather-extension done by Simon Legner but it nowadays does not have several locations like the old applet . The installation is more or less the same:
Clone the repository with git (branch 3.0):
$ git clone -b gnome3.0 https://github.com/simon04/gnome-shell-extension-weather
$ cd gnome-shell-extension-weather/ $ ./autogen.sh --prefix=$HOME/.local $ make $ make install
Because of the commented glib2 bug you need to include the schemas globally:
$ cd ~/.local/share/glib-2.0/schemas $ sudo cp org.gnome.shell.extensions.weather.gschema.xml /usr/share/glib-2.0/schemas/ $ sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Then you need to set the city for the weather, in my case Madrid. I did it via gsettings (you can also use dconf-editor):
$ gsettings set org.gnome.shell.extensions.weather woeid "'766273'"
Finally workspaces in default gnome3 needs too many clicks for me (I change working workspace very often to waste time doing that). So I installed another extension that adds workspace selection in gnome-shell toolbar. This extension has been incorporated to default gnome-shell extensions in latest version 3.2 (but it does not exist in the 3.0.2/wheezy version I installed in the first point).
The installation is pretty the same:
Clone the sources:
$ git clone git://github.com/erick2red/shell-extensions.git
Generate and install:
$ cd shell-extensions/ $ ./autogen.sh --prefix=$HOME/.local --enable-extensions="workspace-indicator" $ make $ make install
Installation of the schemas:
$ cd schemas/ $ sudo cp org.gnome.shell.extensions.workspace-indicator.gschema.xml \ /usr/share/glib-2.0/schemas/ $ sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
I prefer wide indicator (with wide indicator you see Workspace 1 instead of the concise 1 you get with default configuration):
$ gettings set org.gnome.shell.extensions.workspace-indicator \ wide-indicator true
I tried to be comfortable but with the least number of extensions. Think you have to re-add them every time you upgrade gnome-shell version (until there was a better solution: a gnome extension manager infraestructure, distro provided extensions or whatever). My desktop currently has the following aspect.
I have written this entry because, as I commented before, I will need to update my extensions when a new version of the gnome-shell arrives (3.2 for example). I hope that shortly some extension management will come to gnome3 and all this stuff will be automatically done (as firefox does), but right now extensions need to be installed manually. There are a lot of them scattered throughout the internet and there are also several links which comment the must-have ones (for example this, this or this). Installation can be independent of the linux distribution (although some basic extensions will come by default for sure). I have only installed four extensions in my desktop: user-theme support, dock, weather and workspace. You can enable or disable extensions and customize them via gnome-tweak-tool (coarse-grained changes) and gsettings or dconf-editor (fine-grained configuration).
Finally I got the conclusion that gnome3 and its extensions are a brilliant idea. I think that, with a proper management and repository, its future is awesome but right now gnome3 falls a bit short. In my opinion that is the reason for all the bad comments and the negative impression of many users.
Long life gnome3!
I think it is based on a web server plug-in. It only works with 3.2 version and above (the plug-in is only distributed by 3.2, not 3.0) and some extensions are missing (weather for example). But as I said it is moving on.