Ejecutar como root una aplicación gráfica

Enviado por Alex el Lun, 03/12/2007 - 17:06

Posted in kde | es | blog de Alex | agregar nuevo comentario | 1082 lecturas »

En unos ejercicios para la universidad me han hecho probar un analizador de red. Recomendaban WireShark (por ser «de dominio público», lo que es erróneo porque su licencia es GNU GPL). Al instalarlo, he visto que se recomendaba el paquete gksu, pero como éste a su vez tenía otras dependencias, no lo he instalado. Error por mi parte, porque no he conseguido recordar como arrancar un programa como root desde la consola (que no es inmediato, ya que la aplicación de root, debe conectarse a un servidor X arrancado por un usuario), y una búsqueda rápida no lo ha resuelto (iba con prisa).

Vuelta al instalador de paquetes, y a añadir gksu. Entonces la sorpresa es que no hay forma de cambiar a root una vez la aplicación está arrancada (de nuevo, lo he buscado de forma rápida, así que quizás me equivoco). No entiendo como una aplicación que apenas tiene sentido sin ser superusuario, no puede cambiar sobre la marcha. En fin, para variar, KDE me ha resuelto las deficiencias de otras aplicaciones (o mi propia incapacidad para encontrar las cosas). O bien kdesu desde la consola, o bien el diálogo ejecutar programa son la forma para vagos.

Diálogo de ejecutar orden de KDE cambiando usuario

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.
Sáb, 08/12/2007 - 12:55

A ver. Si quieres arrancar

Visitante (no verificado) Says:

A ver.
Si quieres arrancar un programa en modo root tienes la sempiterna posibilidad de hacer un su: su root.

Cuando estas en modo gráfico (X) y por la configuración del servidor no permite levantar ventanas de otro usuario en la sesión X actual puedes hacer un xhost 127.0.0.1 o un xhost + si sabes que en remoto no hay posibilidades de acceso a las X.

Este sistema es bastante socorrido en muchas ocasiones.

En mi caso particular siempre ejecuto "yakuake" que es como una xterm que puedes plegar y desplegar pulsando F12 y a través de la cual suelo levantar algunos programas de los cuales quiero conocer la salida por consola.

Si he de ejecutar algo como root hago pues (con yakuke):

F12
xhost 127.0.0.1 (o localhost o la dirección que quieras)
su root

y ya tengo un terminal donde ejecutar los comandos de administración de mi sistema como root donde ir viendo que sucede...

Si se me ocurre levantar un programa que necesita de las X como root pues lo tecleo ahí y sin problemas, por ejemplo:

krusader &

Dependiendo del sistema gestor que utilices para manejar los paquetes de tu distribución , sea .tgz, .rpm .deb los construibles de gentoo o cualquier otro en todas ellos existe la posibilidad de hacer creer a la base de datos que los gestiona que cierto paquete está instalado.

Por lo cual a la hora de instalar un programa del cual sabes que no necesariamente necesita de cierto programilla para funcionar correctamente esquivas las dependencias que no te interesan.

Por ejemplo con la gestión .rpm puedes acceder a manipular la base de datos con el flag:
--justdb
O sea que puedes insertar o quitar paquetes de la base de datos sin necesariamente instalarlos o desinstalarlos en realidad.

¿Para que sirve?

Pues por ejemplo para conservar un driver muy antiguo de una impresora que solo funciona para cierta versión de cups pero que positivamente sabes que funciona con todas pues solo inserta un archivo ppd de impresoras (y alguna cosa mas que no interfiere en el sistema).

Entonces el tal driver de esa impresora lo "desinstalas" de la base de datos y nunca más, al actualizar el sistema, o bien desinstalará el driver en cuestión o bien te tocará las narices con preguntas que no quieres que te hagan.

La situación inversa es la de un paquete (como gtksu) que no necesitas porque o bien ya tienes otra herramientas (en KDE) o bien lo haces directamente con su, sudo o lo que sea.

En este caso insertas el paquete en cuestión en la base de datos para resolver dependencias y que no moleste a la hora de actualizar o instalar programas que puedes arrancar mediante otros métodos.

Con la manipulación de bases de datos de paquetes se pueden hacer muchas cosas, porsupuesto cargarte el sistema de dependencias... y el sistema completo.

Dom, 09/12/2007 - 11:37

Gracias, pero...

Alex Says:

En primer lugar, gracias por el comentario, y por intentar aportar algo más. Pero en segundo lugar, decirte que creo que te has complicado en exceso para lo que yo estaba comentando.

No mencioné el xhost en el texto de forma explícita, pero lo usé. Lo usé, y no funcionó, porque siempre uso su con el guión (-) como parámetro, así que no se heredan las variables de entorno, y cuando ejecutas el xhost, no encuentra el display (porque, lógicamente, no está establecida la variable DISPLAY). La solución seguramente sea tan sólo establecer esa variable. Pero la moraleja de esta historia, es que ni lo recuerdo, ni fue necesario, porque con usar el diálogo de ejecutar programa de KDE, me bastó.

Y sobre lo de la base de datos de RPM o DPKG, pues muy bien, pero no sé que tiene que ver con todo esto. :)

Yo dije que gksu estaba recomendado, en el sentido de del campo Recommends, así que aptitude automáticamente lo añadió, pero corregirle para que no lo haga, es cuestión de una sola pulsación de tecla. Esos apaños en la base de datos son lo último que haría en la vida con mi sistema. Antes recompilaría el paquete (y sólo si tengo la seguridad de que sé lo que estoy haciendo mejor que el mantenedor del mismo, y contadas veces será así).

Mié, 16/01/2008 - 10:52

Buuuuuffff

Carlos (no verificado) Says:
Menudo follón, para ejecutar algo como root en KDE es tan sencillo como escribir "kdesu comando" en la misma ventana de ejecutar en la que puedes activar el usuario con que quieres ejecutarlo :)
Mié, 16/01/2008 - 11:53

Lo sé, lo sé

Alex Says:

Lo sé, lo sé. Lo bueno, y lo que simplemente quería explicar aquí, era que estaba muy embobado, y que no me acordaba de ninguna manera fácil y rápida, pero que igualmente pude hacerlo tirando de lo primero que se me ocurrió. Conclusión: que KDE me gusta. :-D

Opciones de visualización de comentarios

Seleccione la forma que desee de mostrar los comentarios y haga clic en «Guardar opciones» para activar los cambios.