当前位置: 代码迷 >> 综合 >> Ubuntu18.04.5+xfce4+vnc 安装并登录远程云服务器 图形桌面 全教程
  详细解决方案

Ubuntu18.04.5+xfce4+vnc 安装并登录远程云服务器 图形桌面 全教程

热度:46   发布时间:2024-03-07 23:26:43.0

我只是有一个简单的想法,就是把刚买的云服务器装一个图形化的界面,就像在VMWare虚拟机里一样,操作比较方便。然后用本地Windows系统访问。然而只是这个简单的想法,耗费了我人生中最美好时光的整整40个小时……

先说一下在找寻教程时遇到的术语

  • xubuntu-desktop
  • xfce4
  • GNOME2.*
  • GNOME3

这些都是ubuntu的桌面环境。不同于Windows自带的唯一桌面,Linux有很多种桌面环境,它们之间有些许差别。

  • Xmanager+XDMCP
  • Xrdp
  • VNC(vnc4server、tightvncserver……)

这些相当于控制远程桌面的解决方法,像是协议一类的东西。

我的选择是xfce4+VNC实现远程控制,两个都是最轻量级的工具

安装xfce4

参考https://itsfoss.com/install-xfce-desktop-xubuntu/  这篇文章

虽然声称安装xfce,但其实安装的是Xubuntu。而且Xfce desktop (xfce4 package) 和 Xubuntu desktop最好两者择1,两个都安装可能产生冲突,而且涉及到不同桌面的切换。简单来说Xubuntu功能更全面。这俩应该是同一公司的兄弟产品

sudo apt install xubuntu-desktop

我购买的是百度云务器,预装Ubuntu14系统没有自带图形界面。控制台有一个“VNC远程”的选项,本来点进去是黑框,安装Xubuntu后点击就有界面了。(可能需要重启系统)

配置服务器端VNC

之后我想通过本地Windows系统而不是浏览器来访问。因为毕竟上面的操作本质上相当于是另一台服务器访问我的服务器……

参考https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-ubuntu-18-04

注册一个新用户,例如用户名win。给这个用户名赋root的所有权限(具体方法百度),用此用户名登录,然后之后所有的操作都用这个用户进行并且都要加上sudo。如果用root进行下面的操作,经我自行尝试最后打开的界面只能用其他用户登录

安装tightvncserver。同类型的还有vnc4server等

sudo apt install tightvncserver

启动VNCServer

sudo vncserver

第一次启动会让你设置密码,一会儿链接的时候会用到。比如设置为这里设为123456.

You will require a password to access your desktops.

Password:
Verify:

还会提示是否view-only?选择否。

Would you like to enter a view-only password (y/n)? n
xauth:  file /usr/win/.Xauthority does not exist

New 'X' desktop is your_hostname:1

Creating default startup script /usr/win/.vnc/xstartup
Starting applications specified in /usr/win/.vnc/xstartup
Log file is /usr/win/.vnc/your_hostname:1.log

如果出现以上内容则说明运行正常。现在退出VNCServer服务

sudo vncserver -kill :1

编辑 ~/.vnc/xstartup文件

sudo nano ~/.vnc/xstartup

编辑为以下内容

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

第三行是必需添加的。第二行教程上说是加载一些xubuntu的主题文件,然而我并没有这个.Xresources文件,所以我编辑的时候删掉了第二行。而且也没有用到xrdb……

sudo chmod +x ~/.vnc/xstartup

改变xstartup文件为可执行文件

重启服务器。之后重启VNCServer

sudo vncserver

配置Windows端VNC

ssh -L 5901:127.0.0.1:5901 -C -N -l win xxx.xx.xx.x

现在回到Windows系统,打开CMD,新建一条ssh隧道,把win改成你的用户名(非root),xx改成服务器IP。之后会提示输入win用户的密码,输入即可

win@xxx.xx.xx.x's password:

下载VNC Viewer软件,长这个样子

新建一条链接,配置服务器IP,大功告成。

 

在配置过程中我遇到的问题有:

  • 不能通过Viewer打开命令行终端
  • Viewer和浏览器VNC不能同时使用
  • 不能通过Viewer打开/usr/win目录,但其他目录可以正常打开

有的是必然情况,比如同一用户不能再本地和远程同时连接图形界面?别的问题可能的解决方法有

  • 重启reboot
  • 切换用户。启动服务的用户和登录vnc的用户不同

终于,我实现了预期的目标,才发现这个过程中我已经习惯了使用vi、cd、nano等操作,再也不想用图形界面了……