выполнить команду оболочки с моно на raspbian

Я пытаюсь подключить свой контроллер xbox 360 к моему raspberry pi с С# в моно. Команда для подключения — «sudo xboxdrv». Эта команда работает, если я пробую ее непосредственно на raspberry pi, но выдает ошибки, когда я пробую ее из моноконсольного приложения. Код, который я использую:

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.


person pieter_dv    schedule 05.10.2013    source источник


Ответы (1)


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();
person user2737037    schedule 05.10.2013