web-dev-qa-db-fra.com

Bash one-liner pour afficher tous les `gsettings` dans la fenêtre de dialogue de l'interface graphique

Récemment, j'ai rencontré de nombreuses questions dans Demandez à Ubuntu pour lesquelles il est nécessaire de changer gsettings pour résoudre le problème. Par exemple, cette question: Comment éviter l’arrêt lorsque l’une des deux batteries est vide? fait référence à une gsettings nouvelle pour moi:

org.gnome.settings-daemon.plugins.power use-time-for-policy false

Plutôt que de trébucher sur gsettings au hasard toutes les semaines (ou du moins, semble-t-il), existe-t-il une seule ligne pour vider tout le courant gsettings vers zenity (ou yad) afin que je puisse faire défiler tout?

1
WinEunuuchs2Unix

Yad fonctionne mais pas Zenity (encore)

J'ai essayé de faire cela avec zenity mais je ne pouvais pas le comprendre. J'ai réussi à le faire fonctionner avec yad mais après quelques jours d'horloge, j'ai dû faire appel à des groupes Google pour obtenir l'aide des experts de yad. Ils ont corrigé mon code bash one-liner en 12 heures!

Si vous n'avez pas déjà installé yad, vous devez utiliser:

Sudo apt install yad

yad vous permet de trier la liste par n'importe quelle colonne dans l'ordre croissant/décroissant. Vous pouvez saisir la barre de défilement pour parcourir rapidement la liste. La flèche haut/bas, PgUpPgDnHome et End les touches naviguent comme prévu.

Le code bash à une ligne

Voici le code à une ligne que vous pouvez copier et coller dans la fenêtre de votre terminal:

gsettings list-recursively | sed 's/  */\n/;s/  */\n/;s/\&/\&/g' | yad --list --title "gsettings" --item-seperator='\n' --width=1800 --height=800 --wrap-width=600 --column=Group --column=Key --column=Setting --no-markup

Ceci est pour un affichage 1080p où l’écran a une largeur de 1920 pixels. Si votre écran est plus petit, réduisez la taille de ces arguments:

--width=1800 --height=800 --wrap-width=600

Échantillon de sortie

Lorsque la boîte de défilement yad s'ouvrit, je:

  • Cliquez sur l'en-tête de colonne Group pour trier par groupe. Sinon, l'ordre est aléatoire car gsettings list-recursively extrait la base de données.
  • Faites défiler la section org.gnome.settings-daemon.plugins.power.
  • J'ai remarqué un gsettings que je n'ai jamais vu auparavant, mais qui pourrait m'aider à résoudre les problèmes de suspension que j'ai rencontrés (comme indiqué dans la capture d'écran ci-dessous)

yad gsettings.png

Le one-liner paye tout de suite

Voici le nouveau gsettings que j'ai découvert:

$ gsettings get org.gnome.settings-daemon.plugins.power lid-close-suspend-with-external-monitor
false

La gsettings contredit un paramètre systemd que j'ai:

$ cat /etc/systemd/logind.conf | grep -i lidswitchdock | grep -vF "#"
HandleLidSwitchDocked=suspend

dconf-editor une application graphique complète

Il existe également dconf-editor une interface graphique complète que vous pouvez utiliser: Qu'est-ce que dconf, quelle est sa fonction et comment puis-je l'utiliser?

Pour résumer le lien, installez-le en utilisant:

Sudo apt install dconf-tools

Le lien entier est fortement recommandé de lire et il couvre gsettings en profondeur aussi.

1
WinEunuuchs2Unix