Ejecutar Comandos Shell Desde Gambas Como Administrador


Objetivo: Ejecutar Comandos Shell Desde Gambas Como Administrador
Hola a todos.

Estoy empezando a programar gracias a vosotros.

De momento utilizo programas externos con shell y exec. Estoy aprendiendo aprogramar con el foro, no tenia ni idea hace dos meses.
Me parece un potencial increible el poder utilizar la shell de linux desde gambas.

El primer inconveniente que tengo es que algunos progrmas me piden la contraseña de root y no se como ponerla desde gambas.

Tambien me gustaria saber como puedo colocarme en otro directorio que no sea el home,
pues los comandos que utilizo con el exec o shell desde gambas me utilizan por defecto el directorio home.

por ejemplo:

shell "gksudo nautilus"
al ejecutarlo me pide la contraseña, y yo quiero que el programa la ponga automaticamente.

Se me ocurrio hacer un capturador de pantalla, y descubri el scrot pero necesito estar en la ruta donde quiero guardar la imagen si no
me la guarda en el home.

el comando que utilizo es el siguienhte: Shell "scrot imagen.jpg", esto me genera el archivo de la pantalla pero en el directorio home,
yo quiero que el usuario pueda guardar la imagen generada donde quiera.

scrot es un programa que instale, no viene por defecto en ubuntu.
E leido la documentacion de scrot y no me deja especificar la ruta en la linea de comando.

como puedo hacerlo?

Gracias por todo.
Felicitaciones por el foro tan increible que teneis.

última edición por Elena el Viernes, 27 Enero 2012, 19:05; editado 1 vez
Perfil MP  
Objetivo: Re: Ejecutar Comandos Shell Desde Gambas Como Administrador
Hola, bienvenida Elena

Citar:
El primer inconveniente que tengo es que algunos programas me piden la contraseña de root y no se como ponerla desde gambas.


Esto se hace poniendo:
echo contasena | sudo -S comando

Te dejo este código, que te pregunta la contraseña y ejecuta nautilus como root (si le das la contraseña correcta, claro)

dim contrasena as string
Dim sUsuario As String
Dim TU_USUARIO As String
contrasena = InputBox("Introduce contraseña del ROOT:")
Shell ("whoami") To TU_USUARIO
TU_USUARIO = Replace(TU_USUARIO, "\n", "")
'Voy a entrar como ROOT, y compruebo si estoy como ROOT
Shell ("echo " & contrasena & " | sudo -S whoami") To sUsuario
If sUsuario <> "root\n" Then
'el usuario no es root no puedo hacer nada como superusuario ROOT
Message.Info("No es la contraseña del root (" & sUsuario & ")")
Return "error en root"
Else
comando = "echo " & var.contrasena & "|sudo -S nautilus" 'Ejecuta nautilus como root
Shell comando Wait
endif



Citar:
yo quiero que el usuario pueda guardar la imagen generada donde quiera.


A ver si te vale este codigo (he separado las instrucciones del comando con punto y coma ";"
directorioQueQuiereUsuario="/home/elena/imagenes/"
comando="cd " & directorioQueQuiereUsuario & " ; scrot imagen.png"
shell comando

Objetivo: Re: Ejecutar Comandos Shell Desde Gambas Como Administrador
Elena escribió: [Ver mensaje]

scrot es un programa que instale, no viene por defecto en ubuntu.
He leido la documentacion de scrot y no me deja especificar la ruta en la linea de comando.


Hola

Pues has leído poco...

En esta página se resume el manual de scrot y se explica cómo mover la imagen capturada a otra ubicación en un solo comando:

http://www.itnewb.com/tutorial/Usin...ility-for-Linux

Está en inglés pero es muy sencillo. Mira la sección "Additional Operations" y la siguiente.

Básicamente emplea un switch para pasar el argumento con la ruta donde mover la captura, todo ello en bash.


Citar:
Additional Operations

You can also have another command or program run against the saved screen shot image scrot creates by using the -e switch. For example, the following command will move the saved image to another folder.

scrot operation.png -e 'mv $f /home/kurt/Desktop/'


Special Strings

$f image path/filename (ignored when used in the filename)
$n image name (ignored when used in the filename)
$s image size (bytes) (ignored when used in the filename)
$p image pixel size
$w image width
$h image height
$t image format
$$ prints a literal '$'




Saludos

Perfil MP  
Objetivo: Re: Ejecutar Comandos Shell Desde Gambas Como Administrador
Hola Elena,
Si quieres sacar un screenshot a tu pantalla a base de comando prueba con import, ademas de viene por defecto en linux. Te dejo un ejemplo :

import -pause 3 print_win.png # le indico que en 3 segundo me saque una foto del escritorio


Espero que te ayude.

Perfil MP  
Objetivo: Re: Ejecutar Comandos Shell Desde Gambas Como Administrador
justo estaba buscando esto, pero mi cuestion es que tengo:

En terminal: iwconfig

ejemplo y quiero ver la terminal, hay alguna forma de verlo?

última edición por Agamenon el Jueves, 02 Febrero 2012, 20:30; editado 1 vez
Perfil MP  
Objetivo: Re: Ejecutar Comandos Shell Desde Gambas Como Administrador
Agamenon escribió: [Ver mensaje]
justo estaba buscando esto, pero mi cuestion es que tengo:

En terminal: iwconfig

ejemplo y quiero ver la terminal, hay alguna forma de verlo?


q nabo, recién encontré un post, con xterm. bueno y si le pedis en el lanzador que el usuario se auto incie como root:

gksudo /usr/bin/programa.gambas

habria que editar algun archivo donde le dice al gambas que genere en lanzador como /usr/bin/programa.gambas. o tambien yo uso para lanzar script y que no se cierre:

sh -c "cd /usr/bin/ ;./programa.gambas ;sudo -s"

eso en terminal.

Perfil MP  
Objetivo: Re: Ejecutar Comandos Shell Desde Gambas Como Administrador
una duda, yo uso xterm, osea

EXEC ["xterm", "-hold", "-e", "comandos"]

esto me abre el terminal pero la idea es parar ese terminal (Ctrl+c), y copiar info del terminal para llenar un textbox en el form, pero de esta forma, hay que cerrar el terminal para poder pegar la información en el textbox, hay alguna forma que este quede abierto y pueda copiar las cosas y moverlas al textbox sin cerrarlo?

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.1135s (PHP: -15% SQL: 115%)
Consultas SQL: 25 - Debug off - GZIP Activado