viernes, 17 de julio de 2009

Problema - y solución - con la Terminal de root ( en Guadalinex v6)

En Ubuntu 9.04, y en su derivada Guadalinex V6, hay un problema con el terminal de root: En Aplicaciones-Herramientas del Sistema se puede activar una entrada que por defecto esta desactivada, y cuyo nombre es "Terminal de root " y cuyo comando es: sudo /usr/bin/x-terminal-emulator, pero al ejecutarse pide la contraseña, se la pones y no hace nada. Creando un lanzador en el panel ( o en el menú de aplicaciones ) con el comando "gksu gnome-terminal"  ( este es el comando que si que funcionaba en Guadalinex V4 y V5 para tener una terminal de root )  , el resultado es el mismo, pide la contraseña y no se abre.

== En principio, una solución para ejecutar una orden en modo root  es abrir una terminal en modo usuario y poner: sudo "comando" : por ejemplo para abrir nautilus con permisos de root: sudo nautilus. Con ello al principio se abre una terminal con permisos de usuario, pones sudo "comando", y te pide la contraseña de root, la pones y se abre el administrador de archivos con permisos de usuario.

Pero con esto has ejecutado un programa con permisos de root, pero no has entrado en una terminal de root, puesto que una vez ejecutado el comando sigues estando en una terminal de usuario, y si quieres ejecutar otro programa con permisos de root tendras que volver a poner sudo "comando".

== Otro método es abrir una terminal de usuario y escribir sudo su con ello, después de pedirte la contraseña y de que la pongas, te aparece el símbolo # indicativo de que ya estas en una terminal con permisos de root ( en vez del símbolo $ indicativo de que estabas en una terminal de usuario ), y puedes ejecutar varios comandos con permisos de root.

Pero misteriosamente, si creas una entrada en el menú de aplicaciones, con: gnome-terminal sudo su, no se abre ninguna terminal, por lo que este método no sirve para tener de modo permanente acceso a una terminal de root, sino que cada vez tienes que abrir una terminal normal y escribir luego sudo su, poner la contraseña y luego el comando.

== Pero si lo que se quiere es tener de forma permanente una entrada en el menú de aplicaciones para que al hacer click sobre ella se abra una terminal en la que te pida la contraseña, y ya estés en la terminal de root, sin tener que cada vez escribir comandos para ello: he averiguado dos métodos para abrir una terminal en modo root, creando una entrada para ello en el menú de aplicaciones: los comandos que hay que poner en el elemento "terminal de root" son:

--- método 1: comando:  gnome-terminal -e "sudo -i" ( ejecutado como Tipo: Aplicación ) :  este comando tiene dos partes:

gnome-terminal -e:  Ejecuta el argumento de esta opción ( el comando que va a continuación, en este caso sudo -i ) dentro de la terminal.
sudo -i: Mediante esta opción se ejecuta la shell especificada en la entrada /etc/passwd del usuario a nombre del cual se ejecutan los comandos; al ejecutarse los comandos via sudo a nombre de root, con sudo -i aparecerá la shell de root.

Al ejecutar en el Menú de aplicaciones el comando gnome-terminal -e "sudo -i" se abre una terminal, en la que te pide la contraseña de root, la pones y ya aparece el símbolo # indicativo de que estas en una terminal con permisos de root ( en vez del símbolo $ indicativo de que estas en una terminal de usuario ). Y ya puedes ejecutar todos los comandos con permisos de root que quieras.

--- Método 2: Comando: sudo -s , pero poniendo en Tipo: Aplicación en Terminal.

--- o  Método 3:  instalas el paquete konsole , y pones el comando gksu konsole : se abre una ventana en la que te pide la contraseña de root, y luego se abre konsole con permisos de root, con el símbolo #. Y ya puedes ejecutar todos los comandos con permisos de root que quieras.

----------------------------------

3 comentarios:

  1. Otra opción es ejecutar como root:

    # apt-get install nautilus-open-terminal

    (Después hay que reiniciar el equipo). Con esto consigues que, al hacer un click derecho dentro de una carpeta, aparezca la opción "Abrir terminal aquí..." en el menú emergente. Luego bastará con hacer:

    $ sudo su

    Te pedirá la clave, y ya estás como root en esa carpeta.

    Un saludo.

    ResponderEliminar
  2. ¿ Pero que pongo después de $sudo su ?? me pide una contraseña

    ResponderEliminar
  3. Jose:
    La contraseña que te pide es la que pusiste al instalar el sistema. La misma que tienes que poner, por ejemplo, cuando instalas o desinstalas un paquete/programa.

    ResponderEliminar

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.