在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
,它什么都不做。
一种方法是创建所有可能的属性,并在需要时同时更改所有属性。 我不喜欢这个解决方案,原因有两个:
- 需要几个系统调用
- 有一次,我需要获取当前图像的路径(为了打开它的文件夹,复制它的路径,删除它以及程序提供的一些其他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输出
有关详细信息,请点击此处