[App Sharing] 使用ACE Trixie 在deepin20/23/UOS家庭版中解决依赖关系不满足
Tofloor
poster avatar
神末shenmo
deepin
Spark-App
Q&A Team
2025-05-08 19:13
Author

Debian 12 兼容环境请参见:[应用分享] 使用ACE兼容环境在deepin20/23/UOS家庭版中解决依赖关系不满足

这篇文章基本上就是上文改了个字

相信大家在深度使用deepin或者UOS家庭版中,有时会遇到以下尴尬场景

  1. 依赖关系不满足/缺包

    这种帖子在论坛一抓一大把

https://bbs.deepin.org.cn/post/286984

比如

  1. glibc版本过低

这种问题在UOS和deepin 20.9比较常见,比如

https://bbs.deepin.org.cn/post/255177

https://bbs.deepin.org.cn/post/248180

https://bbs.deepin.org.cn/post/244643

https://bbs.deepin.org.cn/post/231349

https://bbs.deepin.org.cn/post/269631

通过使用ACE 兼容环境,可以简洁而快速地解决这些问题

ACE兼容环境是一款基于bubblewrap的容器化应用打包和分发方案。用极为轻量的容器方案让你可以在几乎任何的Linux发行版上运行一个操作系统容器

  1. 安装Trixie兼容环境

可通过应用商店安装

图片.png

或手动构建安装

https://gitee.com/amber-ce/amber-ce-trixie

安装后重启或注销,即可完成安装

  1. 从启动器中打开兼容环境

图片.png

ACE Trixie 中包含了一个Debian13环境,部分系统环境与主机隔离,可方便地安装应用

图片.png

场景演示:

  1. 软件包不存在

通过ACE兼容环境可直接安装(如果是首次安装ACE兼容环境需要重启或者注销桌面以在启动器显示入口)

图片.png

安装后即可使用

图片.png

  1. 依赖关系不满足

一些软件包的依赖关系损坏,无法安装,用ACE兼容环境即可解决问题(图中的启动指令为 bookworm-run , ACE Trixie 的启动指令为 trixie-run ,其他不变)

图片.png

  1. 注意事项
  • 除GXDE OS外,在ACE中安装的应用不能直接右键卸载。除直接在ACE兼容环境内敲命令之外,也可以用提供的卸载器来卸载应用

图片.png

  • 若这是您首次安装ACE兼容环境,您也许需要重启或者注销桌面以在桌面启动器上显示安装在容器内的应用
  • 暂不支持systemd,若需要安装的应用有服务,您可能需要手动启动

Tips: 有些命令行应用,希望可以直接从系统调用,可使用此脚本快速融合

#!/bin/bash
CMD_TO_ACE="$(basename $0)"
trixie-run "$CMD_TO_ACE" "$@"

在ACE容器中安装过需要的应用后(假设是neofetch)在/usr/bin下创建同名文件,把以上内容写入,然后给予可执行权限即可

sudo nano /usr/bin/neofetch

sudo chmod +x /usr/bin/neofetch

  • deepin 25 需关闭磐石
Reply Favorite View the author
All Replies
杀毒软件吧
deepin
2025-07-28 16:49
#1

1.什么是ACE?

ACE(Amber CE,琥珀)兼容环境是一款基于bubblewrap的容器化应用打包和分发方案。是一个极轻量的系统容器。

2.ACE能做什么?

举例说明:比如你使用了AOSC OS,想玩最新版的韦诺之战(wesnoth),可是你却发现AOSC仓库含有的版本不是最新版本,也联系不到人来维护编译,正在这时,你发现debian的仓库里有最新版的韦诺之战,你正在想办法下载deb包时,却发现AOSC OS其实根本就不是debian的子发行版,依赖结构完全不同,就算你从debian的仓库里扒出了所有的依赖包并且安装到AOSC OS上,你又开始担心外来的依赖包会污染原本系统的依赖,造成整个系统故障。

这时候就轮到Amber CE出场了,ACE会在AOSC OS中创建一个容器,模拟一个debian12或者debian13,你就可以在这个容器中,直接从debian仓库中下载并安装最新的韦诺之战,容器会自动将所需的依赖包下载并安装到这个容器内,你就不用再担心自己的原本的系统依赖环境被污染了。

书面描述是:用极为轻量的容器方案让你可以在几乎任何的Linux发行版上运行一个操作系统容器。在应用无法启动或者打包的时候,使用ACE兼容环境来打包可以让你在使用最新的环境的同时在更多的发行版上运行,是一个很好的选择。

3.如何安装?

官方项目地址:https://gitee.com/amber-ce
官方安装指南和网盘下载地址:https://gitee.com/amber-ce/amber-ce-bookworm

不过个人建议这样的安装方式,以x86版AOSC为例:

从星火应用商店官网:https://gitee.com/spark-store-project/spark-store/releases/tag/4.8.0
下载并安装命令行版的星火应用商店:spark-store-console_4.8.0-console1_all.deb

然后在终端执行:

$$
sudo aptss update
sudo aptss install amber-ce-trixie
$$

***需要注意的是,这里的 'amber-ce-trixie' 指的是安装debian13的虚拟环境,你要是要debian12,那就该改成'amber-ce-bookworm',要是要模拟deepin V23的环境,那就该改成'amber-ce-deepin23'
***另外安装命令行版的星火应用商店,本质是向系统引入了一个新的软件源,只不过这个软件源没有注册到apt,而是用了专用的aptss(类似AOSC OS主要用oma而不是apt),所以出于避免系统被污染的目的,请尽量避免使用aptss ,尤其是upgrade。

安装完成后,请重启电脑或注销重新登录,ACE的图标就会出现在你的菜单栏中,你就可以快乐的使用了。

4.如何使用?

一种方法是直接点击菜单栏中的ACE-trixie图标。
一种方式是在命令行输入trixie-run。
上述方法对于别的容器同理,例如‘bookworm-run’,‘deepin23-run’

然后你就:

$$
sudo apt update
sudo apt upgrade
sudo apt install wesnote
$$

安装好wesnote

然后在菜单栏里找到韦诺之战的启动快捷方式,打开,开始愉快的玩耍吧。

5.就这些?

当然不止,能模拟debian,理论上就能模拟别的系统,这样一个linux系统就能解决跨发行版的依赖问题,本质上和flatpak等等一系列容器打包方案是一样的。

不过ACE的玩法还不止于此,比如龙芯平台,就可以通过和liblol结合,liblol负责翻译,ACE负责解决旧世界依赖,可以更好地让旧世界应用跑在新世界系统上,基于这个想法的ACE-loongnix已经上架了deepin平台的星火应用商店,并成功解决了多个因缺乏相关依赖而跑不起来的问题。liblol+ACE的结合,很像是ABI-compat的一种解耦的实现。

https://bbs.loongarch.org/d/396-deepin-23ace-loongnix

甚至于,靠着latx二进制翻译x86,理论上可以让一个x86平台的debian,跑在龙芯处理器上,这样就可以绕过wine环境,不用忍受wine缓慢的等待,直接跑一些x86上就有的linux原生应用,比如Steam linux版,战争雷霆Linux客户端。基于此想法的ACE-x86虽然搞了出来,却面临着各种奇怪的Bug,也许要等到latx逐步完善,这个路线才能跑通了。

Reply View the author