一、安装 VNC 服务器和桌面环境
常用vnc服务
VNC (Virtual Network Computing) 是一种远程桌面协议,可以让你通过网络访问服务器的图形界面。
- TurboVNC:专为图形密集型应用设计,尤其适合 3D 可视化和高分辨率图像的远程传输。与 VirtualGL 集成后,可以有效利用服务器端 GPU 进行加速,适合科学计算、CAD 和其他图形密集型的场景。
- TigerVNC:在性能和图像质量之间提供良好平衡,支持 3D 应用。适合用户希望在一般的远程桌面应用和图形应用中获得较好体验的场景。
- RealVNC:为企业和专业用户设计,提供了较为完整的远程桌面解决方案,支持多设备远程连接,并且在付费版本中提供了更多的性能优化和安全特性。
- TightVNC:其压缩算法适合低带宽连接,虽然在图形密集型应用中表现不如 TurboVNC,但对于普通办公场景,它仍然是一个简单可靠的解决方案。
- X2Go:基于 NX 协议,支持低带宽环境下的高效远程连接,尤其适合多媒体和多显示器场景,并且在低延迟和高性能的图像传输上表现优异。
常用桌面环境:
-
Xfce Desktop 是一款轻量级的桌面环境,专为资源受限的系统设计。它具有简洁、快速、可定制的特点,用户界面清爽、现代,运行时占用系统资源极少。尽管轻量化,Xfce 仍然提供了常见的工具和应用程序,如文件管理器、终端模拟器、文本编辑器、图像查看器和音频播放器等。
-
KDE,全称 K Desktop Environment,是一个开源的桌面环境。它功能丰富、可高度定制,并提供用户友好的图形界面,旨在为 Linux 和类 UNIX 操作系统用户提供先进的用户体验。
-
MATE 是一个基于传统 GNOME 2 的轻量级桌面环境,旨在保留经典的桌面体验,提供简洁易用的界面,适合喜欢传统桌面风格的用户。
-
Cinnamon 是由 Linux Mint 开发的现代化桌面环境,设计目标是提供直观、易用且吸引人的用户体验。它为用户提供了一个熟悉、高效的桌面环境,结合了强大的功能和简洁的界面。
我选择xfce桌面和TurboVNC做下面的测试。
1. 选择镜像并开机
远程服务器,使用ubuntu开机,我是在bohrium平台开机,开机界面选择镜像ubuntu:22.04-py3.10开机,当然其他镜像也可以。
2. 安装所需的依赖包
在终端中运行以下命令,确保系统包管理器是最新的,并安装图形桌面环境和 VNC 服务器所需的包:
安装TurboVNC
wget -q -O- https://packagecloud.io/dcommander/turbovnc/gpgkey | gpg --dearmor >/etc/apt/trusted.gpg.d/TurboVNC.gpg
wget https://raw.githubusercontent.com/TurboVNC/repo/main/TurboVNC.list
mv TurboVNC.list /etc/apt/sources.list.d/
apt update && apt install turbovnc -y
安装完之后加一下软链(测试安装TightVNC和TigerVNC的时候是自动加上的)
ln -s /opt/TurboVNC/bin/vncserver /usr/bin/vncserver
ln -s /opt/TurboVNC/bin/Xvnc /usr/bin/Xvnc
ln -s /opt/TurboVNC/bin/vncconnect /usr/bin/vncconnect
ln -s /opt/TurboVNC/bin/vncpasswd /usr/bin/vncpasswd
ln -s /opt/TurboVNC/bin/vncviewer /usr/bin/vncviewer
ln -s /opt/TurboVNC/bin/webserver /usr/bin/webserver
cp /opt/TurboVNC/bin/xstartup.turbovnc /usr/bin/
apt install xfce4 xfce4-goodies -y
- xfce4: 轻量级桌面环境,适合远程使用。
- xfce4-goodies: 提供一些附加工具,提升桌面体验。
3.设置环境变量并启动 VNC
由于我们以 root 用户身份操作,需要确保 USER 环境变量正确设置。执行以下命令:
export USER=root
启动 VNC 服务器,并通过交互式命令设置访问密码:
vncserver
系统会提示你输入密码,确保选择一个安全的密码。之后,还会询问是否创建只读访问用户,根据需要选择。
关闭 VNC 服务
完成密码设置后,我们可以暂时关闭 VNC 服务:
vncserver -kill :1
其中 :1 是第一个 VNC 显示编号。如果你有多个 VNC 会话,请确保指定正确的编号。
4. 修改 VNC 配置,使用 XFCE 启动桌面环境
为了让 VNC 使用我们刚安装的 XFCE 桌面环境,需要修改启动配置文件。
编辑配置文件:
使用文本编辑器(如 vi 或 vim)打开配置文件:
vim ~/.vnc/xstartup
将文件内容替换为以下内容:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
- xrdb $HOME/.Xresources:加载用户的 X 资源配置文件。
- startxfce4 &:启动 XFCE4 桌面环境。
5. 给vnc脚本添加执行权限
修改完配置文件后,赋予它执行权限:
chmod +x ~/.vnc/xstartup
6. 启动 VNC 服务器
现在可以重新启动 VNC 服务器了:
vncserver :1
如果配置正确,VNC 服务器将启动 XFCE 桌面环境。
二、安装noVnc
noVNC 是一个基于 HTML5 的 VNC 客户端,它允许你直接通过浏览器访问 VNC 会话,无需额外的客户端软件。
参考文档:https://github.com/novnc/noVNC
1. 下载 noVNC 源文件
我们将下载 noVNC 的最新稳定版本 (1.5.0),运行以下命令:
wget https://codeload.github.com/novnc/noVNC/tar.gz/refs/tags/v1.5.0 -O noVNC-1.5.0.tar.gz
2. 解压缩下载的文件
tar -zxvf noVNC-1.5.0.tar.gz -C /root/
3. 进入 noVNC 目录
切换到 noVNC 文件夹:
cd /root/noVNC-1.5.0
生成密钥
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
4. 启动 noVNC 代理
通过 noVNC 代理将 VNC 服务器的内容转发到网页上。运行以下命令:
./utils/novnc_proxy --vnc localhost:5901 --listen 0.0.0.0:50001 --cert self.pem --key self.pem --ssl-only --file-only
- –vnc localhost:5901:指定 VNC 服务地址,启动时通过 :n来指定 vncserver :1就是5901,:2就是5902,当然也可以通过-rfbport来指定具体的端口号。
- –listen 0.0.0.0:50001:指定 noVNC 监听的地址和端口,50001 是访问 noVNC 的端口。
- –cert和–key可以用刚才自己生成的证书
- –ssl-only 只允许ssl连接
- –file-only 禁止文件目录展示
其他参数参考文档:https://github.com/novnc/noVNC/blob/master/utils/novnc_proxy
5. 访问 noVNC
打开浏览器,访问服务器的 50001 端口,密码为上面vnc安装时设置的密码。请求地址格式如下:
https://<服务器IP地址>:50001/vnc.html?password=123456&autoconnect=true&reconnect=true&resize=remote
将 <服务器IP地址> 替换为你服务器的实际 IP 地址,即可在浏览器中看到远程桌面登录界面。输入你之前在 vncserver 步骤中设置的密码,即可连接到桌面环境。
三、安装常用软件
1. 支持中文
在终端中安装中文语言包
打开终端,执行以下命令安装中文语言包:
apt install language-pack-zh-hans language-pack-gnome-zh-hans
安装字体
为了正确显示中文字符,通常需要安装中文字体。可以执行以下命令来安装常见的中文字体包:
apt install fonts-wqy-zenhei
apt install fonts-wqy-microhei
2. 安装 Google Chrome浏览器
首先,下载 Google Chrome 安装包:
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
然后,使用 dpkg 安装下载的包:
dpkg -i google-chrome-stable_current_amd64.deb
如果有依赖问题,运行以下命令来解决依赖关系后再重新安装:
apt --fix-broken install
在桌面环境下,通过命令行运行
google-chrome --no-sandbox
3. 安装OVITO
apt update
安装Qt所需的依赖库,包括libxcb相关的库。
apt install -y libxcb1 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render0 libxcb-render-util0 libxcb-shape0 libxcb-shm0 libxcb-sync1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0 libxcb-cursor0
确保安装了其他必要的库,如libxkbcommon和libxkbcommon-x11。
apt install -y libxkbcommon0 libxkbcommon-x11-0
下载ovito并解压,双击安装目录下/bin/ovito,也可以创建桌面快捷方式
wget https://www.ovito.org/download/master/ovito-basic-3.10.6-x86_64.tar.xz
测试
4. 安装VESTA
wget https://jp-minerals.org/vesta/archives/testing/VESTA-gtk3-x86_64.tar.bz2
解压运行