diff options
Diffstat (limited to 'net-misc/tigervnc/files/tigervnc-1.12.0.initd')
-rw-r--r-- | net-misc/tigervnc/files/tigervnc-1.12.0.initd | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/net-misc/tigervnc/files/tigervnc-1.12.0.initd b/net-misc/tigervnc/files/tigervnc-1.12.0.initd deleted file mode 100644 index 187b3c7296b4..000000000000 --- a/net-misc/tigervnc/files/tigervnc-1.12.0.initd +++ /dev/null @@ -1,72 +0,0 @@ -#!/sbin/openrc-run -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License, v2 or later - -# shellcheck shell=sh - -depend() { - need net -} - -checkconfig() { - if [ -n "${DISPLAYS}" ]; then - if [ "$1" = "start" ]; then - for user in $DISPLAYS; do - # bug #690046 - if ! runuser -l "${user%%:*}" -c "[ -f ~/.vnc/passwd ]"; then - eerror "There are no passwords defined for user ${user%%:*}." - return 1 - elif [ -e "/tmp/.X11-unix/X${user##*:}" ]; then - eerror "Display :${user##*:} appears to be already in use because of /tmp/.X11-unix/X${user##*:}" - eerror "Remove this file if there is no X server for :${user##*:}" - return 1 - elif [ -e "/tmp/.X${user##*:}-lock" ]; then - eerror "Display :${user##*:} appears to be already in use because of /tmp/.X${user##*:}-lock" - eerror "Remove this file if there is no X server for :${user##*:}" - return 1 - elif ! grep -E "^[^#]*:${user##*:}=${user%%:*}" /etc/tigervnc/vncserver.users > /dev/null 2>&1; then - eerror "User ${user%%:*} is not defined for display :${user##*:} in /etc/tigervnc/vncserver.users" - return 1 - fi - done - fi - return 0 - else - # here it is intended for $DISPLAYS to not expand - # shellcheck disable=SC2016 - eerror 'Please define $DISPLAYS in /etc/conf.d/tigervnc' - return 1 - fi -} - -start() { - checkconfig start || return 1 - ebegin "Starting TigerVNC server" - for user in $DISPLAYS; do - [ -n "${TIGERVNC_XSESSION_FILE}" ] && export TIGERVNC_XSESSION_FILE - /usr/libexec/vncsession-start ":${user##*:}" >/dev/null 2>&1 - done - eend $? -} - -stop() { - checkconfig stop || return 2 - ebegin "Stopping TigerVNC server" - for user in $DISPLAYS; do - # vncserver no longer provides a `-kill` option - # killing vncsession does not work, we have to kill Xvnc - # run pstree to see exactly what's going on - sessionpid=$(cat /run/vncsession-:"${user##*:}".pid) - serverpid=$(pstree -p "$sessionpid" | grep Xvnc | sed -e 's/^.*Xvnc(// - s/).*$//') - kill "$serverpid" >/dev/null 2>&1 - done - # Do not fail if a server is missing - /bin/true - eend $? -} - -restart() { - svc_stop - svc_start -} |