我正在尝试将我的xbox 360控制器连接到我的覆盆子pi,使用c#in mono。连接命令是'sudo xboxdrv'。如果我直接在树莓派上尝试它,这个命令有效但是当我从单声道控制台应用程序尝试它时会出错。我使用的代码:
var info = new ProcessStartInfo();
info.FileName = "sudo xboxdrv";
info.UseShellExecute = false;
info.CreateNoWindow = true;
info.RedirectStandardOutput = true;
info.RedirectStandardError = true;
var p = Process.Start(info);
p.WaitForExit();
Console.ReadLine();
我得到的错误是'原生错误=无法找到指定的文件'。我想它与sudo有关,但没有sudo程序就无法工作,如果可能的话我不想让我的用户root用户。
答案 0 :(得分:6)
sudo xboxdrv
不是文件名,它是带参数的命令。 sudo
是文件名,xboxdrv
是参数。
所以你的代码应该是:
var info = new ProcessStartInfo();
info.FileName = "sudo";
info.Arguments = "xboxdrv";
info.UseShellExecute = false;
info.CreateNoWindow = true;
info.RedirectStandardOutput = true;
info.RedirectStandardError = true;
var p = Process.Start(info);
p.WaitForExit();
Console.ReadLine();