Fcitx 由于 AppArmor 无法在 Firefox 里使用

Fcitx 在 Firefox 里无法使用。

运行$ systemctl --user status dbus,输出:

apparmor="DENIED" operation="dbus_method_call"  bus="session" path="/org/freedesktop/portal/inputmethod" interface="org.fcitx.Fcitx.InputMethod1" member="Version" mask="send"

但是查看cat /etc/apparmor.d/usr.bin.firefox的话,能看到里面包含允许 fcitx 的相关规则。

  # Allow access to the Fcitx portal, supported by fcitx/fcitx5
  dbus (send)
      bus=session
      path=/{,org/freedesktop/portal/}inputmethod
      interface=org.fcitx.Fcitx.InputMethod1
      member={CreateInputContext,Version}
      peer=(name=org.freedesktop.portal.Fcitx),
  dbus (send, receive)
      bus=session
      path=/{,org/freedesktop/portal/}inputcontext/**
      interface=org.fcitx.Fcitx.InputContext1,

请问出现这个问题的可能原因是什么?
如果完全禁用 Firefox 的 AppArmor 会有什么不良后果吗?
感谢!

只有在 Firefox 不能用,别的软件里可以正常打中文

禁用 Firefox 的 AppArmor 配置以后,可以正常使用输入法了。。不过总感觉只能当作权宜之计,想请教一下有没有什么方法可以不用禁用也能解决这个问题的方法?

还有就是我那样禁用以后会不会有什么不良后果?

什么桌面环境?
火狐进程可能不是 /usr/bin/firefox 而是 /usr/lib/firefox/firefox 这种二进制。

抱歉没写清楚这个是我的二奶机 Kubuntu 24.04,
本来想着这个问题和发行版应该无关就没提。。

不过我用sudo aa-status的时候,确实输出的是类似/usr/lib/firefox/firefox-bin而不是/usr/bin/firefox
但是不清楚为什么禁用了/etc/apparmor.d/usr.bin.firefox以后就正常了

其实看到 appamor 我就猜到你在用 Ubuntu 了。

1赞