前言

从 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