Comunidad Gambas-es
¿Como obtener el retorno de pkexec? - Versión para impresión

+- Comunidad Gambas-es (https://gambas-es.org)
+-- Foro: Linux (https://gambas-es.org/forumdisplay.php?fid=9)
+--- Foro: Mundo Linux (https://gambas-es.org/forumdisplay.php?fid=10)
+--- Tema: ¿Como obtener el retorno de pkexec? (/showthread.php?tid=122)



¿Como obtener el retorno de pkexec? - kokodrilo - 04-10-2020

buenas

man pkexec

RETURN VALUE
       Upon successful completion, the return value is the return value of
       PROGRAM. If the calling process is not authorized or an authorization
       could not be obtained through authentication or an error occured,
       pkexec exits with a return value of 127. If the authorization could not
       be obtained because the user dismissed the authentication dialog,
       pkexec exits with a return value of 126.


como obtengo el retorno de este comando para tomar acciones en gambas?

la situacion es la siguientes supongamos que queremos ejecutar de gambas esto:

shell "pkexec ls"

salta ventana pidiendo contraseña, de ahi hay tres posibilidades

contraseña correcta y se ejecuta el codigo
cancelar
o contraseña incorrecta

pues bien necesito los retornos para poder tomar acciones según el caso


RE: ¿Como obtener el retorno de pkexec? - jsbsan - 04-10-2020

kokodrilo:

En principio con este codigo te envia la salida a una variable:

dim salidatxt as string
shell "pkexec ls" to salidatxt

Y ya, lo que tienes que analizar es "salidatxt"


En la wiki hay más información:
http://gambaswiki.org/wiki/lang/shell?nh

Y en mi blog hay un ejemplo, con exec y usando procesos:
https://cursogambas.blogspot.com/2014/04/hacer-front-end-comandos-de-gnulinux.html


RE: ¿Como obtener el retorno de pkexec? - kokodrilo - 04-10-2020

si eso esta bien, pero el comando real que quiero ejecutar no da salida de texto sino que es esto:

"pkexec pip3 install --force-reinstall youtube-dl"

incluso quería usarlo asi: Shell "pkexec pip3 install --force-reinstall youtube-dl" Wait

entonces como manejo eso, siendo que el usuario puede cancelar, no se... la veo complicada, tal vez deba buscar otra forma.