Commit eb8b4011 authored by Brian Cameron's avatar Brian Cameron Committed by Brian Cameron

config/Makefile.am: Add Xephyr support and fix problem with

2006-03-13  Brian Cameron  <brian.cameron@sun.com>

        * configure.ac, acconfig.h, daemon/Makefile.am, daemon/gdm.h
          daemon/server.c, daemon/gdmconfig.c, config/gdm.conf.in,
          config/Makefile.am:  Add Xephyr support and fix problem with
          using Xsun Xnest with Xorg 7.2.  Xsun doesn't like font path
          values that have the ":unscaled" suffix.  This required adding
          two new configuration options XnestDisplayArg and
          XnestUnscaledFontPath so that the user can configure whether
          the Xnest command uses the -display argument or the DISPLAY
          environment variable, and to specify whether to strip the
          ":unscaled" bits from the fontpath.  Modified configure so
          that if Xephyr is on the system, it is used as the Xnest
          program since it works better than Xnest.
        * daemon/gdmconfig.h: No longer set default values for the
          configuration choices here since default are set in
          daemon/gdm.h.
        * config/gdm.conf.in: Comment now says "true" for ConfigAvailable
          since this value has been defaulting to true for some time in
          daemon/gdm.h.   So the comment was wrong.
        * acconfig.h, configure.ac, daemon/gdm.h, daemon/gdmconfig.c: Rework
          how ALWAYS_RESTART_SERVER is set to avoid using #ifdef.  Also use
          AC_DEFINE for GDM_USER_PATH rather than passing it in as a -D
          argument to the compiler, so it works like the other config
          choices.

svn path=/trunk/; revision=4672
parent c50ede47
2006-03-13 Brian Cameron <brian.cameron@sun.com>
* configure.ac, acconfig.h, daemon/Makefile.am, daemon/gdm.h
daemon/server.c, daemon/gdmconfig.c, config/gdm.conf.in,
config/Makefile.am: Add Xephyr support and fix problem with
using Xsun Xnest with Xorg 7.2. Xsun doesn't like font path
values that have the ":unscaled" suffix. This required adding
two new configuration options XnestDisplayArg and
XnestUnscaledFontPath so that the user can configure whether
the Xnest command uses the -display argument or the DISPLAY
environment variable, and to specify whether to strip the
":unscaled" bits from the fontpath. Modified configure so
that if Xephyr is on the system, it is used as the Xnest
program since it works better than Xnest.
* daemon/gdmconfig.h: No longer set default values for the
configuration choices here since default are set in
daemon/gdm.h.
* config/gdm.conf.in: Comment now says "true" for ConfigAvailable
since this value has been defaulting to true for some time in
daemon/gdm.h. So the comment was wrong.
* acconfig.h, configure.ac, daemon/gdm.h, daemon/gdmconfig.c: Rework
how ALWAYS_RESTART_SERVER is set to avoid using #ifdef. Also use
AC_DEFINE for GDM_USER_PATH rather than passing it in as a -D
argument to the compiler, so it works like the other config
choices.
2006-03-12 Brian Cameron <brian.cameron@sun.com> 2006-03-12 Brian Cameron <brian.cameron@sun.com>
* Release 2.18.0: * Release 2.18.0:
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
#undef SUSPEND_COMMAND #undef SUSPEND_COMMAND
#undef ENABLE_IPV6 #undef ENABLE_IPV6
#undef ENABLE_NLS #undef ENABLE_NLS
#undef ALWAYS_RESTART_SERVER
#undef GDM_USER_PATH
#undef HAVE_ADT #undef HAVE_ADT
#undef HAVE_CATGETS #undef HAVE_CATGETS
#undef HAVE_CHPASS #undef HAVE_CHPASS
...@@ -38,8 +40,10 @@ ...@@ -38,8 +40,10 @@
#undef HAVE_XINPUT #undef HAVE_XINPUT
#undef X_SERVER #undef X_SERVER
#undef X_SERVER_PATH #undef X_SERVER_PATH
#undef X_XNEST_PATH #undef X_XNEST_CMD
#undef X_XNEST_CONFIG_OPTIONS #undef X_XNEST_CONFIG_OPTIONS
#undef X_XNEST_DISPLAY_ARG
#undef X_XNEST_UNSCALED_FONTPATH
#undef X_CONFIG_OPTIONS #undef X_CONFIG_OPTIONS
#undef X_PATH #undef X_PATH
#undef XSESSION_SHELL #undef XSESSION_SHELL
......
...@@ -52,10 +52,13 @@ gdm.conf: $(srcdir)/gdm.conf.in ...@@ -52,10 +52,13 @@ gdm.conf: $(srcdir)/gdm.conf.in
-e 's,[@]SOUND_PROGRAM[@],$(SOUND_PROGRAM),g' \ -e 's,[@]SOUND_PROGRAM[@],$(SOUND_PROGRAM),g' \
-e 's,[@]SUSPEND_COMMAND[@],$(SUSPEND_COMMAND),g' \ -e 's,[@]SUSPEND_COMMAND[@],$(SUSPEND_COMMAND),g' \
-e 's,[@]XEVIE_OPTION[@],$(XEVIE_OPTION),g' \ -e 's,[@]XEVIE_OPTION[@],$(XEVIE_OPTION),g' \
-e 's,[@]ALWAYS_RESTART_SERVER[@],$(ALWAYS_RESTART_SERVER),g' \
-e 's,[@]X_CONFIG_OPTIONS[@],$(X_CONFIG_OPTIONS),g' \ -e 's,[@]X_CONFIG_OPTIONS[@],$(X_CONFIG_OPTIONS),g' \
-e 's,[@]X_SERVER[@],$(X_SERVER),g' \ -e 's,[@]X_SERVER[@],$(X_SERVER),g' \
-e 's,[@]X_XNEST_CMD[@],$(X_XNEST_CMD),g' \
-e 's,[@]X_XNEST_CONFIG_OPTIONS[@],$(X_XNEST_CONFIG_OPTIONS),g' \ -e 's,[@]X_XNEST_CONFIG_OPTIONS[@],$(X_XNEST_CONFIG_OPTIONS),g' \
-e 's,[@]X_XNEST_PATH[@],$(X_XNEST_PATH),g' \ -e 's,[@]X_XNEST_DISPLAY_ARG[@],$(X_XNEST_DISPLAY_ARG),g' \
-e 's,[@]X_XNEST_UNSCALED_FONTPATH[@],$(X_XNEST_UNSCALED_FONTPATH),g' \
-e 's,[@]authdir[@],$(authdir),g' \ -e 's,[@]authdir[@],$(authdir),g' \
-e 's,[@]datadir[@],$(datadir),g' \ -e 's,[@]datadir[@],$(datadir),g' \
-e 's,[@]dmconfdir[@],$(dmconfdir),g' \ -e 's,[@]dmconfdir[@],$(dmconfdir),g' \
......
...@@ -94,7 +94,7 @@ TimedLoginDelay=30 ...@@ -94,7 +94,7 @@ TimedLoginDelay=30
# If you are having trouble with using a single server for a long time and want # If you are having trouble with using a single server for a long time and want
# GDM to kill/restart the server, turn this on. On Solaris, this value is # GDM to kill/restart the server, turn this on. On Solaris, this value is
# always true and this configuration setting is ignored. # always true and this configuration setting is ignored.
#AlwaysRestartServer=false #AlwaysRestartServer=@ALWAYS_RESTART_SERVER@
# User and group used for running GDM GUI applicaitons. By default this is set # User and group used for running GDM GUI applicaitons. By default this is set
# to user "gdm" and group "gdm". This user/group should have very limited # to user "gdm" and group "gdm". This user/group should have very limited
...@@ -161,8 +161,21 @@ StandardXServer=@X_SERVER@ ...@@ -161,8 +161,21 @@ StandardXServer=@X_SERVER@
# activity and no one logged on. Set to 0 to turn off the reaping. Does not # activity and no one logged on. Set to 0 to turn off the reaping. Does not
# affect Xnest flexiservers. # affect Xnest flexiservers.
#FlexiReapDelayMinutes=5 #FlexiReapDelayMinutes=5
# The X nest command. # The X nest command.
Xnest=@X_XNEST_PATH@/Xnest @X_XNEST_CONFIG_OPTIONS@ Xnest=@X_XNEST_CMD@ @X_XNEST_CONFIG_OPTIONS@
# If true, GDM will call the Xnest command with the "-display VALUE" argument
# (where VALUE is the display to show the window). If false, Xnest will set
# the DISPLAY environment before calling the Xnest command. Xephyr does not
# support the -display argument, so this should be set to false when using
# Xephyr.
XnestDisplayArg=@X_XNEST_DISPLAY_ARG@
# Xsun Xnest does not support font paths (passed into Xnest -fp argument)
# that include the ":unscaled" suffix after a path name. Setting this to
# false will strip any ":unscaled" suffix from the font path. If not
# using this Xnest, the value should be true.
XnestUnscaledFontPath=@X_XNEST_UNSCALED_FONTPATH@
# Automatic VT allocation. Right now only works on Linux. This way we force # Automatic VT allocation. Right now only works on Linux. This way we force
# X to use specific vts. turn VTAllocation to false if this is causing # X to use specific vts. turn VTAllocation to false if this is causing
# problems. # problems.
...@@ -381,7 +394,7 @@ Browser=false ...@@ -381,7 +394,7 @@ Browser=false
# however. # however.
#SystemMenu=true #SystemMenu=true
# Configuration is available from the system menu of the greeter. # Configuration is available from the system menu of the greeter.
#ConfigAvailable=false #ConfigAvailable=true
# Should the chooser button be shown. If this is shown, GDM can drop into # Should the chooser button be shown. If this is shown, GDM can drop into
# chooser mode which will run the xdmcp chooser locally and allow the user to # chooser mode which will run the xdmcp chooser locally and allow the user to
# connect to some remote host. Local XDMCP does not need to be enabled, # connect to some remote host. Local XDMCP does not need to be enabled,
......
...@@ -759,10 +759,12 @@ AM_CONDITIONAL(DMX_SUPPORT, test x$DMX_SUPPORT = xyes) ...@@ -759,10 +759,12 @@ AM_CONDITIONAL(DMX_SUPPORT, test x$DMX_SUPPORT = xyes)
# #
case "$host" in case "$host" in
*solaris*) *solaris*)
ALWAYS_RESTART_SERVER="true"
AC_CHECK_HEADERS(sys/tsol/label_macro.h, AC_CHECK_HEADERS(sys/tsol/label_macro.h,
AC_DEFINE(HAVE_TSOL, ,[Building with TSOL support]) found_tsol=yes,) AC_DEFINE(HAVE_TSOL, ,[Building with TSOL support]) found_tsol=yes,)
;; ;;
*) *)
ALWAYS_RESTART_SERVER="false"
;; ;;
esac esac
...@@ -969,6 +971,8 @@ AC_CHECK_LIB(devinfo, di_devperm_login, [ ...@@ -969,6 +971,8 @@ AC_CHECK_LIB(devinfo, di_devperm_login, [
# On Solaris/bin is a symlink to /usr/bin, so don't include it in # On Solaris/bin is a symlink to /usr/bin, so don't include it in
# GDM_USER_PATH. # GDM_USER_PATH.
# #
GDM_USER_PATH=""
case "$host" in case "$host" in
*solaris*) *solaris*)
GDM_USER_PATH="/usr/bin" GDM_USER_PATH="/usr/bin"
...@@ -1067,19 +1071,32 @@ if test "x$real_gdm_prefix" != "x/" -a "x$real_gdm_prefix" != "x/usr"; then ...@@ -1067,19 +1071,32 @@ if test "x$real_gdm_prefix" != "x/" -a "x$real_gdm_prefix" != "x/usr"; then
GDM_USER_PATH="$GDM_USER_PATH:${bindir}" GDM_USER_PATH="$GDM_USER_PATH:${bindir}"
fi fi
# You have to use /usr/openwin/bin/Xnest even if you are using the # Use Xephyr if it is available. It works better than Xnest since Xephyr
# Xorg Xserver on Solaris x86. # supports the Xserver extensions, even if on a remote machine.
# #
case "$host" in if test -x $X_SERVER_PATH/Xephyr; then
*solaris*) X_XNEST_CMD="$X_SERVER_PATH/Xephyr"
X_XNEST_PATH="/usr/openwin/bin" X_XNEST_CONFIG_OPTIONS="-audit 0"
X_XNEST_UNSCALED_FONTPATH="true"
X_XNEST_DISPLAY_ARG="false"
else
if test -x /usr/openwin/bin/Xnest; then
# If on Solaris, Xnest is only shipped with the Xsun Xserver, so
# use this version.
#
X_XNEST_CMD="/usr/openwin/bin/Xnest"
X_XNEST_CONFIG_OPTIONS="-audit 0 -name Xnest -pn" X_XNEST_CONFIG_OPTIONS="-audit 0 -name Xnest -pn"
;; X_XNEST_UNSCALED_FONTPATH="false"
*) X_XNEST_DISPLAY_ARG="true"
X_XNEST_PATH=$X_SERVER_PATH else
X_XNEST_CONFIG_OPTIONS="-audit 0 -name Xnest" if test -x $X_SERVER_PATH/Xnest; then
;; X_XNEST_CMD="$X_SERVER_PATH/Xnest"
esac X_XNEST_CONFIG_OPTIONS="-audit 0 -name Xnest"
X_XNEST_UNSCALED_FONTPATH="true"
X_XNEST_DISPLAY_ARG="true"
fi
fi
fi
# Set POST_PATH after doing system specific case above just in case # Set POST_PATH after doing system specific case above just in case
# any platforms want to update the PATH for a specific OS or distro. # any platforms want to update the PATH for a specific OS or distro.
...@@ -1089,6 +1106,8 @@ if test "x$USER_POST_PATH" != "x"; then ...@@ -1089,6 +1106,8 @@ if test "x$USER_POST_PATH" != "x"; then
GDM_USER_PATH="$GDM_USER_PATH:$USER_POST_PATH" GDM_USER_PATH="$GDM_USER_PATH:$USER_POST_PATH"
fi fi
# Set configuration choices.
#
AC_SUBST(HALT_COMMAND) AC_SUBST(HALT_COMMAND)
AC_DEFINE_UNQUOTED(HALT_COMMAND,"$HALT_COMMAND") AC_DEFINE_UNQUOTED(HALT_COMMAND,"$HALT_COMMAND")
AC_SUBST(REBOOT_COMMAND) AC_SUBST(REBOOT_COMMAND)
...@@ -1098,20 +1117,30 @@ AC_DEFINE_UNQUOTED(SUSPEND_COMMAND,"$SUSPEND_COMMAND") ...@@ -1098,20 +1117,30 @@ AC_DEFINE_UNQUOTED(SUSPEND_COMMAND,"$SUSPEND_COMMAND")
AC_SUBST(XSESSION_SHELL) AC_SUBST(XSESSION_SHELL)
AC_DEFINE_UNQUOTED(XSESSION_SHELL,"$XSESSION_SHELL") AC_DEFINE_UNQUOTED(XSESSION_SHELL,"$XSESSION_SHELL")
AC_SUBST(GDM_USER_PATH) AC_SUBST(GDM_USER_PATH)
AC_DEFINE_UNQUOTED(GDM_USER_PATH,"$GDM_USER_PATH")
AC_SUBST(SOUND_PROGRAM) AC_SUBST(SOUND_PROGRAM)
AC_DEFINE_UNQUOTED(SOUND_PROGRAM,"$SOUND_PROGRAM") AC_DEFINE_UNQUOTED(SOUND_PROGRAM,"$SOUND_PROGRAM")
AC_SUBST(GDMGNOMESESSIONCMD) AC_SUBST(GDMGNOMESESSIONCMD)
AC_SUBST(ALWAYS_RESTART_SERVER)
AC_DEFINE_UNQUOTED(ALWAYS_RESTART_SERVER,"$ALWAYS_RESTART_SERVER")
AC_SUBST(X_PATH) AC_SUBST(X_PATH)
AC_SUBST(X_SERVER) AC_SUBST(X_SERVER)
AC_SUBST(X_SERVER_PATH) AC_SUBST(X_SERVER_PATH)
AC_SUBST(X_XNEST_PATH)
AC_SUBST(X_XNEST_CONFIG_OPTIONS)
AC_SUBST(X_CONFIG_OPTIONS) AC_SUBST(X_CONFIG_OPTIONS)
AC_DEFINE_UNQUOTED(X_SERVER,"$X_SERVER") AC_DEFINE_UNQUOTED(X_SERVER,"$X_SERVER")
AC_DEFINE_UNQUOTED(X_SERVER_PATH,"$X_SERVER_PATH") AC_DEFINE_UNQUOTED(X_SERVER_PATH,"$X_SERVER_PATH")
AC_DEFINE_UNQUOTED(X_CONFIG_OPTIONS,"$X_CONFIG_OPTIONS", Options used when launching xserver) AC_DEFINE_UNQUOTED(X_CONFIG_OPTIONS,"$X_CONFIG_OPTIONS", Options used when launching xserver)
AC_SUBST(X_XNEST_CMD)
AC_SUBST(X_XNEST_CONFIG_OPTIONS)
AC_SUBST(X_XNEST_UNSCALED_FONTPATH)
AC_SUBST(X_XNEST_DISPLAY_ARG)
AC_DEFINE_UNQUOTED(X_XNEST_CMD,"$X_XNEST_CMD")
AC_DEFINE_UNQUOTED(X_XNEST_CONFIG_OPTIONS,"$X_XNEST_CONFIG_OPTIONS")
AC_DEFINE_UNQUOTED(X_XNEST_UNSCALED_FONTPATH,"$X_XNEST_UNSCALED_FONTPATH")
AC_DEFINE_UNQUOTED(X_XNEST_DISPLAY_ARG,"$X_XNEST_DISPLAY_ARG")
## Stuff for debian/changelog.in ## Stuff for debian/changelog.in
#if test -e "debian/changelog"; then #if test -e "debian/changelog"; then
# DEBIAN_DATESTAMP=`head -1 debian/changelog| sed -e 's/.*cvs.//' -e 's/).*//'` # DEBIAN_DATESTAMP=`head -1 debian/changelog| sed -e 's/.*cvs.//' -e 's/).*//'`
......
...@@ -12,20 +12,18 @@ INCLUDES = \ ...@@ -12,20 +12,18 @@ INCLUDES = \
-DDMCONFDIR=\"$(dmconfdir)\" \ -DDMCONFDIR=\"$(dmconfdir)\" \
-DGDMCONFDIR=\"$(gdmconfdir)\" \ -DGDMCONFDIR=\"$(gdmconfdir)\" \
-DGDMLOCALEDIR=\"$(gdmlocaledir)\" \ -DGDMLOCALEDIR=\"$(gdmlocaledir)\" \
-DGDM_DEFAULTS_CONF=\"$(GDM_DEFAULTS_CONF)\" \
-DGDM_CUSTOM_CONF=\"$(GDM_CUSTOM_CONF)\" \
-DGDM_OLD_CONF=\"$(GDM_OLD_CONF)\" \
-DGDM_USER_PATH=\"$(GDM_USER_PATH)\" \
-DLIBDIR=\"$(libdir)\" \ -DLIBDIR=\"$(libdir)\" \
-DLIBEXECDIR=\"$(libexecdir)\" \ -DLIBEXECDIR=\"$(libexecdir)\" \
-DLOGDIR=\"$(logdir)\" \ -DLOGDIR=\"$(logdir)\" \
-DPIXMAPDIR=\"$(pixmapdir)\" \ -DPIXMAPDIR=\"$(pixmapdir)\" \
-DSBINDIR=\"$(sbindir)\" \ -DSBINDIR=\"$(sbindir)\" \
-DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \
-DGDM_DEFAULTS_CONF=\"$(GDM_DEFAULTS_CONF)\" \
-DGDM_CUSTOM_CONF=\"$(GDM_CUSTOM_CONF)\" \
-DGDM_OLD_CONF=\"$(GDM_OLD_CONF)\" \
$(GUI_CFLAGS) \ $(GUI_CFLAGS) \
$(DAEMON_CFLAGS) \ $(DAEMON_CFLAGS) \
-DLANG_CONFIG_FILE=\"$(LANG_CONFIG_FILE)\" \ -DLANG_CONFIG_FILE=\"$(LANG_CONFIG_FILE)\" \
-DPAM_PREFIX=\"$(PAM_PREFIX)\" \
$(GNOME_INCLUDEDIR) \ $(GNOME_INCLUDEDIR) \
-DGREETERTHEMEDIR=\""$(datadir)/gdm/themes"\" -DGREETERTHEMEDIR=\""$(datadir)/gdm/themes"\"
......
...@@ -213,11 +213,7 @@ enum { ...@@ -213,11 +213,7 @@ enum {
* run with user permissionsinstead of as root, which adds security but * run with user permissionsinstead of as root, which adds security but
* disables the AlwaysRestartServer option as highlighted in the gdm * disables the AlwaysRestartServer option as highlighted in the gdm
* documentation */ * documentation */
#ifdef sun #define GDM_KEY_ALWAYS_RESTART_SERVER "daemon/AlwaysRestartServer=" ALWAYS_RESTART_SERVER
#define GDM_KEY_ALWAYS_RESTART_SERVER "daemon/AlwaysRestartServer=true"
#else
#define GDM_KEY_ALWAYS_RESTART_SERVER "daemon/AlwaysRestartServer=false"
#endif
#define GDM_KEY_GREETER "daemon/Greeter=" LIBEXECDIR "/gdmlogin" #define GDM_KEY_GREETER "daemon/Greeter=" LIBEXECDIR "/gdmlogin"
#define GDM_KEY_REMOTE_GREETER "daemon/RemoteGreeter=" LIBEXECDIR "/gdmlogin" #define GDM_KEY_REMOTE_GREETER "daemon/RemoteGreeter=" LIBEXECDIR "/gdmlogin"
#define GDM_KEY_ADD_GTK_MODULES "daemon/AddGtkModules=false" #define GDM_KEY_ADD_GTK_MODULES "daemon/AddGtkModules=false"
...@@ -269,7 +265,9 @@ enum { ...@@ -269,7 +265,9 @@ enum {
#define GDM_KEY_STANDARD_XSERVER "daemon/StandardXServer=" X_SERVER #define GDM_KEY_STANDARD_XSERVER "daemon/StandardXServer=" X_SERVER
#define GDM_KEY_FLEXIBLE_XSERVERS "daemon/FlexibleXServers=5" #define GDM_KEY_FLEXIBLE_XSERVERS "daemon/FlexibleXServers=5"
#define GDM_KEY_DYNAMIC_XSERVERS "daemon/DynamicXServers=false" #define GDM_KEY_DYNAMIC_XSERVERS "daemon/DynamicXServers=false"
#define GDM_KEY_XNEST "daemon/Xnest=" X_SERVER_PATH "/Xnest -name Xnest" #define GDM_KEY_XNEST "daemon/Xnest=" X_XNEST_CMD " " X_XNEST_CONFIG_OPTIONS
#define GDM_KEY_XNEST_DISPLAY_ARG "daemon/XnestDisplayArg=" X_XNEST_DISPLAY_ARG
#define GDM_KEY_XNEST_UNSCALED_FONT_PATH "daemon/XnestUnscaledFontPath=" X_XNEST_UNSCALED_FONTPATH
/* Keys for automatic VT allocation rather then letting it up to the /* Keys for automatic VT allocation rather then letting it up to the
* X server */ * X server */
#define GDM_KEY_FIRST_VT "daemon/FirstVT=7" #define GDM_KEY_FIRST_VT "daemon/FirstVT=7"
...@@ -296,7 +294,7 @@ enum { ...@@ -296,7 +294,7 @@ enum {
#define GDM_KEY_SERVER_PRIORITY "priority=0" #define GDM_KEY_SERVER_PRIORITY "priority=0"
#define GDM_KEY_ALLOW_ROOT "security/AllowRoot=true" #define GDM_KEY_ALLOW_ROOT "security/AllowRoot=true"
#define GDM_KEY_ALLOW_REMOTE_ROOT "security/AllowRemoteRoot=true" #define GDM_KEY_ALLOW_REMOTE_ROOT "security/AllowRemoteRoot=false"
#define GDM_KEY_ALLOW_REMOTE_AUTOLOGIN "security/AllowRemoteAutoLogin=false" #define GDM_KEY_ALLOW_REMOTE_AUTOLOGIN "security/AllowRemoteAutoLogin=false"
#define GDM_KEY_USER_MAX_FILE "security/UserMaxFile=65536" #define GDM_KEY_USER_MAX_FILE "security/UserMaxFile=65536"
#define GDM_KEY_RELAX_PERM "security/RelaxPermissions=0" #define GDM_KEY_RELAX_PERM "security/RelaxPermissions=0"
...@@ -388,7 +386,7 @@ enum { ...@@ -388,7 +386,7 @@ enum {
#define GDM_KEY_ENTRY_CIRCLES "greeter/UseCirclesInEntry=false" #define GDM_KEY_ENTRY_CIRCLES "greeter/UseCirclesInEntry=false"
#define GDM_KEY_ENTRY_INVISIBLE "greeter/UseInvisibleInEntry=false" #define GDM_KEY_ENTRY_INVISIBLE "greeter/UseInvisibleInEntry=false"
#define GDM_KEY_GRAPHICAL_THEME "greeter/GraphicalTheme=circles" #define GDM_KEY_GRAPHICAL_THEME "greeter/GraphicalTheme=circles"
#define GDM_KEY_GRAPHICAL_THEMES "greeter/GraphicalThemes=circles" #define GDM_KEY_GRAPHICAL_THEMES "greeter/GraphicalThemes=circles/:happygnome"
#define GDM_KEY_GRAPHICAL_THEME_RAND "greeter/GraphicalThemeRand=false" #define GDM_KEY_GRAPHICAL_THEME_RAND "greeter/GraphicalThemeRand=false"
#define GDM_KEY_GRAPHICAL_THEME_DIR "greeter/GraphicalThemeDir=" DATADIR "/gdm/themes/" #define GDM_KEY_GRAPHICAL_THEME_DIR "greeter/GraphicalThemeDir=" DATADIR "/gdm/themes/"
#define GDM_KEY_GRAPHICAL_THEMED_COLOR "greeter/GraphicalThemedColor=#76848F" #define GDM_KEY_GRAPHICAL_THEMED_COLOR "greeter/GraphicalThemedColor=#76848F"
...@@ -410,7 +408,7 @@ enum { ...@@ -410,7 +408,7 @@ enum {
#define GDM_KEY_DEFAULT_HOST_IMG "chooser/DefaultHostImg=" PIXMAPDIR "/nohost.png" #define GDM_KEY_DEFAULT_HOST_IMG "chooser/DefaultHostImg=" PIXMAPDIR "/nohost.png"
#define GDM_KEY_HOST_IMAGE_DIR "chooser/HostImageDir=" DATADIR "/hosts/" #define GDM_KEY_HOST_IMAGE_DIR "chooser/HostImageDir=" DATADIR "/hosts/"
#define GDM_KEY_HOSTS "chooser/Hosts=" #define GDM_KEY_HOSTS "chooser/Hosts="
#define GDM_KEY_MULTICAST "chooser/Multicast=true" #define GDM_KEY_MULTICAST "chooser/Multicast=false"
#define GDM_KEY_MULTICAST_ADDR "chooser/MulticastAddr=ff02::1" #define GDM_KEY_MULTICAST_ADDR "chooser/MulticastAddr=ff02::1"
#define GDM_KEY_BROADCAST "chooser/Broadcast=true" #define GDM_KEY_BROADCAST "chooser/Broadcast=true"
#define GDM_KEY_ALLOW_ADD "chooser/AllowAdd=true" #define GDM_KEY_ALLOW_ADD "chooser/AllowAdd=true"
......
...@@ -154,46 +154,40 @@ static gint GdmFlexibleXservers = 5; ...@@ -154,46 +154,40 @@ static gint GdmFlexibleXservers = 5;
static gint GdmFirstVt = 7; static gint GdmFirstVt = 7;
static gint GdmXserverTimeout = 10; static gint GdmXserverTimeout = 10;
/* The SDTLOGIN feature is Solaris specific, and causes the Xserver to be gboolean GdmAlwaysRestartServer;
* run with user permissionsinstead of as root, which adds security but static gboolean GdmAutomaticLoginEnable;
* disables the AlwaysRestartServer option as highlighted in the gdm static gboolean GdmConfigAvailable;
* documentation */ static gboolean GdmSystemMenu;
#ifdef sun static gboolean GdmChooserButton;
gboolean GdmAlwaysRestartServer = TRUE; static gboolean GdmBrowser;
#else static gboolean GdmAddGtkModules;
gboolean GdmAlwaysRestartServer = FALSE; static gboolean GdmDoubleLoginWarning;
#endif static gboolean GdmAlwaysLoginCurrentSession;
static gboolean GdmAutomaticLoginEnable = FALSE; static gboolean GdmDisplayLastLogin;
static gboolean GdmConfigAvailable = FALSE;
static gboolean GdmSystemMenu = FALSE;
static gboolean GdmChooserButton = FALSE;
static gboolean GdmBrowser = FALSE;
static gboolean GdmAddGtkModules = FALSE;
static gboolean GdmDoubleLoginWarning = TRUE;
static gboolean GdmAlwaysLoginCurrentSession = FALSE;
static gboolean GdmDisplayLastLogin = TRUE;
static gboolean GdmMulticast; static gboolean GdmMulticast;
static gboolean GdmNeverPlaceCookiesOnNfs = TRUE; static gboolean GdmNeverPlaceCookiesOnNfs;
static gboolean GdmPasswordRequired = FALSE; static gboolean GdmPasswordRequired;
static gboolean GdmKillInitClients = FALSE; static gboolean GdmKillInitClients;
static gboolean GdmXdmcp = FALSE; static gboolean GdmXdmcp;
static gboolean GdmIndirect = FALSE; static gboolean GdmIndirect;
static gboolean GdmXdmcpProxy = FALSE; static gboolean GdmXdmcpProxy;
static gboolean GdmDebug = FALSE; static gboolean GdmDebug;
static gboolean GdmDebugGestures = FALSE; static gboolean GdmDebugGestures;
static gboolean GdmAllowRoot = FALSE; static gboolean GdmAllowRoot;
static gboolean GdmAllowRemoteRoot = FALSE; static gboolean GdmAllowRemoteRoot;
static gboolean GdmAllowRemoteAutoLogin = FALSE; static gboolean GdmAllowRemoteAutoLogin;
static gboolean GdmCheckDirOwner = TRUE; static gboolean GdmCheckDirOwner;
static gboolean GdmSupportAutomount = FALSE; static gboolean GdmSupportAutomount;
static gboolean GdmTimedLoginEnable = FALSE; static gboolean GdmTimedLoginEnable;
static gboolean GdmDynamicXservers = FALSE; static gboolean GdmDynamicXservers;
static gboolean GdmVTAllocation = TRUE; static gboolean GdmVTAllocation;
static gboolean GdmDisallowTcp = TRUE; static gboolean GdmDisallowTcp;
static gboolean GdmSoundOnLogin = TRUE; static gboolean GdmSoundOnLogin;
static gboolean GdmSoundOnLoginSuccess = FALSE; static gboolean GdmSoundOnLoginSuccess;
static gboolean GdmSoundOnLoginFailure = FALSE; static gboolean GdmSoundOnLoginFailure;
static gboolean GdmConsoleNotify = TRUE; static gboolean GdmConsoleNotify;
static gboolean GdmXnestDisplayArg;
static gboolean GdmXnestUnscaledFontPath;
/* Config options used by slave */ /* Config options used by slave */
/* ---------------------------- */ /* ---------------------------- */
...@@ -424,6 +418,11 @@ gdm_config_init (void) ...@@ -424,6 +418,11 @@ gdm_config_init (void)
gdm_config_add_hash (GDM_KEY_SOUND_ON_LOGIN, &GdmSoundOnLogin, &bool_type); gdm_config_add_hash (GDM_KEY_SOUND_ON_LOGIN, &GdmSoundOnLogin, &bool_type);
gdm_config_add_hash (GDM_KEY_RESTART_BACKGROUND_PROGRAM, gdm_config_add_hash (GDM_KEY_RESTART_BACKGROUND_PROGRAM,
&GdmRestartBackgroundProgram, &bool_type); &GdmRestartBackgroundProgram, &bool_type);
gdm_config_add_hash (GDM_KEY_SOUND_ON_LOGIN, &GdmSoundOnLogin, &bool_type);
gdm_config_add_hash (GDM_KEY_XNEST_DISPLAY_ARG,
&GdmXnestDisplayArg, &bool_type);
gdm_config_add_hash (GDM_KEY_XNEST_UNSCALED_FONT_PATH,
&GdmXnestUnscaledFontPath, &bool_type);
/* string values */ /* string values */
gdm_config_add_hash (GDM_KEY_PATH, &GdmPath, &string_type); gdm_config_add_hash (GDM_KEY_PATH, &GdmPath, &string_type);
......
...@@ -1196,6 +1196,7 @@ gdm_server_spawn (GdmDisplay *d, const char *vtarg) ...@@ -1196,6 +1196,7 @@ gdm_server_spawn (GdmDisplay *d, const char *vtarg)
if (SERVER_IS_PROXY (d)) { if (SERVER_IS_PROXY (d)) {
int argc = ve_vector_len (argv); int argc = ve_vector_len (argv);
gboolean add_display = TRUE;
g_unsetenv ("DISPLAY"); g_unsetenv ("DISPLAY");
if (d->parent_auth_file != NULL) if (d->parent_auth_file != NULL)
...@@ -1216,14 +1217,26 @@ gdm_server_spawn (GdmDisplay *d, const char *vtarg) ...@@ -1216,14 +1217,26 @@ gdm_server_spawn (GdmDisplay *d, const char *vtarg)
command = g_strconcat (command, " -fp ", command = g_strconcat (command, " -fp ",
font_path, NULL); font_path, NULL);
} }
if (gdm_get_value_bool (GDM_KEY_XNEST_DISPLAY_ARG) == FALSE)
add_display = FALSE;
} }
argv = g_renew (char *, argv, argc + 3); /*
argv[argc++] = "-display"; * Xephyr does not support the DISPLAY argument.
argv[argc++] = d->parent_disp; * Instead set the DISPLAY environment variable.
argv[argc++] = NULL; */
command = g_strconcat (command, " -display ", if (add_display == TRUE) {
argv = g_renew (char *, argv, argc + 3);
argv[argc++] = "-display";
argv[argc++] = d->parent_disp;
argv[argc++] = NULL;
command = g_strconcat (command, " -display ",
d->parent_disp, NULL); d->parent_disp, NULL);
} else {
argv = g_renew (char *, argv, argc + 1);
argv[argc++] = NULL;
g_setenv ("DISPLAY", d->parent_disp, TRUE);
}
} }
if (argv[0] == NULL) { if (argv[0] == NULL) {
...@@ -1521,7 +1534,32 @@ get_font_path (const char *display) ...@@ -1521,7 +1534,32 @@ get_font_path (const char *display)
for (i = 0; i < n_fonts; i++) { for (i = 0; i < n_fonts; i++) {
if (i != 0) if (i != 0)
g_string_append_c (gs, ','); g_string_append_c (gs, ',');
g_string_append (gs, font_path[i]);
if (gdm_get_value_bool (GDM_KEY_XNEST_UNSCALED_FONT_PATH) == TRUE)
g_string_append (gs, font_path[i]);
else {
gchar *unscaled_ptr = NULL;
/*
* When using Xsun Xnest, it doesn't support the
* ":unscaled" suffix in fontpath entries, so strip it.
*/
unscaled_ptr = g_strrstr (font_path[i], ":unscaled");
if (unscaled_ptr != NULL) {
gchar *temp_string;
temp_string = g_strndup (font_path[i],
strlen (font_path[i]) -
strlen (":unscaled"));
gdm_debug ("font_path[i] is %s, temp_string is %s", font_path[i], temp_string);
g_string_append (gs, temp_string);
g_free (temp_string);
} else {
gdm_debug ("font_path[i] is %s", font_path[i]);
g_string_append (gs, font_path[i]);
}
}
} }
XFreeFontPath (font_path); XFreeFontPath (font_path);
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY legal SYSTEM "legal.xml"> <!ENTITY legal SYSTEM "legal.xml">
<!ENTITY version "2.17.7"> <!ENTITY version "2.18.0">
<!ENTITY date "02/12/2007"> <!ENTITY date "03/12/2007">
]> ]>
<article id="index" lang="es"> <article id="index" lang="es">
<articleinfo> <articleinfo>
...@@ -79,8 +79,8 @@ ...@@ -79,8 +79,8 @@
<releaseinfo> <releaseinfo>
This manual describes version 2.17.7 of the GNOME Display Manager. This manual describes version 2.18.0 of the GNOME Display Manager.
It was last updated on 02/12/2007. It was last updated on 03/12/2007.
</releaseinfo> </releaseinfo>
</articleinfo> </articleinfo>
...@@ -88,8 +88,8 @@ ...@@ -88,8 +88,8 @@
<title>Términos y convenciones usados en este manual</title> <title>Términos y convenciones usados en este manual</title>
<para> <para>
This manual describes version 2.17.7 of the GNOME Display Manager. This manual describes version 2.18.0 of the GNOME Display Manager.
It was last updated on 02/12/2007. It was last updated on 03/12/2007.
</para> </para>
<para>Selector: Un programa que se usa para seleccionar un equipo remoto para gestionar una pantalla remotamente en la pantalla local (<command>gdmchooser</command>).</para> <para>Selector: Un programa que se usa para seleccionar un equipo remoto para gestionar una pantalla remotamente en la pantalla local (<command>gdmchooser</command>).</para>
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY legal SYSTEM "legal.xml"> <!ENTITY legal SYSTEM "legal.xml">
<!ENTITY version "2.17.7"> <!ENTITY version "2.18.0">
<!ENTITY date "02/12/2007"> <!ENTITY date "03/12/2007">
]> ]>
<article id="index" lang="uk"> <article id="index" lang="uk">
<articleinfo> <articleinfo>
...@@ -79,8 +79,8 @@ ...@@ -79,8 +79,8 @@
<releaseinfo> <releaseinfo>
This manual describes version 2.17.7 of the GNOME Display Manager. This manual describes version 2.18.0 of the GNOME Display Manager.
It was last updated on 02/12/2007. It was last updated on 03/12/2007.
</releaseinfo> </releaseinfo>
</articleinfo> </articleinfo>
...@@ -88,8 +88,8 @@ ...@@ -88,8 +88,8 @@
<title>Терміни та домовленості використані у цьому посібнику</title> <title>Терміни та домовленості використані у цьому посібнику</title>
<para> <para>
This manual describes version 2.17.7 of the GNOME Display Manager. This manual describes version 2.18.0 of the GNOME Display Manager.
It was last updated on 02/12/2007. It was last updated on 03/12/2007.
</para> </para>
<para>Селектор - програма, що використовується для керування дисплеєм віддаленого вузла з локального дисплея (<command>gdmchooser</command>).</para> <para>Селектор - програма, що використовується для керування дисплеєм віддаленого вузла з локального дисплея (<command>gdmchooser</command>).</para>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment