Linux
如何使用 ansible 更改主機 gsettings 數組?
我想在 gsettings 上禁用 gnome 上的最大化功能。我使用了這個命令外殼:
gsettings set org.gnome.shell.extensions.classic-overrides edge-tiling false
但這是每個使用者設置。
我已經嘗試過這個劇本,但這只會影響我的使用者設置。如何更改所有使用者的 gsettings 以禁用最大化。
我可能以錯誤的方式接近它,而不是嘗試編輯使用者 gsettings,有沒有辦法編輯具有所有使用者設置的文件?
- hosts: all become: true tasks: - name: disable auto maximize become_user: 'joe' shell: gsettings set org.gnome.shell.extensions.classic-overrides edge-tiling false
嘗試和測試,但它正在使用 dconf。在我的情況下,創建了一個模板來獲取源然後寫入 /etc/dconf 文件夾。您必須在之後(或在您的任務執行之後)進行 dconf 更新。您可以使用 dconf-editor(yum 安裝)查看變數更改或手動更改它,無需 gsettings,GUI 界面。
- hosts: all become: true tasks: - name: disable auto maximize template: src: edit-dconf-settings path: /etc/dconf - name: update dconf shell: dconf update
模板:edit-dconf-settings
[org/gnome/shell/extensions/classic-overrides] edge-tiling=false
現在(ansible >= 2.4)有一個允許修改 dconf 設置的本機 dconf 模組。
- hosts: all become: true tasks: - name: disable auto maximize dconf: key: "org.gnome.shell.extensions.classic-overrides" value: "['edge-tiling', 'false']"