web-dev-qa-db-fra.com

Comment configurer correctement le fichier xstartup pour TightVNC avec l'environnement Ubuntu VPS GNOME

J'aimerais accéder à mon VPS Ubuntu 16.10 (Contabo) avec un environnement GNOME avec VNC, mais je suis toujours confronté à des problèmes que je ne pouvais pas résoudre jusqu'à présent. Pour installer et configurer le logiciel, j'ai exécuté les commandes suivantes:

Sudo apt-get install ubuntu-gnome-desktop
Sudo apt-get install tightvncserver xtightvncviewer tightvnc-Java
Sudo locale-gen de_DE.UTF-8
Sudo apt-get install xfonts-75dpi
Sudo apt-get install xfonts-100dpi
Sudo apt-get install gnome-panel
Sudo apt-get install metacity
Sudo apt-get install light-themes
touch ~/.Xresources
vncpasswd

Le fichier ~/.vnc/xstartup contient initialement les lignes suivantes:

#!/bin/sh
xrdb $HOME/.Xresources 
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work 
export XKL_XMODMAP_DISABLE=1 
/etc/X11/Xsession

Lorsque je démarre le serveur VNC en utilisant vncserver -geometry 1920x1200, tout se passe bien selon le fichier journal dans ~/.vnc

17/02/17 11:47:48 Xvnc version TightVNC-1.3.10
17/02/17 11:47:48 Copyright (C) 2000-2009 TightVNC Group
17/02/17 11:47:48 Copyright (C) 1999 AT&T Laboratories Cambridge
17/02/17 11:47:48 All Rights Reserved.
17/02/17 11:47:48 See http://www.tightvnc.com/ for information on TightVNC
17/02/17 11:47:48 Desktop name 'X' (Host:1)
17/02/17 11:47:48 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
17/02/17 11:47:48 Listening for VNC connections on TCP port 5901
17/02/17 11:47:48 Listening for HTTP connections on TCP port 5801

Je peux connecter avec succès depuis mon PC Windows via VNCViewer et voir une fenêtre grise.

Ce qui n’est pas clair pour moi, c’est ce que je dois changer dans ~/.vnc/xstartup pour que Gnome soit exécuté. J'ai essayé beaucoup de réglages différents.

Par exemple. quand je change xstartup to

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &

# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession

#gnome-session &
gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &

et me connecte via VNC, j’obtiens les messages d’erreur suivants dans le fichier journal vnc:

17/02/17 14:13:09 Xvnc version TightVNC-1.3.10
17/02/17 14:13:09 Copyright (C) 2000-2009 TightVNC Group
17/02/17 14:13:09 Copyright (C) 1999 AT&T Laboratories Cambridge
17/02/17 14:13:09 All Rights Reserved.
17/02/17 14:13:09 See http://www.tightvnc.com/ for information on TightVNC
17/02/17 14:13:09 Desktop name 'X' (Host:1)
17/02/17 14:13:09 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
17/02/17 14:13:09 Listening for VNC connections on TCP port 5901
17/02/17 14:13:09 Listening for HTTP connections on TCP port 5801
17/02/17 14:13:09   URL http://5801

(nautilus:7807): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
metacity-Message: could not find XKB extension.
Window manager warning: Missing composite extension required for compositing

(gnome-settings-daemon:7805): rfkill-plugin-WARNING **: Could not open RFKILL control device, please verify your installation

** (gnome-panel:7804): WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

(nautilus:7807): Gtk-WARNING **: Theme parsing error: <broken file>:1:0: Failed to import: The resource at '/org/gnome/libgd/tagged-entry/default.css' does not exist
Xlib:  extension "XInputExtension" missing on display ":1".
Xlib:  extension "XInputExtension" missing on display ":1".
Xlib:  extension "XInputExtension" missing on display ":1".
Xlib:  extension "XInputExtension" missing on display ":1".
Xlib:  extension "XInputExtension" missing on display ":1".
Xlib:  extension "XInputExtension" missing on display ":1".

(gnome-settings-daemon:7805): media-keys-plugin-WARNING **: Unable to inhibit keypresses: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: Permission denied

** (gnome-settings-daemon:7805): WARNING **: Unable to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

** (process:7845): WARNING **: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

(gnome-settings-daemon:7805): GLib-GIO-CRITICAL **: g_task_return_error: assertion 'error != NULL' failed
Xlib:  extension "XInputExtension" missing on display ":1".
Xlib:  extension "XInputExtension" missing on display ":1".

(gnome-settings-daemon:7805): sharing-plugin-WARNING **: Failed to StopUnit service: GDBus.Error:org.freedesktop.systemd1.NoSuchUnit: Unit rygel.service not loaded.
Xlib:  extension "XInputExtension" missing on display ":1".

(gnome-panel:7804): Gtk-WARNING **: Allocating size to PanelToplevel 0x55e8b9e1fba0 without calling gtk_widget_get_preferred_width/height(). How does the code know the size to allocate?
Xlib:  extension "XInputExtension" missing on display ":1".
Nautilus-Share-Message: Called "net usershare info" but it failed: Failed to execute child process "net" (No such file or directory)
Xlib:  extension "XInputExtension" missing on display ":1".

Et voici ce que je peux voir avec VNCViewer:  enter image description here

Jusqu'à présent, je ne pouvais pas résoudre les problèmes dans le fichier journal. Merci beaucoup pour votre aide.

UPDATE 1

Si j'adapte ~/.vnc/xstartup en fonction de UPDATE 2 sur muktupavels answer, mon fichier journal ressemble à ceci lorsque je me connecte via vncviewer:

21/02/17 08:51:52 Xvnc version TightVNC-1.3.10
21/02/17 08:51:52 Copyright (C) 2000-2009 TightVNC Group
21/02/17 08:51:52 Copyright (C) 1999 AT&T Laboratories Cambridge
21/02/17 08:51:52 All Rights Reserved.
21/02/17 08:51:52 See http://www.tightvnc.com/ for information on TightVNC
21/02/17 08:51:52 Desktop name 'X' (Host:1)
21/02/17 08:51:52 Protocol versions supported: 3.3, 3.7, 3.8, 3.7t, 3.8t
21/02/17 08:51:52 Listening for VNC connections on TCP port 5901
21/02/17 08:51:52 Listening for HTTP connections on TCP port 5801
21/02/17 08:51:52   URL http://Host:5801

21/02/17 08:51:58 Got connection from client xxx
21/02/17 08:51:58 Using protocol version 3.8
21/02/17 08:52:03 Full-control authentication passed by xxx
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 16
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 22
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 21
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 15
21/02/17 08:52:04 Using zlib encoding for client xxx
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding -314
21/02/17 08:52:04 Enabling full-color cursor updates for client xxx
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding -223
21/02/17 08:52:04 Pixel format for client xxx:
21/02/17 08:52:04   8 bpp, depth 8
21/02/17 08:52:04   uses a colour map (not true colour).
21/02/17 08:52:04 Using raw encoding for client xxx
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 22
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 21
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 16
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 15
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding -314
21/02/17 08:52:04 Enabling full-color cursor updates for client 141.83.54.107
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding -223
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 15
21/02/17 08:52:04 Using hextile encoding for client xxx
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 22
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 21
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding 16
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding -314
21/02/17 08:52:04 Enabling full-color cursor updates for client 141.83.54.107
21/02/17 08:52:04 rfbProcessClientNormalMessage: ignoring unknown encoding -223
21/02/17 08:52:04 Pixel format for client xxx:
21/02/17 08:52:04   32 bpp, depth 24, little endian
21/02/17 08:52:04   true colour: max r 255 g 255 b 255, shift r 16 g 8 b 0
21/02/17 08:52:04   no translation needed
21/02/17 08:52:08 KbdAddEvent: unknown KeySym 0xffeb - allocating KeyCode 89

Ceci est une capture d'écran de l'interface graphique:  enter image description here

Maintenant, l'horloge, etc. est visible sur le panneau supérieur. Cependant, le bureau est toujours gris et le clic droit de la souris ne fonctionne pas. 

De plus, certaines applications telles que Terminal GNOME n'ont pas démarré au début. Lorsque j'ai essayé de démarrer Terminal avec xterm, j'ai reçu le message d'erreur suivant:

Error constructing proxy for org.gnome.Terminal:/org/gnome/Terminal/Factory0: Error calling StartServiceByName for org.gnome.Terminal: GDBus.Error:org.freedesktop.DBus.Error.TimedOut: Failed to activate service 'org.gnome.Terminal': timed out

Après avoir exécuté les commandes suivantes, redémarrez le terminal GNOME et tous les autres programmes: 

Sudo locale-gen
Sudo localectl set-locale LANG="en_US.UTF-8"
Sudo reboot

UPDATE 3

Ajout du paramètre --debug à gnome-session cmd dans ~/.vnc/xstartup. Après le redémarrage de vncserver, le message suivant est apparu dans ~/.xsession-errors:

Xsession: X session started for <user> at Di 21. Feb 08:35:01 CET 2017
dbus-update-activation-environment: setting DISPLAY=:1
dbus-update-activation-environment: warning: error sending to systemd: org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  109 (X_ChangeHosts)
  Value in failed request:  0x5
  Serial number of failed request:  6
  Current serial number in output stream:  8
localuser:<user> being added to access control list
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  109 (X_ChangeHosts)
  Value in failed request:  0x5
  Serial number of failed request:  6
  Current serial number in output stream:  8
openConnection: connect: No such file or directory
cannot connect to braille devices daemon brltty at :0
Incompatible XKB server support
dbus-update-activation-environment: setting GTK_MODULES=gail:atk-bridge
dbus-update-activation-environment: warning: error sending to systemd: org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
dbus-update-activation-environment: warning: error sending to systemd: org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1
Error: couldn't find RGB GLX visual or fbconfig
OpenGL version not found.
dbus-update-activation-environment: setting LESSOPEN=| /usr/bin/lesspipe %s
dbus-update-activation-environment: setting VNCDESKTOP=X
dbus-update-activation-environment: setting MAIL=/var/mail/<user>
dbus-update-activation-environment: setting SSH_CLIENT=xx.xxx.xx.xx 54876 22
dbus-update-activation-environment: setting USER=<user>
dbus-update-activation-environment: setting LANGUAGE=en_US:
dbus-update-activation-environment: setting LC_TIME=de_DE.UTF-8
dbus-update-activation-environment: setting SHLVL=1
dbus-update-activation-environment: setting HOME=/home/<user>
dbus-update-activation-environment: setting OLDPWD=/home/<user>/.vnc
dbus-update-activation-environment: setting SSH_TTY=/dev/pts/0
dbus-update-activation-environment: setting GTK_MODULES=gail:atk-bridge
dbus-update-activation-environment: setting QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1
dbus-update-activation-environment: setting LC_MONETARY=de_DE.UTF-8
dbus-update-activation-environment: setting DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-x72bVPIADb,guid=db78e03690370c91adb4424458abeda5
dbus-update-activation-environment: setting IM_CONFIG_PHASE=1
dbus-update-activation-environment: setting LOGNAME=<user>
dbus-update-activation-environment: setting _=/usr/bin/vncserver
dbus-update-activation-environment: setting TERM=xterm
dbus-update-activation-environment: setting PATH=/home/<user>/bin:/home/<user>/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
dbus-update-activation-environment: setting LC_ADDRESS=de_DE.UTF-8
dbus-update-activation-environment: setting XDG_RUNTIME_DIR=/run/user/1000
dbus-update-activation-environment: setting DISPLAY=:1
dbus-update-activation-environment: setting LC_TELEPHONE=de_DE.UTF-8
dbus-update-activation-environment: setting LANG=en_US
dbus-update-activation-environment: setting XKL_XMODMAP_DISABLE=1
dbus-update-activation-environment: setting LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.Zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.Zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
dbus-update-activation-environment: setting Shell=/bin/bash
dbus-update-activation-environment: setting Shell=/bin/bash
dbus-update-activation-environment: setting LC_NAME=de_DE.UTF-8
dbus-update-activation-environment: setting QT_ACCESSIBILITY=1
dbus-update-activation-environment: setting LESSCLOSE=/usr/bin/lesspipe %s %s
dbus-update-activation-environment: setting LC_MEASUREMENT=de_DE.UTF-8
dbus-update-activation-environment: setting LC_IDENTIFICATION=de_DE.UTF-8
dbus-update-activation-environment: setting PWD=/home/<user>
dbus-update-activation-environment: setting SSH_CONNECTION=xx.xxx.xx.xx 54876 xx.xxx.xx.xx 22
dbus-update-activation-environment: setting XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
dbus-update-activation-environment: setting LC_NUMERIC=de_DE.UTF-8
dbus-update-activation-environment: setting LC_PAPER=de_DE.UTF-8
dbus-update-activation-environment: warning: error sending to systemd: org.freedesktop.DBus.Error.Spawn.ChildExited: Process org.freedesktop.systemd1 exited with status 1
3
Matthias Munz

Votre fichier journal vnc vous informe du problème. Vous devez installer quelques paquets:
Sudo apt-get install metacity gnome-panel

MISE À JOUR 1:  

Vous avez seulement besoin de x-window-manager ou metacity. Les deux fournissent un gestionnaire de fenêtres et vous n’avez besoin que d’un seul. Sur la capture d'écran, je ne vois que deux problèmes: un écran gris et des indicateurs manquants.

Pour corriger les indicateurs manquants, installez un paquet supplémentaire:
Sudo apt-get install indicator-applet-complete

Pour corriger l'écran gris, vous avez besoin de l'option --force-desktop en ligne de commande. Et si vous ne voulez pas de fenêtre nautile par défaut, vous pouvez ajouter --no-default-window:
nautilus --force-desktop & ou nautilus --force-desktop --no-default-window

De plus, la session GNOME Flashback (Metacity) dans Ubuntu 16.10 utilise unity-settings-daemon et non gnome-settings-daemon. N'oubliez pas de l'installer si vous décidez de changer cela.

Pour que votre ordinateur fonctionne mieux, vous devez également exporter:

export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"

Si vous avez décidé d'utiliser unity-settings-daemon, alors XDG_CURRENT_DESKTOP devrait être GNOME-Flashback:Unity.

Dans les deux cas, vous avez également besoin de gnome-flashback. Installez-le et assurez-vous qu'il a également commencé. Selon les paramètres du démon, vous devrez peut-être ajuster/modifier les paramètres GS. Les valeurs par défaut sont configurées pour unity-settings-daemon.

MISE À JOUR 2:  

Je laisserais probablement gnome-session commencer la session:

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey

export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:Unity"
export XDG_MENU_PREFIX="gnome-flashback-"

gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

Et pour installer les paquets requis, il suffit de faire Sudo apt-get install gnome-session-flashback

MISE À JOUR 3:  

On dirait que Nautilus ne montre pas les icônes du bureau ni l’arrière-plan, car les icônes du bureau sont désactivées.

Vous pouvez l'activer avec gsettings set org.gnome.desktop.background show-desktop-icons true ou en installant ubuntu-settings.

3
muktupavels

Pour des raisons de sécurité, X11 a désactivé le rendu indirect de GLX par défaut. Ce changement a finalement été intégré dans les principales versions de Linux. Pour activer IGLX, éditez le fichier Xorg et ajoutez l’indicateur “+ iglx”. Puis redémarrez la machine.

Sudo vi /usr/bin/Xorg

basedir=/usr/lib/xorg
if [ -x "$basedir"/Xorg.wrap ]; then
   exec "$basedir"/Xorg.wrap "$@"
else
   exec "$basedir"/Xorg "$@" +iglx
fi
0
Engineer

J'ai eu le même problème. J'ai suivi toutes ces instructions ... sauf le débogage et le VNC a commencé à fonctionner. J'utilise mon système Ubuntu comme un système sans tête et 99% du temps, j'utilise VNC. 

J'ai effectué une mise à jour du BIOS et redémarré aujourd'hui et j'ai à nouveau rencontré le même problème. Je sais que j'ai déjà tout installé, mais la seule chose qui a permis de faire fonctionner cela a été d'exécuter à nouveau ces commandes:

Sudo locale-gen
Sudo localectl set-locale LANG="en_US.UTF-8"
vncserver -kill :1
vncserver

VNC Viewer ouvert et connecté sans problème.

0
Uber Geek Dude