summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Cameron <Brian.Cameron@Sun.Com>2005-03-11 00:15:06 +0000
committerBrian Cameron <bcameron@src.gnome.org>2005-03-11 00:15:06 +0000
commit7be01d72274e1363569fdbfb3c6b33bda6412c21 (patch)
tree3fcfaeff0ae44bae9b85153f821e7a9e31ffe40d
parent5a6d64f455c79660dfdd2265cb8568bcef5e2745 (diff)
downloadgdm-7be01d72274e1363569fdbfb3c6b33bda6412c21.tar.gz
Changed default face directory to EXPANDED_DATADIR/pixmaps/faces since
Thu Mar 10 17:50:00 2005 Brian Cameron <Brian.Cameron@Sun.Com> * daemon/gdm.h, config/gdm.conf.in: Changed default face directory to EXPANDED_DATADIR/pixmaps/faces since putting the faces subdirectory in pixmaps simply makes more sense. * Makefile.am, acconfig.h, configure.in, gdmsetup-security.in, daemon/Makefile.am, daemon/gdm.h, daemon/gdm.in, daemon/slave.c, gui/Makefile.am, gui/gdmsetup.c, gui/greeter/Makefile.am, gui/greeter/greeter.c: Changed the way GDM files are installed. Now all programs intended to be run by root are in EXPANDED_SBINDIR (gdm/gdm-binary/gdmsetup), all programs that are not intended to be run by end-users are in EXPANDED_LIBEXEC (gdmchooser/gdmgreeter/gdmlogin). Removed gdmconfig wrapper script and gdm Xnest symlink since they only serve to clutter the filesystem. I announced this change in the 2.6.0.8 release notes and will be bumping the next release to 2.6 because of this change and the change to the default face directory. * configure.in, gui/faces/*: Add default faces. Images provided by Jaap A. Haitsma. Refer to bugzilla bug #149838. * gui/gdmphotosetup.c: Now browser will look in the system face directory first, in EXPANDED_DATADIR/pixmaps if the default face directory does not exist. * config/Makefile.am: Changed name of Default to Init since that follows the naming standard used by the other scripts. Fixes bug 118278. * docs/C/gdm.xml: Updated docs with information about the changes in today's commits.
-rw-r--r--ChangeLog32
-rw-r--r--Makefile.am3
-rw-r--r--acconfig.h1
-rw-r--r--config/Default.in83
-rw-r--r--config/Makefile.am8
-rw-r--r--config/gdm.conf.in2
-rw-r--r--configure.in14
-rw-r--r--daemon/Makefile.am4
-rw-r--r--daemon/gdm.h13
-rw-r--r--daemon/gdm.in4
-rw-r--r--daemon/slave.c12
-rw-r--r--docs/C/gdm.xml418
-rwxr-xr-xgdmconfig3
-rw-r--r--gdmsetup-security.in2
-rw-r--r--gui/Makefile.am10
-rw-r--r--gui/faces/Makefile.am36
-rw-r--r--gui/faces/bonfire.jpgbin0 -> 6071 bytes
-rw-r--r--gui/faces/cdrom.jpgbin0 -> 5359 bytes
-rw-r--r--gui/faces/clock.jpgbin0 -> 6301 bytes
-rw-r--r--gui/faces/daisy.jpgbin0 -> 6722 bytes
-rw-r--r--gui/faces/dice.jpgbin0 -> 4886 bytes
-rw-r--r--gui/faces/hollyleaf.jpgbin0 -> 5152 bytes
-rw-r--r--gui/faces/lamas.jpgbin0 -> 6814 bytes
-rw-r--r--gui/faces/seal.jpgbin0 -> 5778 bytes
-rw-r--r--gui/faces/sky.jpgbin0 -> 4920 bytes
-rw-r--r--gui/faces/skyline.jpgbin0 -> 1804 bytes
-rw-r--r--gui/gdmphotosetup.c25
-rw-r--r--gui/gdmsetup.c8
-rw-r--r--gui/greeter/Makefile.am2
-rw-r--r--gui/greeter/greeter.c2
30 files changed, 344 insertions, 338 deletions
diff --git a/ChangeLog b/ChangeLog
index 4def9d9b..f2fb7204 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,35 @@
+Thu Mar 10 17:50:00 2005 Brian Cameron <Brian.Cameron@Sun.Com>
+
+ * daemon/gdm.h, config/gdm.conf.in: Changed default face
+ directory to EXPANDED_DATADIR/pixmaps/faces since putting
+ the faces subdirectory in pixmaps simply makes more
+ sense.
+ * Makefile.am, acconfig.h, configure.in, gdmsetup-security.in,
+ daemon/Makefile.am, daemon/gdm.h, daemon/gdm.in, daemon/slave.c,
+ gui/Makefile.am, gui/gdmsetup.c, gui/greeter/Makefile.am,
+ gui/greeter/greeter.c: Changed the way GDM files are installed.
+ Now all programs intended to be run by root are in
+ EXPANDED_SBINDIR (gdm/gdm-binary/gdmsetup), all programs
+ that are not intended to be run by end-users are in
+ EXPANDED_LIBEXEC (gdmchooser/gdmgreeter/gdmlogin). Removed
+ gdmconfig wrapper script and gdm Xnest symlink since they
+ only serve to clutter the filesystem. I announced this
+ change in the 2.6.0.8 release notes and will be bumping
+ the next release to 2.6 because of this change and the
+ change to the default face directory.
+
+ * configure.in, gui/faces/*: Add default faces. Images
+ provided by Jaap A. Haitsma. Refer to bugzilla bug
+ #149838.
+ * gui/gdmphotosetup.c: Now browser will look in the system
+ face directory first, in EXPANDED_DATADIR/pixmaps if the
+ default face directory does not exist.
+ * config/Makefile.am: Changed name of Default to Init since
+ that follows the naming standard used by the other scripts.
+ Fixes bug 118278.
+ * docs/C/gdm.xml: Updated docs with information about
+ the changes in today's commits.
+
Thu Mar 10 14:35:00 2005 Brian Cameron <Brian.Cameron@Sun.Com>
* daemon/gdm.h, daemon/gdm.c: Added GET_CONFIG gdmflexiserver
diff --git a/Makefile.am b/Makefile.am
index e5aedc7c..5b54004a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -24,11 +24,10 @@ EXTRA_DIST = \
gdm-stop.in \
gdm-restart.in \
gdm-safe-restart.in \
- gdmconfig \
xmldocs.make \
omf.make
-sbin_SCRIPTS = gdm-stop gdm-restart gdm-safe-restart gdmconfig
+sbin_SCRIPTS = gdm-stop gdm-restart gdm-safe-restart
install-data-local: gdmsetup-security
if CONSOLE_HELPER
diff --git a/acconfig.h b/acconfig.h
index 00bad4c5..cb28db12 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -40,7 +40,6 @@
#undef EXPANDED_AUTHDIR
#undef EXPANDED_DATADIR
#undef EXPANDED_BINDIR
-#undef EXPANDED_GDMCONFIGDIR
#undef EXPANDED_LIBEXECDIR
#undef EXPANDED_LIBDIR
#undef EXPANDED_LOCALEDIR
diff --git a/config/Default.in b/config/Default.in
deleted file mode 100644
index a1c10294..00000000
--- a/config/Default.in
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/bin/sh
-# Stolen from the debian kdm setup, aren't I sneaky
-# Plus a lot of fun stuff added
-# -George
-
-PATH=@X_PATH@:$PATH
-OLD_IFS=$IFS
-
-gdmwhich () {
- COMMAND="$1"
- OUTPUT=
- IFS=:
- for dir in $PATH
- do
- if test -x "$dir/$COMMAND" ; then
- if test "x$OUTPUT" = "x" ; then
- OUTPUT="$dir/$COMMAND"
- fi
- fi
- done
- IFS=$OLD_IFS
- echo "$OUTPUT"
-}
-
-
-sysmodmap=/etc/X11/Xmodmap
-
-XMODMAP=`gdmwhich xmodmap`
-if [ x$XMODMAP != x ] ; then
- if [ x$GDM_PARENT_DISPLAY = x ]; then
- if [ -f $sysmodmap ]; then
- $XMODMAP $sysmodmap
- fi
- else
- ( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP -
- fi
-
- #
- # Switch Sun's Alt and Meta mod mappings
- #
-
- UNAME=`gdmwhich uname`
- PROCESSOR=`$UNAME -p`
- if [ x$PROCESSOR = xsparc ]; then
- if $XMODMAP | /usr/bin/grep mod4 | /usr/bin/grep Alt > /dev/null 2>/dev/null
- then
- $XMODMAP -e "clear Mod1" \
- -e "clear Mod4" \
- -e "add Mod1 = Alt_L" \
- -e "add Mod1 = Alt_R" \
- -e "add Mod4 = Meta_L" \
- -e "add Mod4 = Meta_R"
- fi
- fi
-fi
-
-SETXKBMAP=`gdmwhich setxkbmap`
-if [ x$SETXKBMAP != x ] ; then
- # FIXME: is this all right? Is this completely on crack?
- # What this does is move the xkb configuration from the GDM_PARENT_DISPLAY
- # FIXME: This should be done in code. Or there must be an easier way ...
- if [ -n "$GDM_PARENT_DISPLAY" ]; then
- XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )`
- if [ -n "$XKBSETUP" ]; then
- XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'`
- XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'`
- XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'`
- XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'`
- XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'`
- if [ -n "$XKBKEYMAP" ]; then
- $SETXKBMAP -keymap "$XKBKEYMAP"
- elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then
- $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY"
- elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then
- $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS"
- elif [ -n "$XKBSYMBOLS" ]; then
- $SETXKBMAP -symbols "$XKBSYMBOLS"
- fi
- fi
- fi
-fi
-
-exit 0
diff --git a/config/Makefile.am b/config/Makefile.am
index cf4af624..ea348518 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -26,7 +26,7 @@ EXTRA_DIST = \
gdm \
gdm-autologin \
locale.alias \
- Default.in \
+ Init.in \
PostSession.in \
PreSession.in \
PostLogin \
@@ -59,7 +59,7 @@ uninstall-hook:
$(DESTDIR)$(predir)/Default \
$(DESTDIR)$(postdir)/Default
-install-data-hook: gdm.conf Xsession gnome.desktop default.desktop CDE.desktop Default PostSession PreSession
+install-data-hook: gdm.conf Xsession gnome.desktop default.desktop CDE.desktop Init PostSession PreSession
if test '!' -d $(DESTDIR)$(confdir); then \
$(mkinstalldirs) $(DESTDIR)$(confdir); \
chmod 755 $(DESTDIR)$(confdir); \
@@ -126,9 +126,9 @@ install-data-hook: gdm.conf Xsession gnome.desktop default.desktop CDE.desktop D
chmod 755 $(DESTDIR)$(initdir); \
fi
-if test -f $(DESTDIR)$(initdir)/Default; then \
- cp -f $(DESTDIR)$(initdir)/Default $(DESTDIR)$(initdir)/Default.orig; \
+ cp -f $(DESTDIR)$(initdir)/Init $(DESTDIR)$(initdir)/Default.orig; \
fi
- $(INSTALL_SCRIPT) Default $(DESTDIR)$(initdir)/Default
+ $(INSTALL_SCRIPT) Init $(DESTDIR)$(initdir)/Default
if test '!' -d $(DESTDIR)$(postlogindir); then \
$(mkinstalldirs) $(DESTDIR)$(postlogindir); \
diff --git a/config/gdm.conf.in b/config/gdm.conf.in
index c8cb2aed..2062f175 100644
--- a/config/gdm.conf.in
+++ b/config/gdm.conf.in
@@ -273,7 +273,7 @@ Browser=false
# As an alternative to the above this is the minimum uid to show
#MinimalUID=100
# If user or user.png exists in this dir it will be used as his picture
-#GlobalFaceDir=@EXPANDED_DATADIR@/faces/
+#GlobalFaceDir=@EXPANDED_DATADIR@/pixmaps/faces/
# File which contains the locale we show to the user. Likely you want to use
# the one shipped with gdm and edit it. It is not a standard locale.alias file,
# although gdm will be able to read a standard locale.alias file as well.
diff --git a/configure.in b/configure.in
index 38e3dd1a..450d06e5 100644
--- a/configure.in
+++ b/configure.in
@@ -650,17 +650,6 @@ EXPANDED_LIBDIR=`eval echo $LIBDIR_TMP`
AC_SUBST(EXPANDED_LIBDIR)
AC_DEFINE_UNQUOTED(EXPANDED_LIBDIR,"$EXPANDED_LIBDIR")
-dnl This is where the binary actually resides,
-dnl not the console helper link
-if test "x$enable_console_helper" = "xyes"; then
- GDMCONFIGDIR_TMP="$sbindir"
-else
- GDMCONFIGDIR_TMP="$bindir"
-fi
-EXPANDED_GDMCONFIGDIR=`eval echo $GDMCONFIGDIR_TMP`
-AC_SUBST(EXPANDED_GDMCONFIGDIR)
-AC_DEFINE_UNQUOTED(EXPANDED_GDMCONFIGDIR,"$EXPANDED_GDMCONFIGDIR")
-
LOCALEDIR_TMP="$sysconfdir/gdm"
EXPANDED_LOCALEDIR=`eval echo $LOCALEDIR_TMP`
AC_SUBST(EXPANDED_LOCALEDIR)
@@ -869,6 +858,7 @@ AC_OUTPUT([
Makefile
daemon/Makefile
gui/Makefile
+gui/faces/Makefile
gui/greeter/Makefile
gui/greeter/themes/Makefile
gui/greeter/themes/circles/Makefile
@@ -899,7 +889,7 @@ docs/zh_HK/Makefile
docs/zh_TW/Makefile
config/gdm.conf
config/Xsession
-config/Default
+config/Init
config/PreSession
config/PostSession
daemon/gdm
diff --git a/daemon/Makefile.am b/daemon/Makefile.am
index 9f8742d5..5e02c6d2 100644
--- a/daemon/Makefile.am
+++ b/daemon/Makefile.am
@@ -22,7 +22,7 @@ INCLUDES = \
# -DGNOME_DISABLE_DEPRECATED \
#
-bin_PROGRAMS = gdm-binary
+sbin_PROGRAMS = gdm-binary
gdm_binary_SOURCES = \
gdm.c \
@@ -76,6 +76,6 @@ gdm_binary_LDADD = \
-L$(top_builddir)/vicious-extensions \
-lvicious
-bin_SCRIPTS = gdm
+sbin_SCRIPTS = gdm
EXTRA_DIST = gdm.in
diff --git a/daemon/gdm.h b/daemon/gdm.h
index 58d51862..186f2c42 100644
--- a/daemon/gdm.h
+++ b/daemon/gdm.h
@@ -121,15 +121,15 @@ enum {
#define PIPE_SIZE 4096
/* Configuration constants */
-#define GDM_KEY_CHOOSER "daemon/Chooser=" EXPANDED_BINDIR "/gdmchooser"
+#define GDM_KEY_CHOOSER "daemon/Chooser=" EXPANDED_LIBEXECDIR "/gdmchooser"
/* This defaults to true for backward compatibility,
* it will not actually do automatic login since the AutomaticLogin defaults
* to nothing */
#define GDM_KEY_AUTOMATICLOGIN_ENABLE "daemon/AutomaticLoginEnable=true"
#define GDM_KEY_AUTOMATICLOGIN "daemon/AutomaticLogin="
#define GDM_KEY_ALWAYSRESTARTSERVER "daemon/AlwaysRestartServer=false"
-#define GDM_KEY_GREETER "daemon/Greeter=" EXPANDED_BINDIR "/gdmlogin"
-#define GDM_KEY_REMOTEGREETER "daemon/RemoteGreeter=" EXPANDED_BINDIR "/gdmlogin"
+#define GDM_KEY_GREETER "daemon/Greeter=" EXPANDED_LIBEXECDIR "/gdmlogin"
+#define GDM_KEY_REMOTEGREETER "daemon/RemoteGreeter=" EXPANDED_LIBEXECDIR "/gdmlogin"
#define GDM_KEY_ADD_GTK_MODULES "daemon/AddGtkModules=false"
#define GDM_KEY_GTK_MODULES_LIST "daemon/GtkModulesList="
#define GDM_KEY_GROUP "daemon/Group=gdm"
@@ -227,12 +227,12 @@ enum {
#define GDM_KEY_EXCLUDE "greeter/Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm,rpm,nfsnobody,pcap"
#define GDM_KEY_MINIMALUID "greeter/MinimalUID=100"
#define GDM_KEY_FACE "greeter/DefaultFace=" EXPANDED_PIXMAPDIR "/nobody.png"
-#define GDM_KEY_FACEDIR "greeter/GlobalFaceDir=" EXPANDED_DATADIR "/faces/"
+#define GDM_KEY_FACEDIR "greeter/GlobalFaceDir=" EXPANDED_DATADIR "/pixmaps/faces/"
#define GDM_KEY_LOCFILE "greeter/LocaleFile=" EXPANDED_LOCALEDIR "/locale.alias"
#define GDM_KEY_LOGO "greeter/Logo=" EXPANDED_PIXMAPDIR "/gdm-foot-logo.png"
#define GDM_KEY_QUIVER "greeter/Quiver=true"
#define GDM_KEY_SYSMENU "greeter/SystemMenu=true"
-#define GDM_KEY_CONFIGURATOR "daemon/Configurator=" EXPANDED_GDMCONFIGDIR "/gdmsetup --disable-sound --disable-crash-dialog"
+#define GDM_KEY_CONFIGURATOR "daemon/Configurator=" EXPANDED_SBINDIR "/gdmsetup --disable-sound --disable-crash-dialog"
#define GDM_KEY_CONFIG_AVAILABLE "greeter/ConfigAvailable=true"
#define GDM_KEY_CHOOSER_BUTTON "greeter/ChooserButton=true"
#define GDM_KEY_TITLE_BAR "greeter/TitleBar=true"
@@ -734,7 +734,8 @@ void gdm_final_cleanup (void);
#define GDM_SUP_GET_CONFIG "GET_CONFIG" /* <key> */
/* GET_CONFIG: Get configuration value for key. Useful so
* that other programs can request configuration information
- * from GDM.
+ * from GDM. Any key defined as GDM_KEY_* in gdm.h is
+ * supported.
* Supported since: 2.6.0.9
* Arguments: <key>
* Answers:
diff --git a/daemon/gdm.in b/daemon/gdm.in
index c83eb675..05e7a501 100644
--- a/daemon/gdm.in
+++ b/daemon/gdm.in
@@ -23,7 +23,5 @@ then
fi
fi
-exec @EXPANDED_BINDIR@/gdm-binary "$@"
+exec @EXPANDED_SBINDIR@/gdm-binary "$@"
-# fallback, use PATH
-exec gdm-binary "$@"
diff --git a/daemon/slave.c b/daemon/slave.c
index 000172b5..2cdb544c 100644
--- a/daemon/slave.c
+++ b/daemon/slave.c
@@ -1670,7 +1670,7 @@ run_config (GdmDisplay *display, struct passwd *pwent)
"default location."));
argv = ve_split
- (EXPANDED_BINDIR
+ (EXPANDED_LIBEXECDIR
"/gdmsetup --disable-sound --disable-crash-dialog");
if (access (argv[0], X_OK) == 0)
VE_IGNORE_EINTR (execv (argv[0], argv));
@@ -2624,11 +2624,11 @@ gdm_slave_greeter (void)
if (strstr (command, "gdmlogin") != NULL) {
/* in case it is gdmlogin that's crashing
try the graphical greeter for luck */
- command = EXPANDED_BINDIR "/gdmgreeter";
+ command = EXPANDED_LIBEXECDIR "/gdmgreeter";
} else {
/* in all other cases, try the gdmlogin (standard greeter)
proggie */
- command = EXPANDED_BINDIR "/gdmlogin";
+ command = EXPANDED_LIBEXECDIR "/gdmlogin";
}
}
@@ -2649,13 +2649,13 @@ gdm_slave_greeter (void)
gdm_error (_("%s: Cannot start greeter trying default: %s"),
"gdm_slave_greeter",
- EXPANDED_BINDIR "/gdmlogin");
+ EXPANDED_LIBEXECDIR "/gdmlogin");
ve_setenv ("GDM_WHACKED_GREETER_CONFIG", "true", TRUE);
- exec_command (EXPANDED_BINDIR "/gdmlogin", NULL);
+ exec_command (EXPANDED_LIBEXECDIR "/gdmlogin", NULL);
- VE_IGNORE_EINTR (execl (EXPANDED_BINDIR "/gdmlogin", EXPANDED_BINDIR "/gdmlogin", NULL));
+ VE_IGNORE_EINTR (execl (EXPANDED_LIBEXECDIR "/gdmlogin", EXPANDED_LIBEXECDIR "/gdmlogin", NULL));
gdm_error_box (d,
GTK_MESSAGE_ERROR,
diff --git a/docs/C/gdm.xml b/docs/C/gdm.xml
index a495d2a4..6b01a8fb 100644
--- a/docs/C/gdm.xml
+++ b/docs/C/gdm.xml
@@ -451,7 +451,7 @@
Optionally the greeter can provide a face browser containing icons for
all the users on a system. The icons can be installed globally by the
sysadmin or in the users' home directories. If installed globally
- they should be in the <filename>&lt;share&gt;/faces/</filename>
+ they should be in the <filename>&lt;share&gt;/pixmaps/faces/</filename>
directory (though this can be configured with the
<filename>GlobalFaceDir</filename>
configuration option) and the filename should be the name of the user,
@@ -2304,7 +2304,7 @@ XKeepsCrashing
<varlistentry>
<term>GlobalFaceDir</term>
<listitem>
- <synopsis>GlobalFaceDir=&lt;share&gt;/faces/</synopsis>
+ <synopsis>GlobalFaceDir=&lt;share&gt;/pixmaps/faces/</synopsis>
<para>
Systemwide directory for face files. The sysadmin can place
icons for users here without touching their homedirs. Faces are
@@ -3029,7 +3029,7 @@ Language=cs_CZ.UTF-8
<para>
Face images can also be placed in the global face directory, which is
- normally <filename>&lt;share&gt;/faces/</filename>
+ normally <filename>&lt;share&gt;/pixmaps/faces/</filename>
(though this can be configured with the
<filename>GlobalFaceDir</filename> configuration option) and the
filename should be the name of the user, optionally with a
@@ -3128,6 +3128,7 @@ FLEXI_XSERVER
FLEXI_XNEST
CONSOLE_SERVERS
ALL_SERVERS
+GET_CONFIG
UPDATE_CONFIG
GREETERPIDS
QUERY_LOGOUT_ACTION
@@ -3296,6 +3297,25 @@ Answers:
</screen>
</sect3>
+ <sect3 id="getconfig">
+ <title>GET_CONFIG</title>
+ <screen>
+GET_CONFIG: Get configuration value for key. Useful so
+ that other programs can request configuration
+ information from GDM. Any key defined as GDM_KEY_*
+ in gdm.h is supported.
+Supported since: 2.6.0.9
+Arguments: &lt;key&gt;
+Answers:
+ OK &lt;value&gt;
+ ERROR &lt;err number&gt; &lt;english error description&gt;
+ 0 = Not implemented
+ 50 = Unsupported key
+ 200 = Too many messages
+ 999 = Unknown error
+ </screen>
+ </sect3>
+
<sect3 id="updateconfig">
<title>UPDATE_CONFIG</title>
<screen>
@@ -3498,185 +3518,14 @@ Supported since: 2.2.4.0
</sect2>
</sect1>
- <sect1 id="binaries">
- <title>GDM Commands</title>
+ <sect1 id="bindir_binaries">
+ <title>GDM Commands in EXPANDED_BINDIR</title>
<para>
- The GDM package provides quite a few different commands.
+ The GDM package provides the following different commands in
+ EXPANDED_BINDIR intended to be used by the end-user:
</para>
- <sect2 id="gdmcommandline">
- <title><filename>gdm</filename> and <filename>gdm-binary</filename>
- Command Line Options</title>
-
- <para>
- The <filename>gdm</filename> command is really just a script which
- runs the <filename>gdm-binary</filename>, passing along any options.
- Before launching gdm-binary, the gdm wrapper script will source the
- <filename>/etc/profile</filename> file to set the standard system
- environment variables. In order to better support
- internationalization, it will also set the LC_MESSAGES environment
- variable to LANG if neither LC_MESSAGES or LC_ALL are set. If you
- really need to set some additional environment before launching GDM,
- you can do so in this file.
- </para>
-
- <variablelist>
- <title><filename>gdm</filename> and <filename>gdm-binary</filename>
- Command Line Options</title>
-
- <varlistentry>
- <term>--help</term>
- <listitem>
- <para>
- Gives a brief overview of the command line options.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-nodaemon</term>
- <listitem>
- <para>
- If this option is specified, then gdm does not fork into the
- background when run. You can use just a single dash with this
- option to preserve compatibility with XDM.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>--no-console</term>
- <listitem>
- <para>
- Tell the daemon that it should not run anything on the console.
- This means that none of the local servers from the
- <filename>[servers]</filename> section will be run, and the
- console will not be used for communicating errors to the user.
- An empty <filename>[servers]</filename> section automatically
- implies this option.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>--preserve-ld-vars</term>
- <listitem>
- <para>
- When clearing the environment internally, preserve all variables
- starting with LD_. This is mostly for debugging purposes.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>--version</term>
- <listitem>
- <para>
- Print the version of the GDM daemon.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>--wait-for-go</term>
- <listitem>
- <para>
- If started with this option, gdm will init, but only start the
- first local display and then wait for a GO message in the fifo
- protocol. No greeter will be shown until the GO message is
- sent. Also flexiserver requests will be denied and XDMCP will
- not be started until GO is given. This is useful for
- initialization scripts which wish to start X early, but where
- you don't yet want the user to start logging in. So the script
- would send the GO to the fifo once it is ready and GDM will
- then continue. This functionality was added in version 2.5.90.0.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
-
- <sect2 id="gdmgreeterlogincommandline">
- <title><filename>gdmchooser</filename> and <filename>gdmlogin</filename>
- Command Line Options</title>
-
- <para>
- The <filename>gdmgreeter</filename> and <filename>gdmlogin</filename>
- are two different login programs, either can be used by GDM.
- <filename>gdmgreeter</filename> is themeable with GDM themes while
- <filename>gdmlogin</filename> is themable with GTK+ themes. These
- programs are normally executed by the GDM daemon. Both programs
- support standard GNOME options.
- </para>
- </sect2>
-
- <sect2 id="gdmchoosercommandline">
- <title><filename>gdmchooser</filename> Command Line Options</title>
-
- <para>
- The <filename>gdmchooser</filename> is the XDMCP chooser application.
- The <filename>gdmchooser</filename> is normally executed by the GDM
- daemon. It supports the following options for XDM compatibility.
- This program supports standard GNOME options.
- </para>
-
- <variablelist>
- <title><filename>gdmchooser</filename> Command Line Options</title>
-
- <varlistentry>
- <term>-xdmaddress=SOCKET</term>
- <listitem>
- <para>
- Socket for XDM communication.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>--clientaddress=ADDRESS</term>
- <listitem>
- <para>
- Client address to return in response to XDM. This option is for
- running gdmchooser with XDM, and is not used within GDM.
- </para>
- </listitem>
- </varlistentry>
-
- <varlistentry>
- <term>-connectionType=TYPE</term>
- <listitem>
- <para>
- Connection type to return in response to XDM. This option is for
- running gdmchooser with XDM, and is not used within GDM.
- </para>
- </listitem>
- </varlistentry>
- </variablelist>
- </sect2>
-
- <sect2 id="gdmsetupcommandline">
- <title><filename>gdmconfig</filename> and
- <filename>gdmsetup</filename> Command Line Options</title>
-
- <para>
- <filename>gdmconfig</filename> is a wrapper script for running
- <filename>gdmsetup</filename> for binary name compatibility.
- <filename>gdmconfig</filename> is installed to the
- <filename>&lt;sbin&gt;/</filename> directory.
- </para>
-
- <para>
- gdmsetup runs a graphical program for modifying the GDM
- configuration file, gdm.conf. Normally on systems that support the
- PAM userhelper, this is setup such that when you run
- <filename>gdmsetup</filename> as an ordinary user, it will first
- ask you for your root password before starting. Otherwise, this
- program may only be run as root. This program supports standard
- GNOME options.
- </para>
- </sect2>
-
<sect2 id="gdmxnestchoosercommandline">
<title><filename>gdmXnestchooser</filename> and
<filename>gdmXnest</filename> Command Line Options</title>
@@ -3695,20 +3544,8 @@ Supported since: 2.2.4.0
options.
</para>
- <para>
- <filename>gdmXnest</filename> is a symbolic link to
- <filename>gdmXnestchooser</filename> and is the same as using the
- --no-query and --no-gdm-check options with
- <filename>gdmXnestchooser</filename>. It is useful for running
- <filename>Xnest</filename> without actually connecting somewhere. It
- will print out the display setting on standard output that you can use
- to connect to this server. This is useful mostly for developers who
- perhaps wish to test their apps running on a completely separate server.
- </para>
-
<variablelist>
- <title><filename>gdmXnestchooser</filename> and
- <filename>gdmXnest</filename> Command Line Options</title>
+ <title><filename>gdmXnestchooser</filename> Command Line Options</title>
<varlistentry>
<term>-x, --xnest=STRING</term>
@@ -3897,6 +3734,129 @@ remote-flexi - In remote (XDMCP) &amp; flexi mode.
</screen>
</para>
</sect2>
+ </sect1>
+
+ <sect1 id="sbindir_binaries">
+ <title>GDM Commands in EXPANDED_SBINDIR</title>
+
+ <para>
+ The GDM package provides the following different commands in
+ EXPANDED_SBINDIR intended to be used by the root user:
+ </para>
+
+ <sect2 id="gdmcommandline">
+ <title><filename>gdm</filename> and <filename>gdm-binary</filename>
+ Command Line Options</title>
+
+ <para>
+ The <filename>gdm</filename> command is really just a script which
+ runs the <filename>gdm-binary</filename>, passing along any options.
+ Before launching gdm-binary, the gdm wrapper script will source the
+ <filename>/etc/profile</filename> file to set the standard system
+ environment variables. In order to better support
+ internationalization, it will also set the LC_MESSAGES environment
+ variable to LANG if neither LC_MESSAGES or LC_ALL are set. If you
+ really need to set some additional environment before launching GDM,
+ you can do so in this script.
+ </para>
+
+ <variablelist>
+ <title><filename>gdm</filename> and <filename>gdm-binary</filename>
+ Command Line Options</title>
+
+ <varlistentry>
+ <term>--help</term>
+ <listitem>
+ <para>
+ Gives a brief overview of the command line options.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-nodaemon</term>
+ <listitem>
+ <para>
+ If this option is specified, then gdm does not fork into the
+ background when run. You can use just a single dash with this
+ option to preserve compatibility with XDM.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--no-console</term>
+ <listitem>
+ <para>
+ Tell the daemon that it should not run anything on the console.
+ This means that none of the local servers from the
+ <filename>[servers]</filename> section will be run, and the
+ console will not be used for communicating errors to the user.
+ An empty <filename>[servers]</filename> section automatically
+ implies this option.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--preserve-ld-vars</term>
+ <listitem>
+ <para>
+ When clearing the environment internally, preserve all variables
+ starting with LD_. This is mostly for debugging purposes.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--version</term>
+ <listitem>
+ <para>
+ Print the version of the GDM daemon.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--wait-for-go</term>
+ <listitem>
+ <para>
+ If started with this option, gdm will init, but only start the
+ first local display and then wait for a GO message in the fifo
+ protocol. No greeter will be shown until the GO message is
+ sent. Also flexiserver requests will be denied and XDMCP will
+ not be started until GO is given. This is useful for
+ initialization scripts which wish to start X early, but where
+ you don't yet want the user to start logging in. So the script
+ would send the GO to the fifo once it is ready and GDM will
+ then continue. This functionality was added in version 2.5.90.0.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+
+ <sect2 id="gdmsetupcommandline">
+ <title><filename>gdmconfig</filename> and
+ <filename>gdmsetup</filename> Command Line Options</title>
+
+ <para>
+ <filename>gdmconfig</filename> is a wrapper script for running
+ <filename>gdmsetup</filename> for binary name compatibility.
+ <filename>gdmconfig</filename> is installed to the
+ <filename>&lt;sbin&gt;/</filename> directory.
+ </para>
+
+ <para>
+ gdmsetup runs a graphical program for modifying the GDM
+ configuration file, gdm.conf. Normally on systems that support the
+ PAM userhelper, this is setup such that when you run
+ <filename>gdmsetup</filename> as an ordinary user, it will first
+ ask you for your root password before starting. Otherwise, this
+ program may only be run as root. This program supports standard
+ GNOME options.
+ </para>
+ </sect2>
<sect2 id="gdmrestartcommandline">
<title><filename>gdm-restart</filename> Command Line Options</title>
@@ -3905,8 +3865,6 @@ remote-flexi - In remote (XDMCP) &amp; flexi mode.
<filename>gdm-restart</filename> stops and restarts GDM by sending
the GDM daemon a HUP signal. This command will immediately terminate
all sessions and log out users currently logged in with GDM.
- <filename>gdm-restart</filename> is installed to the
- <filename>&lt;sbin&gt;/</filename> directory.
</para>
</sect2>
@@ -3916,8 +3874,7 @@ remote-flexi - In remote (XDMCP) &amp; flexi mode.
<para>
<filename>gdm-safe-restart</filename> stops and restarts GDM by
sending the GDM daemon a USR1 signal. GDM will be restarted as soon
- as all users log out. <filename>gdm-safe-restart</filename> is
- installed to the <filename>&lt;sbin&gt;/</filename> directory.
+ as all users log out.
</para>
</sect2>
@@ -3926,12 +3883,79 @@ remote-flexi - In remote (XDMCP) &amp; flexi mode.
<para>
<filename>gdm-stop</filename> stops GDM by sending the GDM daemon
- a TERM signal. <filename>gdm-stop</filename> is installed to the
- <filename>&lt;sbin&gt;/</filename> directory.
+ a TERM signal.
</para>
</sect2>
</sect1>
+ <sect1 id="sbindir_binaries">
+ <title>GDM Commands in EXPANDED_LIBEXECDIR</title>
+
+ <para>
+ The GDM package provides the following different commands in
+ EXPANDED_LIBEXECDIR intended to be used by the gdm daemon process.
+ </para>
+
+ <sect2 id="gdmgreeterlogincommandline">
+ <title><filename>gdmchooser</filename> and <filename>gdmlogin</filename>
+ Command Line Options</title>
+
+ <para>
+ The <filename>gdmgreeter</filename> and <filename>gdmlogin</filename>
+ are two different login programs, either can be used by GDM.
+ <filename>gdmgreeter</filename> is themeable with GDM themes while
+ <filename>gdmlogin</filename> is themable with GTK+ themes. These
+ programs are normally executed by the GDM daemon. Both programs
+ support standard GNOME options.
+ </para>
+ </sect2>
+
+ <sect2 id="gdmchoosercommandline">
+ <title><filename>gdmchooser</filename> Command Line Options</title>
+
+ <para>
+ The <filename>gdmchooser</filename> is the XDMCP chooser application.
+ The <filename>gdmchooser</filename> is normally executed by the GDM
+ daemon. It supports the following options for XDM compatibility.
+ This program supports standard GNOME options and is found in
+ support standard GNOME options.
+ </para>
+
+ <variablelist>
+ <title><filename>gdmchooser</filename> Command Line Options</title>
+
+ <varlistentry>
+ <term>-xdmaddress=SOCKET</term>
+ <listitem>
+ <para>
+ Socket for XDM communication.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>--clientaddress=ADDRESS</term>
+ <listitem>
+ <para>
+ Client address to return in response to XDM. This option is for
+ running gdmchooser with XDM, and is not used within GDM.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>-connectionType=TYPE</term>
+ <listitem>
+ <para>
+ Connection type to return in response to XDM. This option is for
+ running gdmchooser with XDM, and is not used within GDM.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </sect2>
+ </sect1>
+
<!-- ============= Theme manual ============================= -->
<sect1 id="thememanual">
diff --git a/gdmconfig b/gdmconfig
deleted file mode 100755
index 47f30808..00000000
--- a/gdmconfig
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-# Just a script for some bin name compatibility
-exec gdmsetup "$@"
diff --git a/gdmsetup-security.in b/gdmsetup-security.in
index f04620b0..41f9297e 100644
--- a/gdmsetup-security.in
+++ b/gdmsetup-security.in
@@ -1,5 +1,5 @@
USER=root
-PROGRAM=@EXPANDED_GDMCONFIGDIR@/gdmsetup
+PROGRAM=@EXPANDED_SBINDIR@/gdmsetup
SESSION=true
FALLBACK=false
diff --git a/gui/Makefile.am b/gui/Makefile.am
index 7e85c87f..701072f3 100644
--- a/gui/Makefile.am
+++ b/gui/Makefile.am
@@ -28,10 +28,14 @@ INCLUDES = \
noinst_LIBRARIES = libgdmwm.a libgdmcommon.a
-bin_PROGRAMS = \
+libexec_PROGRAMS = \
@GDMCHOOSER@ \
- gdmlogin \
- gdmsetup \
+ gdmlogin
+
+sbin_PROGRAMS = \
+ gdmsetup
+
+bin_PROGRAMS = \
gdmphotosetup \
@GDMXNESTCHOOSER@ \
gdmflexiserver
diff --git a/gui/faces/Makefile.am b/gui/faces/Makefile.am
new file mode 100644
index 00000000..4a46527b
--- /dev/null
+++ b/gui/faces/Makefile.am
@@ -0,0 +1,36 @@
+
+imagedir = $(datadir)/pixmaps/faces
+
+IMGFILES = bonfire.jpg \
+ cdrom.jpg \
+ clock.jpg \
+ daisy.jpg \
+ dice.jpg \
+ hollyleaf.jpg \
+ lamas.jpg \
+ seal.jpg \
+ sky.jpg \
+ skyline.jpg
+
+EXTRA_DIST = $(IMGFILES)
+
+uninstall-hook:
+ rm -f $(DESTDIR)$(imagedir)/bonfire.jpg \
+ $(DESTDIR)$(imagedir)/cdrom.jpg \
+ $(DESTDIR)$(imagedir)/clock.jpg \
+ $(DESTDIR)$(imagedir)/daisy.jpg \
+ $(DESTDIR)$(imagedir)/dice.jpg \
+ $(DESTDIR)$(imagedir)/hollyleaf.jpg \
+ $(DESTDIR)$(imagedir)/lamas.jpg \
+ $(DESTDIR)$(imagedir)/seal.jpg \
+ $(DESTDIR)$(imagedir)/sky.jpg \
+ $(DESTDIR)$(imagedir)/skyline.jpg
+
+install-data-hook: $(IMGFILES)
+ if test '!' -d $(DESTDIR)$(imagedir); then \
+ $(mkinstalldirs) $(DESTDIR)$(imagedir); \
+ chmod 755 $(DESTDIR)$(imagedir); \
+ fi
+ $(INSTALL_DATA) $(IMGFILES) $(DESTDIR)$(imagedir)
+
+
diff --git a/gui/faces/bonfire.jpg b/gui/faces/bonfire.jpg
new file mode 100644
index 00000000..7ac63be7
--- /dev/null
+++ b/gui/faces/bonfire.jpg
Binary files differ
diff --git a/gui/faces/cdrom.jpg b/gui/faces/cdrom.jpg
new file mode 100644
index 00000000..026c829c
--- /dev/null
+++ b/gui/faces/cdrom.jpg
Binary files differ
diff --git a/gui/faces/clock.jpg b/gui/faces/clock.jpg
new file mode 100644
index 00000000..c52d32d3
--- /dev/null
+++ b/gui/faces/clock.jpg
Binary files differ
diff --git a/gui/faces/daisy.jpg b/gui/faces/daisy.jpg
new file mode 100644
index 00000000..4aa4143c
--- /dev/null
+++ b/gui/faces/daisy.jpg
Binary files differ
diff --git a/gui/faces/dice.jpg b/gui/faces/dice.jpg
new file mode 100644
index 00000000..5fe37892
--- /dev/null
+++ b/gui/faces/dice.jpg
Binary files differ
diff --git a/gui/faces/hollyleaf.jpg b/gui/faces/hollyleaf.jpg
new file mode 100644
index 00000000..9e6d0391
--- /dev/null
+++ b/gui/faces/hollyleaf.jpg
Binary files differ
diff --git a/gui/faces/lamas.jpg b/gui/faces/lamas.jpg
new file mode 100644
index 00000000..2c45b62f
--- /dev/null
+++ b/gui/faces/lamas.jpg
Binary files differ
diff --git a/gui/faces/seal.jpg b/gui/faces/seal.jpg
new file mode 100644
index 00000000..220c9de8
--- /dev/null
+++ b/gui/faces/seal.jpg
Binary files differ
diff --git a/gui/faces/sky.jpg b/gui/faces/sky.jpg
new file mode 100644
index 00000000..3ace4f46
--- /dev/null
+++ b/gui/faces/sky.jpg
Binary files differ
diff --git a/gui/faces/skyline.jpg b/gui/faces/skyline.jpg
new file mode 100644
index 00000000..a10c46df
--- /dev/null
+++ b/gui/faces/skyline.jpg
Binary files differ
diff --git a/gui/gdmphotosetup.c b/gui/gdmphotosetup.c
index a3dd54ce..5f85f0e5 100644
--- a/gui/gdmphotosetup.c
+++ b/gui/gdmphotosetup.c
@@ -35,6 +35,7 @@ static GtkWidget *preview;
static GtkWidget *current_image;
static char *current_pix;
static char *photofile;
+static char *facedir;
static int max_width, max_height;
static int response = -999;
@@ -139,12 +140,14 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
if (scale_factor >= 1.0) {
preview_pixbuf = pixbuf;
} else {
- int scale_x = (int) (gdk_pixbuf_get_width (pixbuf) * scale_factor);
- int scale_y = (int) (gdk_pixbuf_get_height (pixbuf) * scale_factor);
-
- /* Scale bigger dimension of image to max icon height/width */
- preview_pixbuf = gdk_pixbuf_scale_simple (pixbuf, scale_x, scale_y,
- GDK_INTERP_BILINEAR);
+ int scale_x = (int) (gdk_pixbuf_get_width (pixbuf) *
+ scale_factor);
+ int scale_y = (int) (gdk_pixbuf_get_height (pixbuf) *
+ scale_factor);
+
+ /* Scale bigger dimension to max icon height/width */
+ preview_pixbuf = gdk_pixbuf_scale_simple (pixbuf,
+ scale_x, scale_y, GDK_INTERP_BILINEAR);
}
gtk_image_set_from_pixbuf (GTK_IMAGE (preview), preview_pixbuf);
@@ -153,7 +156,8 @@ update_preview_cb (GtkFileChooser *file_chooser, gpointer data)
if (scale_factor != 1.0)
gdk_pixbuf_unref (preview_pixbuf);
- gtk_file_chooser_set_preview_widget_active (file_chooser, have_preview);
+ gtk_file_chooser_set_preview_widget_active (file_chooser,
+ have_preview);
}
}
}
@@ -172,7 +176,11 @@ browse_button_cb (GtkWidget *widget, gpointer data)
NULL);
if (current_pix != NULL && strcmp (photofile, current_pix))
- gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (file_dialog), current_pix);
+ gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (file_dialog),
+ current_pix);
+ else if (facedir != NULL && g_file_test (facedir, G_FILE_TEST_IS_DIR))
+ gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (file_dialog),
+ facedir);
else
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (file_dialog),
EXPANDED_DATADIR "/pixmaps");
@@ -235,6 +243,7 @@ main (int argc, char *argv[])
max_height = gnome_config_get_int (GDM_KEY_ICONHEIGHT);
greeter = gnome_config_get_string (GDM_KEY_GREETER);
remotegreeter = gnome_config_get_string (GDM_KEY_REMOTEGREETER);
+ facedir = gnome_config_get_string (GDM_KEY_FACEDIR);
gnome_config_pop_prefix ();
if ( ! gdm_check ()) {
diff --git a/gui/gdmsetup.c b/gui/gdmsetup.c
index 5e46d6cc..40deb71e 100644
--- a/gui/gdmsetup.c
+++ b/gui/gdmsetup.c
@@ -958,16 +958,16 @@ setup_greeter_option (const char *name,
val = ve_config_get_string (ve_config_get (GDM_CONFIG_FILE), key);
if (val != NULL &&
- strcmp (val, EXPANDED_BINDIR "/gdmlogin --disable-sound --disable-crash-dialog") == 0) {
+ strcmp (val, EXPANDED_LIBEXECDIR "/gdmlogin --disable-sound --disable-crash-dialog") == 0) {
g_free (val);
- val = g_strdup (EXPANDED_BINDIR "/gdmlogin");
+ val = g_strdup (EXPANDED_LIBEXECDIR "/gdmlogin");
}
menu = gtk_menu_new ();
- add_menuitem (menu, EXPANDED_BINDIR "/gdmlogin",
+ add_menuitem (menu, EXPANDED_LIBEXECDIR "/gdmlogin",
_("Standard greeter"), val, &selected);
- add_menuitem (menu, EXPANDED_BINDIR "/gdmgreeter",
+ add_menuitem (menu, EXPANDED_LIBEXECDIR "/gdmgreeter",
_("Graphical greeter"), val, &selected);
if (val != NULL &&
diff --git a/gui/greeter/Makefile.am b/gui/greeter/Makefile.am
index 2355c960..0f75f7a8 100644
--- a/gui/greeter/Makefile.am
+++ b/gui/greeter/Makefile.am
@@ -20,7 +20,7 @@ INCLUDES = \
# -DGNOME_DISABLE_DEPRECATED \
#
-bin_PROGRAMS = \
+libexec_PROGRAMS = \
gdmgreeter
bin_SCRIPTS = \
diff --git a/gui/greeter/greeter.c b/gui/greeter/greeter.c
index dd2eea60..9e61ee9b 100644
--- a/gui/greeter/greeter.c
+++ b/gui/greeter/greeter.c
@@ -1285,7 +1285,7 @@ main (int argc, char *argv[])
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
- execl (EXPANDED_BINDIR "/gdmlogin", EXPANDED_BINDIR "/gdmlogin", NULL);
+ execl (EXPANDED_LIBEXECDIR "/gdmlogin", EXPANDED_LIBEXECDIR "/gdmlogin", NULL);
execlp ("gdmlogin", "gdmlogin", NULL);
dialog = ve_hig_dialog_new (NULL /* parent */,