Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: bonmario - Ottobre 05, 2019, 05:20:54 pm

Titolo: [RISOLTO]Linux - Lancio di più comandi con root
Inserito da: bonmario - Ottobre 05, 2019, 05:20:54 pm
Ciao a tutti,
in un programma, devo lanciare alcuni comandi con utente root e, per ognuno di questi, devo testare l'esito.
Siccome in Linux, con TProcess non è possibile far uscire il terminale, li lancio con "gksu".
Il problema è che, ad ogni comando che lancio, mi esce la finestrella di "gksu" che mi chiede la password, mentre se facessi la stessa cosa da terminale, usando "sudo", mi chiederebbe la password solo la prima volta, poi la memorizzererbbe per qualche minuto.
Vi viene in mente qualche modo per ottenere lo stesso comportamento?

Grazie, Mario
Titolo: Re:[Linux]Lancio di più comandi con root
Inserito da: SB - Ottobre 06, 2019, 08:56:49 am
Immagino che avrai già provato l'esempio della wiki di freepascal per lanciare un processo con diritti di root e inserimento automatico della password.
Se proprio non va bene, io lancerei un unico programma esterno con diritti di root e farei in modo che sia questo a lanciare tutti gli altri
Titolo: Re:[Linux]Lancio di più comandi con root
Inserito da: bonmario - Ottobre 06, 2019, 09:12:06 am
Immagino che avrai già provato l'esempio della wiki di freepascal per lanciare un processo con diritti di root e inserimento automatico della password.

Conoscevo la pagina wiki, ma non sapevo ci fosse proprio il caso che serve a me. Dopo ci provo.
Ecco il link, casomai dovesse servire ad altri: https://wiki.freepascal.org/Executing_External_Programs#Redirecting_input_and_output_and_running_under_root


Se proprio non va bene, io lancerei un unico programma esterno con diritti di root e farei in modo che sia questo a lanciare tutti gli altri

Ci avevo pensato, ma dovrei stravolgere il programma: non tutti i comandi che deve lanciare vanno lanciati con root, dovrei lanciare subito quelli lanciabili dall'utente normale e poi, in un colpo solo, lanciare quelli che vanno lanciati con root, redirigendo però l'output di ogni singolo comando in un file di testo, da andare poi ad analizzare ... preferirei la prima che mi hai suggerito !!!

Grazie, Mario
Titolo: Re:[Linux]Lancio di più comandi con root
Inserito da: bonmario - Ottobre 06, 2019, 11:55:30 am
Immagino che avrai già provato l'esempio della wiki di freepascal per lanciare un processo con diritti di root e inserimento automatico della password.

Ho risolto proprio con questo.
Alla fine ci ho perso un po' di tempo in più, perché per distrazione mia, il comando finale che lanciavo era
Codice: [Seleziona]
sudo  -S  ComandoDaLanciare
Praticamente sia prima che dopo il "-S" c'erano 2 spazi, ed i queste condizioni, mi dava un "errore sigsegv".
Messo il singolo spazio al posto di ognuno dei 2 doppi, tutto è filato liscio


Grazie, Mario