Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37565604
en ru br
ALT Linux repos
S:0.9.23.1-alt1
D:0.3.2-alt1.1
5.0: 0.4.1-alt1
4.1: 0.4.0-alt4
4.0: 0.3.2-alt1

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
 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin