[deepin exploration] 【移植适配测试】 不装 deepin 系统,直接在 Debian 13 跑 DDE25
Tofloor
poster avatar
罐子
Moderator
2026-04-13 00:04
Author

[移植适配测试] 通过自建 OBS 的 DDE25 组件仓库在 Debian 13 上安装 DDE25 桌面环境

这篇帖子整理的是一套 将 DDE 移植到 Debian 13 的测试方法。

核心思路很简单:

  • Debian 13 为唯一系统基线
  • 通过 自建 OBS 构建的 DDE25 组件仓库 提供软件包
  • 在 Debian 13 上安装 DDE25 组件
  • 尽量实现接近 deepin 25 的桌面体验

这不是官方安装方案,也不是正式发布方案,目前就是移植适配测试用途。

免责声明

先把话说在前面:

  • 这是移植适配测试,娱乐即可
  • 本帖内容仅供测试、交流、折腾
  • 任何安装失败、黑屏、依赖冲突、桌面异常、数据损失、系统不可启动等问题,请自行承担风险
  • 强烈建议优先在虚拟机测试
  • 不建议直接在生产环境、工作主机、唯一系统盘上操作
  • 如果你的系统已经混装了 GNOME / KDE / XFCE 等桌面,本帖脚本不保证一定能平滑收敛

这套方案的定位

这套方案并不是“在 Debian 上直接混用 deepin 官方仓库”。

而是:

  • DDE25 相关组件逐步移植、适配到 Debian 13
  • 通过 自建 OBS 对这些组件重新构建
  • 再通过这个自建 OBS 仓库在 Debian 13 上完成安装

也就是说,重点是:

通过自建的 OBS 构建的 DDE25 组件仓库,在 Debian 13 上安装 DDE25 组件,实现 DDE 移植到 Debian 13 的测试部署。

适用范围

  • 系统版本:Debian 13 (trixie)
  • 安装介质:Debian 13 DVD 镜像
  • 架构:x86_64
  • 安装方式:通过自建 OBS DDE25 仓库部署
  • 当前目标:在 Debian 13 上运行 DDE25 桌面环境
  • 当前明确排除:
    • deepin-app-store
    • deepin-home-appstore-daemon

建议测试环境

建议满足以下条件:

  • 使用 Debian 13 DVD 镜像完成系统安装
  • 系统已联网
  • 已启用 sudo
  • 最好保留 SSH,便于出问题后排查
  • 建议不要在已经长期混装多个桌面环境的系统上直接套用
  • 强烈建议先在虚拟机验证

自建 OBS 仓库地址

本帖当前测试使用的 DDE25 OBS 仓库地址为:

https://obsci.odata.cc/home:/Admin:/Debian:/13:/DDE25/home_Admin_Debian_13_repo/

这个仓库的作用就是:

  • 提供移植到 Debian 13 后重新构建的 DDE25 组件
  • 作为 Debian 13 安装 DDE25 的软件源

完整安装脚本

建议保存为:

install-dde25-on-debian13.sh

内容如下:

#!/usr/bin/env bash
set -euo pipefail

if [ "${EUID}" -ne 0 ]; then
  echo "请使用 root 或 sudo 执行"
  exit 1
fi

OBS_REPO_URL="https://obsci.odata.cc/home:/Admin:/Debian:/13:/DDE25/home_Admin_Debian_13_repo/"

echo "[1/11] 检查系统版本"
if ! grep -q 'VERSION_CODENAME=trixie' /etc/os-release 2>/dev/null && ! grep -q 'VERSION=\"13' /etc/os-release 2>/dev/null; then
  echo "当前系统看起来不是 Debian 13,请先确认:"
  cat /etc/os-release || true
  exit 1
fi

echo "[2/11] 备份 APT 配置"
mkdir -p /root/dde25-debian13-backup
cp -a /etc/apt/sources.list /root/dde25-debian13-backup/sources.list.bak.$(date +%F-%H%M%S) 2>/dev/null || true
cp -a /etc/apt/sources.list.d /root/dde25-debian13-backup/sources.list.d.bak.$(date +%F-%H%M%S) 2>/dev/null || true

echo "[3/11] 写入 Debian 13 基础源"
cat >/etc/apt/sources.list <<'EOF'
deb http://mirrors.ustc.edu.cn/debian/ trixie main non-free-firmware
deb http://mirrors.ustc.edu.cn/debian-security trixie-security main non-free-firmware
deb http://mirrors.ustc.edu.cn/debian/ trixie-updates main non-free-firmware
EOF

echo "[4/11] 暂时禁用其他第三方源"
mkdir -p /etc/apt/sources.list.d.disabled
for f in /etc/apt/sources.list.d/*.list; do
  [ -e "$f" ] || continue
  base="$(basename "$f")"
  case "$base" in
    debian13-dde25.list)
      ;;
    *)
      mv "$f" "/etc/apt/sources.list.d.disabled/${base}.$(date +%s).disabled" || true
      ;;
  esac
done

echo "[5/11] 写入 DDE25 OBS 源"
cat >/etc/apt/sources.list.d/debian13-dde25.list </etc/apt/apt.conf.d/99dde25-no-extra-indexes <<'EOF'
Acquire::IndexTargets::deb::Contents-deb::DefaultEnabled "false";
Acquire::IndexTargets::deb::Contents-dsc::DefaultEnabled "false";
Acquire::IndexTargets::deb::DEP-11::DefaultEnabled "false";
Acquire::IndexTargets::deb::DEP-11-icons::DefaultEnabled "false";
Acquire::IndexTargets::deb::DEP-11-icons-small::DefaultEnabled "false";
Acquire::IndexTargets::deb::DEP-11-icons-hidpi::DefaultEnabled "false";
Acquire::IndexTargets::deb::DEP-11-icons-large::DefaultEnabled "false";
Acquire::IndexTargets::deb::DEP-11-icons-large-hidpi::DefaultEnabled "false";
Acquire::Languages "none";
EOF

echo "[7/11] 刷新 APT 缓存"
rm -f /var/lib/apt/lists/*home%5fAdmin%5fDebian%5f13%5frepo* || true
apt-get update

echo "[8/11] 先切到非图形目标"
systemctl set-default multi-user.target || true

echo "[9/11] 安装 DDE25 主要组件"
DEBIAN_FRONTEND=noninteractive apt-get install -y \
  ddm \
  treeland \
  treeland-wayland-session \
  deepin-desktop-theme \
  deepin-gtk-theme \
  deepin-wallpapers \
  deepin-home \
  deepin-face \
  deepin-settings-default \
  deepin-settings-default-tuning \
  deepin-desktop-environment-base \
  deepin-desktop-environment-core \
  deepin-desktop-environment-extras \
  network-manager

echo "[10/11] 补齐兼容文件"
if [ ! -f /etc/os-version ]; then
  cat >/etc/os-version <<'EOF'
[Version]
SystemName=Deepin
ProductType=Desktop
EditionName=Professional
MajorVersion=25
MinorVersion=25.0.10
OsBuild=21138.105.100
EOF
fi

if [ ! -f /etc/deepin-version ]; then
  cat >/etc/deepin-version <<'EOF'
[Release]
Version=25
Type=Desktop
Milestone=Community
EOF
fi

mkdir -p /var/lib/AccountsService/icons
touch /var/lib/AccountsService/icons/default

echo "[11/11] 启用图形目标与显示管理器"
systemctl set-default graphical.target
systemctl enable NetworkManager.service
systemctl enable ddm.service
systemctl disable lightdm.service || true

echo
echo "安装完成,建议立即重启:"
echo "  reboot"

执行方法

chmod +x install-dde25-on-debian13.sh
sudo bash install-dde25-on-debian13.sh
sudo reboot

如果不想用脚本,也可以手工执行

先写 Debian 13 基础源:

sudo tee /etc/apt/sources.list >/dev/null <<'EOF'
deb http://mirrors.ustc.edu.cn/debian/ trixie main non-free-firmware
deb http://mirrors.ustc.edu.cn/debian-security trixie-security main non-free-firmware
deb http://mirrors.ustc.edu.cn/debian/ trixie-updates main non-free-firmware
EOF

再写自建 OBS 源:

sudo tee /etc/apt/sources.list.d/debian13-dde25.list >/dev/null <<'EOF'
deb [trusted=yes] https://obsci.odata.cc/home:/Admin:/Debian:/13:/DDE25/home_Admin_Debian_13_repo/ /
EOF

更新索引:

sudo apt-get update

安装 DDE25 组件:

sudo apt-get install -y \
  ddm \
  treeland \
  treeland-wayland-session \
  deepin-desktop-theme \
  deepin-gtk-theme \
  deepin-wallpapers \
  deepin-home \
  deepin-face \
  deepin-settings-default \
  deepin-settings-default-tuning \
  deepin-desktop-environment-base \
  deepin-desktop-environment-core \
  deepin-desktop-environment-extras

启用图形目标:

sudo systemctl set-default graphical.target
sudo systemctl enable NetworkManager.service
sudo systemctl enable ddm.service
sudo systemctl disable lightdm.service || true
sudo reboot

安装后建议检查

重启后,建议先确认以下内容:

systemctl get-default
systemctl is-enabled ddm.service
systemctl status ddm.service --no-pager
apt-cache policy treeland
apt-cache policy ddm
apt-cache policy deepin-desktop-environment-base
apt-cache policy deepin-desktop-environment-core
apt-cache policy deepin-desktop-environment-extras

正常预期:

  • 默认目标是 graphical.target
  • ddm.service 已启用
  • treeland
  • ddm
  • deepin-desktop-environment-base
  • deepin-desktop-environment-core
  • deepin-desktop-environment-extras

这些包的候选版本都来自自建 OBS 仓库

注意事项

这里有几个点需要提前说明:

  1. 当前不建议恢复以下内容:
  • deepin-app-store
  • deepin-home-appstore-daemon
  • deepin 商店相关二进制仓库
  1. 如果需要保留 deepin-deb-installer,通常还需要:
  • deepin-app-store-runtime
  1. 当前主验证架构是:
  • x86_64

已知风险

当前这套方案已经能跑通主线,但仍然有这些风险:

  • 某些虚拟机环境中,Wayland / Treeland / 图形栈 可能出现黑屏、圆角异常、托盘异常等问题
  • 混装多个桌面环境后,显示管理器和会话切换可能不稳定
  • 某些包如果刚完成构建,可能需要重新 apt-get update
  • x86_64 架构目前不建议直接照搬

如果安装失败,建议优先检查

journalctl -b -u ddm.service --no-pager | tail -n 200
journalctl -b --no-pager | tail -n 200
apt-cache policy ddm treeland

最后再次强调

这是通过 自建 OBS 构建的 DDE25 组件仓库,在 Debian 13 上做 DDE 移植适配测试。

不是正式发布,娱乐即可。

  • 任何问题或者风险自行承担
  • 建议优先在虚拟机中测试
  • 上物理机前请自行做好完整备份

如果后面有时间,我还会继续整理:

  • Debian 13 + DDE25 常见问题排查帖
  • Debian 13 + DDE25 构建与 OBS 仓库说明
  • 安装后修复与收尾说明

765fbe612583d4b0c98fad74ef787d62.png

cd0acc80f4787fbb5dc08cdfc9a2f766.png

image.png

Reply Favorite View the author
All Replies
2 / 2
To page
avatar
老实人6767
deepin
2026-06-06 10:10
#21

大佬好,我用您的源,使用live-build构建了debian 13的dde版本,但是无法正常启动(钩子里写了自启ddm但是实际启动并没有,手动输入dde-session后一直卡在dtk.core.dsg:can't getid from am for the 2600,because am is unavaliable,打印了几个info后就卡在那里(我这里不知道为什么无法上传图片);手动运行ddm倒是可以,但是在vmware里输入密码后登陆却只有个光标,在vbox中则是输入密码后完全没反应并且字体没有平滑

1.txt这些就是我安装的全部的包了,请大佬帮我看看 new.zip这是我编辑的live-build配置

Reply View the author
avatar
罐子
Moderator
2026-06-06 10:25
#22
老实人6767

大佬好,我用您的源,使用live-build构建了debian 13的dde版本,但是无法正常启动(钩子里写了自启ddm但是实际启动并没有,手动输入dde-session后一直卡在dtk.core.dsg:can't getid from am for the 2600,because am is unavaliable,打印了几个info后就卡在那里(我这里不知道为什么无法上传图片);手动运行ddm倒是可以,但是在vmware里输入密码后登陆却只有个光标,在vbox中则是输入密码后完全没反应并且字体没有平滑

1.txt这些就是我安装的全部的包了,请大佬帮我看看 new.zip这是我编辑的live-build配置

好。

Reply View the author
avatar
罐子
Moderator
2026-06-06 10:29
#23

我晚点看看。

Reply View the author
avatar
罐子
Moderator
2026-06-06 13:47
#24
老实人6767

大佬好,我用您的源,使用live-build构建了debian 13的dde版本,但是无法正常启动(钩子里写了自启ddm但是实际启动并没有,手动输入dde-session后一直卡在dtk.core.dsg:can't getid from am for the 2600,because am is unavaliable,打印了几个info后就卡在那里(我这里不知道为什么无法上传图片);手动运行ddm倒是可以,但是在vmware里输入密码后登陆却只有个光标,在vbox中则是输入密码后完全没反应并且字体没有平滑

1.txt这些就是我安装的全部的包了,请大佬帮我看看 new.zip这是我编辑的live-build配置

  • ISO:https://f.odata.cc/Jzph6vvdlj/debian13-dde25-live-fixed-20260606-amd64 .iso
    (https://f.odata.cc/Jzph6vvdlj/debian13-dde25-live-fixed-20260606-amd64.iso)

    • 说明文档:https://f.odata.cc/Ewk9MK80XF/debian13-dde25-live-fixed-20260606- %E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md
      (https://f.odata.cc/Ewk9MK80XF/debian13-dde25-live-fixed-20260606-%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md)

    ISO 校验:

    文件名: debian13-dde25-live-fixed-20260606-amd64.iso
    大小: 4209874944 bytes
    SHA256: ced7b64b929d2d651b7d7154d99f8f93733fbcb4e139c76889e625ad928e1b61

    说明文档校验:

    大小: 6149 bytes
    SHA256: bb4bace640d7d97cf2baaae5e4f088db71cbe7e9b80e9510f08f0a312593f48e

Reply View the author
avatar
老实人6767
deepin
2026-06-06 20:56
#25
罐子
  • ISO:https://f.odata.cc/Jzph6vvdlj/debian13-dde25-live-fixed-20260606-amd64 .iso
    (https://f.odata.cc/Jzph6vvdlj/debian13-dde25-live-fixed-20260606-amd64.iso)

    • 说明文档:https://f.odata.cc/Ewk9MK80XF/debian13-dde25-live-fixed-20260606- %E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md
      (https://f.odata.cc/Ewk9MK80XF/debian13-dde25-live-fixed-20260606-%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md)

    ISO 校验:

    文件名: debian13-dde25-live-fixed-20260606-amd64.iso
    大小: 4209874944 bytes
    SHA256: ced7b64b929d2d651b7d7154d99f8f93733fbcb4e139c76889e625ad928e1b61

    说明文档校验:

    大小: 6149 bytes
    SHA256: bb4bace640d7d97cf2baaae5e4f088db71cbe7e9b80e9510f08f0a312593f48e

感谢大佬

Reply View the author
avatar
老实人6767
deepin
2026-06-07 10:13
#26
罐子
  • ISO:https://f.odata.cc/Jzph6vvdlj/debian13-dde25-live-fixed-20260606-amd64 .iso
    (https://f.odata.cc/Jzph6vvdlj/debian13-dde25-live-fixed-20260606-amd64.iso)

    • 说明文档:https://f.odata.cc/Ewk9MK80XF/debian13-dde25-live-fixed-20260606- %E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md
      (https://f.odata.cc/Ewk9MK80XF/debian13-dde25-live-fixed-20260606-%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3.md)

    ISO 校验:

    文件名: debian13-dde25-live-fixed-20260606-amd64.iso
    大小: 4209874944 bytes
    SHA256: ced7b64b929d2d651b7d7154d99f8f93733fbcb4e139c76889e625ad928e1b61

    说明文档校验:

    大小: 6149 bytes
    SHA256: bb4bace640d7d97cf2baaae5e4f088db71cbe7e9b80e9510f08f0a312593f48e

大佬,我今天尝试了您的iso但是会话只有个treeland,登陆后只有黒屏和一个光标;我根据文档大体修改了后不知道为什么,做出来的iso一个可用会话也没有

这是新的配置:new1.zip

可以帮忙看看吗?谢谢

Reply View the author
avatar
罐子
Moderator
2026-06-07 15:25
#27
老实人6767

大佬,我今天尝试了您的iso但是会话只有个treeland,登陆后只有黒屏和一个光标;我根据文档大体修改了后不知道为什么,做出来的iso一个可用会话也没有

这是新的配置:new1.zip

可以帮忙看看吗?谢谢

记得改成软渲染

Reply View the author
avatar
罐子
Moderator
2026-06-07 15:30
#28
老实人6767

大佬,我今天尝试了您的iso但是会话只有个treeland,登陆后只有黒屏和一个光标;我根据文档大体修改了后不知道为什么,做出来的iso一个可用会话也没有

这是新的配置:new1.zip

可以帮忙看看吗?谢谢

https://f.odata.cc/6CdhecwT40/debian13-dde25-vm-20260607.tar.zst

给你我的虚拟机镜像

https://f.odata.cc/mc2Rwadhcr/debian13-dde25-vm-20260607-%E5%AF%BC%E5%85%A5%E8%AF%B4%E6%98%8E.md

剩下问题你来研究吧。dde移植考你了。

Reply View the author
avatar
老实人6767
deepin
2026-06-10 22:14
#29
罐子

https://f.odata.cc/6CdhecwT40/debian13-dde25-vm-20260607.tar.zst

给你我的虚拟机镜像

https://f.odata.cc/mc2Rwadhcr/debian13-dde25-vm-20260607-%E5%AF%BC%E5%85%A5%E8%AF%B4%E6%98%8E.md

剩下问题你来研究吧。dde移植考你了。

好吧谢谢了大佬

Reply View the author
2 / 2
To page