TurboVNC / turbovnc

Main TurboVNC repository
https://TurboVNC.org
GNU General Public License v2.0
746 stars 136 forks source link

How to configure turbovnc as a systemd service (ubuntu 20.04) #399

Closed sywe1 closed 5 months ago

sywe1 commented 5 months ago

Hello,

Thanks in advance for the great work you provided to us.

When I try to set TurboVNC as a systemd service to run on bootup, I got several gnome related errors. Below is the error log from 'systemctl start vncserver@1.service'

Jan 22 19:36:20 HQ vncserver[9881]: Desktop 'TurboVNC: HQ:1 (ubuntu)' started on display HQ:1
Jan 22 19:36:20 HQ vncserver[9881]: Starting applications specified in /usr/bin/xstartup.turbovnc
Jan 22 19:36:20 HQ vncserver[9881]: Log file is /home/ubuntu/.vnc/HQ:1.log
Jan 22 19:36:20 HQ systemd[1]: Started TurboVNC vncserver.
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] AppArmor D-Bus mediation is enabled
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.a11y.Bus' requested by ':1.4' (uid=1000 pid=9988 comm="/usr/libexec/gnome-session-check-accelerated " label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Successfully activated service 'org.a11y.Bus'
Jan 22 19:36:20 HQ gnome-session[9988]: gnome-session-check-accelerated: GL Helper exited with code 512
Jan 22 19:36:20 HQ gnome-session[9988]: gnome-session-check-accelerated: GLES Helper exited with code 512
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.freedesktop.systemd1' requested by ':1.7' (uid=1000 pid=9905 comm="/usr/libexec/gnome-session-binary --builtin --syst" label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.freedesktop.systemd1' requested by ':1.8' (uid=1000 pid=9905 comm="/usr/libexec/gnome-session-binary --builtin --syst" label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ gnome-session[9905]: gnome-session-binary[9905]: WARNING: Falling back to non-systemd startup procedure due to error: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ gnome-session-binary[9905]: WARNING: Falling back to non-systemd startup procedure due to error: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.freedesktop.systemd1' requested by ':1.10' (uid=1000 pid=9905 comm="/usr/libexec/gnome-session-binary --builtin --syst" label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.freedesktop.systemd1' requested by ':1.12' (uid=1000 pid=9905 comm="/usr/libexec/gnome-session-binary --builtin --syst" label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.freedesktop.systemd1' requested by ':1.14' (uid=1000 pid=9905 comm="/usr/libexec/gnome-session-binary --builtin --syst" label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.freedesktop.systemd1' requested by ':1.16' (uid=1000 pid=9905 comm="/usr/libexec/gnome-session-binary --builtin --syst" label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ gnome-session[9905]: gnome-session-binary[9905]: WARNING: Could not get session id for session. Check that logind is properly installed and pam_systemd is getting used at login.
Jan 22 19:36:20 HQ gnome-session-binary[9905]: WARNING: Could not get session id for session. Check that logind is properly installed and pam_systemd is getting used at login.
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.freedesktop.systemd1' requested by ':1.17' (uid=1000 pid=9905 comm="/usr/libexec/gnome-session-binary --builtin --syst" label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ gnome-keyring-secrets.desktop[10047]: GNOME_KEYRING_CONTROL=/home/ubuntu/.cache/keyring-X1XPH2
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.freedesktop.systemd1' requested by ':1.17' (uid=1000 pid=9905 comm="/usr/libexec/gnome-session-binary --builtin --syst" label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.freedesktop.systemd1' requested by ':1.17' (uid=1000 pid=9905 comm="/usr/libexec/gnome-session-binary --builtin --syst" label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Jan 22 19:36:20 HQ gnome-keyring-ssh.desktop[10049]: GNOME_KEYRING_CONTROL=/home/ubuntu/.cache/keyring-X1XPH2
Jan 22 19:36:20 HQ gnome-keyring-ssh.desktop[10049]: SSH_AUTH_SOCK=/home/ubuntu/.cache/keyring-X1XPH2/ssh
Jan 22 19:36:20 HQ gnome-keyring-pkcs11.desktop[10052]: GNOME_KEYRING_CONTROL=/home/ubuntu/.cache/keyring-X1XPH2
Jan 22 19:36:20 HQ gnome-keyring-pkcs11.desktop[10052]: SSH_AUTH_SOCK=/home/ubuntu/.cache/keyring-X1XPH2/ssh
Jan 22 19:36:20 HQ gnome-shell[10061]: Enabling experimental feature 'x11-randr-fractional-scaling'
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Activating service name='org.gtk.vfs.Daemon' requested by ':1.21' (uid=1000 pid=10061 comm="/usr/bin/gnome-shell " label="unconfined")
Jan 22 19:36:20 HQ dbus-daemon[9915]: [session uid=1000 pid=9908] Successfully activated service 'org.gtk.vfs.Daemon'
Jan 22 19:36:20 HQ org.gnome.Shell.desktop[10061]: Xlib:  extension "DPMS" missing on display ":1".
Jan 22 19:36:20 HQ gnome-shell[10061]: Failed to use stored monitor configuration: Invalid mode 5000x1350 (60.000000) for monitor 'unknown unknown'
Jan 22 19:36:20 HQ gnome-shell[10061]: Impossible to set scaling on crtc 63 to 1.000000, error id 2
Jan 22 19:36:20 HQ org.gnome.Shell.desktop[10061]: Window manager warning: Scalig CRTC 63 at 1.000000 failed
Jan 22 19:36:20 HQ org.gnome.Shell.desktop[10061]: Xlib:  extension "DPMS" missing on display ":1".
Jan 22 19:36:20 HQ gnome-shell[10061]: Some code accessed the property 'CredentialManager' on the module 'credentialManager'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Jan 22 19:36:20 HQ gnome-shell[10061]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Jan 22 19:36:20 HQ gnome-shell[10061]: JS ERROR: TypeError: this._userProxy.Display is null
                                       getCurrentSessionProxy@resource:///org/gnome/shell/misc/loginManager.js:114:41
                                       ScreenShield@resource:///org/gnome/shell/ui/screenShield.js:111:28
                                       _initializeUI@resource:///org/gnome/shell/ui/main.js:200:24
                                       start@resource:///org/gnome/shell/ui/main.js:146:5
                                       @<main>:1:47
Jan 22 19:36:20 HQ gnome-shell[10061]: Execution of main.js threw exception: Script <main> threw an exception
Jan 22 19:36:20 HQ gnome-session[9905]: gnome-session-binary[9905]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Jan 22 19:36:20 HQ gnome-session-binary[9905]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Jan 22 19:36:20 HQ gnome-shell[10101]: Enabling experimental feature 'x11-randr-fractional-scaling'
Jan 22 19:36:20 HQ org.gnome.Shell.desktop[10101]: Xlib:  extension "DPMS" missing on display ":1".
Jan 22 19:36:20 HQ gnome-shell[10101]: Failed to use stored monitor configuration: Invalid mode 5000x1350 (60.000000) for monitor 'unknown unknown'
Jan 22 19:36:20 HQ org.gnome.Shell.desktop[10101]: Xlib:  extension "DPMS" missing on display ":1".
Jan 22 19:36:21 HQ gnome-shell[10101]: Some code accessed the property 'CredentialManager' on the module 'credentialManager'. That property was defined with 'let' or 'const' inside the module. This was previously supported, but is not correct according to the ES6 standard. Any symbols to be exported from a module must be defined with 'var'. The property access will work as previously for the time being, but please fix your code anyway.
Jan 22 19:36:21 HQ gnome-shell[10101]: Unset XDG_SESSION_ID, getCurrentSessionProxy() called outside a user session. Asking logind directly.
Jan 22 19:36:21 HQ gnome-shell[10101]: JS ERROR: TypeError: this._userProxy.Display is null
                                       getCurrentSessionProxy@resource:///org/gnome/shell/misc/loginManager.js:114:41
                                       ScreenShield@resource:///org/gnome/shell/ui/screenShield.js:111:28
                                       _initializeUI@resource:///org/gnome/shell/ui/main.js:200:24
                                       start@resource:///org/gnome/shell/ui/main.js:146:5
                                       @<main>:1:47
Jan 22 19:36:21 HQ gnome-shell[10101]: Execution of main.js threw exception: Script <main> threw an exception
Jan 22 19:36:21 HQ gnome-session[9905]: gnome-session-binary[9905]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Jan 22 19:36:21 HQ gnome-session-binary[9905]: WARNING: App 'org.gnome.Shell.desktop' exited with code 1
Jan 22 19:36:21 HQ gnome-session-binary[9905]: Unrecoverable failure in required component org.gnome.Shell.desktop
Jan 22 19:36:21 HQ gnome-session[9905]: gnome-session-binary[9905]: WARNING: App 'org.gnome.Shell.desktop' respawning too quickly
Jan 22 19:36:21 HQ gnome-session[9905]: gnome-session-binary[9905]: CRITICAL: We failed, but the fail whale is dead. Sorry....
Jan 22 19:36:21 HQ gnome-session-binary[9905]: WARNING: App 'org.gnome.Shell.desktop' respawning too quickly
Jan 22 19:36:21 HQ gnome-session-binary[9905]: CRITICAL: We failed, but the fail whale is dead. Sorry....
Jan 22 19:36:21 HQ org.gtk.vfs.Daemon[10082]: A connection to the bus can't be made
Jan 22 19:36:21 HQ systemd[1]: vncserver@1.service: Succeeded.

And below is my vncserver@1.service configuration

[Unit]
Description=TurboVNC vncserver
After=network.target syslog.target

[Service]
Type=forking
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu

PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStartPre=/bin/sh -c '/opt/TurboVNC/bin/vncserver -kill :1 &>/dev/null || :'
ExecStart=vncserver -geometry 4800x1320 -depth 32 -nolock
ExecStop=/bin/sh -c '/opt/TurboVNC/bin/vncserver -kill :1 &>/dev/null || :'

[Install]
WantedBy=multi-user.target

I'm using TurboVNC 3.1 and OS is ubuntu 20.04. Thanks again!

dcommander commented 5 months ago

Duplicate question. Please see my answer under #395.