On 2024-08-20 15:41, Greg Wooledge wrote:
On Tue, Aug 20, 2024 at 15:28:40 -0400, Gary Dale wrote:
Look, I know the executable is vncserver. The question is how do I get the
service to specify parameters when starting the service? I can start is from
the command line as "vncserver -localhost no" but then I'd have to use cron
to set it up to run on reboot, something the systemd service already
handles.
Are you sure you actually *want* to use systemd to start it?  It doesn't
really seem like the best choice to me.  For one thing, when you start
it from a user's crontab with @reboot, it runs as the correct user
automatically.  I don't know how systemd knows which user to start the
VNC session as.

Maybe I just don't understand the concept of a "standalone (VNC) server".

I've got some workstations with tightvncserver installed, and I've got
two sessions running on each workstation, as two separate user accounts.
Each one is started from the user's crontab file, with a customized
resolution for each human user.

That puts an interesting twist on it. I just rebooted and the service doesn't actually appear to restart. It shows as dead.

$ systemctl status tigervncserver@:1.service
○ tigervncserver@:1.service - Remote desktop service (VNC)
     Loaded: loaded (/usr/lib/systemd/system/tigervncserver@.service; enabled; preset: enabled)
     Active: inactive (dead) since Tue 2024-08-20 15:52:31 EDT; 1min 4s ago
   Duration: 56ms
 Invocation: d3a35f8b59284ff6b4bbf1e97ac13570
    Process: 1522 ExecStart=/usr/libexec/tigervncsession-start :1 (code=exited, status=0/SUCCESS)
   Main PID: 1539 (code=exited, status=0/SUCCESS)
   Mem peak: 2.8M
        CPU: 13ms

However I can run vncviewer localhost:5901 and connect as my user. I'm seeing a black screen but that's a separate issue, I think.

Strangely, I am now getting a connection from my laptop. So now I just have to resolve the black screen issue. Apparently the default configuration requires a strong enough encryption to allow non-local connections. I'm not sure why I wasn't connecting yesterday, but it's working now.

As for the user under systemd, I think that is determined by the connection. There is also a file (/etc/tigervnc/vncserver.users) that links the connection to the user name. I only need to enable the actual connection service for each user.


Reply via email to