我想在Linux中使用C#程序改变桌面壁纸,我想每个桌面环境都有不同的方法,我更想知道如何在KDE Plasma中改变桌面壁纸,我这样做是为了把我的桌面壁纸软件移植到Linux中。
我看到过一些关于在KDE中改变桌面壁纸的帖子,但那是7年前的事了,而且是用C语言。
这个解决方案可能不是最佳方案,由于我没有安装KDE,所以无法测试,但我发现这可能是可行的。如果调用Python在内部不是问题,你可以使用 这个 脚本,并在C# Mono中使用Process.Start()来调用它。
class MainClass {
public static void Main (string[] args) {
string fileLocation = "/home/test/file.jpg";
string executeCommand = "-c \"python setWallpaper.py" + fileLocation + "\"";
Process.Start("/bin/bash", executeCommand);
}
}
在这个例子中,文件的位置就是你想要的文件的来源。你也可以把它改编成一个
另一方面,如果你只需要使用C#来解决这个问题,我推荐你阅读那个Python脚本,然后阅读Mono自己的DBus实现文档,叫做 DBus-Sharp 虽然仅从提交的内容来看,它已经相当过时了。
希望这个能用,也希望我帮到了你:)