
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://hub.docker.com/r/accetto/xubuntu-vnc-novnc-firefox/ - https://github.com/accetto/xubuntu-vnc-novnc/ - https://github.com/accetto/xubuntu-vnc-novnc/blob/master/CHANGELOG.md - https://github.com/accetto/xubuntu-vnc-novnc/wiki - https://github.com/accetto/xubuntu-vnc-novnc/wiki/Image-hierarchy
本仓库包含基于https://hub.docker.com/_/ubuntu/的Docker镜像构建资源,该镜像配备http://www.xfce.org桌面环境和VNC/https://github.com/kanaka/noVNC服务器,适用于无头使用场景。
这是我的无头镜像的第二代(G2),于2022年3月停止维护,但因仍有拉取需求,于2022年11月重启项目。当前第二版(G2v2)主要在构建流程和支持脚本方面进行了改进。
如需基于https://hub.docker.com/_/ubuntu/并包含最新https://github.com/TigerVNC/tigervnc/releases/https://github.com/novnc/noVNC/releases版本的更新镜像,请查看第三代(G3)镜像:https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-g3、https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-chromium-g3或https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-firefox-g3。
主镜像为https://hub.docker.com/r/accetto/ubuntu-vnc-xfce-firefox-plus/的精简版本。由于Firefox v67对用户配置文件的处理方式不同,已重新实现了适用的plus功能。
该镜像属于https://github.com/accetto/xubuntu-vnc-novnc/wiki/Image-hierarchy的一部分,基于https://hub.docker.com/r/accetto/xubuntu-vnc-novnc/构建,继承其所有功能,因此此处不再重复完整描述。
latest镜像继承的内容包括:
.deb包并解析依赖(Ubuntu发行版)并额外添加:
重要变更历史记录在https://github.com/accetto/xubuntu-vnc-novnc/blob/master/CHANGELOG.md中。
以下镜像标签会定期维护和重建:
latest:基于accetto/xubuntu-vnc-novnc:latest,包含plus功能https://github.com/accetto/xubuntu-vnc-novnc/tree/master/docker/xubuntu-vnc-novnc-firefox仓库包含多个可用于构建镜像的Dockerfile:
Dockerfile.firefox:构建latest标签的主Dockerfile,默认基于accetto/xubuntu-vnc-novnc:latest。通过BASETAG构建参数可基于其他基础标签(如accetto/xubuntu-vnc-novnc:lab)构建,包含plus功能。Dockerfile.firefox.default:构建default标签,基于accetto/xubuntu-vnc-novnc:latest,不含plus功能。Dockerfile.firefox.myown:用于构建内置自定义Firefox偏好设置的镜像。暴露以下TCP端口:
容器默认不创建或使用外部卷,但以下文件夹适合作为挂载点:/home/headless/Documents/、/home/headless/Downloads/、/home/headless/Pictures/、/home/headless/Public/
支持命名卷和绑定挂载。有关卷的更多信息,请参见https://docs.docker.com/(如https://docs.docker.com/storage/)。
基于这些镜像创建的容器以非root默认应用用户(headless,1001:0)运行,但sudo命令允许用户提权。详细描述请查看基础镜像https://hub.docker.com/r/accetto/xubuntu-vnc-novnc/或https://github.com/accetto/xubuntu-vnc-novnc/wiki。
版本标签的用途在https://github.com/accetto/xubuntu-vnc-novnc/wiki中有详细说明。版本标签值标识Docker镜像版本,在构建时持久化到镜像中,并在README中以徽章形式显示。
脚本version_sticker.sh可随时用于便捷检查已安装应用的当前版本,部署在由环境变量STARTUPDIR(默认值/dockerstartup)定义的启动文件夹中。
在容器内执行不带参数的脚本时,返回容器的当前版本标签值(基于容器中必要应用的当前版本计算)。若任何包含的应用更新到其他版本,当前版本标签值将与持久化值不同。
使用参数-v(小写)时,输出版本标签值中包含的必要应用的详细版本;使用-V(大写)时,输出更多应用的详细版本。示例见https://github.com/accetto/xubuntu-vnc-novnc/wiki。
有两种使用创建的无头容器的方式,请参考基础镜像https://hub.docker.com/r/accetto/xubuntu-vnc-novnc/了解详情。
默认VNC用户密码为headless。
Firefox多进程(也称为Electrolysis或E10S)在Docker容器中若共享内存不足可能导致严重崩溃(“Gah. Your tab just crashed.”)。
在Firefox76.0.1及之前版本,可通过设置环境变量MOZ_FORCE_DISABLE_E10S禁用多进程。但在Firefox77.0.1中,该设置导致几乎所有网页因未解压而显示错乱。
Mozilla在后续版本修复了此问题,但警告未来可能不支持该开关。因此,标记为latest的主流镜像默认启用多进程,尽管需要更大共享内存,但性能更高且网页浏览更安全。
曾维护singleprocess镜像用于无法或不愿增加共享内存的场景,但Firefox81.0起,环境变量MOZ_FORCE_DISABLE_E10S不再生效,所有镜像均以多进程模式运行Firefox。
更多信息及不同场景下设置共享内存大小的说明,请查看Wiki页面https://github.com/accetto/xubuntu-vnc/wiki/Firefox-multiprocess。
多进程Firefox的不稳定性由共享内存大小过低导致,Docker默认仅分配64MB。测试表明,至少使用256MB可完全消除问题(具体可能因系统而异)。
https://github.com/accetto/xubuntu-vnc/wiki/Firefox-multiprocess Wiki页面描述了多种增加共享内存大小的方法。若需为命令行启动的单个容器设置,操作简单,例如:
bashdocker run -d -P --shm-size=256m docker.xuanyuan.run/accetto/xubuntu-vnc-novnc-firefox
在容器内执行以下命令可检查当前共享内存大小:
bashdf -h /dev/shm
Firefox浏览器支持用户偏好的预配置。
用户可将个人浏览器偏好放入user.js文件并复制到Firefox配置文件文件夹,plus功能使此过程更简单。
/home/headless/firefox.plus文件夹包含user.js文件和辅助工具copy_firefox_user_preferences.sh,可将user.js复制到一个或多个现有Firefox配置文件。该工具为交互式,使用-h或--help参数可显示帮助。
为方便使用,还提供了工具和Firefox配置文件管理器的桌面启动器。
利用plus功能的推荐步骤:
使用桌面启动器FF Profile Manager启动Firefox配置文件管理器。若尚无配置文件或需添加新配置文件,创建后启动Firefox(启动Firefox是创建实际配置文件内容的必要步骤)。
提示:创建配置文件前可勾选“离线工作”。
Firefox配置文件默认创建在/home/headless/.mozilla/firefox文件夹(.mozilla为隐藏文件夹)。点击“退出”按钮关闭配置文件管理器。
将个人Firefox偏好放入/home/headless/firefox.plus文件夹中的user.js文件。有关语法,可查看Firefox文档(如https://developer.mozilla.org/en-US/docs/Mozilla/Preferences/A_brief_guide_to_Mozilla_preferences)。
提示:另一种方法是先启动Firefox进行配置,然后将Firefox配置文件文件夹中的prefs.js内容复制到user.js,检查并保留需强制生效的偏好设置(仅需执行一次或更新时执行)。
使用桌面启动器Copy FF Preferences启动辅助工具,可将user.js文件复制到任何现有Firefox配置文件。
提示:删除Firefox配置文件文件夹中的user.js文件前,偏好设置将一直生效。
通过Dockerfile.firefox.myown可轻松构建包含预填充user.js文件的自定义镜像,构建过程仅需数秒。
若发现问题或有疑问,请先查看https://github.com/accetto/xubuntu-vnc-novnc/issues和https://github.com/accetto/xubuntu-vnc-novnc/wiki(包括已关闭的问题)。如未找到解决方案,可提交新issue,问题描述越详细,解决可能性越高。
感谢所有为开源社区做出贡献的无数个人和公司,是他们让许多梦想成为现实。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务