diff --git a/cde/contrib/rc/netbsd/dtlogin b/cde/contrib/rc/netbsd/dtlogin new file mode 100755 index 000000000..5fafbfb8e --- /dev/null +++ b/cde/contrib/rc/netbsd/dtlogin @@ -0,0 +1,16 @@ +#!/bin/sh +# PROVIDE: dtlogin +# REQUIRE: DAEMON LOGIN wscons +# KEYWORD: shutdown + +$_rc_subr_loaded . /etc/rc.subr + +name="dtlogin" +rcvar=$name +command="/usr/dt/bin/${name}" +command_args="-daemon" +pidfile=/var/dt/Xpid +extra_commands="" + +load_rc_config $name +run_rc_command "$1" diff --git a/cde/contrib/rc/openbsd/cmsd b/cde/contrib/rc/openbsd/cmsd new file mode 100755 index 000000000..407a821f8 --- /dev/null +++ b/cde/contrib/rc/openbsd/cmsd @@ -0,0 +1,11 @@ +daemon="/usr/dt/bin/rpc.cmsd &" + +. /etc/rc.d/rc.subr + +pexp="rpc.cmsd: ${daemon}${daemon_flags:+ ${daemon_flags}} \[listener\].*" + +rc_reload() { + ${daemon} ${daemon_flags} -t && pkill -HUP -xf "${pexp}" +} + +rc_cmd $1 diff --git a/cde/contrib/rc/openbsd/dtlogin b/cde/contrib/rc/openbsd/dtlogin new file mode 100755 index 000000000..73838e22a --- /dev/null +++ b/cde/contrib/rc/openbsd/dtlogin @@ -0,0 +1,25 @@ +#!/bin/ksh + +daemon="/usr/dt/bin/dtlogin" + +. /etc/rc.d/rc.subr + +rc_reload=NO + +if [ -n "${INRC}" ]; then +# on boot: make sure we don't hang in _rc_wait +_rc_wait() { + return 0 +} +# on boot: wait for ttys to be initialized +rc_start() { + ( local i=0 + while ! pgrep -qf "^/usr/libexec/getty "; do + sleep 1 + [ $((i++)) -ge 10 ] && return 1 + done + ${rcexec} "${daemon} ${daemon_flags}" ) & +} +fi + +rc_cmd $1 diff --git a/cde/contrib/rc/systemd/dtlogin.service b/cde/contrib/rc/systemd/dtlogin.service index dc38af151..cdf5dbfe0 100644 --- a/cde/contrib/rc/systemd/dtlogin.service +++ b/cde/contrib/rc/systemd/dtlogin.service @@ -1,13 +1,11 @@ [Unit] -Description=CDE login manager +Description=CDE login service Documentation=man:dtlogin(1) -After=network.target +Requires=rpcbind.service +After=systemd-user-sessions.service [Service] -ExecStart=/usr/dt/bin/dtlogin -daemon -Restart=on-failure -Type=forking -PIDFile=/var/dt/Xpid +ExecStart=/usr/dt/bin/dtlogin -nodaemon [Install] -WantedBy=multi-user.target +Alias=display-manager.service