boton de apagado en Gambas2 (solucionado)

Imagen de itxogane
0 puntos

Hola,
soy novato en Gambas2 y estoy intentando hacer un boton de apagado con el comando:

SHELL "sudo shutdown -h now"

Pero al ejecutar la aplicación y pulsar el botón me sale el siguiente error:

sudo: no tty present and no askpass program specified

Mirando por ahí creo que quiere pedir contraseña por terminal pero no hay terminal.
Recomiendan modificar una linea del archivo sudoers que yo creo que no tengo:

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL) ALL
# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Agradecería cualquier ayuda.
Saludos

Imagen de Jose Luis 1320
+1
-1
-1

Debes tenerlo, de otra manera no tendrías forma de usar sudo.

This file MUST be edited with the 'visudo' command as root.

sudo visudo ó mejor:

sudo su 
visudo

y lo podrás editar.

+1
-1
-1

"Yo sólo se que no se nada"
-Sócrates, filósofo griego.
-Normas del foro

Imagen de itxogane
+1
0
-1

lo siento, me doy cuenta de que me he explicado mal.
A lo que me referia con que no tengo no es al archivo sudoers sino a una linea de éste que comentan en la mayoría de soluciones.
La línea en cuestión es:

Defaults requiretty

y la solución que encuentro es cambiarla a:

Defaults !requiretty

o tambien

Defaults:username !requiretty

En el primer post está mi archivo /etc/sudoers
Por si vale la información, uso Ubuntu 10.04

+1
0
-1
Imagen de itxogane
+1
0
-1

He encontrado una solución con el siguiente código:

DIM strShellResponseString AS String
SHELL "sudo shutdown -r now"
SHELL "sudo -S chmod 0777 ~/myfilename << EOF\npassword\nEOF" TO strShellResponseString

+1
0
-1