在XUbuntu中更改壁纸的命令

进行谷歌搜索会显示该命令

xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s  

我第一次运行此命令时收到一条消息,指出xfce4-desktop通道中不存在属性/ backdrop / screen0 / monitor0 / image-path。

所以,我创建了这个属性:

 xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s  

但背景仍然没有改变。

然后,我通常从XUbuntu的桌面设置应用程序将背景从space-03.jpg更改为space-04.jpg。 然后我跑:

 $ xfconf-query -c xfce4-desktop -p /backdrop -lv /backdrop/screen0/image-path /usr/share/backgrounds/space-03.jpg /backdrop/screen0/monitor0/image-path /usr/share/backgrounds/space-03.jpg /backdrop/screen0/monitor0/image-show true /backdrop/screen0/monitor1/image-path /usr/share/backgrounds/space-03.jpg /backdrop/screen0/monitor1/image-show true /backdrop/screen0/monitorLVDS1/workspace0/color-style 0 /backdrop/screen0/monitorLVDS1/workspace0/image-style 5 /backdrop/screen0/monitorLVDS1/workspace0/last-image /usr/share/backgrounds/space-04.jpg 

如您所见,属性/backdrop/screen0/monitorLVDS1/workspace0/last-image已更改(!)。

如果我更改了这个属性,那么它的工作正常,但问题是我需要找到一种通用的方法来在我的程序中实现它(Wallch)。

甚至Variety (顺便说一句,这是一个非常好的程序)在我的机器上无法正常工作,并选择更改属性/backdrop/screen0/monitor0/image-path ,它什么都不做。

一种方法是创建所有可能的属性,并在需要时同时更改所有属性。 我不喜欢这个解决方案,原因有两个:

  1. 需要几个系统调用
  2. 有一次,我需要获取当前图像的路径(为了打开它的文件夹,复制它的路径,删除它以及程序提供的一些其他function)。 我不知道哪个属性保存真实设置图像的路径,以使其可用于程序。

我也不明白为什么XFCE这么复杂。 为什么一个财产不足以像gsettings一样?

我认为应该做的工作

使用以下代码获取连接的设备并对其进行计数:

 connectedOutputs=$(xrandr | grep " connected" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") activeOutput=$(xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/") connected=$(echo $connectedOutputs | wc -w) 

然后你必须操纵它们并选择是否设置image-path或last-image的值

 xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s ~/Pictures/1.jpeg xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorLVDS1/workspace0/last-image -n -t string -s ~/Pictures/1.jpeg for i in $(xfconf-query -c xfce4-desktop -p /backdrop -l|egrep -e "screen.*/monitor.*image-path$" -e "screen.*/monitor.*/last-image$"); do xfconf-query -c xfce4-desktop -p $i -n -t string -s ~/Pictures/2.png xfconf-query -c xfce4-desktop -p $i -s ~/Pictures/2.png done 

假设1.jpeg是默认情况下创建字符串所需的任何文件。 并且2.png是要设置的想要的图片。 我添加了第一行只是为了确保xfce4-desktop存在。

这个脚本在我的机器上测试过,运行良好。

希望能帮助我的朋友

编辑: 这里找到了一个端口名称列表,如下所示:

输出端口名称

英特尔驱动程序 – UMS

VGA – 模拟VGA输出

LVDS – 笔记本电脑面板

DP1 – DisplayPort输出

电视 – 集成电视输出

TMDS-1 – 第一个DVI SDVO输出

TMDS-2 – 第二个DVI SDVO输出

此时驱动程序不支持SDVO和DVO电视输出。

英特尔驱动程序 – KMS

LVDS1 – 笔记本电脑面板

VGA1 – 模拟VGA输出

DVI1 – 数字video输出

radeon司机

VGA-0 – 模拟VGA输出

LVDS – 笔记本电脑面板

S-video – 集成电视输出

DVI-0 – DVI输出

有关详细信息,请点击此处