华为云ECS如何给服务器安装桌面(Ubuntu 24.02)

目录

引言

安装桌面环境

安装并配置VNC服务器

安装 TigerVNC 服务器

初始化 VNC 配置

配置 VNC 启动脚本

启动 VNC 服务器

开放5900和5901端口访问

客户端访问

结束语


引言

一直希望有个云端的桌面版Ubuntu,这样走到哪里,都可以远程使用Linux系统。但是看来下华为云的云桌面,发现默认只支持Windows,要是使用Linux系统,就需要自己去准备操作系统镜像,有点麻烦。今天尝试使用华为云ECS服务器来实现Linux云桌面的功能。平时使用华为ECS都是使用服务器版本,要变成桌面版就需要额外做一些配置。虽然优快云上已经有一些类似的解决方案,但是和最新的Ubuntu 24.02 相比还是有一些小的不同,就特别记录一下。

安装桌面环境

桌面环境我选择的是 Xfce 桌面,轻量且适合远程访问,使用下面的命令安装:

sudo apt update && sudo apt upgrade -y
sudo apt install xfce4 xfce4-goodies -y

安装并配置VNC服务器

VNC 是虚拟网络控制台的缩写,由著名的 AT&T 的欧洲研究实验室开发的远程控制协议。只要在Windows上安装了VNC客户端,就可以远程控制安装了VNC服务器的LInux系统,能力强大,高效实用。 

安装 TigerVNC 服务器

我在华为ECS服务器上安装的是TigerVNC 服务器,采用下面的命令:

sudo apt install tigervnc-standalone-server tigervnc-common -y

初始化 VNC 配置

运行以下命令设置 VNC 密码并生成配置文件:

vncserver

系统会提示你设置一个密码(至少 6 个字符),以及是否设置一个仅用于查看的密码(可选)。

初始化后会自动启动一个 VNC 会话,我们需要先停止它来修改配置:

vncserver -kill :1

注意这里的 :1 表示显示端口,对应 VNC 端口 5901。

配置 VNC 启动脚本

按照一般的做法,需要配置VNC的启动脚本。但是我按照下面的步骤配置后,并不能正确工作。下面仅记录一下步骤,后面会讲解决办法。

创建或编辑 ~/.vnc/xstartup 文件:

nano ~/.vnc/xstartup

添加以下内容:

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 &

保存并退出编辑器(按 Ctrl+O 保存,Ctrl+X 退出)。

设置脚本权限:

chmod +x ~/.vnc/xstartup

启动 VNC 服务器

使用下面的命令启动服务器:

vncserver -geometry 1920x1080 -depth 24

但是我遇到了如下错误:

root@ecs-c88c:~# vncserver -geometry 1920x1080 -depth 24

New Xtigervnc server 'ecs-c88c:1 (root)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /tmp/tigervnc.UeuoW0/passwd :1 to connect to the VNC server.


=================== tail /root/.vnc/ecs-c88c:1.log ===================
======================================================================

Session startup via '/root/.vnc/xstartup' cleanly exited too early (< 3 seconds)!

Maybe try something simple first, e.g.,
        tigervncserver -xstartup /usr/bin/xterm
The X session cleanly exited!
Killing Xtigervnc process ID 13110... success!

看上去我设置的启动脚本并没有工作。多次尝试无关后,我直接采用了下面的命令行居然成功了。

vncserver -xstartup startxfce4  -geometry 1920x1080 -depth 24  -localhost no  # 禁用仅本地访问

这里加上-localhost no  是为了保证远程也可以访问VNC到服务器,否则可能只能本地才能访问到VNC服务器。

服务器启动后输入如下信息:

root@ecs-c88c:~# vncserver -xstartup startxfce4  -geometry 1920x1080 -depth 24 -localhost no  # 禁用仅本地访问
New Xtigervnc server 'ecs-c88c:1 (root)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /tmp/tigervnc.iUWri4/passwd ecs-c88c:1 to connect to the VNC server.

开放5900和5901端口访问

VNC 默认使用 5901 端口(对应显示编号 :1),远程连接需要确保该端口在服务器端和网络中是开放的。华为ECS默认的安全策略是禁止这个端口的,所以需要在ECS的控制台中进行修改安全组规则。

客户端访问

客户端使用的是MobaXterm,在其中创建一个VNC连接,注意端口号设置为5901。

连接成功后就可以显示桌面了。

结束语

感谢您花时间阅读本篇文章,希望上面的内容对您有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神一样的老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值