Yad 可以工作,但 Zenity 暂时还不行

Yad 可以工作,但 Zenity 暂时还不行

最近我遇到了很多问题询问 Ubuntu需要改变gsettings才能解决问题。例如这个问题:当两块电池中有一块没电时,如何防止关机?参考文献gsettings

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

gsettings是否有一个 bash 单行程序可以将所有当前内容转储gsettingszenity(或yad),以便我可以滚动浏览所有内容,而不是每周随机偶然发现(或看起来如此)?

答案1

Yad 可以工作,但 Zenity 暂时还不行

我尝试过这样做,zenity但没能搞定。我设法让它工作起来,yad但几天后不得不求助于谷歌群组,向 yad 专家寻求帮助。他们在 12 小时内修复了我的单行 bash 代码!

如果您尚未yad安装,则需要使用:

sudo apt install yad

yad可让您按升序/降序对列表进行排序。您可以抓住滚动条快速上下移动列表。向上/向下箭头、PgUpPgDnHomeEnd可按预期导航。

单行 bash 代码

以下是您可以复制并粘贴到终端窗口中的 bash 单行代码:

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

这是针对 1080p 显示器的,屏幕宽度为 1920 像素。如果您的屏幕较小,请减小以下参数的大小:

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

示例输出

yad滚动框打开时我:

  • 单击Group列标题可按组排序。否则,顺序是随机的,因为gsettings list-recursively会转储数据库。
  • 向下滚动org.gnome.settings-daemon.plugins.power部分。
  • 注意到一个gsettings我从未见过但可能帮助我解决我遇到的暂停问题(如下面的屏幕截图所示)

yad gsettings.png

一句话就能带来回报

以下是我发现的新内容gsettings

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

这与我的设置gsettings相矛盾:systemd

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

dconf-editor 一个完整的 GUI 应用程序

您还dconf-editor可以使用功能齐全的 GUI:什么是 dconf,它的作用是什么,如何使用它?

总结一下链接,使用以下命令进行安装:

sudo apt install dconf-tools

强烈建议阅读整个链接,其中的内容gsettings也比较深入。

相关内容