--- net-misc/tigervnc/files/tigervnc.initd	2017-10-18 10:15:16.323888439 +0200
+++ net-misc/tigervnc/files/tigervnc.initd	2019-07-17 06:48:24.754359877 +0200
@@ -11,7 +11,7 @@
 		if [ $1 = "start" ]; then
 			local user
 			for user in $DISPLAYS; do
-				if eval [ ! -f "~${user%%:*}/.vnc/passwd" ]; then
+				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