2013-10-05 27 views
1

我试图将我的xbox 360控制器连接到我的树莓派,并使用单声道c#。要连接的命令是'sudo xboxdrv'。如果我直接在树莓派上尝试这个命令,但是当我从单声道控制台应用程序尝试时会出现错误。我使用的代码:在raspbian上使用单声道执行shell命令

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用户。

回答

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();