LinuxParty
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.
-
X
- Viendo remotamente las X11, usando SSH - Cómo Ver y Controlar Gráficos X11 en Linux Usando SSH
- Ejecutar aplicaciones gráficas de Linux, en local, con privilegios de root y otros usuarios
- Edición de Imágenes, Paint Shop Pro X 11.11
- Una distribución Linux Live para vivir la experiencia de Wayland
- Shell Script para detectar modo gráfico en Linux (X11) y se ejecuta
- Darling: ejecuta binarios OS X en Linux
- Modificar xorg.conf para un mejor Funcionamiento.
- Acceso a un Escritorio Remoto, con KDM y GDM.
- Red Hat investiga el Nuevo servidor X en ciernes, Wayland
- Ubuntu con problemas en su sistema gráfico
- Cómo lanzar aplicaciones Windows desde linux, directamente
- Cómo llenar la pantalla gráfica en Linux para XWindow
- Nueva Versión de: xconfig 2.1.0
- Usando de VMware Player para probar distribuciones del linux
- Los programas de intercambio de archivos llegan al teléfono