!linuxserver.io
LinuxServer.io团队提供的此容器具有以下特点:
Rdesktop - 包含多种流行Ubuntu桌面环境的容器,可通过RDP访问。
!rdesktop
我们利用docker manifest实现多平台支持。只需拉取lscr.io/linuxserver/rdesktop:ubuntu-xfce即可获取适合您架构的正确镜像,也可通过标签拉取特定架构的镜像。
支持的架构:
| 架构 | 可用 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
此镜像提供多种版本,可通过标签获取。使用不稳定或开发标签时请谨慎。
| 标签 | 可用 | 描述 |
|---|---|---|
| latest | ❌ | 不可用 |
| ubuntu-xfce | ✅ | XFCE桌面环境(Ubuntu) |
| ubuntu-kde | ✅ | KDE桌面环境(Ubuntu) |
| ubuntu-mate | ✅ | MATE桌面环境(Ubuntu) |
| ubuntu-i3 | ✅ | i3窗口管理器(Ubuntu) |
| ubuntu-openbox | ✅ | Openbox窗口管理器(Ubuntu) |
| ubuntu-icewm | ✅ | IceWM窗口管理器(Ubuntu) |
默认用户名和密码:abc/abc
与我们其他容器不同,这些桌面环境不支持通过Docker升级。升级现有容器时,主目录会保留,但系统级安装的任何软件都会丢失。若要保持软件包最新,请使用Ubuntu的apt、Alpine的apk、Fedora的dnf或Arch的pacman程序
您需要远程桌面客户端访问此容器(***列表),默认监听3389端口,可在主机端更改端口映射(如3390:3389)。
登录容器后,首先应使用passwd命令修改abc用户的密码。
现代GUI桌面应用(包括部分终端)在最新Docker中存在系统调用兼容性问题,可使用--security-opt seccomp=unconfined参数允许这些系统调用,或尝试podman(其代码库已更新以支持这些调用)
若忘记密码,可通过root身份进入容器重置:
bashdocker exec -it rdesktop passwd abc
默认情况下,所有逻辑均针对abc用户配置,建议仅使用该用户。若需添加新用户,其主目录中必须存在可执行的startwm.sh脚本。
所有容器均配置为无密码sudo,我们未对容器进行安全加固,不建议将其端口暴露到公网。
所有应用设置通过环境变量传递:
| 变量 | 描述 |
|---|---|
| LC_ALL | 设置容器语言,如fr_FR.UTF-8(法语)、ar_AE.UTF-8(阿拉伯语) |
| NO_DECOR | 若设置,应用将无窗口边框(可通过Ctrl+Shift+d启用/禁用边框) |
| NO_FULL | 使用openbox时不自动全屏显示应用 |
环境变量LC_ALL可用于以非英语启动镜像,例如设置为LC_ALL=fr_FR.UTF-8可启动法语桌面会话。部分语言(如中文、日文、韩文)需要CJK字体支持,默认仅确保拉丁字符字体存在。可通过启动时的mod安装字体。
例如,在Debian系统中安装CJK字体:
-e DOCKER_MODS=linuxserver/mods:universal-package-install -e INSTALL_PACKAGES=fonts-noto-cjk -e LC_ALL=zh_CN.UTF-8
所有镜像包含proot-apps,允许将便携应用安装到用户$HOME目录的持久存储中。这些应用及其设置在基础容器升级后仍会保留,并可挂载到不同版本的rdesktop容器中使用(如将Alpine容器的/config目录挂载到Ubuntu容器,通过proot-apps install安装的应用和设置将保留)。
LinuxServer.io支持的应用列表见此处。
对于需要加速的应用或游戏,可将渲染设备挂载到容器中供应用使用:
--device /dev/dri:/dev/dri
此功能仅支持开源GPU驱动:
| 驱动 | 描述 |
|---|---|
| Intel | Intel集成显卡的i965和i915驱动 |
| AMD | AMD独立显卡或APU的AMDGPU、Radeon和ATI驱动 |
| NVIDIA | 仅nouveau2驱动,闭源NVIDIA驱动缺乏DRI3支持 |
通过Zink实现OpenGL支持以启用Nvidia加速,需使用以下运行参数:
| 参数 | 描述 |
|---|---|
| --gpus all | 通常传递系统中的一个Nvidia GPU(可筛选特定GPU) |
| --runtime nvidia | 指定Nvidia运行时,从主机挂载驱动和工具 |
Compose配置需将nvidia设为默认运行时:
sudo nvidia-ctk runtime configure --runtime=docker --set-as-default sudo service docker restart
Compose中分配GPU:
yamlservices: myimage: image: myname/myimage:mytag deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [compute,video,graphics,utility]
以下提供docker-compose和docker cli的使用示例(非可选参数必须提供值)。
yaml--- services: rdesktop: image: lscr.io/linuxserver/rdesktop:ubuntu-xfce container_name: rdesktop security_opt: - seccomp:unconfined # 可选,解决GUI兼容性问题 environment: - PUID=1000 # 用户ID - PGID=1000 # 组ID - TZ=Etc/UTC # 时区,如Asia/Shanghai volumes: - /var/run/docker.sock:/var/run/docker.sock # 可选,如需在容器内使用Docker - /path/to/rdesktop/data:/config # 可选,abc用户主目录(持久化数据) ports: - 3389:3389 # RDP端口映射 devices: - /dev/dri:/dev/dri # 可选,添加GL支持(仅Linux主机) shm_size: "1gb" # 可选,设置共享内存大小(防止浏览器崩溃) restart: unless-stopped
bashdocker run -d \ --name=rdesktop \ --security-opt seccomp=unconfined `# 可选` \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 3389:3389 \ -v /var/run/docker.sock:/var/run/docker.sock `# 可选` \ -v /path/to/rdesktop/data:/config `# 可选` \ --device /dev/dri:/dev/dri `# 可选` \ --shm-size="1gb" `# 可选` \ --restart unless-stopped \ lscr.io/linuxserver/rdesktop:ubuntu-xfce
容器通过运行时参数配置,格式为<外部>:<内部>。例如-p 8080:80表示将容器内80端口映射到主机8080端口。
| 参数 | 功能 |
|---|---|
-p 3389:3389 | RDP访问端口 |
-e PUID=1000 | 用户ID(详见下文说明) |
-e PGID=1000 | 组ID(详见下文说明) |
-e TZ=Etc/UTC | 时区,参考时区列表 |
-v /var/run/docker.sock | 主机Docker socket(如需在容器内使用Docker) |
-v /config | abc用户的主目录 |
--device /dev/dri | 添加GL支持(仅Linux主机) |
--shm-size= | 设置共享内存大小(默认1GB,防止现代浏览器崩溃) |
--security-opt seccomp=unconfined | Docker引擎专用,解决现代GUI应用的系统调用问题 |
可通过FILE__前缀从文件设置环境变量:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
此命令会将MYVAR环境变量设置为/run/secrets/mysecretvariable文件的内容。
所有镜像支持通过-e UMASK=022覆盖默认umask设置。注意umask是权限掩码(减法)而非直接设置权限,详情参考umask说明。
使用卷(-v参数)时,主机与容器可能存在权限问题。通过指定PUID(用户ID)和PGID(组ID)可避免此问题。
确保主机卷目录归属于指定用户,权限问题将自动解决。
使用id your_user命令获取当前用户的PUID和PGID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
我们提供多种Docker Mods以扩展容器功能。上方动态徽章链接至该镜像专用mods和适用于所有镜像的通用mods。
容器运行时进入shell:
bashdocker exec -it rdesktop /bin/bash
实时查看容器日志:
bashdocker logs -f rdesktop
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' rdesktop
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/rdesktop:ubuntu-xfce
大多数镜像为静态版本,需更新镜像并重建容器以更新应用(除非应用设置部分另有说明)。
更新镜像:
所有镜像:
bashdocker-compose pull
单个镜像:
bashdocker-compose pull rdesktop
更新容器:
所有容器:
bashdocker-compose up -d
单个容器:
bashdocker-compose up -d rdesktop
清理旧镜像:
bashdocker image prune
更新镜像:
bashdocker pull lscr.io/linuxserver/rdesktop:ubuntu-xfce
停止运行中的容器:
bashdocker stop rdesktop
删除容器:
bashdocker rm rdesktop
使用相同参数重建容器(若卷映射正确,/config目录和设置将保留)
清理旧镜像:
bashdocker image prune
[!TIP] 推荐使用Diun接收更新通知。不建议使用自动更新容器的工具。
如需本地修改镜像(开发或自定义):
bashgit clone [***] cd docker-rdesktop docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/rdesktop:ubuntu-xfce .
可使用lscr.io/linuxserver/qemu-static在x86_64硬件上构建ARM变体,反之亦然:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后,可使用-f Dockerfile.aarch64指定ARM架构的Dockerfile。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429