LinuxParty

Ratio: 4 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio desactivado
 

También le puede interesar:


Ejecutar una aplicación Linux remota (gráfica inclusive) en otro ordenador como otro usuario


Si en el artículo anterior explicábamos los permisos, con este truco no habrá que configurar nada, las aplicaciones que usaremos se encargarán de ello.

En ocasiones, tenemos que estar en otra sesión de usuario, pero queremos ejecutar aplicaciones gráficas como superusuario o como otro usuario (el nuestro, por ejemplo estando en una sesión distinta). La mayoría de las personas abrimos una terminal, y con el comando sudo o con el comando su, ejecutan la aplicación, está bien, pero esta no es la forma más correcta de hacerlo además de que presenta un problema si por ejemplo quieres crear un lanzador que ejecute un programa como root...

A continuación voy a exponer varias formas de ejecutar aplicaciones gráficas como root.

Con los comandos sudo o su

Para ejecutar un programa (gedit por ejemplo) con su o con sudo con permisos de root se abre un terminal y se escribe lo siguiente:

Con el comando sudo:

[usuario@localhost ~]$ sudo gedit

En el caso de que en vez de ser el usuario root el que ejecute el comando sea un usuario llamado pepe tendríamos que usar usar la directiva -u y como argumento el nombre del usuario. Ejemplo:

[usuario@localhost ~]$ sudo -u pepe 'gedit'

Con el comando su:

[usuario@localhost ~]$ su -c 'gedit'

Para que ejecute el comando como si fuera un usuario llamado pepe se usa la directiva -l y como argumento el nombre de usuario:

[usuario@localhost ~]$ su -l pepe -c 'gedit'

Si queremos ejecutar estos comandos desde la miniCLI no funcionarán pero hay un pequeño truco para que funcione que se trata de ejecutar en la miniCLI el comando de nuestro emulador de terminal pasando el comando que quieres que ejecute. Para ver más claro a lo que me refiero pongo un ejemplo usando gnome-terminal. Si al comando gnome-terminal le pasamos el argumento –command=”gedit” abrirá un terminal y ejecutara gedit en ese terminal, sabiendo esto podemos ejecutar aplicaciones gráficas desde la miniCLI así:

gnome-terminal --command="su -l -c gedit"

Como mencioné anteriormente esta es la forma que yo más veo que utiliza la gente pero necesitas abrir un terminal y dependes de él para poder lanzar las aplicaciones. Para evitar la necesidad de abrir un terminal para ejecutar aplicaciones de forma gráfica existe los comandos gksu, kdesu y beesu.

gksu, kdesu y beesu

Antes de escribir los comandos debemos saber qué comando es el que tenemos que usar. gksu se utiliza por lo general en el escritorio de gnome o xfce y kdesu se utiliza para el escritorio de kde. Luego existe beesu que se utiliza en las distribuciones de fedora.

Ahora que ya sabemos que comando debemos usar vamos a ver un par de ejemplos. Para ejecutar gedit como superusuario desde la miniCLI pulsamos la combinación de teclas ALT+F2 y escribimos:

En gnome o xfce:

gksu gedit

En kde:

kdesu gedit

(os lo recomiendo, es el más sencillo de los tres)

En fedora:

beesu gedit

Y para ejecutar un programa como un usuario llamado pepe se hace de forma muy similar en los tres comandos, se abre la miniCLI con ALT+F2 y se pasa la directiva -u y el nombre de usuario para gksu y kdesu y la directiva -l -P seguido del comando y el usuario en ese orden para beesu.

En gnome y xfce:

gksu -u pepe 'gedit'

En kdesu:

kdesu -u pepe 'gedit'

En fedora:

beesu -l -P 'gedit' pepe

Resumiendo

Ya hemos visto las formas que hay de ejecutar aplicaciones gráficas con permisos de administrado o de un usuario concreto pero debemos usarlos correctamente, esto quiere decir que para ejecutar aplicaciones gráficas la mejo

r opción es usar gksu, kdesu o beesu y para aplicaciones de terminal usar los comandos sudo o su.

Para más información de estos comandos se puede consultar las paginas man.

A modo de ejemplo.

Este, es mi script, que tengo en la sesión de mujer en mi caso en /home/maria/bin, que ejecuta mi firefox donde tengo mis favoritos, contraseñas y demás, sin la necesidad de tener que abandonar la sesión de mi mujer ni abrir ningún terminal (claro, he creado un acceso en el escritorio, con un lanzador)

#!/bin/bash
kdesu -u javier 'firefox'

 Bueno, espero que os sea de utilidad.

Pin It


Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política