Difference between revisions of "GDM"
Weibullguy (talk | contribs) |
|||
(26 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
---- | ---- | ||
+ | |||
+ | {{Package-Introduction|GDM is the GNOME Display Manager, a graphical login program.|http://www.gnome.org/projects/gdm/}} | ||
+ | |||
+ | {{Note|GDM is at version {{GDM-Version}} because newer versions such as 2.22.x and 2.24.x are missing programs like gdmsetup.}} | ||
== Dependencies == | == Dependencies == | ||
Line 13: | Line 17: | ||
* [[GNOME Doc-Utils]] | * [[GNOME Doc-Utils]] | ||
* [[librsvg]] | * [[librsvg]] | ||
+ | |||
=== Optional === | === Optional === | ||
* [[intltool]] | * [[intltool]] | ||
− | * [[Linux- | + | * [[Linux-PAM]] |
* [[TCP Wrappers]] | * [[TCP Wrappers]] | ||
* [[OpenAFS]] | * [[OpenAFS]] | ||
* [[usermode]] | * [[usermode]] | ||
+ | * [[ConsoleKit]] | ||
* [[SELinux]] | * [[SELinux]] | ||
Line 24: | Line 30: | ||
groupadd -g 23 gdm && | groupadd -g 23 gdm && | ||
− | useradd -c "GDM Daemon Owner" -d / | + | useradd -c "GDM Daemon Owner" -d /var/lib/gdm \ |
-g gdm -s /bin/bash -u 23 gdm | -g gdm -s /bin/bash -u 23 gdm | ||
Line 41: | Line 47: | ||
Compile the package: | Compile the package: | ||
+ | CPPFLAGS="-I${XORG_PREFIX}/include" \ | ||
./configure --prefix=${GNOME_PREFIX} \ | ./configure --prefix=${GNOME_PREFIX} \ | ||
--sysconfdir=/etc/gnome \ | --sysconfdir=/etc/gnome \ | ||
Line 46: | Line 53: | ||
--libexecdir=${GNOME_PREFIX}/lib/gdm \ | --libexecdir=${GNOME_PREFIX}/lib/gdm \ | ||
--mandir=${GNOME_PREFIX}/share/man \ | --mandir=${GNOME_PREFIX}/share/man \ | ||
− | --with-pam-prefix=/etc && | + | --with-pam-prefix=/etc --with-xevie=yes && |
make | make | ||
Line 64: | Line 71: | ||
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" && | export PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" && | ||
+ | CPPFLAGS="-I${XORG_PREFIX}/include" \ | ||
CC="gcc ${BUILD32}" USE_ARCH=32 \ | CC="gcc ${BUILD32}" USE_ARCH=32 \ | ||
./configure --prefix=${GNOME_PREFIX} \ | ./configure --prefix=${GNOME_PREFIX} \ | ||
Line 70: | Line 78: | ||
--libexecdir=${GNOME_PREFIX}/lib/gdm \ | --libexecdir=${GNOME_PREFIX}/lib/gdm \ | ||
--mandir=${GNOME_PREFIX}/share/man \ | --mandir=${GNOME_PREFIX}/share/man \ | ||
− | --with-pam-prefix=/etc && | + | --with-pam-prefix=/etc --with-xevie=yes && |
make | make | ||
Line 87: | Line 95: | ||
export PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" && | export PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" && | ||
+ | CPPFLAGS="-I${XORG_PREFIX}/include" \ | ||
CC="gcc ${BUILDN32}" USE_ARCH=n32 \ | CC="gcc ${BUILDN32}" USE_ARCH=n32 \ | ||
./configure --prefix=${GNOME_PREFIX} \ | ./configure --prefix=${GNOME_PREFIX} \ | ||
Line 94: | Line 103: | ||
--libexecdir=${GNOME_PREFIX}/lib32/gdm \ | --libexecdir=${GNOME_PREFIX}/lib32/gdm \ | ||
--mandir=${GNOME_PREFIX}/share/man \ | --mandir=${GNOME_PREFIX}/share/man \ | ||
− | --with-pam-prefix=/etc && | + | --with-pam-prefix=/etc --with-xevie=yes && |
make | make | ||
Line 111: | Line 120: | ||
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" && | export PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" && | ||
+ | CPPFLAGS="-I${XORG_PREFIX}/include" \ | ||
CC="gcc ${BUILD64}" USE_ARCH=64 \ | CC="gcc ${BUILD64}" USE_ARCH=64 \ | ||
./configure --prefix=${GNOME_PREFIX} \ | ./configure --prefix=${GNOME_PREFIX} \ | ||
Line 118: | Line 128: | ||
--libexecdir=${GNOME_PREFIX}/lib64/gdm \ | --libexecdir=${GNOME_PREFIX}/lib64/gdm \ | ||
--mandir=${GNOME_PREFIX}/share/man \ | --mandir=${GNOME_PREFIX}/share/man \ | ||
− | --with-pam-prefix=/etc && | + | --with-pam-prefix=/etc --with-xevie=yes && |
make | make | ||
Line 134: | Line 144: | ||
install -v -m755 -d /var/log/gdm && | install -v -m755 -d /var/log/gdm && | ||
sed -i.orig "/\[daemon\]/ a LogDir=/var/log/gdm" \ | sed -i.orig "/\[daemon\]/ a LogDir=/var/log/gdm" \ | ||
− | /etc/gnome/gdm/custom.conf | + | /etc/gnome/gdm/custom.conf |
− | |||
− | |||
You may also want to set a default gtk theme: | You may also want to set a default gtk theme: | ||
Line 143: | Line 151: | ||
/etc/gnome/gdm/custom.conf | /etc/gnome/gdm/custom.conf | ||
− | If you have [[Linux- | + | If you have [[Linux-PAM]] installed run the following commands: |
− | + | cat > /etc/pam.d/gdm << "EOF" && | |
− | cp | + | #%PAM-1.0 |
+ | |||
+ | auth include system-auth | ||
+ | account include system-auth | ||
+ | password include system-auth | ||
+ | session include system-auth | ||
+ | EOF | ||
+ | cp /etc/pam.d/gdm{,-autologin} && | ||
echo "auth required pam_permit.so" >> /etc/pam.d/gdm-autologin | echo "auth required pam_permit.so" >> /etc/pam.d/gdm-autologin | ||
− | If you | + | If you built GDM with [[usermode]] installed then you need to make a PAM config for gdmsetup as well as a symlink to consolehelper: |
+ | |||
+ | cp /etc/pam.d/gdm{,setup} && | ||
+ | ln -sfv /usr/bin/consolehelper ${GNOME_PREFIX}/bin/gdmsetup && | ||
+ | sed -i "s/sbin/bin/g" ${GNOME_PREFIX}/share/gdm/applications/gdmsetup.desktop | ||
− | + | {{Note|If you make the link to consolehelper a regular users will beable to configure GDM by entering root's password.}} | |
− | + | ||
− | + | Gnome expects to be started with dbus-launch. The following makes the appropriate change to the session script so that happens: | |
− | + | ||
− | + | sed -i -e "/^Exec=/s/=/&dbus-launch --exit-with-session /" \ | |
− | + | -e "/^TryExec=/s@=.*@=/usr/bin/dbus-launch@" \ | |
− | + | ${GNOME_PREFIX}/share/xsessions/gnome.desktop | |
− | + | ||
− | + | === Launching GDM === | |
− | + | ||
− | + | The easiest way to do this is from a line in inittab: | |
− | + | ||
+ | x:5:respawn:/usr/sbin/gdm --nodaemon | ||
+ | |||
+ | [[Category:Display Managers]] |
Latest revision as of 10:13, 5 April 2009
Download Source: | http://ftp.gnome.org/pub/gnome/sources/gdm/2.20/gdm-2.20.8.tar.bz2 |
---|
Contents
Introduction to GDM
GDM is the GNOME Display Manager, a graphical login program.
Project Homepage: http://www.gnome.org/projects/gdm/
Dependencies
Required
Optional
Creating the GDM User/Group
groupadd -g 23 gdm && useradd -c "GDM Daemon Owner" -d /var/lib/gdm \ -g gdm -s /bin/bash -u 23 gdm
Configuration Information
To enable secure remote connections you must have Zenity, OpenSSH and which installed add the following argument to your configure command:
--enable-secureremote=yes
Non-Multilib
GDM looks in /usr/X11R6 for the X server, If you installed an X Window System to a prefix other then /usr/X11R6 then run the following command:
sed -i "s:/usr/X11R6:${XORG_PREFIX}:g" $(grep -lr /usr/X11R6 *)
Compile the package:
CPPFLAGS="-I${XORG_PREFIX}/include" \ ./configure --prefix=${GNOME_PREFIX} \ --sysconfdir=/etc/gnome \ --localstatedir=/var/lib \ --libexecdir=${GNOME_PREFIX}/lib/gdm \ --mandir=${GNOME_PREFIX}/share/man \ --with-pam-prefix=/etc --with-xevie=yes && make
Install the package
make install
Multilib
32Bit
GDM looks in /usr/X11R6 for the X server, If you installed an X Window System to a prefix other then /usr/X11R6 then run the following command:
sed -i "s:/usr/X11R6:${XORG_PREFIX}:g" $(grep -lr /usr/X11R6 *)
Compile the package:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" && CPPFLAGS="-I${XORG_PREFIX}/include" \ CC="gcc ${BUILD32}" USE_ARCH=32 \ ./configure --prefix=${GNOME_PREFIX} \ --sysconfdir=/etc/gnome \ --localstatedir=/var/lib \ --libexecdir=${GNOME_PREFIX}/lib/gdm \ --mandir=${GNOME_PREFIX}/share/man \ --with-pam-prefix=/etc --with-xevie=yes && make
Install the package
make install && unset PKG_CONFIG_PATH
N32
GDM looks in /usr/X11R6 for the X server, If you installed an X Window System to a prefix other then /usr/X11R6 then run the following command:
sed -i "s:/usr/X11R6:${XORG_PREFIX}:g" $(grep -lr /usr/X11R6 *)
Compile the package:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" && CPPFLAGS="-I${XORG_PREFIX}/include" \ CC="gcc ${BUILDN32}" USE_ARCH=n32 \ ./configure --prefix=${GNOME_PREFIX} \ --libdir=${GNOME_PREFIX}/lib32 \ --sysconfdir=/etc/gnome \ --localstatedir=/var/lib \ --libexecdir=${GNOME_PREFIX}/lib32/gdm \ --mandir=${GNOME_PREFIX}/share/man \ --with-pam-prefix=/etc --with-xevie=yes && make
Install the package
make install && unset PKG_CONFIG_PATH
64Bit
GDM looks in /usr/X11R6 for the X server, If you installed an X Window System to a prefix other then /usr/X11R6 then run the following command:
sed -i "s:/usr/X11R6:${XORG_PREFIX}:g" $(grep -lr /usr/X11R6 *)
Compile the package:
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" && CPPFLAGS="-I${XORG_PREFIX}/include" \ CC="gcc ${BUILD64}" USE_ARCH=64 \ ./configure --prefix=${GNOME_PREFIX} \ --libdir=${GNOME_PREFIX}/lib64 \ --sysconfdir=/etc/gnome \ --localstatedir=/var/lib \ --libexecdir=${GNOME_PREFIX}/lib64/gdm \ --mandir=${GNOME_PREFIX}/share/man \ --with-pam-prefix=/etc --with-xevie=yes && make
Install the package
make install && unset PKG_CONFIG_PATH
Configuring GDM
The default configuration parameters are stored in a static file ($GNOME_PREFIX/share/gdm/defaults.conf). This file is not intended to be edited. If modification of the configuration is necessary, you should add parameters to the /etc/gnome/gdm/custom.conf file. The settings in this file will override the settings in the static file. The same parameters in the static file are used in the configuration file.
Change the directory containing the GDM log files to the /var/log hierarchy:
install -v -m755 -d /var/log/gdm && sed -i.orig "/\[daemon\]/ a LogDir=/var/log/gdm" \ /etc/gnome/gdm/custom.conf
You may also want to set a default gtk theme:
sed -i "/\[gui\]/ a GtkTheme=Clearlooks" \ /etc/gnome/gdm/custom.conf
If you have Linux-PAM installed run the following commands:
cat > /etc/pam.d/gdm << "EOF" && #%PAM-1.0 auth include system-auth account include system-auth password include system-auth session include system-auth EOF cp /etc/pam.d/gdm{,-autologin} && echo "auth required pam_permit.so" >> /etc/pam.d/gdm-autologin
If you built GDM with usermode installed then you need to make a PAM config for gdmsetup as well as a symlink to consolehelper:
cp /etc/pam.d/gdm{,setup} && ln -sfv /usr/bin/consolehelper ${GNOME_PREFIX}/bin/gdmsetup && sed -i "s/sbin/bin/g" ${GNOME_PREFIX}/share/gdm/applications/gdmsetup.desktop
Gnome expects to be started with dbus-launch. The following makes the appropriate change to the session script so that happens:
sed -i -e "/^Exec=/s/=/&dbus-launch --exit-with-session /" \ -e "/^TryExec=/s@=.*@=/usr/bin/dbus-launch@" \ ${GNOME_PREFIX}/share/xsessions/gnome.desktop
Launching GDM
The easiest way to do this is from a line in inittab:
x:5:respawn:/usr/sbin/gdm --nodaemon