--- etc/X11/xdm/Xservers | 3 ++- usr/lib/X11/display-manager | 7 +++++-- var/adm/fillup-templates/sysconfig.displaymanager | 8 -------- 3 files changed, 7 insertions(+), 11 deletions(-) --- xdm.old/etc/X11/xdm/Xservers 2018-04-05 14:48:56.669172739 +0200 +++ xdm.new/etc/X11/xdm/Xservers 2018-04-05 14:45:33.129981406 +0200 @@ -13,6 +13,7 @@ # use such a line to enable the console login option in the kdm menu #:0 local@tty1 /usr/bin/X vt7 # "reserve" means that the X server gets only started on request (only kdm) +# -keeptty implies that controlling tty is not detached (breaks startx!) -:0 local /usr/bin/X -nolisten tcp -br vt7 +:0 local /usr/bin/X -nolisten tcp -br vt7 -keeptty --- xdm.old/usr/lib/X11/display-manager +++ xdm.new/usr/lib/X11/display-manager 2018-04-05 12:44:11.247521173 +0000 @@ -121,6 +121,8 @@ plymouth_quit() #set -x +# DISPLAYMANAGER used to be set in /etc/sysconfig/displaymanager, but the default is now set by update-alternatives +DISPLAYMANAGER=$(realpath --relative-base=/usr/lib/X11/displaymanagers /usr/lib/X11/displaymanagers/default-displaymanager) DM=${DISPLAYMANAGER##*/} case "$DM" in @@ -138,8 +140,9 @@ case "$DM" in for i in $DISPLAY_MANAGERS do name="${i}_vars" - PIDFILE=/run/$i.pid; - $name $DM && break; + type -t $name &> /dev/null || continue + PIDFILE=/run/$i.pid + $name $DM && break done if [ -z "$DISPLAYMANAGER" -o ! -x "$DISPLAYMANAGER" ] then --- xdm.old/var/adm/fillup-templates/sysconfig.displaymanager +++ xdm.new/var/adm/fillup-templates/sysconfig.displaymanager 2017-10-12 14:35:23.775259305 +0000 @@ -1,14 +1,6 @@ ## Path: Desktop/Display manager ## Description: settings to generate a proper displaymanager config -## Type: string(kdm,xdm,gdm,wdm,entrance,console,lightdm,sddm) -## Default: "" -# -# Here you can set the default Display manager (kdm/xdm/gdm/wdm/entrance/console). -# all changes in this file require a restart of the displaymanager -# -DISPLAYMANAGER="" - ## Type: yesno ## Default: no #