![如何在 Ubuntu MATE 20.04 上为给定用户设置首选应用程序?](https://linux22.com/image/1172299/%E5%A6%82%E4%BD%95%E5%9C%A8%20Ubuntu%20MATE%2020.04%20%E4%B8%8A%E4%B8%BA%E7%BB%99%E5%AE%9A%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE%E9%A6%96%E9%80%89%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%EF%BC%9F.png)
在 Ubuntu MATE 18.04 上,我可以为给定用户添加和设置首选应用程序,方式如下:
# Create an application entry
cat > ~/.local/share/applications/browser.desktop << EOF
[Desktop Entry]
Version=1.0
Name=My Browser
Comment=Browse the World Wide Web
...
EOF
# Replace the entry in the list of preferred applications
sed -i "1clocation:$HOME/.local/share/applications/browser.desktop" ~/.config/mate-menu/applications.list
# Associate the MIME types
xdg-mime default "browser.desktop" "x-scheme-handler/http"
xdg-mime default "browser.desktop" "x-scheme-handler/https"
问题是在 20.04 上,这两个目录不存在。
我看到存在全局文件,但是我仍然希望仅为用户进行更改(因为创建的条目仅调用该用户可用的文件)。
如果我创建缺少的目录和内容,则不会有任何效果。
这可能吗?
答案1
我知道这已经过时了,但我遇到了同样的问题并找到了解决方案。至少从 Ubuntu 22.04 开始,您可以在中为每个用户设置这些,~/.config/mimeapps.list
然后将适当的 mime 类型设置为应用程序的桌面文件,该文件应位于中/usr/share/applications
。
顺便说一句,通过查看此处的工具源代码,我弄清楚了哪些需要更改mate-default-application-settings
:https://github.com/mate-desktop/mate-control-center/blob/master/capplets/default-applications/mate-da-capplet.c(set_changed
第 66-178 行上的函数。)