ovladanie Linuxu cez .Net aplikaciu (C#)

Programovacie jazyky, rady, poradňa...
MarkMarusin
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 30 apr 2011, 13:42

ovladanie Linuxu cez .Net aplikaciu (C#)

Príspevok od používateľa MarkMarusin »

Zdravim

programujem aplikaciu v C#, kde sa snazim ovladat TrixBox (Linuxovy OS nainstalovany na vyrtualnej masine beziacej na Win. 7 ktora sluzi naprikal na sporostredkovanie VoIP).

V podstate dolezite je to ze sa snazim cez C# (tridu System.Diagnostics.ProcessStartInfo) vkladat do konzoli Trixboxu prikazy ale vyhodi vynimku({"The specified executable is not a valid application for this OS platform."}) pricom predpokladam ze mi to nebude fungovat na inom OS ako na Windows. Nie je to prekvapujuce kedze programujem v .Net Framework co je platforma pre Windows a trixbox je linuxovy OS. Cakal som ze mi to bude fungovat kedze mi to fungovalo napr. aj na cmd.exe

Pointa je ze by som sa potreboval poradit cez aku triedu v C# by som vedel pracvat s tymto Linuxovim trixboxom nainstalovanim na virtualnej masine alebo ako by som cez clasiku triedu (System.Diagnostics.ProcessStartInfo) vedel vkladat prikazy do konzli Trixboxu

prikladam ukazku kodu:

Kód: Vybrať všetko


             //musi byt nainstalovana virtualna masina kde TrixBox bezi (kedze trix box je sam o sebe operacny system)
           
            ...
            using System.Diagnostics;

            ProcessStartInfo startInfo = new ProcessStartInfo();
            startInfo.FileName = @"C:\Users\Marek\VirtualBox VMs\Trixbox\Trixbox.vbox";   // nastavenie cesty k trixboxu ktora sa spusta cez virtualnu masinu

            
            // nasleduje nastavenie pre povolenie vkladania prikazov do CLI Trixboxu a povolenie pre odoberanie outputov
            startInfo.RedirectStandardInput = true;         
            startInfo.UseShellExecute = false;
            startInfo.RedirectStandardOutput = true;

            // nasleduje samotne spustenie celeho procesu
            Process p = new Process();
            p = Process.Start(startInfo);

            //Nasleduje cakanie vlakna na nabootovanie Trixboxu vo Virtualnej masine         
            Thread.Sleep(TimeSpan.FromMinutes(2.3));

            // nasleduje riadok pre vlozenie prveho prikazu do konzoly trixboxu pri ktorom vyhodi vynimku ({"The specified executable is not a valid application for this OS platform."})
            p.StandardInput.WriteLine(@"asterisk -r");

.....
....

vdaka :D
pipiak
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 321
Registrovaný: 11 jún 2006, 9:24
Bydlisko: KE
Kontaktovať používateľa:

Re: ovladanie Linuxu cez .Net aplikaciu (C#)

Príspevok od používateľa pipiak »

Asi najvhodnejsie by bolo urobit cez mono, nacuvaciu triedu pre linux a cez remoting zasielat prikazy;)
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: ovladanie Linuxu cez .Net aplikaciu (C#)

Príspevok od používateľa harrison314 »

alebo stiahnut kniznicu pre C# na ssh-cko a mozes ovladat akykolvek unix-like stroj
Napísať odpoveď