【发布时间】:2017-12-25 16:07:43
【问题描述】:
我想用 F# 编写一个程序来更改 Linux 上的墙纸。看来我需要在 KDE 中使用 dbus 和 JS 来做到这一点,我对此有点困惑。
我找到了this,并尝试运行qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript ~/scripts/wallpaper.js,其中wallpaper.js如下:
var allDesktops = desktops();
print (allDesktops);
for (i=0;i<allDesktops.length;i++) {
d = allDesktops[i];
d.wallpaperPlugin = "org.kde.image";
d.currentConfigGroup = Array("Wallpaper", "org.kde.image", "General");
d.writeConfig("Image", "file:///home/amino/Pictures/wallpapers/wallhaven-360156.jpg")
}
但我收到此错误:Error: org.freedesktop.DBus.Error.Failed
SyntaxError: Invalid regular expression: invalid regular expression
有没有更好的方法来做到这一点?如果不是,那么做我想做的事情的正确方法是什么?
【问题讨论】:
-
最快的方法是
kwriteconfig或kwriteconfig5命令行工具。我不使用KDE,所以不知道它是否有效。 (askubuntu.com/questions/839647/gsettings-like-tools-for-kde)