我使用最新的KDE neon,但我相信问题不完全是关于KDE,而是Ubuntu。
当我安装flatpak或snap应用程序时,KDE无法识别它们 - 我的意思是在应用程序启动器的应用程序列表中找不到它们。
我进行了一些研究,发现snaps和flatpak都有以下目录来保存启动器:
对于flatpak,它是:/var/lib/flatpak/exports/share 对于snaps,它是:/var/lib/snapd/desktop 我发现系统会在变量XDG_DATA_DIRS定义的目录中搜索应用程序。
所以当我执行echo $XDG_DATA_DIRS时,我得到: /usr/share//usr/share/xsessions/plasma:/usr/local/share/:/usr/share/ 因此它不包含snaps和flatpak的启动器文件夹。
此外,我可以看到/etc/profile.d/中有适当的脚本,应该更新这个变量,例如:/etc/profile.d/flatpak.sh的内容如下:
所以我猜也许这些脚本由于某种原因没有执行或者它们是错误的?你们能告诉我有什么问题吗?
当我安装flatpak或snap应用程序时,KDE无法识别它们 - 我的意思是在应用程序启动器的应用程序列表中找不到它们。
我进行了一些研究,发现snaps和flatpak都有以下目录来保存启动器:
对于flatpak,它是:/var/lib/flatpak/exports/share 对于snaps,它是:/var/lib/snapd/desktop 我发现系统会在变量XDG_DATA_DIRS定义的目录中搜索应用程序。
所以当我执行echo $XDG_DATA_DIRS时,我得到: /usr/share//usr/share/xsessions/plasma:/usr/local/share/:/usr/share/ 因此它不包含snaps和flatpak的启动器文件夹。
此外,我可以看到/etc/profile.d/中有适当的脚本,应该更新这个变量,例如:/etc/profile.d/flatpak.sh的内容如下:
# /etc/profile.d/flatpak.sh - set XDG_DATA_DIRS
if [ "${XDG_DATA_DIRS#*flatpak}" = "${XDG_DATA_DIRS}" ]; then
XDG_DATA_DIRS="${XDG_DATA_HOME:-"$HOME/.local/share"}/flatpak/exports/share:/var/lib/flatpak/exports/share:${XDG_DATA_DIRS:-/usr/local/share:/usr/share}"
fi
export XDG_DATA_DIRS
所以我猜也许这些脚本由于某种原因没有执行或者它们是错误的?你们能告诉我有什么问题吗?
echo $XDG_DATA_DIRS
命令返回的结果是/usr/share//usr/share/xsessions/plasma:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
。所以,前面的"/usr/share//usr/share/xsessions/plasma" 部分相同,但是 "/var/lib/snapd/desktop" 也包含在内。 - Kenneth Hanson