云网牛站
所在位置:首页 > Linux教程 > 在深度Deepin V20系统中更换壁纸的命令

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

2020-09-11 16:08:00作者:enforcee稿源:深度站

以下提供深度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}'

 

相关主题

在Linux下安装BingWall:适用于Ubuntu的必应壁纸应用

精选文章
热门文章