diff --git a/package/base/sysfiles/etc_inittab.txt b/package/base/sysfiles/etc_inittab.txt index c2d00ca68..41c7b0978 100644 --- a/package/base/sysfiles/etc_inittab.txt +++ b/package/base/sysfiles/etc_inittab.txt @@ -80,5 +80,5 @@ ca:12345:ctrlaltdel:/sbin/shutdown -r now # # A X display manager (multiplexer) # -X:5:respawn:/usr/X11/bin/startxdm +X:5:respawn:/usr/X11/bin/startxdm -nodaemon diff --git a/package/x11/xfree86/startxdm.sh b/package/x11/xfree86/startxdm.sh index fe1717a6a..301a2b1d7 100644 --- a/package/x11/xfree86/startxdm.sh +++ b/package/x11/xfree86/startxdm.sh @@ -4,5 +4,15 @@ XDM=/usr/X11/bin/xdm [ -e /etc/conf/xdm ] && . /etc/conf/xdm -$XDM +function check_dm() { + echo $XDM | grep -q $1 +} + +if [ "$1" = "-nodaemon" ] && + ! check_dm gdm && ! check_dm kdm && ! check_dm xdm +then + shift +fi + +$XDM "$@"