如何在Ubuntu VPS GNOME环境中为TightVNC正确配置xstartup文件 [英] How to properly configure xstartup file for TightVNC with Ubuntu VPS GNOME environment

查看:199
本文介绍了如何在Ubuntu VPS GNOME环境中为TightVNC正确配置xstartup文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用带有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-managermetacity.两者都提供窗口管理器,您只需要一个.从屏幕快照中,我仅看到两个问题-灰屏和指示器丢失.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆