GNOME Shell confusion

Hi all,

The post attempts to illustrate some of the confusing issues I’m trying to navigate through while installing gnome-shell. Comments welcome

First up, apologies for not writing for 2 weeks. The extended family had come a visiting (which happens quite rarely) and since they were here,  it was just time to be with them.  When they left, got down with cough, cold and little bit of flu which has not cleared till yet.  Why I had to blog is I got a surprise package from China which I had not been expecting. The picture below shows the contents I received from the GNOME guys.

GNOME Shell party goodies
GNOME Shell party goodies

As can be seen in the image above, they sent quite a nice collection of T-shirts, badges and balloons. One of the balloons went to my neice who had come visiting for around 3 weeks and she did have a great time with them. I do have a couple of shaky photos of her playing with the balloons but nothing that could be put up. While I may still ask on the couple of mailing lists if somebody would like to host and I can pass on the stuff (as I’m down with flu and stuff and it would take atleast couple of weeks if not more for me to be back in working order) .

2-3 days before when I started feeling a shade better, I tried to see what is going on both the blogosphere about any hype or whatever about GNOME 3 before I start to seriously consider installing on my system. Loafing around came around this blog post and it hurt to read all of that.

I had been a GNOME user all of my life. I had tried KDE as well but for me it always had seemed that KDE has always been trying to re-create the Windows experience and is/was too complex for my taste. I do not know what the situation is with KDE 4 although I do know that lot of people have been wowing about it for quite some time. I do know they have done lots of good stuff in the bling section but dunno if that has translated into doing any better stuff in the performance section.

I have to confess that I’m somewhat of a terminal user as well, for nothing else then it gives great output messages which gives you an idea what to do next which is somewhat missing in most of the GUI world but that would be a subject for another blog post.

The problem with GNOME is at multiple levels I think. For example I had known of the existence of GNOME Foundation for quite sometime now but this is the first concrete thing I have known them do. Their user level and media engagement leaves much to be desired. There has been some improvement though atleast about GNOME 3 in the last week or so with the tour having screenshots and some ideas as to what to expect in GNOME Shell although most of what they have shown is also bling. The only exception would be saying that only one instance of an application would be running  but beyond that it seems to be only good looks so far. For me the real deal will happen when the functionality of remembering stuff which I had done/read/seen two weeks before the system can remember from whatever little I remember of that. I’m sure it would use something like either tracker or beagle but an improvement of that. The fuzzy details I recall as I read about a year back or more was that it would take all and any user-defined or community tags or whatever about a file and as well as the contents of a file and have some kind of cron job or something running once every 6-12 hours refreshing the info.  Now this would be built right into the system and not be heavy CPU or memory consumer application and one wouldn’t have to resort to ugly hacks as one does nowadays.  That would be really something that many people would like.

What I would have really liked though in the GNOME Shell Tour and the cheatsheet is some versioning information.  Also there seems to be a lack of system requirements/data as to what would it require to run GNOME Shell. For instance would it be good on a Dual-Core Intel (Williamette) 2.8 GHz with 2 GB DDR2 to run the shell with say 5-6 apps or would it be a slow drag?  No info about  system requirements makes the whole thing a bit harder to know.

Anyways, as I had been curious to see the new shell and try it on the desktop I had tried the JHBuild routine that didn’t work as the dependancy matrix told me I need to upgrade my Debian install to unstable which I am loath to do. Little bit of hunting around I also gathered that GNOME-Shell has made it to the experimental fold with the Debian universe.

Just before I start to tumble in, just so new people know what I am talking about. One of the reasons I went to Debian from Ubuntu is I can cherry pick (choose) the version of a package I want. In Debian apart from the CPU and the 32/64 bit stuff, it also has five flavors to choose from. The old stable,stable,testing,unstable and experimental. Ubuntu always syncs with the unstable version of Debian. The downer for me in Ubuntu has been the bug response issue where more than half the time the developer/maintainer would say try the next major/point version rather than fixing the issue with a minor update itself.It may be due to less number of developers/maintainers than the packages or the number of things they had on their plate. Don’t get me wrong, I know of enough people who are more than happy with Ubuntu as their main workstation, I’m just not one of them anymore. Maybe, just maybe I might have begun to like stability a bit more than bling that’s me..

Anyways so this is what I encountered while trying on GNOME Shell within Debian and frankly I would be more happy and content with stuff which appears in my distribution rather than taking stuff from outside. The headache of maintainance and keeping things fresh is best done by the distribution IMHO.

$ apt-cache madison gnome-shell
gnome-shell | 2.91.92-1 | experimental/main amd64 Packages

$ aptitude show gnome-shell
Package: gnome-shell
New: yes
State: not installed
Version: 2.91.92-1
Priority: extra
Section: gnome
Maintainer: Gustavo Noronha Silva
Uncompressed Size: 3,875 k

Depends =: gir1.2-atk-1.0 (>= 1.32), gir1.2-clutter-1.0 (>= 1.4), gir1.2-freedesktop (>= 0.9), gir1.2-gdkpixbuf-2.0, gir1.2-glib-2.0 (>= 0.9), gir1.2-gtk-3.0, gir1.2-json-glib-1.0, gir1.2-mutter-2.91 (>= 2.91.92), gir1.2-pango-1.0, gir1.2-telepathyglib-0.12,gir1.2-telepathylogger-0.2, gjs, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.7), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.6.0),libcamel1.2-19 (>= 2.32.0), libcamel1.2-19 (= 0.2), libclutter-1.0-0 (>= 1.6.0), libcroco3 (>= 0.6.2), libdbus-1-3(>= 1.0.2), libdbus-glib-1-2 (>= 0.78), libdrm2 (>= 2.3.1),libebook1.2-10 (>= 2.32.2), libecal1.2-8 (>= 2.32.2),libedataserver1.2-14 (>= 2.32.2), libedataserverui1.2-11 (>= 2.32.2),libffi5 (>= 3.0.4), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1),libgconf2-4 (>= 2.31.1), libgdk-pixbuf2.0-0 (>= 2.22.0), libgirepository-1.0-1 (>= 0.9.2), libgjs0b (>= 0.7.11), libgl1-mesa-glx | libgl1, libglib2.0-0 (>= 2.28.0), libgnome-desktop-3-0 (>= 2.91.5), libgnome-menu2 (>= 2.27.92), libgstreamer0.10-0 (>= 0.10.20), libgtk-3-0 (>= 3.0.0), libgtk2.0-0 (>= 2.8.0), libical0 (>= 0.31), libjson-glib-1.0-0, libmozjs4d (>= 2.0~rc1), libmutter0 (>= 2.91.92), libnspr4-0d (>=, libnss3-1d (>= 3.12.0~1.9b1), libpango1.0-0 (>= 1.14.0), libpolkit-agent-1-0 (>= 0.99), libpolkit-gobject-1-0 (>= 0.94), libpulse-mainloop-glib0, libpulse0 (>= 0.9.21), libsoup2.4-1 (>= 2.4.0), libsqlite3-0 (>= 3.5.9), libstartup-notification0 (>= 0.10), libtelepathy-glib0 (>= 0.13.12), libtelepathy-logger2 (>= 0.2.0),libx11-6, libxcomposite1 (>= 1:0.3-1), libxdamage1 (>= 1:1.1),libxext6, libxfixes3 (>= 1:5.0), libxi6, libxml2 (>= 2.7.4), gconf2 (>= 2.28.1-2), libdconf0 | gsettings-backend, gnome-settings-daemon (>=, gnome-control-center (>= 2.91), gsettings-desktop-schemas (>= 0.1.7), gir1.2-gconf-2.0, gir1.2-gkbd-3.0, gir1.2-polkit-1.0, gir1.2-upowerglib-1.0, python, pkg-config, mesa-utils

Description: graphical shell for the GNOME desktop

The GNOME Shell redefines user interactions with the GNOME desktop. In particular, it offers new paradigms for launching applications, accessing documents, and organizing open windows in GNOME. Later, it will introduce a new applets eco-system and offer new solutions for other desktop features, such as notifications and contacts management. The GNOME Shell is intended to replace functions handled by the GNOME Panel and by the window manager in previous versions of GNOME. The GNOME Shell has rich visual effects enabled by new
graphical technologies.


I tried installing the same version 2.91.92-1 on my desktop and had to take a step back due to the upgrades and the brokeness of my system if I did the upgrade.

$ sudo aptitude install gnome-shell
[sudo] password for shirish:
The following NEW packages will be installed:
gir1.2-atk-1.0{ab} gir1.2-clutter-1.0{ab} gir1.2-freedesktop{ab}
gir1.2-gconf-2.0{ab} gir1.2-gdkpixbuf-2.0{ab} gir1.2-gkbd-3.0{a}
gir1.2-glib-2.0{ab} gir1.2-gtk-2.0{ab} gir1.2-gtk-3.0{a}
gir1.2-json-glib-1.0{ab} gir1.2-polkit-1.0{ab}
gir1.2-telepathyglib-0.12{ab} gir1.2-telepathylogger-0.2{a}
gir1.2-upowerglib-1.0{ab} gjs{a} gnome-desktop3-data{a} gnome-shell{b} gsettings-desktop-schemas{a} libcairo-gobject2{a} libcamel1.2-19{a} libdconf0{a} libebook1.2-10{a} libecal1.2-8{a} libedataserver1.2-14{a} libedataserverui1.2-11{a} libgirepository-1.0-1{a} libgjs0a{a} libgjs0b{ab} libgnome-desktop-3-0{a} libgnomekbd7{ab} libgtk-3-0{ab} libgtk-3-bin{a} libgtk-3-common{a} libtelepathy-logger2{ab}

0 packages upgraded, 34 newly installed, 0 to remove and 4 not upgraded.

Need to get 18.0 MB of archives. After unpacking 46.5 MB will be used.

The following packages have unmet dependencies:
gnome-shell: Depends: gir1.2-mutter-2.91 (>= 2.91.92) but it is not going to be installed.
Depends: libclutter-1.0-0 (>= 1.6.0) but 1.2.12-3 is installed.
Depends: libgconf2-4 (>= 2.31.1) but 2.28.1-6 is installed.
Depends: libmutter0 (>= 2.91.92) which is a virtual package.
Depends: libpolkit-agent-1-0 (>= 0.99) but 0.96-4 is installed.
Depends: libtelepathy-glib0 (>= 0.13.12) but 0.11.11-1 is installed.
Depends: libxfixes3 (>= 1:5.0) but 1:4.0.5-1 is installed.
Depends: gnome-settings-daemon (>= but 2.30.2-2 is installed.
gir1.2-upowerglib-1.0: Depends: libupower-glib1 (>= 0.9.9) but 0.9.5-5 is installed.
gir1.2-telepathyglib-0.12: Depends: libtelepathy-glib0 (>= 0.14.1-1) but 0.11.11-1 is installed.
gir1.2-freedesktop: Conflicts: gir1.0-freedesktop but 0.6.14-1+b1 is installed.
libtelepathy-logger2: Depends: libtelepathy-glib0 (>= 0.14.0) but 0.11.11-1 is installed.
gir1.2-gtk-2.0: Depends: libatk1.0-0 (>= 1.32.0) but 1.30.0-1 is installed.
gir1.2-json-glib-1.0: Conflicts: gir1.0-json-glib-1.0 but 0.10.2-2 is installed.
gir1.2-polkit-1.0: Depends: libpolkit-agent-1-0 (>= 0.99) but 0.96-4 is installed.
Depends: libpolkit-gobject-1-0 (>= 0.101) but 0.96-4 is installed.
gir1.2-gconf-2.0: Depends: libgconf2-4 (>= 2.31.1) but 2.28.1-6 is installed.
libgtk-3-0: Depends: libpango1.0-0 (>= 1.28.3-2) but 1.28.3-1+squeeze2 is installed.
gir1.2-atk-1.0: Depends: libatk1.0-0 (>= 1.32.0) but 1.30.0-1 is installed.
Conflicts: gir1.0-atk-1.0 which is a virtual package.
libgnomekbd7: Depends: libxklavier16 (>= 5.1) but 5.0-2 is installed.
Depends: libgnomekbd-common (>= 2.91.91-2) but 2.30.2-2 is installed.
gir1.2-glib-2.0: Conflicts: gir1.0-glib-2.0 but 0.6.14-1+b1 is installed.
gir1.2-gdkpixbuf-2.0: Depends: libgdk-pixbuf2.0-0 (>= 2.23.0) but 2.22.1-1+sid1 is installed.
libgjs0b: Conflicts: libgjs0a but 0.7.1-1 is to be installed.
gir1.2-clutter-1.0: Depends: libclutter-1.0-0 (>= 1.6.0) but 1.2.12-3 is installed.
Conflicts: gir1.0-clutter-1.0 but 1.2.12-3 is installed.
The following actions will resolve these dependencies:

Keep the following packages at their current version:
1) gir1.2-atk-1.0 [Not Installed]
2) gir1.2-clutter-1.0 [Not Installed]
3) gir1.2-freedesktop [Not Installed]
4) gir1.2-gconf-2.0 [Not Installed]
5) gir1.2-gdkpixbuf-2.0 [Not Installed]
6) gir1.2-gkbd-3.0 [Not Installed]
7) gir1.2-glib-2.0 [Not Installed]
8) gir1.2-gtk-2.0 [Not Installed]
9) gir1.2-gtk-3.0 [Not Installed]
10) gir1.2-json-glib-1.0 [Not Installed]
11) gir1.2-polkit-1.0 [Not Installed]
12) gir1.2-telepathyglib-0.12 [Not Installed]
13) gir1.2-telepathylogger-0.2 [Not Installed]
14) gir1.2-upowerglib-1.0 [Not Installed]
15) gjs [Not Installed]
16) gnome-shell [Not Installed]
17) libgjs0a [Not Installed]
18) libgnome-desktop-3-0 [Not Installed]
19) libgnomekbd7 [Not Installed]
20) libgtk-3-0 [Not Installed]
21) libgtk-3-bin [Not Installed]
22) libtelepathy-logger2 [Not Installed]

Leave the following dependencies unresolved:
23) libgtk-3-common recommends libgtk-3-0

Accept this solution? [Y/n/q/?]

When I saw the above I decided to hold back for the moment and see what the Debian bug database has to say about GNOME Shell and the results were not encouraging to say the least. Don’t get me wrong, I’ve been on broken systems for months before when X wouldn’t start and I would be on the terminal on the whole for some dependancy issue or some bug and it would be weeks or months I would be on the terminal doing my thing but neither do I have the patience of doing that and nor do I really wannna go that route atm and this is where my confusion lies.

The way to go forward would be either of two ways :-

a. Have a virtual install of Debian inside the same Debian partition and upgrade to the unstable repo and see what works and doesn’t

b. Buy a seperate hard disk and install Debian and update/upgrade to Debian’s Unstable repo and install GNOME Shell in it and keep it fresh.

c. Do nothing and wait for 6 months to a year till next testing hits stable and then try again.

The first option really doesn’t work for me. In my experience virtualization has always been somewhat of a so-so experience and the kind of disk space I would have to dedicate for a virtual partition is too much work and would take a lot of time.  I also wouldn’t have a real feel of any or all the issues involved and it really wouldn’t be fair to either GNOME, Debian or self as the whole experience wouldn’t be there.

The second option is there and at some point I do plan to buy a another hard disk but as always what is the best time.  My hardware supports SATA 2 and the motherboard has only 2 SATA ports (with one occupied by the hard disk I have).  Now while 1 TB has come down to something like , I did read something about Samsung or Seagate just launching a 3 TB model on SATA 2 few days ago. I would rather wait for as much time as possible as it would be wise perhaps to go for SATA 2 hdd when there are no bigger hard drives available in the SATA 2 stable and the price for the biggest SATA 2 drive comes down to the level or even a bit less.

The third option is the more relaxing one where one just updates Debian as one does every day or every second day and waits for the time for everything to come down and niggling issues are sorted out. It would be wise perhaps to wait for GNOME 3.01 or even GNOME 3.02 before getting on that beast. Its also possible that one would have more info. (hardware wise) and atleast the easy edge cases would be taken care of.

If one would let the imagination go wild, then the best combo would be to have GNOME Shell + the wayland server working together as there is also quite a bit of hype surrounding wayland as well. Its supposed to be easier, less memory user than XServer and generally supposed to be easier to handle than the current XServer as its supposed to have become bloated and lot of stuff needs to be snipped but hasn’t been due to not proper documentation in the beginning.

Anyways, lots of ideas, lots of potential, if nothing else would go to a Redhat/Fedora party if they decide to have one on the GNOME release party and have both a hands on experience and see what other people see/perceive of it and what the Fedora team says about it.

5 thoughts on “GNOME Shell confusion

  1. Dear Sriram/Ramkrishna,
    Thank you for your response. Lemme take each of your points and elaborate a bit .

    a. While it is heartening to see the admission who’s involved in the GNOME Foundation, it does sadden me to know that in 12 + years there hasn’t been as much involvement from the foundation as we (the users) would have liked.

    One of the many things the Foundation needs to do is have some sort of page with its history and its achievements. While I was doing research for the article above, was unable to find much info. on I did try some google fu with ‘keywords’ but the results were encouraging. I don’t remember the exact keywords atm but that is something that needs to be improved as well.

    b. While going on blogosphere, I came to know that the taskbar has been removed as well as the minimize and the maximize which are part of any GNOME window. Just curious to know how that will work with small screen spaces. I would also have quite a bit of pain in moving to a scenario like that. Have to confess though that have to yet see the videos and only after that I would think whether or not it makes sense to try moving to Debian unstable or hang around on the stable for some more time.

    Overall need to have more info.

  2. Hi there, was reading your blog. I’ll admit that the GNOME foundation hasn’t been that great with people management. I think as you observe that is changing. I’ve been part of GNOME for 12 years now since it began (well almost.. 6 months into the project 🙂 and I’ve seen all those things.

    I’m working much harder in improving that experience. Rewarding people who work hard, checking out blogs like yours and responding to them.

    And possibly, start doing some recruiting to help out with things. We have lots of things to be done pre 3.0 release and post 3.0. It’s always great to be part of something.

    As for GNOME 3 or rather the SHell. I changed over about a month or so ago. I cannot go back, I have adopted to the Shell way of doing things and found it far superior in a number of things. Awkward in one or two things that I believe will be fixed.

Leave a Reply

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

You are commenting using your 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 )

Connecting to %s

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