Mailing List Archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tlug] Unity is on top of GNOME (was Re: SUSE wipeout! (Add /home partition in Ubuntu)) writes:

 > On Sun, 19 Jun 2011 18:29:24 +0200, Josh Glover <> wrote:
 > > Is Unity GNOME underneath ... ?
 > Yup. Unity is a shell for GNOME. [1] 

I think what people need to remember here is that GNOME is a stack of
protocols, just like TCP/IP.  We talk about the WWW, but what happens
inside the computer is when we click on a link is

The X server sends an event to Firefox, which is caught by the XUL.
The Firefox XUL code tells the XUL interpreter where the click was
The XUL interpreter parses the URL and sends the domain name to the resolver
The resolver requests a socket from the kernel to talk to DNS
The socket driver sends the DNS's address etc to the UDP driver
The UDP driver sends a UDP packet and the address to the IP driver
The IP driver creates a raw IP packet and sends it to the device driver
The device driver sends the raw packet to the device firmware
The device firmware adds an ethernet header and squirts it all out on the wire.

Have you noticed that we don't even know the IP address of the
webserver yet, in fact we're waiting for it at this point? ;-)

Sounds *insanely* complicated to the naive, but in fact such protocol
stacks are an excellent way of managing complexity so that each level
is simple enough for a human being to implement.

I'm not familiar with what the various GNOME protocols all do, but
there are things like notifiers for specific events that usually
depend on reliable local IPC busses (dbus), there are window managers
and session managers etc.  I also have a suspicion that the GNOME
protocols were designed to suck.  But that's probably just the
curmudgeon in me. <wink />

Now, in the case of the WWW stack, the user only sees the browser, and
most users I know (outside of TLUG :-) call the browser "my Internet".
They don't notice the desktop behind the browser, let alone the X
protocol behind the desktop.

Similarly, users who understand that the desktop is software see the
window manager ("what you see and where"), and the session manager
("what programs are running"), but the lower level protocols of GNOME
(KDE, Mac OS, Windows) are not visible to them.  However, in an open
source system it's very much possible to share those lower level
protocols among different window or session managers (but only one of
which can run at a time without craziness happening), and that's what
Unity does.

In this, Unity is very different from Wayland.  Unity is a very high
level "shell" (basically a combination of window manager and session
manager), and it uses the underlying components of the GNOME stack to
provide the services it needs to gather information to display to the
user, and the pass user commands to the session.

Wayland, OTOH, is a low-level display service intended to
short-circuit parts of the GNOME stack (specificially, those related
to the display server (eg, /usr/bin/X) and window management,
especially compositing), in order to increase performance.

 > [1]

Mark Shuttleworth scares me.  I think I'm going to continue to avoid
*buntu....  <wink />

Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links