gconftool-2 不再使用 dbus 刷新吗?

gconftool-2 不再使用 dbus 刷新吗?

我曾经用gconftool-2这种方式编辑键(这里我改变了 gnome-terminal 中的光标形状):

gconftool --type string --set /apps/gnome-terminal/profiles/Profile0/cursor_shape ibeam

但它不再起作用了,我感觉 DBus 守护进程有问题,尽管我无法解释原因。

这个命令更改 中的密钥~/.gconf/.../Profile0/%gconf.xml,我现在可以在其中阅读:

<entry name="cursor_shape" mtime="1419267709" type="string">
    <stringvalue>ibeam</stringvalue>
</entry>

但它不再对我的光标形状产生影响:它仍然是一个block.

现在,这是一个有趣的事实:如果我使用gconf-editor并导航到此键,我发现它设置为block

在此输入图像描述

如果我现在用 GUI 编辑这个键,它确实会改变我的光标形状。

一切行为都类似于存储在内存中的密钥,并且存储在 .xml 文件中的密钥不会随命令一起更新gconftool-2

我还注意到它gconftool-2 --ping不会返回任何内容。

我尝试过重新安装gconf2 gconf2-common gconf-service gconf-default-service但没有成功。我也尝试删除整个 ~/.gconf 文件夹,但同样的事情不断发生。

我已经看过了,gsettings但我的 gnome-terminal 似乎不支持它,因为架构org.gnome.terminal不存在,而且我找不到任何文件夹gnome-terminal,也gnome/terminal找不到dconf-editor.

这让我抓狂,有人遇到过这种情况吗?应该如何gconftool-2刷新并获取正在运行的应用程序的即时更改?

答案1

知道了!致谢这个答案。我将以下几行添加到我的.zshrcor中.bashrc

sessionfile=`find "${HOME}/.dbus/session-bus/" -type f`
export `grep "DBUS_SESSION_BUS_ADDRESS" "${sessionfile}" | sed '/^#/d'`

现在,只要我使用,设置就会刷新gconftool-2

相关内容