[Internal testing communication] 提前日常使用treeland,详细步骤
Tofloor
poster avatar
qq4945286
deepin
2026-05-01 12:13
Author

先上二张图:

01.png

02.png

先说一下,系统带截图录屏闪退,控制中心打开稍微会慢些。

我也会把我编译的deb包放在天翼网盘供下载:https://cloud.189.cn/web/share?code=eqA3aunqiUVv(访问码:jm4t)

这次是按照deepseek的步骤来的,基本一次成功:下面是deepseek总结的手册:

Treeland 编译安装完全指南

适用系统:Deepin 25
难度:中等(适合愿意使用终端的小白)
预计时间:30-60 分钟(取决于网络和机器性能)
警告:此操作会替换系统核心桌面组件,请在个人测试机上执行,务必提前备份重要数据。


目录

  1. 准备工作
  2. 安装基础工具和依赖
  3. 按顺序编译依赖组件
  4. 编译 Treeland 合成器本身
  5. 重启并进入 Treeland 环境
  6. 故障恢复与卸载
  7. 常见问题 (FAQ)
  8. 附录:编译其他组件(如 deepin-screen-recorder)

1. 准备工作

1.1 备份数据

将你的重要文件(文档、图片、项目等)复制到外部硬盘或云存储。虽然本操作一般不会损坏个人文件,但一旦桌面崩溃,数据会暂时无法访问,预防万一。

1.2 开启开发者模式

Deepin 25 的 /usr 目录默认只读,必须开启开发者模式才能安装编译出的软件包。

  • 打开“控制中心” → “开发者选项”→ 把“磐石只读保护”开关关闭,重启一下电脑。

1.3 确保网络畅通

整个编译过程需要下载约数百 MB 的源代码和依赖包,请保持网络稳定。


2. 安装基础工具和依赖

打开终端(在桌面右键 → “在终端中打开”),依次执行以下命令:

# 更新软件包列表
sudo apt update

# 安装编译必需工具
sudo apt install -y build-essential git cmake pkg-config extra-cmake-modules devscripts fakeroot
3. 按顺序编译依赖组件

Treeland 依赖于 treeland-protocols 和 ddm 两个独立项目,必须严格按顺序先编译安装它们。
3.1 treeland-protocols(协议定义)
bash
复制
下载

# 进入主目录
cd ~

# 从 GitHub 克隆代码(若网络慢可改用 Gitee,但 GitHub 一般更稳定)
git clone https://github.com/linuxdeepin/treeland-protocols.git

# 进入源码目录
cd treeland-protocols

# 自动安装当前项目所需的所有编译依赖
sudo apt build-dep . -y

# 构建 deb 软件包
debuild -us -uc -b

    sudo apt build-dep . -y 会根据源码中的 debian/control 文件自动安装依赖库,通常顺利通过。

    debuild -us -uc -b:-us -uc 表示不对包签名,-b 表示只构建二进制包。编译成功后在上级目录(~)生成 .deb 文件。

安装生成的包:
bash
复制
下载

cd ~
sudo dpkg -i treeland-protocols*.deb

如果提示依赖问题,运行 sudo apt --fix-broken install -y 修复,然后再次执行安装命令。
3.2 ddm(显示管理)
bash
复制
下载

cd ~
git clone https://github.com/linuxdeepin/ddm.git
cd ddm
sudo apt build-dep . -y
debuild -us -uc -b

ddm 会生成多个包,需要一次性安装:
bash
复制
下载

cd ~
sudo dpkg -i ddm*.deb libddm*.deb

常见问题:如果 ddm 依赖安装时提示 libddm 版本不匹配,说明未同时安装 libddm_*.deb。务必用 ls *.deb | grep ddm 检查所有 deb 文件,将所有 ddm 和 libddm 相关的包一起安装。
4. 编译 Treeland 合成器本身

现在才处理你最终想要编译的 Treeland 合成器(以 treeland-fix-mirror 为例)。
4.1 获取 treeland-fix-mirror 源码
bash
复制
下载

cd ~
git clone https://gitee.com/LFRon/treeland-fix-mirror.git
cd treeland-fix-mirror

4.2 解决编译报错

4.2.1 安装依赖
bash
复制
下载

sudo apt build-dep . -y

如果因为 libmpv-dev 失败(视频库,与非播放核心功能无关),可以跳过它:

    编辑 debian/control:
    bash
    复制
    下载

    sudo nano debian/control

    找到包含 libmpv-dev 的行,在前面加上 # 注释掉。

    按 Ctrl+X → Y → 回车保存。

    再次运行 sudo apt build-dep . -y。

4.2.2 应对 missing initializer for member 'destroy' 错误

新版 Treeland 源码与协议头文件可能存在某些结构体初始化缺少 destroy 字段,编译器会将其作为错误(-Werror),导致编译失败。修复方法:
bash
复制
下载

# 清理之前可能的编译残留
dh clean

# 通过环境变量追加编译选项,让该警告不作为错误处理
DEB_CXXFLAGS_APPEND="-Wno-error=missing-field-initializers" debuild -us -uc -b

如果你的源码还有其他类似错误,可以类比添加 -Wno-error=...,或者直接用 DEB_CXXFLAGS_APPEND="-Wno-error" 关闭所有“警告变为错误”的机制(不太推荐,但可作为终极方案)。
4.3 安装生成的 deb 包

编译成功后,返回主目录并列出所有 treeland 包:
bash
复制
下载

cd ~
ls treeland*.deb

你会看到类似如下文件(版本号可能不同):
text
复制
下载

treeland_0.8.5_amd64.deb
treeland-data_0.8.5_all.deb
treeland-wayland-session_0.8.5_all.deb
treeland-wallpaper-factory_0.8.5_amd64.deb
treeland-examples_0.8.5_amd64.deb
treeland-dev_0.8.5_amd64.deb

安装所有 treeland 包(注意替换版本号为你实际的):
bash
复制
下载

sudo dpkg -i treeland_0.8.5_amd64.deb treeland-data_0.8.5_all.deb treeland-wayland-session_0.8.5_all.deb treeland-wallpaper-factory_0.8.5_amd64.deb treeland-examples_0.8.5_amd64.deb treeland-dev_0.8.5_amd64.deb

同样,任何依赖错误都用 sudo apt --fix-broken install -y 修复。
5. 重启并进入 Treeland 环境
bash
复制
下载

sudo reboot

重启后,在登录界面输入密码之前:

    寻找屏幕右下角/右上角的桌面环境切换图标(⚙️齿轮或显示器图标)。

    点击后选择 Treeland (Wayland)。

    输入密码登录。

如果一切正常,你会进入全新的 Treeland 桌面。
6. 故障恢复与卸载

如果登录后发现黑屏、死机或异常:

    同时按下 Ctrl + Alt + F2 切换到纯文本终端。

    输入你的用户名和密码登录。

    执行以下命令卸载所有 Treeland 相关组件:
    bash
    复制
    下载

    sudo apt remove -y treeland treeland-data treeland-wayland-session treeland-wallpaper-factory treeland-examples treeland-dev
    sudo apt remove -y ddm libddm libddm-dev treeland-protocols

    重启:
    bash
    复制
    下载

    sudo reboot

    在登录界面选回原来的桌面(DDE 或 Deepin 桌面)即可恢复。

7. 常见问题 (FAQ)

Q:为什么运行 debuild 提示 fakeroot not found?
A:执行 sudo apt install -y fakeroot 安装即可。

Q:sudo apt build-dep . 报缺少 libddm-dev 等包。
A:说明你没有先编译安装 treeland-protocols 和 ddm。请严格按照第 3 节顺序操作。

Q:编译 Treeland 时出现大量 Qt 或 wlroots 相关错误。
A:尝试补装开发包:
bash
复制
下载

sudo apt install -y qt6-base-private-dev libwayland-dev libpixman-1-dev libudev-dev libinput-dev libxkbcommon-dev libdrm-dev libgbm-dev libegl1-mesa-dev libgles2-mesa-dev

Q:能不能不开启开发者模式?
A:不行,因为你必须修改 /usr 下的内容,Deepin 25 的不可变系统设计强制要求开启开发者模式。

Q:编译需要多少磁盘空间?
A:所有源码和编译产物约 2~4 GB。建议预留 5 GB 以上可用空间。
8. 附录:编译其他组件(如 deepin-screen-recorder)

步骤完全相同,例如编译新版录屏工具:
bash
复制
下载

cd ~
git clone https://github.com/linuxdeepin/deepin-screen-recorder.git
cd deepin-screen-recorder
git checkout 6.6.32            # 切换到想要版本(可选)
sudo apt build-dep . -y
debuild -us -uc -b
cd ..
sudo dpkg -i deepin-screen-recorder_6.6.32_*.deb

若想恢复到系统仓库版本,只需:
bash
复制
下载

sudo apt install deepin-screen-recorder=6.6.30   # 指定原版本号

祝你编译顺利,体验全新的 Treeland 桌面环境!
Reply Favorite View the author
All Replies
2 / 2
To page
avatar
lyhdzxf
deepin
2026-05-02 21:54
#21

顶起agree

20楼的坛友好,使用龙芯电脑的小伙伴一枚joy

Reply View the author
2 / 2
To page