运维开发网

在深度Deepin V20系统中更换壁纸的命令

运维开发网 https://www.qedev.com 2021-02-21 10:34 出处:深度站 作者:enforcee
以下提供深度Deepin V20系统更换壁纸的命令,另外,以前采用的gsettings set org.gnome.desktop.background picture-uri 文件地址不起作用了,执行后现有的壁纸不发生改变。 正确答案 dbus-send --dest=

以下提供深度Deepin V20系统更换壁纸的命令,另外,以前采用的“gsettings set org.gnome.desktop.background picture-uri 文件地址”不起作用了,执行后现有的壁纸不发生改变。

在深度Deepin V20系统中更换壁纸的命令

 

正确答案

dbus-send --dest=com.deepin.daemon.Appearance /com/deepin/daemon/Appearance --print-reply com.deepin.daemon.Appearance.SetMonitorBackground string:"屏幕名称" string:"file:///图片路径"

屏幕名称可以在设置里面 显示->亮度 查看。

或者xrandr(我的这里叫"eDP-1")。

注:以上命令适合在Deepin V20系统中。

相关参考:在linux系统下安装壁纸程序Wonderwall,附主要功能介绍。

 

说明

因为d-bus是为了桌面应用的通信设计的,而非命令交互或脚本。

他有各种程序语言的绑定,可以不需要shell,而且shell上的dbus-send功能不如其他语言相应库功能全。

大家看这个命令特别长,实际上用d-feet查看接口,然后用dbus-monitor监听传入信息,最后翻译成dbus-send或者其他语言的调用,大家都能写出便利人生的脚本啦!

 

技术扩展

1、以下可以查看所有的壁纸图片列表 json

dbus-send --dest=com.deepin.daemon.Appearance /com/deepin/daemon/Appearance --print-reply com.deepin.daemon.Appearance.List string:"background"

2、获取屏幕名称和路径的

dbus-send --dest=com.deepin.daemon.Display --print-reply=literal /com/deepin/daemon/Display com.deepin.daemon.Display.GetBuiltinMonitor

3、提取出第一个屏幕名称

dbus-send --dest=com.deepin.daemon.Display --print-reply=literal /com/deepin/daemon/Display com.deepin.daemon.Display.GetBuiltinMonitor | awk -F ' ' '{print $1}'

 

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号