在Linux C#中设置桌面壁纸

问题描述 投票:0回答:1

我想在Linux中使用C#程序改变桌面壁纸,我想每个桌面环境都有不同的方法,我更想知道如何在KDE Plasma中改变桌面壁纸,我这样做是为了把我的桌面壁纸软件移植到Linux中。

我看到过一些关于在KDE中改变桌面壁纸的帖子,但那是7年前的事了,而且是用C语言。

c# linux mono kde
1个回答
0
投票

这个解决方案可能不是最佳方案,由于我没有安装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 虽然仅从提交的内容来看,它已经相当过时了。

希望这个能用,也希望我帮到了你:)

© www.soinside.com 2019 - 2024. All rights reserved.