Como configurar uma chave 'dconf' globalmente em todas as contas de usuários

4

Eu quero definir a chave 'automount', para o esquema 'manuseio de mídia', como 'falsa', para todos os usuários em um único computador desktop.

Eu posso fazer isso individualmente, ou seja, um usuário por vez, usando gsettings enquanto estiver conectado como usuário específico:

gsettings set org.gnome.desktop.media-handling automount false

Fazer isso para cada conta individual, no entanto, é um pouco árduo. Gostaria de definir a mesma chave como "falsa" de maneira global, para que o comportamento desejado seja observado globalmente em todas as contas de usuário.

Usando locate media-handling , localizei o seguinte arquivo xml:

/usr/share/glib-2.0/schemas/org.gnome.desktop.media-handling.gschema.xml

O arquivo contém o seguinte:

<schemalist gettext-domain="gsettings-desktop-schemas">
  <schema id="org.gnome.desktop.media-handling" path="/org/gnome/desktop/media-handling/">
    <key name="automount" type="b">
      <default>true</default>
      <summary>Whether to automatically mount media</summary>
      <description>If set to true, then Nautilus will automatically mount media such as user-visible hard disks and removable media on start-up and media insertion.</description>

Eu entendi que os arquivos localizados aqui são universais / globais e que quaisquer alterações nesses arquivos afetariam todos os usuários globalmente. No entanto, definir o valor aqui como "false" não tem efeito observável.

Eu também encontrei esta resposta e criei o equivalente ' substituir arquivo:

/usr/share/glib-2.0/schemas$ ls | grep media-handling
org.gnome.desktop.media-handling.gschema.override.xml
org.gnome.desktop.media-handling.gschema.xml

.. com o conteúdo:

[org.gnome.desktop.media-handling]
automount="false"

Corri sudo glib-compile-schemas /usr/share/glib-2.0/schemas/ conforme instruído na resposta dada, no entanto, não houve efeito observável. Por que isso, assumindo que a solução dada está correta?

Como defino a chave "automount" como "false", de modo a configurar todas as contas de usuário? Quando isso for feito, como impedir que usuários individuais configurem suas próprias contas de maneira diferente da regra global?

Em segundo lugar, como o sistema usa o arquivo /usr/share/glib-2.0/org.gnome.desktop.media-handling.gschema.xml , já que meu entendimento me levaria a pensar que altera todas as contas de usuários, dada a sua localização em… .share / glib-2.0 .., no entanto este não é o caso ?

(Ubuntu 16.04)

    
por Andrew Hardiman 17.05.2018 / 22:26

1 resposta

0

Não me entenda mal, mas acho que existe uma maneira mais simples do que editar arquivos XML.

Você pode usar perfis baseados em dconf.
Eu li sobre isso na documentação do RedHat:

Abaixo está um exemplo aproximado do seu problema:

sudo mkdir -p /etc/dconf/profile

cat <<EOF | sudo tee /etc/dconf/profile/user
user-db:user
system-db:local
EOF

sudo mkdir -p /etc/dconf/db/local.d

cat <<EOF | sudo tee  /etc/dconf/db/local.d/00-my
[org/gnome/desktop/media-handling]
automount=false
EOF

sudo dconf update
    
por N0rbert 17.05.2018 / 23:00