#!/sbin/openrc-run
# Copyright (c) 2001, 2025 NoMachine
# Description: NoMachine NX Server for OpenRC

description="Starts and stops the NoMachine NX Server"

depend() {
    need localmount net
    after ntp-client
}

ETC_DIR='/etc/NX'
USR_DIR='/usr/NX'

start() {
    ebegin "Starting NoMachine"
    "${USR_DIR}/bin/nxexec" "${ETC_DIR}/nxserver" --daemon > /dev/null 2>&1 &
    sleep 1
    eend 0
}

stop() {
    ebegin "Stopping NoMachine"
    ${ETC_DIR}/nxserver --shutdown > /dev/null 2>&1
    eend $?
}

status() {
    if [ -f "${USR_DIR}/var/run/server.pid" ]; then
        PID=$(cat "${USR_DIR}/var/run/server.pid")
        if ps -p "$PID" > /dev/null 2>&1; then
            einfo "NoMachine is running (PID $PID)"
            return 0
        fi
    fi
    ewarn "NoMachine is not running"
    return 1
}
