能在浏览器中运行桌面版linux的Webtop
什么是 WebTop ?
它是一个基于
Linux
(Ubuntu
和Alpine
两种版本)的轻量级容器,具有在浏览器中运行的完整桌面环境,具有基本的窗口管理器、像素完美的渲染分辨率、音频支持、剪贴板支持、屏幕键盘支持,以及用于上传/下载的远程文件管理。
安装
推荐用命令行(docker cli
)或者 docker compose
安装,因为可以通过 shm_size
参数调整共享内存的大小,来达到优化效果。
optional
为可选项,请根据需要进行修改
1 | # 创建容器 |
当然也可以用群晖 Docker 管理器安装。
在注册表中搜索 webtop
,选择第一个 linuxserver/webtop
,版本选择 latest
。
默认是 Alpine
,看起来还有 fedora
、Ubuntu
、而桌面环境或者窗口管理器有 Xfce
、Openbox
、Ubuntu MATE
、KDE
、IceWM
、i3
,排列组合之后版本让人有点眼花缭乱。
但是从官网看,已经没有 fedora
了,可能是被弃用了,所以其实也没那么多版本
Tag | Description |
---|---|
latest | XFCE Alpine |
ubuntu-xfce | XFCE Ubuntu |
alpine-kde | KDE Alpine |
ubuntu-kde | KDE Ubuntu |
alpine-mate | MATE Alpine |
ubuntu-mate | MATE Ubuntu |
alpine-i3 | i3 Alpine |
ubuntu-i3 | i3 Ubuntu |
alpine-openbox | Openbox Alpine |
ubuntu-openbox | Openbox Ubuntu |
alpine-icewm | IceWM Alpine |
ubuntu-icewm | IceWM Ubuntu |
卷
在 docker
文件夹中,创建一个新文件夹,并将其命名为 webtop
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/webtop |
/config |
存放设置 |
端口
端口不冲突即可
本地端口 | 容器端口 |
---|---|
3388 | 3000 |
3389 | 3389 |
环境
可变 | 值 |
---|---|
PUID |
<uid> 设为 1000 |
PGID |
<gid> 设为 1000 |
TZ |
系统时区设置,设置为 Asia/Shanghai |
运行
容器启动之后需要一些时间,在浏览器中输入 http://群晖IP:3388
,会看到一个 Alpine Xfce
桌面环境
about Xfce
中的信息
浏览器的标题显示 guacamole Client
,显然其内置了 Apache Guacamole
相关文章:『部署Guacamole远程桌面网关服务』
中文支持
默认 Alpine Xfce
桌面环境是不支持中文的
先进入容器内部
理论上桌面的终端(
Terminal
) 应该也是可以的,不过老苏没试,主要是命令比较多,不能直接复制、粘贴所以觉得比较麻烦
1 | # 进入容器 |
然后执行下面的命令
1 | # 安装 wget |
刷新页面,原来的小方块已经可以正常显示了
访问认证
默认情况下,镜像启用 abc
用户,无需认证就可以访问。abc
用户默认密码也是 abc
。如果要更改此密码并在访问界面时启用身份验证,需要通过在容器中执行:
1 | docker exec -it linuxserver-webtop1 passwd abc |
或者在 Alpine Xfce
桌面的终端里执行 passwd abc
然后通过 http://群晖IP:3388/?login=true
访问
安装应用
屏幕的左侧是一个箭头,该箭头可以用来扩展某些内置的远程交互功能的菜单,也可以使用 ctrl + alt + shift
组合键打开和关闭此菜单:
ClipBoard
可以用来实现内外部的复制和粘贴操作
安装软件的意义在于,构建带
GUI
的镜像不一定非要用VNC
了,应该算是多了一个选择吧
如果你愿意,可以安装诸如 Libre Office
等应用程序。
Libre Office
1 | # 切换用户 |
可以在 application
中找到安装好的 libreoffice
套件
没有安装中文输入法,不能打中文,但是显示是没问题的
输入法需要自己编译,可以参考: https://www.zhihu.com/question/358028191/answer/1157948335
VLC
1 | # 安装指定软件 |
可以在 application
中找到安装好的 VLC media player
将视频文件放在容器的 /config
目录中
对应于前面主机映射的卷,老苏的是
/volume2/docker/webtop
有跳帧,但还能接受,声音估计要开启 https
才会有
Pyboy
老苏也尝试了 Pyboy
,安装好了所需要的环境,运行之后没有报错,只是看不到图像
感觉上像是性能不足(不确定是 CPU
还是 GPU
),慢慢研究
参考文档
linuxserver/docker-webtop: Ubuntu and Alpine based Webtop images, Linux in a web browser supporting popular desktop environments.
地址:https://github.com/linuxserver/docker-webtopMeet Webtops A Linux Desktop Environment In Your Browser | LinuxServer.io
地址:https://www.linuxserver.io/blog/2021-05-05-meet-webtops-a-linux-desktop-environment-in-your-browser