Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: sekoto - Luglio 16, 2016, 02:50:09 pm

Titolo: [Linux] Richiesta password ed eseguire comandi terminale
Inserito da: sekoto - Luglio 16, 2016, 02:50:09 pm
salve a tutti come in oggetto devo fare un programma (su ubuntu linux) dove prima richieda la password di sistema e poi esegua comandi terminale. Qualcuno ha un idea di come fare? per i comandi terminale uso fpsystem ma per la password non ho la più pallida idea...
Titolo: Re:[Linux] Richiesta password ed eseguire comandi terminale
Inserito da: bonmario - Luglio 16, 2016, 04:04:54 pm
Ciao,
premetto che è tanto che non lo uso, e spero che sia ancora valido.
Praticamente devi fare così: per tutti quei comandi per cui, se tu li dovessi lanciare da terminale, useresti "sudo", devi usare "gksu".
Facciamo in esempio:
se da terminale lanceresti "sudo apt-get install nautilus", il comando che dovrai usare dal tuo programma sarà "gksu apt-get install nautilus".
Facendo così, ti uscirà una finestrella in cui dovrai digitare la password dell'utente root, ed il comando avrà successo solo se la password sarà quella corretta.

P.S. io non l'ho mai usato con fpsystem, io di solito i comandi li lancio tramite "TProcess".

Ciao, Mario
Titolo: Re:[Linux] Richiesta password ed eseguire comandi terminale
Inserito da: sekoto - Luglio 16, 2016, 06:12:50 pm
ciao sei stato molto gentile e mi hai aperto un mondo... TProcess non l'ho mai usato e sinceramente non so come si usa... mi faresti un esempio? Ti ringrazio ancora per la tua disponibilità...
Titolo: Re:[Linux] Richiesta password ed eseguire comandi terminale
Inserito da: bonmario - Luglio 16, 2016, 07:20:15 pm
Trovi tutto qui:
http://wiki.freepascal.org/Executing_External_Programs

P.S. C'è anche la pagina in italiano, ma credo che non sia molto aggiornata.

Ciao, Mario
Titolo: Re:[Linux] Richiesta password ed eseguire comandi terminale
Inserito da: nomorelogic - Luglio 18, 2016, 09:48:04 am
nello stesso link di bonmario c'è anche descritto il comando RunCommand
si tratta di un comodissimo wrapper su TProcess che semplifica di molto l'uso di questa classe nella maggior parte dei casi