xinit and xdm is fixed builddep.
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
Index: xdm-1.1.8_20090308/config/xdm-config.cpp
|
||||
===================================================================
|
||||
--- xdm-1.1.8_20090308.orig/config/xdm-config.cpp
|
||||
+++ xdm-1.1.8_20090308/config/xdm-config.cpp
|
||||
@@ -30,9 +30,9 @@ DisplayManager*session: XDMSCRIPTDIR/Xs
|
||||
DisplayManager*reset: XDMSCRIPTDIR/Xreset
|
||||
DisplayManager*authComplain: true
|
||||
! The following three resources set up display :0 as the console.
|
||||
-DisplayManager._0.setup: XDMSCRIPTDIR/Xsetup_0
|
||||
-DisplayManager._0.startup: XDMSCRIPTDIR/GiveConsole
|
||||
-DisplayManager._0.reset: XDMSCRIPTDIR/TakeConsole
|
||||
+!DisplayManager._0.setup: XDMSCRIPTDIR/Xsetup_0
|
||||
+!DisplayManager._0.startup: XDMSCRIPTDIR/GiveConsole
|
||||
+!DisplayManager._0.reset: XDMSCRIPTDIR/TakeConsole
|
||||
#ifdef XPM
|
||||
DisplayManager*loginmoveInterval: 10
|
||||
#endif /* XPM */
|
||||
@@ -0,0 +1,10 @@
|
||||
Index: xdm-1.1.9/config/Xresources.cpp
|
||||
===================================================================
|
||||
--- xdm-1.1.9.orig/config/Xresources.cpp
|
||||
+++ xdm-1.1.9/config/Xresources.cpp
|
||||
@@ -86,3 +86,5 @@ Chooser*label.font: *-new century schoo
|
||||
Chooser*label.label: XDMCP Host Menu from CLIENTHOST
|
||||
Chooser*list.font: -*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1
|
||||
Chooser*Command.font: *-new century schoolbook-bold-r-normal-*-180-*
|
||||
+
|
||||
+XHASHinclude "/etc/X11/Xresources"
|
||||
@@ -0,0 +1,79 @@
|
||||
#!/bin/sh
|
||||
|
||||
read_config() {
|
||||
FILE=$1
|
||||
KEY=$2
|
||||
LINE=$(grep "^$KEY=" $FILE)
|
||||
VALUE=${LINE#$KEY=}
|
||||
}
|
||||
|
||||
DISPLAY_MANAGER=xdm
|
||||
XCURSOR_THEME=
|
||||
PLYMOUTH_TRANSITION=false
|
||||
|
||||
test -r /etc/default/xdm && . /etc/default/xdm
|
||||
test -r /etc/conf.d/xdm && . /etc/conf.d/xdm
|
||||
|
||||
DM_PATH=
|
||||
DESKTOP_FILE=/usr/share/display-managers/$DISPLAY_MANAGER.desktop
|
||||
|
||||
if [ -f $DESKTOP_FILE ]; then
|
||||
read_config $DESKTOP_FILE Exec
|
||||
DM_PATH=$VALUE
|
||||
read_config $DESKTOP_FILE X-Pardus-XCursorTheme
|
||||
test -n "$VALUE" && XCURSOR_THEME=$VALUE
|
||||
read_config $DESKTOP_FILE X-Pardus-PlymouthTransition
|
||||
test -n "$VALUE" && PLYMOUTH_TRANSITION=$VALUE
|
||||
fi
|
||||
|
||||
test -x "$DM_PATH" || DM_PATH=/usr/bin/xdm
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
|
||||
test -f /etc/env.d/03locale && . /etc/env.d/03locale
|
||||
|
||||
export LC_ALL PATH XCURSOR_THEME
|
||||
|
||||
if [ "x$1" = "x--boot" ]; then
|
||||
for x in `grep -o -e "xorg=\w*" /proc/cmdline`; do
|
||||
case "$x" in
|
||||
xorg=safe)
|
||||
MESA_LIBGL=/usr/lib/mesa/libGL.so.1.2.0
|
||||
if [ "$(readlink /etc/alternatives/libGL)" != "$MESA_LIBGL" ]; then
|
||||
/usr/sbin/alternatives --set libGL /usr/lib/mesa/libGL.so.1.2.0
|
||||
/sbin/ldconfig -X
|
||||
fi
|
||||
|
||||
DRIVER=vesa
|
||||
test -c /dev/fb0 && DRIVER=fbdev
|
||||
export XORGCONFIG=/usr/share/X11/xorg-safe-$DRIVER.conf
|
||||
;;
|
||||
xorg=probe)
|
||||
test -f /etc/X11/xorg.conf && mv -f /etc/X11/xorg.conf /etc/X11/xorg.conf.$(date +%Y%m%d)
|
||||
;;
|
||||
esac
|
||||
done
|
||||
fi
|
||||
|
||||
# Trigger events against a locale change. This is needed for
|
||||
# determining the default keymap.
|
||||
udevadm trigger --property-match=ID_INPUT_KEYBOARD=1
|
||||
|
||||
# Start first boot wizard if needed
|
||||
if test -f /etc/yali/yali.conf -a -x /usr/bin/start-yali && \
|
||||
grep -e "^installation *= *firstboot" /etc/yali/yali.conf; then
|
||||
/usr/bin/start-yali
|
||||
|
||||
# First boot wizard removes itself after the last screen. If it
|
||||
# still exists at this time, this would mean a reboot or shutdown
|
||||
# requested by the user. In this case, we will not start the
|
||||
# display manager.
|
||||
test -f /usr/bin/start-yali && exit 0
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
if [ "$PLYMOUTH_TRANSITION" != "true" ]; then
|
||||
test -x /bin/plymouth && /bin/plymouth --ping && /bin/plymouth quit
|
||||
fi
|
||||
|
||||
exec $DM_PATH -nodaemon
|
||||
@@ -0,0 +1,18 @@
|
||||
diff -ur a/xdm/genauth.c b/xdm/genauth.c
|
||||
--- a/xdm/genauth.c 2011-09-25 09:35:47.000000000 +0200
|
||||
+++ b/xdm/genauth.c 2014-01-06 16:28:09.664060603 +0100
|
||||
@@ -40,6 +40,14 @@
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
+#ifdef HAVE_ARC4RANDOM
|
||||
+# ifdef __linux__
|
||||
+# include <bsd/stdlib.h>
|
||||
+# else
|
||||
+# include <stdlib.h>
|
||||
+# endif
|
||||
+#endif
|
||||
+
|
||||
#include <time.h>
|
||||
#define Time_t time_t
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 8d1eb5c74413e4c9a21f689fc106949b121c0117 Mon Sep 17 00:00:00 2001
|
||||
From: mancha <mancha1@hush.com>
|
||||
Date: Wed, 22 May 2013 14:20:26 +0000
|
||||
Subject: Handle NULL returns from glibc 2.17+ crypt().
|
||||
|
||||
Starting with glibc 2.17 (eglibc 2.17), crypt() fails with EINVAL
|
||||
(w/ NULL return) if the salt violates specifications. Additionally,
|
||||
on FIPS-140 enabled Linux systems, DES/MD5-encrypted passwords
|
||||
passed to crypt() fail with EPERM (w/ NULL return).
|
||||
|
||||
If using glibc's crypt(), check return value to avoid a possible
|
||||
NULL pointer dereference.
|
||||
|
||||
Reviewed-by: Matthieu Herrb <matthieu@herrb.eu>
|
||||
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
|
||||
---
|
||||
diff --git a/greeter/verify.c b/greeter/verify.c
|
||||
index db3cb7d..b009e2b 100644
|
||||
--- a/greeter/verify.c
|
||||
+++ b/greeter/verify.c
|
||||
@@ -329,6 +329,7 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify)
|
||||
struct spwd *sp;
|
||||
# endif
|
||||
char *user_pass = NULL;
|
||||
+ char *crypted_pass = NULL;
|
||||
# endif
|
||||
# ifdef __OpenBSD__
|
||||
char *s;
|
||||
@@ -464,7 +465,9 @@ Verify (struct display *d, struct greet_info *greet, struct verify_info *verify)
|
||||
# if defined(ultrix) || defined(__ultrix__)
|
||||
if (authenticate_user(p, greet->password, NULL) < 0)
|
||||
# else
|
||||
- if (strcmp (crypt (greet->password, user_pass), user_pass))
|
||||
+ crypted_pass = crypt (greet->password, user_pass);
|
||||
+ if ((crypted_pass == NULL)
|
||||
+ || (strcmp (crypted_pass, user_pass)))
|
||||
# endif
|
||||
{
|
||||
if(!greet->allow_null_passwd || strlen(p->pw_passwd) > 0) {
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
||||
@@ -0,0 +1,37 @@
|
||||
diff -ur a/xdm/choose.c b/xdm/choose.c
|
||||
--- a/xdm/choose.c 2011-09-25 09:35:47.000000000 +0200
|
||||
+++ b/xdm/choose.c 2014-01-06 16:33:09.628065364 +0100
|
||||
@@ -54,6 +54,14 @@
|
||||
# include <tiuser.h>
|
||||
# endif
|
||||
|
||||
+# ifdef HAVE_SETPROCTITLE
|
||||
+# ifdef __linux__
|
||||
+# include <bsd/unistd.h>
|
||||
+# else
|
||||
+# include <unistd.h>
|
||||
+# endif
|
||||
+# endif
|
||||
+
|
||||
# include <time.h>
|
||||
# define Time_t time_t
|
||||
|
||||
diff -ur a/xdm/session.c b/xdm/session.c
|
||||
--- a/xdm/session.c 2011-09-25 09:35:47.000000000 +0200
|
||||
+++ b/xdm/session.c 2014-01-06 16:40:57.508072789 +0100
|
||||
@@ -54,6 +54,15 @@
|
||||
# include <usersec.h>
|
||||
#endif
|
||||
|
||||
+# ifdef HAVE_SETPROCTITLE
|
||||
+# include <sys/types.h>
|
||||
+# ifdef __linux__
|
||||
+# include <bsd/unistd.h>
|
||||
+# else
|
||||
+# include <unistd.h>
|
||||
+# endif
|
||||
+# endif
|
||||
+
|
||||
#ifndef USE_PAM /* PAM modules should handle these */
|
||||
# ifdef SECURE_RPC
|
||||
# include <rpc/rpc.h>
|
||||
@@ -0,0 +1,230 @@
|
||||
http://bugs.gentoo.org/360987
|
||||
http://projects.archlinux.org/svntogit/packages.git/plain/trunk/xdm-consolekit.patch?h=packages/xorg-xdm
|
||||
http://lists.x.org/archives/xorg-devel/2011-February/019615.html
|
||||
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=615020
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -362,6 +362,20 @@
|
||||
|
||||
AM_CONDITIONAL(DYNAMIC_GREETER, test x$DYNAMIC_GREETER = xyes)
|
||||
|
||||
+# ConsoleKit support
|
||||
+AC_ARG_WITH(consolekit, AC_HELP_STRING([--with-consolekit], [Use ConsoleKit]),
|
||||
+ [USE_CONSOLEKIT=$withval], [USE_CONSOLEKIT=yes])
|
||||
+if test x"$USE_CONSOLEKIT" != xno; then
|
||||
+ PKG_CHECK_MODULES(CK_CONNECTOR, ck-connector,
|
||||
+ [USE_CONSOLEKIT=yes], [USE_CONSOLEKIT=no])
|
||||
+ if test x"$USE_CONSOLEKIT" = xyes; then
|
||||
+ AC_DEFINE([USE_CONSOLEKIT], 1, [Define to 1 to use ConsoleKit])
|
||||
+ XDM_CFLAGS="$XDM_CFLAGS $CK_CONNECTOR_CFLAGS -DUSE_CONSOLEKIT"
|
||||
+ XDM_LIBS="$XDM_LIBS $CK_CONNECTOR_LIBS"
|
||||
+ fi
|
||||
+fi
|
||||
+dnl AM_CONDITIONAL(USE_CONSOLEKIT, test$USE_CONSOLEKIT = xyes)
|
||||
+
|
||||
#
|
||||
# XDM
|
||||
#
|
||||
--- a/xdm/session.c
|
||||
+++ b/xdm/session.c
|
||||
@@ -66,6 +66,11 @@
|
||||
#endif
|
||||
#endif /* USE_PAM */
|
||||
|
||||
+#ifdef USE_CONSOLEKIT
|
||||
+#include <ck-connector.h>
|
||||
+#include <dbus/dbus.h>
|
||||
+#endif
|
||||
+
|
||||
#ifdef __SCO__
|
||||
#include <prot.h>
|
||||
#endif
|
||||
@@ -472,6 +477,97 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#ifdef USE_CONSOLEKIT
|
||||
+
|
||||
+static CkConnector *connector;
|
||||
+
|
||||
+static int openCKSession(struct verify_info *verify, struct display *d)
|
||||
+{
|
||||
+ int ret;
|
||||
+ DBusError error;
|
||||
+ char *remote_host_name = "";
|
||||
+ dbus_bool_t is_local;
|
||||
+ char *display_name = "";
|
||||
+ char *display_device = "";
|
||||
+ char devtmp[16];
|
||||
+
|
||||
+ if (!use_consolekit)
|
||||
+ return 1;
|
||||
+
|
||||
+ is_local = d->displayType.location == Local;
|
||||
+ if (d->peerlen > 0 && d->peer)
|
||||
+ remote_host_name = d->peer;
|
||||
+ if (d->name)
|
||||
+ display_name = d->name;
|
||||
+ /* how can we get the corresponding tty at best...? */
|
||||
+ if (d->windowPath) {
|
||||
+ display_device = strchr(d->windowPath, ':');
|
||||
+ if (display_device && display_device[1])
|
||||
+ display_device++;
|
||||
+ else
|
||||
+ display_device = d->windowPath;
|
||||
+ snprintf(devtmp, sizeof(devtmp), "/dev/tty%s", display_device);
|
||||
+ display_device = devtmp;
|
||||
+ }
|
||||
+
|
||||
+ connector = ck_connector_new();
|
||||
+ if (!connector) {
|
||||
+ LogOutOfMem("ck_connector");
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ dbus_error_init(&error);
|
||||
+ ret = ck_connector_open_session_with_parameters(
|
||||
+ connector, &error,
|
||||
+ "unix-user", &verify->uid,
|
||||
+ "x11-display", &display_name,
|
||||
+ "x11-display-device", &display_device,
|
||||
+ "remote-host-name", &remote_host_name,
|
||||
+ "is-local", &is_local,
|
||||
+ NULL);
|
||||
+ if (!ret) {
|
||||
+ if (dbus_error_is_set(&error)) {
|
||||
+ LogError("Dbus error: %s\n", error.message);
|
||||
+ dbus_error_free(&error);
|
||||
+ } else {
|
||||
+ LogError("ConsoleKit error\n");
|
||||
+ }
|
||||
+ LogError("console-kit-daemon not running?\n");
|
||||
+ ck_connector_unref(connector);
|
||||
+ connector = NULL;
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ verify->userEnviron = setEnv(verify->userEnviron,
|
||||
+ "XDG_SESSION_COOKIE", ck_connector_get_cookie(connector));
|
||||
+ return 1;
|
||||
+}
|
||||
+
|
||||
+static void closeCKSession(void)
|
||||
+{
|
||||
+ DBusError error;
|
||||
+
|
||||
+ if (!connector)
|
||||
+ return;
|
||||
+
|
||||
+ dbus_error_init(&error);
|
||||
+ if (!ck_connector_close_session(connector, &error)) {
|
||||
+ if (dbus_error_is_set(&error)) {
|
||||
+ LogError("Dbus error: %s\n", error.message);
|
||||
+ dbus_error_free(&error);
|
||||
+ } else {
|
||||
+ LogError("ConsoleKit close error\n");
|
||||
+ }
|
||||
+ LogError("console-kit-daemon not running?\n");
|
||||
+ }
|
||||
+ ck_connector_unref(connector);
|
||||
+ connector = NULL;
|
||||
+}
|
||||
+#else
|
||||
+#define openCKSession(v,d) 1
|
||||
+#define closeCKSession()
|
||||
+#endif
|
||||
+
|
||||
void
|
||||
SessionExit (struct display *d, int status, int removeAuth)
|
||||
{
|
||||
@@ -486,6 +580,8 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
+ closeCKSession();
|
||||
+
|
||||
/* make sure the server gets reset after the session is over */
|
||||
if (d->serverPid >= 2 && d->resetSignal)
|
||||
kill (d->serverPid, d->resetSignal);
|
||||
@@ -568,6 +664,10 @@
|
||||
#ifdef USE_PAM
|
||||
if (pamh) pam_open_session(pamh, 0);
|
||||
#endif
|
||||
+
|
||||
+ if (!openCKSession(verify, d))
|
||||
+ return 0;
|
||||
+
|
||||
switch (pid = fork ()) {
|
||||
case 0:
|
||||
CleanUpChild ();
|
||||
--- a/include/dm.h
|
||||
+++ b/include/dm.h
|
||||
@@ -325,6 +325,9 @@
|
||||
extern char *prngdSocket;
|
||||
extern int prngdPort;
|
||||
# endif
|
||||
+#ifdef USE_CONSOLEKIT
|
||||
+extern int use_consolekit;
|
||||
+#endif
|
||||
|
||||
extern char *greeterLib;
|
||||
extern char *willing;
|
||||
--- a/xdm/resource.c
|
||||
+++ b/xdm/resource.c
|
||||
@@ -68,6 +68,9 @@
|
||||
char *prngdSocket;
|
||||
int prngdPort;
|
||||
#endif
|
||||
+#ifdef USE_CONSOLEKIT
|
||||
+int use_consolekit;
|
||||
+#endif
|
||||
|
||||
char *greeterLib;
|
||||
char *willing;
|
||||
@@ -258,6 +261,10 @@
|
||||
"false"} ,
|
||||
{ "willing", "Willing", DM_STRING, &willing,
|
||||
""} ,
|
||||
+#ifdef USE_CONSOLEKIT
|
||||
+{ "consoleKit", "ConsoleKit", DM_BOOL, (char **) &use_consolekit,
|
||||
+ "true"} ,
|
||||
+#endif
|
||||
};
|
||||
|
||||
# define NUM_DM_RESOURCES (sizeof DmResources / sizeof DmResources[0])
|
||||
@@ -440,7 +447,11 @@
|
||||
{"-debug", "*debugLevel", XrmoptionSepArg, (caddr_t) NULL },
|
||||
{"-xrm", NULL, XrmoptionResArg, (caddr_t) NULL },
|
||||
{"-daemon", ".daemonMode", XrmoptionNoArg, "true" },
|
||||
-{"-nodaemon", ".daemonMode", XrmoptionNoArg, "false" }
|
||||
+{"-nodaemon", ".daemonMode", XrmoptionNoArg, "false" },
|
||||
+#ifdef USE_CONSOLEKIT
|
||||
+{"-consolekit", ".consoleKit", XrmoptionNoArg, "true" },
|
||||
+{"-noconsolekit", ".consoleKit", XrmoptionNoArg, "false" }
|
||||
+#endif
|
||||
};
|
||||
|
||||
static int originalArgc;
|
||||
--- a/man/xdm.man
|
||||
+++ b/man/xdm.man
|
||||
@@ -51,6 +51,8 @@
|
||||
] [
|
||||
.B \-session
|
||||
.I session_program
|
||||
+] [
|
||||
+.B \-noconsolekit
|
||||
]
|
||||
.SH DESCRIPTION
|
||||
.I Xdm
|
||||
@@ -218,6 +220,10 @@
|
||||
.IP "\fB\-xrm\fP \fIresource_specification\fP"
|
||||
Allows an arbitrary resource to be specified, as in most
|
||||
X Toolkit applications.
|
||||
+.IP "\fB\-noconsolekit\fP"
|
||||
+Specifies ``false'' as the value for the \fBDisplayManager.consoleKit\fP
|
||||
+resource.
|
||||
+This suppresses the session management using ConsoleKit.
|
||||
.SH RESOURCES
|
||||
At many stages the actions of
|
||||
.I xdm
|
||||
@@ -0,0 +1,5 @@
|
||||
# Preferred display manager
|
||||
DISPLAY_MANAGER="kdm"
|
||||
|
||||
# Cursor theme
|
||||
#XCURSOR_THEME=""
|
||||
@@ -0,0 +1,9 @@
|
||||
[Desktop Entry]
|
||||
Exec=/usr/bin/xdm
|
||||
Icon=xorg
|
||||
Type=Application
|
||||
X-Pardus-XCursorTheme=Jimmac
|
||||
|
||||
Name=XDM
|
||||
GenericName=X Login Manager
|
||||
GenericName[tr]=X Giriş Yöneticisi
|
||||
@@ -0,0 +1,13 @@
|
||||
#%PAM-1.0
|
||||
|
||||
auth include system-auth
|
||||
auth required pam_nologin.so
|
||||
|
||||
account include system-auth
|
||||
|
||||
password include system-auth
|
||||
|
||||
session include system-auth
|
||||
|
||||
session optional pam_console.so
|
||||
session optional pam_polkit_console.so
|
||||
@@ -0,0 +1,18 @@
|
||||
Section "Module"
|
||||
SubSection "extmod"
|
||||
Option "omit xfree86-dga" "true"
|
||||
EndSubSection
|
||||
EndSection
|
||||
|
||||
Section "ServerFlags"
|
||||
Option "BlankTime" "0"
|
||||
Option "OffTime" "0"
|
||||
Option "SuspendTime" "0"
|
||||
Option "AllowMouseOpenFail" "true"
|
||||
Option "StandbyTime" "0"
|
||||
EndSection
|
||||
|
||||
Section "Device"
|
||||
Identifier "VideoCard"
|
||||
Driver "fbdev"
|
||||
EndSection
|
||||
@@ -0,0 +1,18 @@
|
||||
Section "Module"
|
||||
SubSection "extmod"
|
||||
Option "omit xfree86-dga" "true"
|
||||
EndSubSection
|
||||
EndSection
|
||||
|
||||
Section "ServerFlags"
|
||||
Option "BlankTime" "0"
|
||||
Option "OffTime" "0"
|
||||
Option "SuspendTime" "0"
|
||||
Option "AllowMouseOpenFail" "true"
|
||||
Option "StandbyTime" "0"
|
||||
EndSection
|
||||
|
||||
Section "Device"
|
||||
Identifier "VideoCard"
|
||||
Driver "vesa"
|
||||
EndSection
|
||||
@@ -0,0 +1,53 @@
|
||||
Index: xdm-1.1.8_20090308/config/Xsession.cpp
|
||||
===================================================================
|
||||
--- xdm-1.1.8_20090308.orig/config/Xsession.cpp
|
||||
+++ xdm-1.1.8_20090308/config/Xsession.cpp
|
||||
@@ -41,47 +41,4 @@ XCOMM done
|
||||
#endif
|
||||
fi
|
||||
|
||||
-case $# in
|
||||
-1)
|
||||
- case $1 in
|
||||
- failsafe)
|
||||
- exec BINDIR/xterm -geometry 80x24-0-0
|
||||
- ;;
|
||||
- esac
|
||||
-esac
|
||||
-
|
||||
-XCOMM The startup script is not intended to have arguments.
|
||||
-
|
||||
-startup=$HOME/.xsession
|
||||
-resources=$HOME/.Xresources
|
||||
-
|
||||
-if [ -s "$startup" ]; then
|
||||
- if [ -x "$startup" ]; then
|
||||
- exec "$startup"
|
||||
- else
|
||||
- exec /bin/sh "$startup"
|
||||
- fi
|
||||
-else
|
||||
- if [ -r "$resources" ]; then
|
||||
- BINDIR/xrdb -load "$resources"
|
||||
- fi
|
||||
-#if defined(__SCO__) || defined(__UNIXWARE__)
|
||||
- [ -r /etc/default/xdesktops ] && {
|
||||
- . /etc/default/xdesktops
|
||||
- }
|
||||
-
|
||||
- [ -r /etc/default/xdm ] && {
|
||||
- . /etc/default/xdm
|
||||
- }
|
||||
-
|
||||
- XCOMM Allow the user to over-ride the system default desktop
|
||||
- [ -r $HOME/.xdmdesktop ] && {
|
||||
- . $HOME/.xdmdesktop
|
||||
- }
|
||||
-
|
||||
- [ -n "$XDESKTOP" ] && {
|
||||
- exec `eval $XDESKTOP`
|
||||
- }
|
||||
-#endif
|
||||
- exec BINDIR/xsm
|
||||
-fi
|
||||
+. /usr/lib/X11/xinit/Xsession
|
||||
Reference in New Issue
Block a user