greeter is a program launched by gdm if gdm settings (somewhere in /etc/) say to check for other X hosts to login to gnome-shell is a new term seasoned users may not be familiar with. definition: GNOME Shell (gnome-shell) is the graphical shell of the GNOME desktop environment starting with version 3, which was released on April 6, 2011. It provides basic functions like launching applications, switching between windows and is also a widget engine. GNOME Shell replaced GNOME Panel and some ancillary components in GNOME 2. there are (a few) people who are developing GDM on the git(1) (see manpage git). you can ask them where in the code. I would say go back to main() and look again. gnome shell is began by gnome-session(1), which would be the last thing gdm does gdm itself is a daemon - and the gdm package comes with chooeser (choose X11 host to login to) and greeter (the login desktop / login window). when you start gdm it daemonizes, it’s just a server listening for connections. greeter is started to show login. whatever starts greeter starts X before it. the last thing greeter does (after changing process ownership to who logged in) is to execl(1) or (execp, or fork) gnome-session. now note that greeter may be using features of gnome (gnome libs) for Accessibility, but likely does not have a “desktop session” (so doesnt needs gnome-session, which just starts other gnome programs). that can change though - gdm team might decide since parts of gnome-libs invoke other parts to just run a login desktop (to start gnome session (a whole desktop with interlocked libs - in for a penny in for a pound), and then show login using it (for multimedia reasons) but i don’t think they have (yet)).
|