能在浏览器中运行桌面版linux的Webtop

WebTop是一个基于Linux的轻量级容器,提供在浏览器中运行的完整桌面环境,支持多种窗口管理器和桌面环境。用户可以通过Docker安装,如Alpine或Ubuntu版本,内置Xfce、KDE、MATE等。默认用户为abc,无需认证即可访问,但可通过密码更改。WebTop支持中文显示,可以安装应用如LibreOffice和VLC。此外,还提到了Pyboy的尝试,但遇到了性能问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是 WebTop ?

它是一个基于 LinuxUbuntuAlpine 两种版本)的轻量级容器,具有在浏览器中运行的完整桌面环境,具有基本的窗口管理器、像素完美的渲染分辨率、音频支持、剪贴板支持、屏幕键盘支持,以及用于上传/下载的远程文件管理。

安装

推荐用命令行(docker cli)或者 docker compose 安装,因为可以通过 shm_size 参数调整共享内存的大小,来达到优化效果。

optional 为可选项,请根据需要进行修改

# 创建容器
docker run -d \
  --name=webtop \
  --privileged `#optional` \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Asia/Shanghai \
  -e SUBFOLDER=/ `#optional` \
  -p 3000:3000 \
  -v /path/to/data:/config \
  -v /var/run/docker.sock:/var/run/docker.sock `#optional` \
  --shm-size="1gb" `#optional` \
  --restart unless-stopped \
  linuxserver/webtop

当然也可以用群晖 Docker 管理器安装。

在注册表中搜索 webtop ,选择第一个 linuxserver/webtop,版本选择 latest

默认是 Alpine ,看起来还有 fedoraUbuntu、而桌面环境或者窗口管理器有 XfceOpenboxUbuntu MATEKDEIceWMi3,排列组合之后版本让人有点眼花缭乱。

但是从官网看,已经没有 fedora 了,可能是被弃用了,所以其实也没那么多版本

TagDescription
latestXFCE Alpine
ubuntu-xfceXFCE Ubuntu
alpine-kdeKDE Alpine
ubuntu-kdeKDE Ubuntu
alpine-mateMATE Alpine
ubuntu-mateMATE Ubuntu
alpine-i3i3 Alpine
ubuntu-i3i3 Ubuntu
alpine-openboxOpenbox Alpine
ubuntu-openboxOpenbox Ubuntu
alpine-icewmIceWM Alpine
ubuntu-icewmIceWM Ubuntu

docker 文件夹中,创建一个新文件夹,并将其命名为 webtop

文件夹装载路径说明
docker/webtop/config存放设置

端口

端口不冲突即可

本地端口容器端口
33883000
33893389

环境

可变
PUID<uid> 设为 1000
PGID<gid> 设为 1000
TZ系统时区设置,设置为 Asia/Shanghai

运行

容器启动之后需要一些时间,在浏览器中输入 http://群晖IP:3388,会看到一个 Alpine Xfce 桌面环境

about Xfce 中的信息

浏览器的标题显示 guacamole Client,显然其内置了 Apache Guacamole

相关文章:『部署Guacamole远程桌面网关服务

中文支持

默认 Alpine Xfce 桌面环境是不支持中文的

先进入容器内部

理论上桌面的终端(Terminal) 应该也是可以的,不过老苏没试,主要是命令比较多,不能直接复制、粘贴所以觉得比较麻烦

# 进入容器
docker exec -it --user root linuxserver-webtop1 /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

刷新页面,原来的小方块已经可以正常显示了

访问认证

默认情况下,镜像启用 abc 用户,无需认证就可以访问。abc 用户默认密码也是 abc。如果要更改此密码并在访问界面时启用身份验证,需要通过在容器中执行:

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

# 切换用户
sudo -i

# 更新最新本地镜像源
apk update

# 安装指定软件
apk add libreoffice

可以在 application 中找到安装好的 libreoffice 套件

没有安装中文输入法,不能打中文,但是显示是没问题的

输入法需要自己编译,可以参考: https://www.zhihu.com/question/358028191/answer/1157948335

VLC

# 安装指定软件
apk add vlc-qt

可以在 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-webtop

Meet 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

<think>好的,我现在需要帮助用户解决在Linux系统上配置和使用浏览器访问网页的问题。首先,我需要整理用户的需求。用户的问题是关于如何在Linux系统中安装和配置浏览器,以及如何通过浏览器访问网页,可能还涉及远程访问的配置。用户提供的引用内容提到了安装Firefox、使用Docker-Webtop、安装Java以及配置iptables进行端口映射,这些都可能与问题相关。 首先,我应该从安装浏览器开始。根据引用[1],用户可以通过yum安装Firefox,命令是yum install firefox -y。这可能适用于基于Red Hat的发行版,比如CentOS或Fedora。但不同的Linux发行版有不同的包管理器,比如Debian/Ubuntu使用apt,所以需要分情况说明。 然后,用户可能需要启动浏览器,这部分应该比较简单,直接执行firefox命令即可。但需要注意,如果是无图形界面环境,可能需要X11转发或者其他方式,但用户的问题可能更倾向于有图形界面的情况,或者通过远程访问的方式。 接下来,引用[2]提到使用Docker-Webtop镜像在群晖NAS上部署网页版Linux系统,并通过cpolar实现异地远程访问。这可能涉及到在无本地图形界面时,通过浏览器访问远程桌面环境。这部分可能需要说明如何安装Docker运行Webtop容器,以及配置远程访问工具如cpolar或内网穿透。 引用[3]提到安装Java环境,可能用户需要运行某些基于Java的Web应用,但直接访问HTML文件可能只需要浏览器,不一定需要Java。不过,如果涉及到Java应用服务器,可能需要安装Java,但这里用户的问题主要是浏览器访问网页,所以这部分可能不是重点,但可以作为相关知识点提及。 引用[4]关于iptables配置端口映射,实现外网访问内网服务。比如将外网IP的某个端口映射到内网服务器的端口,比如RabbitMQ的Web界面。这可能涉及到NAT配置,用户可能需要配置防火墙规则来允许端口访问,或者设置反向代理。 因此,我需要将回答分为几个步骤: 1. 安装图形界面(如果系统没有安装,比如服务器版可能需要先安装X Window和桌面环境)。 2. 安装浏览器,比如Firefox或Chrome,针对不同发行版给出命令。 3. 启动浏览器并访问网页。 4. 配置防火墙,开放必要端口(如80、443)。 5. 配置端口映射或内网穿透,实现外网访问(如使用cpolar、frp等工具)。 6. 可能涉及到的相关配置,比如SELinux或AppArmor的设置,或者代理配置。 另外,用户提供的引用中有使用Docker-Webtop的例子,这可能是一种替代方法,直接在容器中运行浏览器,通过网页访问。这种方法适合没有本地图形界面的情况,用户可以通过浏览器远程访问整个Linux桌面环境,进而使用浏览器。这部分可以作为另一种解决方案进行介绍。 在回答过程中,需要确保LaTeX格式正确,使用行内公式如$y = mx + b$,独立公式用$$...$$,并且结构清晰。同时,生成相关问题,可能涉及浏览器选择、无图形界面下的访问、防火墙配置、远程访问工具比较等。 需要检查是否有遗漏的步骤,例如,是否需要配置网络代理,或者处理DNS设置等,但根据用户的问题,可能不需要深入这些细节,除非用户的环境有特殊需求。此外,确保所有命令正确,并且适用于常见的Linux发行版,如Ubuntu、CentOS等。 最后,生成的相关问题需要与主题紧密相关,帮助用户进一步了解配置浏览器的其他方面或相关技术。</think>### 如何在 Linux 系统上配置和使用浏览器访问网页 #### 1. 安装图形化界面(可选) 若Linux系统未安装图形界面(如服务器版),需先安装桌面环境。例如,在Ubuntu/Debian上安装GNOME: ```bash sudo apt update && sudo apt install ubuntu-desktop -y ``` 重启系统后进入图形界面[^2]。 #### 2. 安装浏览器 - **Firefox(推荐)** 适用于多数Linux发行版: ```bash # Red Hat/CentOS sudo yum install firefox -y # 引用[1] # Debian/Ubuntu sudo apt install firefox -y ``` - **Chrome** 需手动下载安装包: ```bash wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb sudo dpkg -i google-chrome-stable_current_amd64.deb ``` #### 3. 启动浏览器访问网页 通过终端或应用菜单启动: ```bash firefox # 直接访问本地网页或输入URL ``` 或通过命令行指定URL: ```bash firefox https://example.com ``` #### 4. 配置网络访问权限 - **开放防火墙端口** 若需通过浏览器访问外部服务(如Web服务器),需放行HTTP/HTTPS端口: ```bash # 使用ufw(Ubuntu) sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 使用firewalld(CentOS) sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload ``` - **配置端口映射(外网访问)** 若需从外网访问内网服务(如部署的Web应用),使用`iptables`配置NAT规则[^4]: ```bash # 将外网IP的8080端口映射到内网服务器的80端口 iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80 iptables -t nat -A POSTROUTING -j MASQUERADE ``` #### 5. 浏览器远程访问方案 - **通过Docker-Webtop(无本地图形界面)** 使用Docker运行网页版Linux桌面环境: ```bash docker run -d --name webtop -p 3000:3000 lscr.io/linuxserver/webtop ``` 浏览器访问 `http://<服务器IP>:3000` 即可使用远程桌面中的浏览器。 - **使用内网穿透工具** 通过Cpolar或frp实现外网访问本地服务: ```bash # 示例:安装Cpolar curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash cpolar authtoken YOUR_TOKEN cpolar http 80 # 将本地80端口映射到公网 ``` #### 6. 验证浏览器功能 - 访问本地文件:输入`file:///path/to/file.html` - 测试网络连通性:访问`https://www.google.com` 或 `https://example.com` ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杨浦老苏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值