一键安装Linux可视化桌面,可通过浏览器远程访问,管理服务器更方便

我们通常都使用 SSH 工具来管理远程服务器,偶尔会遇到出门在外借用他人的电脑,或者只能用移动设备的情况,此时 SSH 就不是很方便了。这里介绍一个安装可视化 Linux 桌面的一键脚本,安装好桌面以后,可以通过电脑或者手机浏览器进行远程访问,无需其它专用工具,方便快捷。将您的 Linux 服务器化身为一台远程可视化服务器。

1、脚本特色

  1. 从源码编译安装 Guacamole 服务器
  2. 配置 Guacamole Web APP
  3. 安装 Tomcat 9, XRDP/TigerVNC, XFCE4 桌面环境,火狐浏览器
  4. 一键安装配置 Let’s Encrypt 安全证书,开启 OCSP 装订
  5. 安装 Nginx 反代 Tomcat
  6. 安装完毕后,您可以使用任意浏览器访问远程桌面,无需再使用 VNC/RDP 客户端

2、安装前准备

本程序支持在 Ubuntu 18.04/20.04 LTS, Debian 10, 以及 CentOS 7/8 64 位操作系统上运行。您的服务器或者 VPS 最好是全新安装的系统。如果您想要和宝塔或者其他面板共存,那么安装时请选择不安装 Nginx 反代,然后用您的面板来对 http://您服务器的 IP 地址:8080/guacamole 这个地址进行反代。

您的服务器需要有外网 IP 地址。在安装之前,您需要解析一个域名(可以用三级域名或者一个免费域名)到您的服务器上。

如果您使用 Debian 或者 Ubuntu 系统,安装桌面环境需要至少 1 GB 的内存,推荐 1.5 GB 内存或以上。如果您使用 CentOS 系统,安装桌面环境需要至少 1.5 GB 内存,推荐 2 GB 内存或以上。

3、安装教程

您可以使用 sudo 权限用户或 root 用户(不建议)登录服务器 SSH,然后执行下面的命令即可。

英文版

  1. wget https://raw.githubusercontent.com/Har-Kuun/OneClickDesktop/master/OneClickDesktop.sh && sudo bash OneClickDesktop.sh

中文版

  1. wget https://raw.githubusercontent.com/Har-Kuun/OneClickDesktop/master/OneClickDesktop_zh-CN.sh && sudo bash OneClickDesktop_zh-CN.sh

程序将自动安装需要的各部分组件,并引导您选择 RDP/VNC 方式,设置用户名,密码以及域名。

如果安装过程中有报错,您可以检查同目录下的 OneClickDesktop.log 日志文件。同时建议您留言汇报一下错误信息,或者在 Github 上提交 issue,这样作者可以即时更新脚本,修复问题。

4、安装示例

安装好后,我们可以直接在浏览器里访问 http://服务器 IP 地址:8080/guacamole ,进入服务器上搭建的桌面程序,如下图。

[教程]一键安装 Linux 可视化桌面,可通过浏览器远程访问,管理服务器更方便

综上,使用 OneClickDesktop 一键脚本,您可以自由方便地在 Linux 服务器上搭建随时随地用浏览器即可访问的桌面环境,让您便捷地管理您的 Linux 服务器,无需再使用繁琐的命令行。

5、可能会遇到的问题

添加中文支持

如果您的机器没有安装中文包,设置中文后可能会出现乱码。按照以下步骤配置中文。

重新配置系统 locales

  1. sudo dpkgreconfigure locales

安装亚洲语言包

  1. sudo aptget install languagepackja languagepackzh* languagepackko
  2. sudo aptget install japan* chinese* korean*

安装亚洲语言字体

  1. sudo aptget install fontsarphicukai fontsarphicuming fontsipafontmincho fontsipafontgothic fontsunfontscore

网络要求

远程访问可视化桌面对于网络表现要求更高,线路较差的 VPS 不建议尝试。

鼠标无法使用

安装完成后,可能会遇到电脑端鼠标无法使用的问题,但手机上却可以。这可能因为你使用域名反代了远程 IP 访问地址,但是没有配备 SSL 证书,Chrome 浏览器会将无证书网页判定为不安全网页,屏蔽部分权限。

解决方法是给反代域名添加 SSL 证书,或者在 chrome://flags/#unsafely-treat-insecure-origin-as-secure 里添加该域名强制解禁权限,或者不进行反代直接访问 IP 管理地址。

远程桌面屏幕尺寸

Screen Size 默认为 1280px × 800px,可在 /etc/systemd/system/vncserver@.service 里修改,修改后,执行

  1. systemctl daemonreload
  2. systemctl restart vncserver@1.service

修改默认端口

默认端口是 8080,可在 /etc/tomcat9/server.xml 里修改,然后重启 tomcat9

  1. systemctl restart tomcat9

6、开启服务器声卡

由于大家通常使用的 VPS 上没有声卡,没有办法听到声音;因此,虽然有了这台远程 Linux 桌面服务器,但是看视频和听音乐的时候也没有声音,限制了这台服务器的应用场景。

作者更新了一款声卡模拟插件脚本,使用这个插件脚本之后,可以在原来安装有 OneClickDesktop 的 Linux 服务器上模拟出声卡,从而在远程桌面上实现音乐和视频播放。插件脚本来自 https://qing.su/article/pulseaudio-audio-redirection-oneclickdesktop.html 。

实现原理

使用 PulseAudio 与 PulseAudio-xrdp, 可以在 Linux 远程桌面服务器上对音频信号进行重定向。配置完毕后,Pulseaudio 可以绕过远程服务器的声卡,直接将声信号转发到访问者的浏览器上。

Pulseaudio 官方网站:https://www.freedesktop.org/wiki/Software/PulseAudio/

因此,首先编译安装 Pulseaudio,然后编译安装 Pulseaudio-xrdp 组件,使得 Pulseaudio 能够识别出访问者的浏览器并作出相应的声信号转发。这样,我们就变相实现了在远程 Linux 桌面服务器上模拟声卡。

一键搭建

这个脚本需要您已经安装好 OneClickDesktop 远程桌面服务器程序。由于 CentOS 系统即将停止官方支持,因此声卡模拟脚本也将不再对 CentOS 系统提供支持,仅支持 Ubuntu 18/20 与 Debian 10 系统。后续等 OneClickDesktop 支持 Debian 11 与 Ubuntu 22 后,此声卡模拟脚本也会相应地添加支持。

请在 SSH 中执行下面的指令:

  1. wget https://raw.githubusercontent.com/Har-Kuun/OneClickDesktop/master/plugins/Audio/AudioRedirectionSetup.sh && sudo bash AudioRedirectionSetup.sh

执行完毕后,请重启服务器。

设置 Pulseaudio 转发通道

安装完毕后,我们还需要进入远程桌面,设置 Pulseaudio 使其能正确转发声信号。

Ubuntu 系统

如果你使用的是 Ubuntu 18.04 LTS,那么无需任何设置,使用非 root 用户登录远程桌面即可享受音频了。

如果你使用的是 Ubuntu 20.04 LTS,那么第一次用非 root 账户登录远程桌面后,需要先登出一次,然后重新登录:

[教程]一键安装 Linux 可视化桌面,可通过浏览器远程访问,管理服务器更方便

登录之后,在音量控制中看到”xrdp sink”,说明声卡启用成功。

[教程]一键安装 Linux 可视化桌面,可通过浏览器远程访问,管理服务器更方便

Debian 系统

如果你使用的是 Debian 10,那么第一次用非 root 账户登录远程桌面后,需要打开一个终端,执行下面的命令:

  1. pulseaudio k && pulseaudio

命令会产生如下图的报错,是正常现象,使用 CTRL+C 终止。

[教程]一键安装 Linux 可视化桌面,可通过浏览器远程访问,管理服务器更方便

此时,再次执行命令:

  1. pulseaudio &

可以看到,音量控制中出现了”xrdp sink”的显示,声卡启用成功。

[教程]一键安装 Linux 可视化桌面,可通过浏览器远程访问,管理服务器更方便

这样,我们就完全设置好了模拟声卡,可以在远程 Linux 桌面服务器上看视频啦!当然,如果网不好,那么看视频可能是会很卡的……

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片