我们正在通过 PXE/Preseed 安装部署桌面,我想为新用户更改 Dock 中的默认应用程序列表。
使用 preseed 全新安装后,late_command 脚本会创建我们需要的 .desktop 文件。这些应用程序显示在活动面板中。现在我想在 Dock 中为所有用户默认创建链接。
我尝试了以下操作:
创建/etc/dconf/profile/mycompany
文件:
user-db:user
system-db:mycompany
然后是/etc/dconf/db/mycompany.d/00-mycompany-settings
:
[org/gnome/shell]
favorite-apps = ['firefox.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.gedit.desktop', 'org.gnome.Terminal.desktop', 'libreoffice-writer.desktop', 'org.remmina.Remmina.desktop', 'keepass2.desktop', 'yelp.desktop']
最后:(sudo dconf update
正确创建了 /etc/dconf/db/mycompany 文件)
但是,如果我创建一个新用户,并以该新创建的用户身份登录,我仍然会获得旧的收藏夹链接。没有任何变化。
01-mycompany-settings
我还尝试在现有目录中添加文件,/etc/dconf/db/ibus.d/
但dconf update
没有成功。我还尝试在中添加配置行/etc/dconf/db/ibus.d/00-upstream-settings
,但没有变化。
如果我dconf read /org/gnome/shell/favorite-apps
以新用户身份运行,首先我什么也得不到(因为,我想,用户的数据库还不存在,并且用户没有权利读取系统数据库)。在手动将应用程序添加到收藏夹应用程序后,它总是返回默认应用程序列表加上我手动添加的应用程序。
答案1
此解决方案允许我在 Ubuntu 18.04 中为用户设置默认的收藏应用程序。注意:如果用户有一个 ~/.config/dconf/user 文件,则将改用该文件,并且不会应用默认值。
mkdir -p /etc/dconf/profile; vim /etc/dconf/profile/user
#This line allows the user to change the default favorites later.
user-db:user
#This line defines a system database named msb
system-db:msb
mkdir -p /etc/dconf/db/msb.d; vim /etc/dconf/db/msb.d/00_msb_settings
# Define default favorite apps
[org/gnome/shell]
favorite-apps = ['chromium-browser.desktop', 'firefox.desktop', 'gnome-terminal.desktop', 'nautilus.desktop']
dconf 更新;chmod a+rx -R /etc/dconf