前言

前面折腾Frp的文章里面有提到为我的朋友搭建了一个远程的带有浏览器的图形化桌面环境,这篇文章就来介绍一下这个牛而逼之的项目。

Webtop 是一个基于 Docker 的图形化桌面环境,允许用户通过浏览器直接访问 Linux 桌面还非常轻量。它支持多种桌面环境(如 XFCE 和 KDE),并且内置了一些工具,如浏览器、文件管理器等。所以Webtop 是一个服务器远程管理、开发和测试的不错的选择,特别是当你需要通过图形界面进行操作时。

GitHub仓库:https://github.com/linuxserver/docker-webtop

部署(省流版)

首先你得装个Docker,这么简单哥们直接闭着眼睛乱装

接着把Webtop的Docker镜像拉取下来

docker pull lscr.io/linuxserver/webtop:latest

创建并启动 Webtop 容器,你可以根据需要调整端口和配置选项。

docker run -d \
  --name=webtop \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -p 3000:3000 \
  -v /path/to/data:/config \
  --shm-size="1gb" \
  lscr.io/linuxserver/webtop:latest
PUID 和 PGID 用于指定容器内用户的权限,确保正确的文件访问权限。

TZ 设置时区,此处为中国上海时区(Asia/Shanghai)。

-p 3000:3000 将本地的 3000 端口映射到容器中的 3000 端口。

--shm-size="1gb" 用于分配共享内存,确保良好的图形性能。

部署就这么方便,接着你就可以通过IP:3000访问图形化桌面了,记得把服务器的防火墙的端口打开。

一个问题

默认部署好之后是个Alpine Xfce桌面环境,终端的软件包管理工具是apk,你可以通过apk add来安装程序。但是这不是重点,你会发现桌面本应该是中文的文字全是问号和乱码,当时我进去直接懵逼了,初步判断是缺少字库的问题,后面经过证实确实是这样的,Alpine Xfce桌面环境是不支持中文的,那么只需要给它添加中文的字库就好了。

首先,进入这个Docker容器(docker ps这个指令可以查询服务器正在运行的docker程序的各个参数)

docker exec -it --user root <你的容器名字> /bin/bash

然后安装字库

# 安装 wget
apk --no-cache add ca-certificates wget 

# 安装公钥 
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub 

#下载字体
wget https://github.com/Fangyh09/font-ttf/raw/master/simsun.ttc

# 创建文件夹 
mkdir /usr/share/fonts/win

# 移动字库
mv simsun.ttc /usr/share/fonts/win

# 扫描字体目录并生成字体信息的缓存
fc-cache -vf

# 查看系统内所有中文字体及字体文件的路径
fc-list :lang=zh

至此就已经全部部署完成了,你可以在容器里面装你想要的软件,为了安全这里我建议可以装一个访问认证,以免你的IP端口被黑客扫出来,服务器遭到滥用。