Tag: gsettings

如何使用dconf或gsettings读取默认键值?

我想知道dconf / gsettings键的默认值。 我的问题是以下问题的后续问题: 我在哪里可以获得与gsettings一起使用的SCHEMA / PATH / KEY列表? 我正在尝试做什么,所以创建一个脚本来读取我所有的个人偏好,以便我可以备份它们并恢复它们。 我计划迭代所有键,如上面的脚本,看看哪些键已从默认值更改,并记下这些键,可以在以后恢复。 我看到dconf-editor显示了键的默认值,但我非常想编写这个脚本。 另外,我没有看到如何解析模式/usr/share/glib-2.0/schemas/可以自动化。 也许有人可以帮忙? gsettings get-default | list-defaults会很好=) (Geesh,在过去你更容易将你的〜/ .somethingrc保存在颠覆中… = \ 基于下面给出的答案,我更新了脚本以打印模式,密钥,密钥的数据类型, 默认值和实际值: #!/bin/bash for schema in $(gsettings list-schemas | sort); do for key in $(gsettings list-keys $schema | sort); do type=”$(gsettings range $schema $key | tr “\n” ” “)” default=”$(XDG_CONFIG_HOME=/tmp/ gsettings get $schema […]

从cron启动时编辑Gsettings不成功

我必须有一个盲点,但我找不到它是什么。 我做了一个小的python脚本,从声音菜单中删除了VLC。 它以任何方式运行,从终端或发射器或任何你能想到的任何东西运行它。 脚本实际上做的只不过是获取当前设置: gsettings get com.canonical.indicator.sound interested-media-players 编辑列表,并通过以下方式设置更改的列表: gsettings set com.canonical.indicator.sound interested-media-players “[‘newlist’]” 这些命令由python脚本执行。 但是, 当从cronjob ( crontab -e ) 运行时,只有gsettings – get – part可以工作,而不是 gsettings – set – section。 get部分与cron一起正常工作,我通过使脚本将数据(原始文件和编辑的数据)写入外部文件来检查。 不是python问题 为了查看问题是否与python代码有关,我创建了一个应用更改的声音菜单项列表的bash脚本。 故事是一样的:bash脚本从命令行或启动器运行良好,而不是从cron运行,而同一脚本中的任何其他命令都可以正常运行。 此外,如果我在下面的脚本末尾添加任何命令,它工作正常,看起来脚本对自己的工作感到满意。 为什么从cron启动时gsettings set命令不起作用? 这是脚本: #!/usr/bin/python3 import subprocess def read_soundmenu(): # read the current launcher contents get_menuitems = subprocess.Popen([ “gsettings”, “get”, […]

基于GUI的应用程序是否在后台执行shell命令?

我在2天前从Windows迁移到Ubuntu 16.04。 我喜欢我们自定义Unity桌面的方式。 我正在玩桌面环境的外观和感觉。 就像在Windows中一样,我希望启动器位于屏幕的底部。 在谷歌上,我找到了一个命令,如下所示: gsettings set com.canonical.Unity.Launcher launcher-position Bottom 此外,还有unity-tweak-tool和dconf编辑器来完成工作。 但这些是完成工作的GUI方法。 我的问题是: 这些基于GUI的应用程序是否也在后台执行相同的命令? 如何窥探这些应用程序的内部工作? 我的意思是,有没有办法真正查看每次点击按钮时执行的命令? 这些应用程序是否在后台打开终端并执行这些命令? 这里的答案讲述了如何获取进程的标准文件描述符。 但是,我在输出中没有得到任何东西。 而且, strace -p pid -o output.txt命令会向文件中抛出大量文本。 那么,简而言之,使用GUI应用程序做的事情与从命令行做事情一样吗?

在哪里可以获得与gsettings一起使用的SCHEMA / PATH / KEY列表?

在做了一些研究之后,我发现我可以使用终端中的gsettings命令快速设置配置选项,而不是安装dconf-editor或gconf-editor或CCSM。 但我们需要SCHEMA / PATH和KEY来设置值。 语法是: gsettings set SCHEMA[:PATH] KEY VALUE 例如,永远不会自动隐藏启动器: gsettings set com.canonical.Unity2d.Launcher hide-mode 0 并且,对于不与发射器重叠的窗口: gsettings set com.canonical.Unity2d.Launcher use-strut true 那么,在哪里可以获得可以使用gsettings设置的所有SCHEMA / PATH / KEY的列表? 不,请不要建议gsettings list-keys命令,因为我不知道可能有数百个模式。

如何转储所有修改过的gsettings键?

dconf编辑器通过将快捷键中显示的键的字体更改为粗体来指示用户已更改其值的键。 所以我想知道是否有一种方法可以转储所有已被用户手动修改或更改为默认值以外的密钥(包括其架构)? ..这对于解决许多桌面环境问题非常有帮助,或者至少对我来说:)

GSettings / dconf的图形编辑器?

是否有相当于GSettings / dconf的gconf-editor? 我知道我可以在命令行上使用gsettings set …但这有点不方便(尤其是列表类型)。

dconf模式名称区分大小写吗?

我找到了一个模式的例子,它以两种不同的方式引用,两种情况不同,这对我来说很困惑。 Gsettings将模式名称视为com.canonical.Unity.Launcher ,并且不接受com.canonical.unity.launcher作为有效的模式名称。 另一方面,dconf-editor只能看到com.canonical.unity.launcher全部小写,如屏幕截图所示。 如果我更改Gsettings中的关键favorites ,则该更改将反映在dconf-editor中,反之亦然。 这是怎么回事? 哪个是正确的模式名称, com.canonical.Unity.Launcher或com.canonical.unity.launcher ? Gsettings: $ gsettings list-schemas | grep -i com.canonical.unity.launcher com.canonical.Unity.Launcher david@david-Aspire-5735:~$ $ gsettings list-recursively com.canonical.Unity.Launcher com.canonical.Unity.Launcher favorite-migration ‘3.2.10’ com.canonical.Unity.Launcher favorites [‘application://firefox.desktop’, ‘application://thunderbird.desktop’, ‘unity://running-apps’, ‘unity://expo-icon’, ‘unity://devices’] david@david-Aspire-5735:~$ gsettings list-recursively com.canonical.unity.launcher No such schema ‘com.canonical.unity.launcher’ dconf编辑:

自动化统一启动器图标排序

我编写了一个安装脚本,可以自动完成安装过程。 之后我希望它重新排列/添加/删除统一启动器的图标。 使用dconf watch /我可以看到输出,因为我重新排序图标。 是否有命令行方式来执行此操作 – 可能使用gsettings ?

如何在没有列出架构的情况下使用gsettings

我想编写一个脚本来重新排序compiz模块的加载,因此在使用Unity桌面时,最后加载expo和scale,并且这些插件中的set hotcorners将在重新启动时保持活动状态。 这可以使用gui dconf-editor轻松完成。 但是,只要对统一进行更新,此设置将恢复为最后加载Unity模块的默认设置,并终止热门角色。 所以需要一个cli方法来更改位于org / compiz / profiles / unity / plugins / core的dconf-editor中的设置 [‘core’,’composite’,’opengl’,’copytex’,’decor’,’regex’,’compiztoolbox’,’place’,’imgpng’,’grid’,’unitymtgrabhandles’,’resize’,’ mousepoll’,’snap’,’gnomecompat’,’move’,’vpswitch’,’session’,’wall’,’animation’,’workarounds’,’expo’,’scale’,’fade’,’ezoom’ ,’unityshell’] 至 [‘core’,’composite’,’opengl’,’copytex’,’decor’,’regex’,’compiztoolbox’,’place’,’imgpng’,’grid’,’unitymtgrabhandles’,’resize’,’ mousepoll’,’snap’,’gnomecompat’,’move’,’vpswitch’,’session’,’wall’,’animation’,’workarounds’,’fade’,’ezoom’,’unityshell’,’expo’ ,’规模’] 所以发出命令 gsettings list-schemas | grep -i compiz 表明我没有需要改变的模式,所以要改为 gsettings list-recursively | grep -i compiz 给出了更长的列表,但对我的项目没什么用处。 我哪里出错了或者我的问题有另一种解决办法吗?

gsettings没有在ssh上工作

我正在尝试使用以下命令更改远程计算机上的Unity Launcher图标: gsettings set com.canonical.Unity.Launcher favorites … 它完美无缺 但是,当我这样做 ssh 127.0.0.1 gsettings set com.canonical.Unity.Launcher favorites … 我明白了: (process:9616): dconf-WARNING **: failed to commit changes to dconf: Error spawning command line `dbus-launch –autolaunch=aaa5bb6eaa7cd50f2af1f10000000004 –binary-syntax –close-stderr’: Child process exited with code 1 这就是来自ssh的任何gsettings调用。 问题出在哪儿?