Group :: System/Servers
RPM: xrdp
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
#!/bin/sh
#
# template Summary of the service.
#
# chkconfig: - 90 10
# description: multi-line \
# description \
# of the service.
# processname: xrdp
# config: /etc/xrdp/.ini
# pidfile1: /var/run/xrdp.pid
# pidfile2: /var/run/sesman.pid
# Do not load RH compatibility interface.
WITHOUT_RC_COMPAT=
# Source function library.
. /etc/init.d/functions
#. /etc/init.d/functions-compat
XRDP=xrdp
SESMAN=sesman
STARTWM=/etc/X11/xdm/Xsession
RUNDIR=/usr/lib/xrdp
#RUNDIR=/usr/bin
LOG=/dev/null
SESMAN_PIDFILE=/var/run/$SESMAN.pid
XRDP_PIDFILE=/var/run/$XRDP.pid
SESMAN_LOCKFILE=/var/lock/subsys/$SESMAN
XRDP_LOCKFILE=/var/lock/subsys/$XRDP
RETVAL=0
test -x $RUNDIR/$XRDP || echo "$XRDP is not executable"
test -x $RUNDIR/$SESMAN || echo "$SESMAN is not executable"
if ! test -x $STARTWM; then
failure "$STARTWM is not executable"
exit 1
fi
is_xrdp_running()
{
test -f "$XRDP_PIDFILE" && checkpid `cat $XRDP_PIDFILE 2>/dev/null`
return $?
}
is_sesman_running()
{
test -f "$SESMAN_PIDFILE" && checkpid `cat $SESMAN_PIDFILE 2>/dev/null`
return $?
}
start()
{
# is_yes "$NETWORKING" || return 0
echo -n "Starting xrdp services: "
if is_sesman_running; then
RETVAL=0
echo
else
start-stop-daemon --start --quiet --exec $RUNDIR/$XRDP --pidfile $XRDP_PIDFILE --
RETVAL=$?
fi
echo -n "Starting sesman services: "
if is_sesman_running; then
RETVAL2=0
echo
else
start-stop-daemon --start --quiet --exec $RUNDIR/$SESMAN --pidfile $SESMAN_PIDFILE -- >/dev/null
RETVAL2=$?
fi
if [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] ; then
success "xrdp startup"
touch "$XRDP_LOCKFILE"
touch "$SESMAN_LOCKFILE"
else
RETVAL=1
failure "xrdp startup"
fi
echo
return $RETVAL
}
stop()
{
stop_daemon --pidfile "$XRDP_PIDFILE" --lockfile "$XRDP_LOCKFILE" -- $RUNDIR/$XRDP --kill
RETVAL=$?
stop_daemon --pidfile "$SESMAN_PIDFILE" --lockfile "$SESMAN_LOCKFILE" -- $RUNDIR/$SESMAN --kill
RETVAL2=$?
if [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] ; then
success "xrdp stopped"
else
RETVAL=1
failure "xrdp stopped"
fi
echo
return $RETVAL
}
restart()
{
stop
start
}
reload()
{
restart
}
check_status()
{
status --pidfile "$XRDP_PIDFILE" $RUNDIR/$XRDP --
RET=$?
status --pidfile "$SESMAN_PIDFILE" $RUNDIR/$SESMAN --
RET2=$?
[ $RET -eq 0 -a $RET2 -eq 0 ] && return 0 || return 1
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
condstop)
if [ -e "$LOCKFILE" ]; then
stop
fi
;;
condrestart)
if [ -e "$LOCKFILE" ]; then
restart
fi
;;
condreload)
if [ -e "$LOCKFILE" ]; then
reload
fi
;;
status)
check_status
RETVAL=$?
;;
*)
msg_usage "${0##*/} {start|stop|reload|restart|condstop|condrestart|condreload|status}"
RETVAL=1
esac
exit $RETVAL