ansibleを使用してホストgsettingsセットを変更するには?

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

答え1

これで利用可能(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']"

答え2

試してテストしましたが、dconfを使用します。私の場合は、ソーステンプレートを作成して/etc/dconfフォルダに書き込みました。その後(またはジョブが実行された後)dconfを更新する必要があります。 dconf-editor(yumインストール済み)を使用して変数の変更を表示したり、GUIインタフェースgsettingsなしで手動で変更したりできます。

- 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

答え3

一つあるコミュニティモジュールgconf(廃止予定)に似ています。

プロジェクトの閲覧から:

- name: do not remember mount password
  gsetting:
    user: jistr
    settings:
      org.gnome.shell.remember-mount-password: false
      org.gnome.desktop.wm.keybindings.panel-main-menu: "@as []"
      org.gnome.nautilus.preferences.default-folder-viewer: "'list-view'"

関連情報