基于 Electron 的软件无法运行在 Ubuntu 24.04 LTS 的解决方案

基于 Electron 的软件无法运行在 Ubuntu 24.04 LTS 的解决方案

日暮清林
2024-01-28 / 0 评论 / 71 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年03月10日,已超过256天没有更新,若内容或图片失效,请留言反馈。

前言

从 Ubuntu 23.10 更新到 Ubuntu 24.04 LTS 后发现所有基于 Electron 的 app 都无法打开。比如 QQ 和 Motrix。

原因

Ubuntu 所用的 Linux 内核自带 AppArmor 做访问控制。在 Ubuntu 24.04 LTS 中默认启用了 kernel.apparmor_restrict_unprivileged_userns 安全特性。

解决方案

临时解决

​​‌‌​​​‌‌​‌​​‌‌‍​‌​‌‌‌​​‌‌‌‌​‌​‍​‌​​‌​​​‌​​​‌‌​‍​‌​‌‌​​​‌‌​​​​​‍​​‌​‌‌‌‌‌‌‌‌​​​‍​‌‌​​‌‌‌​‌‌​​‌‌‌‍​‌‌​​​‌‌‌​​​‌​‌‍​​‌‌‌‌‌‌‌‌​​‌‌‍​‌​‌​​​​​​​​‌​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​‌‌‌‌‌‍‌​‌‌‌​‌​‍‌​​‌​​‌‌‍‌​​‌‌​‌​‍‌​​‌‌‌​​‍‌​​​‌​‌‌‍‌​​​‌‌​‌‍‌​​‌​​​​‍‌​​‌​​​‌‍‌‌​‌‌‌‌‌‍​​​‌​​‌​‌‌‌‌​‌‌‍​‌‌‌​​​​‌​​‌​​​​‍​‌‌​​​‌​​​​‌​​‌‍​​‌‌​‌​​​​‌‌‌‌‌‍​​‌​​‌‌​​‌​‌​‌​‍​‌‌‌​​​​​​‌​‌‌‌‌‍​‌‌‌​‌‌‌‌​‌‌​​‌‌‍​‌​‌​​​‌‌​‌​‌‌‌‍‌‌​‌‌‌‌‌‍‌​‌​‌​‌​‍‌​​‌‌‌​‌‍‌​​​‌​‌​‍‌​​‌​​​‌‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌‌​‌‌‌‌‌‍‌‌​​‌‌​‌‍‌‌​​‌​‌‌‍‌‌​‌​​​‌‍‌‌​​‌‌‌‌‍‌‌​​‌​‌‌‍‌‌​‌‌‌‌‌‍‌​‌‌​​‌‌‍‌​‌​‌​‌‌‍‌​‌​‌‌​​‍‌‌​‌‌‌‌‌‍​​​‌​​‌​‌‌‌‌​‌‌‍​‌‌‌​‌‌​​​​‌‌‌​​‍​‌​‌‌‌​​‌​​‌‌​​‍​​‌‌​‌​​‌​​​‌‌​‍​​‌​‌‌‌‌​‌‌​‌‌‌‍​​‌‌‌‌‌‌‌‌​​‌​‍​​​​​​​​‌‌‌‌​​‌‌‍​​​‌​‌​‌‌​​‌‌‌​‍‌​‌‌​​‌‌‍‌​​‌‌​‌​‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​‌​​​​​‍‌​‌‌​​‌​‍‌​​‌‌‌‌​‍‌​​​‌‌​‌‍‌​​​‌​​‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍​‌‌​​​‌​‌‌‌​​​‌‍‌‌​​‌‌​‌‍‌‌​​‌‌‌‌‍‌‌​​‌‌​‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌‌‌​‍‌‌​‌​​‌​‍‌‌​​‌‌​‌‍‌‌​​​‌‌‌‍​‌​‌‌​‌‌‌‌​​‌​​‍​‌‌​​​​‌​‌​​​‌‌‍​​​​​​​​‌‌‌‌​​‌‌‍​‌​‌‌​​​‌‌​​​​​‍​​‌‌​‌​​‌‌‌‌​​​‍​‌​‌​​​‌‌​​‌‌‌‌‍​‌​‌​​​‌​‌‌‌‌‌‌‍​​​​​​​​‌‌‌​​‌​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​​​‌​‌‍‌​‌​​​‌‌‍‌​‌​​​‌‌‍‌​​‌​‌​​‍‌​​​​‌‌​‍‌​​‌​​‌‌‍‌​​‌​‌‌​‍‌​​‌​​​‌‍‌‌​‌​​​‌‍‌​​​‌‌​​‍‌​​​‌​‌​‍‌​‌​​​‌‌‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌​​​‌​‌‌‍‌​​‌​​​​‍‌​​​‌‌​‌‍‌​​‌​‌‌​‍‌​​‌‌‌‌​‍‌​​‌​​‌‌‍‌​​​‌‌​​‍‌​‌​​​‌‌‍‌​​​‌​‌‌‍‌​​‌​‌‌‌‍‌​​‌‌​‌​‍‌‌​‌​​‌​‍‌​​‌‌‌‌​‍‌​​​‌‌‌‌‍‌​​​‌‌‌‌‍‌​​​‌‌​​‍‌‌​‌​​‌​‍‌​​‌‌‌​‌‍‌​​‌‌‌‌​‍‌​​​‌‌​​‍‌​​‌‌​‌​‍‌​​‌‌​‌‌‍‌‌​‌​​‌​‍‌​​‌​​​​‍‌​​‌​​​‌‍‌‌​‌​​‌​‍‌​​‌‌​‌​‍‌​​‌​​‌‌‍‌​​‌‌​‌​‍‌​​‌‌‌​​‍‌​​​‌​‌‌‍‌​​​‌‌​‌‍‌​​‌​​​​‍‌​​‌​​​‌‍‌‌​‌​​‌​‍‌​​​‌​​​‍‌​​‌‌​‌​‍‌​​​‌‌​‌‍‌​​‌‌​‌​‍‌‌​‌​​‌​‍‌​​​‌​‌​‍‌​​‌​​​‌‍‌​​‌‌‌‌​‍‌​​‌‌‌​‌‍‌​​‌​​‌‌‍‌​​‌‌​‌​‍‌‌​‌​​‌​‍‌​​​‌​‌‌‍‌​​‌​​​​‍‌‌​‌​​‌​‍‌​​​‌‌​‌‍‌​​​‌​‌​‍‌​​‌​​​‌‍‌‌​‌​​‌​‍‌​​‌​​​​‍‌​​‌​​​‌‍‌‌​‌​​‌​‍‌​​​‌​‌​‍‌​​‌‌‌​‌‍‌​​​‌​‌​‍‌​​‌​​​‌‍‌​​​‌​‌‌‍‌​​​‌​‌​‍‌‌​‌​​‌​‍‌‌​​‌‌​‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌‌​​‌‌‌‌‍‌‌​​‌​‌‌‍‌‌​‌​​‌​‍‌​​‌​​‌‌‍‌​​​‌​‌‌‍‌​​​‌‌​​‍‌‌​‌​​​‌‍‌​​‌​‌‌‌‍‌​​​‌​‌‌‍‌​​‌​​‌​‍‌​​‌​​‌‌

在终端中临时禁用(重启后失效)该特性:

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

持久化生效

修改 sysctl 配置文件:

sudo vim /etc/sysctl.conf

文件末尾加入:

kernel.apparmor_restrict_unprivileged_userns=0

随后重新载入:

sudo sysctl -p
0

评论 (0)

取消