Possibly it is bad to use undocumented, or private API to influence
the outcome. But, there is also the dbus-launch command, and it is
also possible to fully reset the environment as "runuser -l", "sudo",
or "ssh" does. It is also possible to have separate systemd service
instances.
I don't agree with the conclusion that it can't or shouldn't be done.
Users need multiple graphical sessions for many real-life scenarios,
and the company I work for has day-to-day workflows where this is a
requirement. I do agree that this is not as well tested, and it
requires that people who deploy in this way need a greater
understanding of the requirements with the understanding that upstream
teams such as "GNOME Developers" or "TigerVNC Developers" will make
decisions that from time-to-time cause breakage for these downstream
workflows, and we will need to continue to modify the downstream setup
to address these problems.
In the case of TigerVNC 1.11, it means we are now using a basically
re-written version of the old "vncserver" script, and our own systemd
service script, so that it provides both the old behaviour which
thousands of users rely on today, and which cannot be arbitrarily
broken without a planned exit strategy, as well as alignment with the
new model, such as supporting the 'session=' property in
$HOME/.vnc/config, providing a migration path for users to move from
the old method to the new method.
Once we have further soaked this method - I will be uncertain what
step to take next. Either I propose it back as a commit to the
TigerVNC master branch, however, discussions in the GitHub issues have
lead to the conclusion that there is no appetite for supporting this
capability any longer, or I post it on a stand-alone web site for
downstream users to use, without any expectation of support from the
upstream TigerVNC developers.
I did note that Fedora 33 seems to have restored "vncserver" in the
distro version of TigerVNC 1.11:
* Tue Sep 29 2020 Jan Grulich <
jgru...@redhat.com> - 1.11.0-6
- Backport upstream fix allowing Tigervnc to specify boolean valus in
configuration
- Revert removal of vncserver for F32 and F33
I think it is important to say that many of us think the removing of
vncserver script was a poorly executed decision. I do not remember a
community discussion on this to consider ramifications. I do not
remember a call for people to support it - as I would have put my hand
up. I do not remember a call for "what functionality is the minimum
that must be preserved", as I would have had detailed input. It was
basically a unilateral decision to axe a core function, and replace it
with an entirely new mechanism that was both buggy and failed to meet
all prior requirements.
But, it happens. And so, many of us downstream users - including my
company, and Fedora, are now carrying the script forwards despite the
upstream decision that was made without us.
--
Mark Mielke <
mark....@gmail.com>