如何在Ubuntu VPS GNOME环境中为TightVNC正确配置xstartup文件 [英] How to properly configure xstartup file for TightVNC with Ubuntu VPS GNOME environment
问题描述
我想使用带有VNC的GNOME环境来访问我的Ubuntu 16.10 VPS(Contabo),但是我仍然遇到一些到目前为止无法解决的问题.要安装和配置软件,我运行了以下命令:
I'd like to access my Ubuntu 16.10 VPS (Contabo) with using a GNOME environment with VNC, however I am still facing some issues that I couldn't solve so far. To install and configure the software I ran the following commands:
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
文件〜/.vnc/xstartup 最初包含以下几行:
File ~/.vnc/xstartup initially contains the following lines:
#!/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
当我使用vncserver -geometry 1920x1200
启动VNC服务器时,根据〜/.vnc
When I start the VNC server using vncserver -geometry 1920x1200
everything looks fine according to the log file in ~/.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
我可以通过VNCViewer从Windows PC成功连接并看到一个灰色窗口.
I can successfully connect from my Windows PC via VNCViewer and see a grey window.
现在,我不清楚,我必须在〜/.vnc/xstartup 中进行更改,以使Gnome运行.我尝试了许多不同的设置.
Now, what is not clear to me, is what I have to change in ~/.vnc/xstartup to get Gnome running. I have tried many different settings.
例如当我将 xstartup 更改为
#!/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 &
并通过VNC连接,我在vnc日志文件中收到以下错误消息:
and connect via VNC, I get the following error messages in the vnc log file:
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".
这是我用VNCViewer可以看到的:
And this is what I can see with VNCViewer:
直到现在,我仍无法解决日志文件中的问题.非常感谢您的帮助.
Until now I wasn't able to fix the issues in the log file. Thank you very much for your help.
更新1
如果我根据 muktupavels 的 UPDATE 2 修改〜/.vnc/xstartup,则当我通过vncviewer连接时,我的日志文件如下所示:
If I adapt ~/.vnc/xstartup according to UPDATE 2 of muktupavels answer my log file looks like this when I connect 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
这是GUI的屏幕截图:
This a screenshot of the GUI:
现在在顶部面板上可以看到时钟等.但是,桌面仍为灰色,右键单击不起作用.
Now the clock etc. is visible on the top panel. However, the desktop is still grey and right mouse click doesn't work.
还有一些应用程序(例如GNOME Terminal)最初并未启动.当我尝试使用xterm启动终端时,出现以下错误消息:
Also some applications such as GNOME Terminal didn't start at first. When I tried to start Terminal using xterm I got the following error message:
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
在执行以下命令并重新启动GNOME终端后,所有其他程序都可以工作:
After executing the following commands and a reboot the GNOME Terminal and all the other programs work:
sudo locale-gen
sudo localectl set-locale LANG="en_US.UTF-8"
sudo reboot
更新3
在~/.vnc/xstartup
中的gnome-session
cmd中添加了--debug
参数.重新启动vncserver之后,我在~/.xsession-errors
中收到以下消息:
Added --debug
parameter to gnome-session
cmd in ~/.vnc/xstartup
. After restart of vncserver I got the following message in ~/.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
推荐答案
您的vnc日志文件告诉您有关问题的信息.您需要安装一些软件包:
sudo apt-get install metacity gnome-panel
Your vnc log file tells you about problem. You need to install few packages:
sudo apt-get install metacity gnome-panel
更新1:
您只需要x-window-manager
或metacity
.两者都提供窗口管理器,您只需要一个.从屏幕快照中,我仅看到两个问题-灰屏和指示器丢失.
You need only x-window-manager
or metacity
. Both provides window manager and you need only one. From screenshot I see only two problems - grey screen and missing indicators.
要修复缺少的指示器,请再安装一个软件包:
sudo apt-get install indicator-applet-complete
To fix missing indicators install one more package:
sudo apt-get install indicator-applet-complete
要修复灰屏,您需要--force-desktop
命令行选项.如果您不希望使用默认的Nautilus窗口,则可以添加--no-default-window
:
nautilus --force-desktop &
或nautilus --force-desktop --no-default-window
To fix grey screen you need --force-desktop
commandline option. And if you don't want default nautilus window you can add --no-default-window
:
nautilus --force-desktop &
or nautilus --force-desktop --no-default-window
在Ubuntu 16.10中的GNOME Flashback (Metacity)
会话也使用unity-settings-daemon
而不是gnome-settings-daemon
.如果您决定更改它,请不要忘记安装它.
Also GNOME Flashback (Metacity)
session in Ubuntu 16.10 use unity-settings-daemon
not gnome-settings-daemon
. Don't forget to install it if you decide to change that.
要使台式机更好地工作,还需要导出:
To get better working desktop you also need to exports:
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
如果您决定使用unity-settings-daemon
,则XDG_CURRENT_DESKTOP
应该为GNOME-Flashback:Unity
.
If you decided to use unity-settings-daemon
then XDG_CURRENT_DESKTOP
should be GNOME-Flashback:Unity
.
在两种情况下,您还都需要gnome-flashback
.安装它并确保它也已启动.根据设置守护程序,您可能需要调整/更改GSettings.默认设置为unity-settings-daemon
.
In both cases you also need gnome-flashback
. Install it and make sure it also started. Depending on settings daemon you might need to adjust / change GSettings. Defaults are configurated for unity-settings-daemon
.
更新2:
我可能会让gnome-session开始会话:
I would probably let gnome-session to start 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 &
要安装必需的软件包,只需执行sudo apt-get install gnome-session-flashback
And to install required packages just do sudo apt-get install gnome-session-flashback
更新3:
像鹦鹉螺一样,它不会显示桌面图标和背景,因为桌面图标已被禁用.
Looks like nautilus does not show desktop icons and background, because desktop icons are disabled.
您可以使用gsettings set org.gnome.desktop.background show-desktop-icons true
或通过安装ubuntu-settings
启用它.
You can enable it with gsettings set org.gnome.desktop.background show-desktop-icons true
or by installing ubuntu-settings
.
这篇关于如何在Ubuntu VPS GNOME环境中为TightVNC正确配置xstartup文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!