En ocasiones necesitamos ejecutar determinada tarea con permisos de usuario root p.e. arrancar determinado servicio como web o de base de datos. Desgraciadamente cuando agregamos un lanzador en nuestro escritorio este se ejecutara con los permisos del usuario que le haga clic en el lanzador en cuestión.

Crear un lanzador

Bien imaginemos que queremos ejecutar el siguiente script con permisos de usuario root:

/bin/mi_script.sh

Para esto vamos a crear un lanzador con el comento gnome-desktop-item-edit como vemos a continuación:

 #Creando lanzador en el escritorio
gnome-desktop-item-edit --create-new ~/Escritorio/

Esto nos debería de ejecutar una ventana similar a la que se muestra a continuación:

 

Creador de lanzadores

Credor de lanzadores

Este comando básicamente nos genera un lanzador el cual no es otra cosa que un archivo de texto que contiene la información de la aplicación a ejecutar cuando le damos clic, para mayor información del formato consulte:

https://developer.gnome.org/integration-guide/stable/desktop-files.html.es

Agregando login root al lanzador

Una vez que tengamos abierta la ventana de la configuración agregamos lo siguiente en el campo de comando:

gksudo bash /bin/mi_script.sh

Con esto estamos diciendo que el comando bash /bin/mi_script.sh sera ejecutado con permisos de usuario root por medio del comando gksudo el cual es una versión gráfica del comando sudo, a continuación se ilustra la imagen:

lanzador_con_gksudo

Notas:

  • El comando gksudo funciona para gnome para kde puedes ocupar el kdesudo.
  • Para tener disponible el comando gksudo debes de instalar previamente gnome-panel.

Fitorec

Me gusta la programación, me fascina el software libre, mis lenguajes preferidos son PHP, JavaScript, Python y Bash (aunque me gusta programar en casi cualquier lenguaje), en sistemas operativos me gusta GNU/Linux.

Más Entradas - Website

Sígueme:
TwitterGoogle PlusYouTubeDelicious

Sin Comentarios

Puedes ser el primero en comentar.

Deja un comentario

Por favor, introduzca su nombre. Please enter an valid email address. Por favor, introduzca un mensaje.