Bug 1883027 - vncserver has been replaced by a systemd unit
Summary: vncserver has been replaced by a systemd unit
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: tigervnc
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jan Grulich
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-09-27 15:30 UTC by Harald Reindl
Modified: 2020-11-13 01:30 UTC (History)
4 users (show)

Fixed In Version: tigervnc-1.11.0-6.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-11-13 01:30:45 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Harald Reindl 2020-09-27 15:30:56 UTC Comment hidden (abuse)
Comment 1 Harald Reindl 2020-09-27 16:26:15 UTC Comment hidden (abuse)
Comment 2 Jan Grulich 2020-09-28 05:51:58 UTC
This is upstream decision and solution so please stop with your rant or go to complain somewhere else.

(In reply to Harald Reindl from comment #1)
> besides that it is a joke throwing out such a major breakeage in the middle
> of a stable release "/usr/lib/systemd/system/vncserver@.service:39: PIDFile=
> references a path below legacy directory /var/run/, updating
> /var/run/vncsession-:1.pid → /run/vncsession-:1.pid" confrims how careless
> and sloppy you act to begin with

You are free to report this to upstream or propose a fix.

> > # Limitations
> > You will not be able to start a Tigervnc server for a user who is already
> > logged into a graphical session
> 
> are you fucking kidding me?
> 
> i want my for 10 years working vnc-session with openbox no matte rif the
> user is logged in into KDE back and the guy who is miles away from hoem for
> days which is using vnc-over-ssh regulary too

This will most likely work for your openbox session, the reason why this has been mentioned is that going now through systemd with the session being properly configured, the desktop might require a dbus session running which already will be running if the user is logged in graphically. GNOME for example will fail to start, but this is not Tigervnc fault.

Comment 3 Harald Reindl 2020-09-28 07:58:19 UTC Comment hidden (abuse)
Comment 4 Harald Reindl 2020-09-28 08:23:28 UTC Comment hidden (abuse)
Comment 5 Harald Reindl 2020-09-28 08:25:02 UTC Comment hidden (abuse)
Comment 6 Jan Grulich 2020-09-28 10:15:11 UTC
(In reply to Harald Reindl from comment #5)
> Package maintainers MUST:
> 
>     Avoid Major version updates, ABI breakage or API changes if at all
> possible.

There is no API/ABI change. It's a major change, yes it is, but we have been doing same for Qt or KDE for example.

>     Avoid changing the user experience if at all possible.

It does change user experience, but it should be a positive change, because they now have working systemd support out of the box, which has been broken for very long time.

>     Avoid updates that are trivial or don't affect any Fedora users.

I should have maybe avoid pushing this to Fedora 32, but I still believe this change is worth it. It makes Tigervnc to work much reliably.

> 
> why don't you read https://github.com/TigerVNC/tigervnc/releases and realize
> that "vncserver has gotten a major redesign to be compatible with modern
> distributions" tells you not to push it to Fdora GA releases and instesad go
> trough the change process so that users upgrading to F34 are aware *before*
> the upgrade
 
That's exactly what made me to push it to even a stable release, to finally make Tigervnc work reliably with systemd and SElinux.


> > you are free to report this to upstream or propose a fix
> 
> what do you need proposed?
> 
> open the file and replace "/var/run/" with "/run/" and the next time just
> read your system logs after "systemctl daemon-reload" so that you face
> obvious issues at your own

And I'm supposed to do exactly what you say? You are free to do it yourself and submit a pull request. I'm not here to fulfill all your wishes. 

And btw. you can still use /usr/libexec/vncserver same way as before, it won't just accept configuration through the command line, but you have to configure it in /etc/tigervnc/.

Comment 7 Harald Reindl 2020-09-28 10:21:14 UTC Comment hidden (abuse)
Comment 8 Fedora Update System 2020-09-29 14:00:37 UTC
FEDORA-2020-98137c59f8 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-98137c59f8

Comment 9 Fedora Update System 2020-09-29 14:00:51 UTC
FEDORA-2020-98137c59f8 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-98137c59f8

Comment 10 Jan Grulich 2020-09-29 14:02:25 UTC
Old vncserver has been backported for Fedora 32 and Fedora 33. Change to /run instead of /var/run has been pushed to upstream for review and will be backported to Fedora once it gets merged.

Comment 11 Fedora Update System 2020-09-30 01:21:37 UTC
FEDORA-2020-98137c59f8 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-98137c59f8`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-98137c59f8

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Samuel Sieb 2020-10-01 06:54:46 UTC
The command I have been using for years "vncserver -geometry 1024x768 :2" still doesn't work with that new update.  I get a message about it failing to start Xvnc possibly because of a font server problem, then it dies with:
Fatal server error:
(EE) Unrecognized option: -session

I attempted to get the systemd service to work, but I was running into selinux errors and then I came across this issue.

Comment 13 Samuel Sieb 2020-10-01 07:00:51 UTC
I don't agree with Harald's language, but I do agree that a breaking change like this shouldn't have been pushed to a stable release.
I suspect my systemd selinux problem is that I'm trying to run the session as root and that's not supported, so I will need to move things around now.

Comment 14 Jan Grulich 2020-10-01 07:13:21 UTC
(In reply to Samuel Sieb from comment #12)
> The command I have been using for years "vncserver -geometry 1024x768 :2"
> still doesn't work with that new update.  I get a message about it failing
> to start Xvnc possibly because of a font server problem, then it dies with:
> Fatal server error:
> (EE) Unrecognized option: -session
> 

It woks for me. I don't think there is any "-session" parameter passed from vncserver. Are you sure you run "/usr/bin/vncserver"?

> I attempted to get the systemd service to work, but I was running into
> selinux errors and then I came across this issue.

In the HOWTO.md file there is mentioned that for already existing VNC configuration you either need to remove the ~/.vnc/ folder and let it be recreated again running "vncpasswd" to get proper SELinux context or call "restorecon -RFv ~/.vnc/".

Comment 15 Samuel Sieb 2020-10-01 07:37:54 UTC
Yes, it was definitely /usr/bin/vncserver.  restorecon doesn't work on /root/.vnc, only on /home/user/.vnc.  Maybe I could have got it to work by manually relabelling it, but I just moved everything to a new user and it's working now.

Comment 16 Fedora Update System 2020-11-13 01:30:45 UTC
FEDORA-2020-98137c59f8 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.