New issue by zmudc on void-packages repository https://github.com/void-linux/void-packages/issues/45522 Description: ### Is this a new report? Yes ### System Info Void 6.3.13_1 x86_64-musl GenuineIntel/VM notuptodate rFFF ### Package(s) Affected tigervnc-1.12.0_1 ### Does a report exist for this bug with the project's home (upstream) and/or another distro? https://github.com/TigerVNC/tigervnc/issues/1649 https://github.com/TigerVNC/tigervnc/pull/1651 ### Expected behaviour The package is supposed to be able to configure a vncserver service on Xvnc displays configured in /etc/tigervnc/vncserver.users on an ordinarily configured Void installation but after configuring the vncserver.users files and writing an appropriate runit service named vncserver the service fails to start with sv once vncserver. ### Actual behaviour The first error in the log (presuming sockog is configured according to the manual) is: 2023-08-10T14:30:22.21984 auth.crit: Aug 10 14:30:22 vncsession[1311]: pam_open_session failed: 28 (Module is unknown) This error appears in the /var/log/socklog/secure/current logfile with the default socklog configuration. After fixing the PAM configuration, the service still fails with a different error, also in the /var/log/socklog/secure/current logfile: 2023-08-10T14:50:30.43823 auth.warn: Aug 10 14:50:30 vncsession[2384]: vncsession: vncserver exited with status=2 This error is caused by the fact that upstream expects an Xsession wrapper script to be at /etc/X11/xinit/Xsession or /etc/X11/Xsession but a typical Void installation lacks those files. Other major distros such as Debian and Fedora have such files, but not Void. That can be fixed by patching the vncserver perl script provided by upstream so it can find an appropriate Xsession wrapper script on Void. After fixing the Xsession wrapper script, there is the third problem: The vncsession binary provided by upstream forks, detaches, and runs in the background without providing an option (not even a debug option) to run in the foreground, and this is totally incompatible with Void's runit system. This can be fixed by patching the vncession.c file in the upstream source so it runs in the foreground. That is what the above mentioned pull request to the upstream project does, but so far the upstream project has not responded in any way to the PR. A PR has also been submitted to void-packages to fix all these issues and update the package to version 1.13.1: https://github.com/void-linux/void-packages/pull/45307 ### Steps to reproduce 1. Install the XFCE desktop from the live image (I used the x86_64-musl version). I also did not do a network install to get the installation to have the XFCE desktop installed. 2. Update the system (i.e.: sudo xbps-install -Su 3. Configure ordinary logging according to the manual with socklog 4. Install the tigervnc package: sudo xbps-install tigervnc 5. Configure it according to the man pages: This requires at least mapping a user to display :1 in /etc/tigervnc/vncserver.users and also the other configuration files should be tweaked to set the session=xfce and the geometry to whatever your vnc viewer will support. 6. Write an appropriate runit service according to the manual. Hint: because the vncsession binary forks, detaches, and runs in the background, the run script needs to use fghack unless the patch mentioned in https://github.com/TigerVNC/tigervnc/pull/1651 is applied. The main command needed in the run script is something like: exec /usr/libexec/vncsession-start "${DISPLAY:-:1}" 7. Observe the service does not start unless the fixes mentioned in https://github.com/void-linux/void-packages/pull/45307 are applied.