答案1
发现这个有点晦涩的问题,但我在网上找不到解决方案。所以我想我会把它发布在这里。
造成这种情况的原因似乎是$HOSTNAME
沙箱应用程序中常见的变化。如果$HOSTNAME
与打开应用程序的用户不同,它将为应用程序创建一个新图标。
虽然为了简单起见,我给出了一个使用 Firejail 的示例、 我实际上使用的是 Bubblewrap。我确信 Firejail 中的解决方案将是类似的。如果有人能够为了完成而提供答案,我会很高兴。
因此,在 Bubblewrap 中,您基本上只需删除这些行:
--unshare-uts \
--hostname FIREFOX \
或者,只要保持$HOSTNAME
不变,您实际上仍然可以取消共享。 (不过我不确定这是否会提供任何额外的保护。)例如:
--unshare-uts \
--hostname "${HOSTNAME}" \
另一种选择是您可以$HOSTNAME
在启动程序之前实际更改您的设置。export HOSTNAME=FIREFOX
不适合我。但hostnamectl hostname FIREFOX
确实如此。这样做的问题是,$HOSTNAME
只要程序运行,您的意志就保持不变。这可能会破坏其他程序或导致其他问题
hostnamectl hostname FIREFOX
bwrap \
[...]
--unshare-uts \
--hostname FIREFOX \
[...]
/usr/lib/firefox/firefox
hostnamectl hostname "${HOSTNAME}"
我还没有对此进行测试,但理论上,您应该能够在后台运行一个脚本,该脚本将休眠大约 5 秒,等待应用程序启动,然后设置后台$HOSTNAME
。但不确定这可能会导致任何问题。
显然,这完全取决于您,这种轻微不便的解决方案是否对您和您的情况/“威胁模型”有意义。