# Gnome como root, Molesta ventanita

## diegoto

Que tal gente, como puedo eliminar el aviso de Gnome al cargar este como usuario root.

Cuando inicio Gnome me dice esta accediendo como root desea continuar

Saludos

----------

## achaw

No creo que esa ventana se pueda eliminar. Ya que, ES MUY INSEGURO USAR UN ENTORNO GRAFICO COMO ROOT, pero eso...ya lo sabes seguramente.

Saludos

----------

## JotaCE

 *achaw wrote:*   

> No creo que esa ventana se pueda eliminar. Ya que, ES MUY INSEGURO USAR UN ENTORNO GRAFICO COMO ROOT, pero eso...ya lo sabes seguramente.
> 
> Saludos

 

Me sacaste las palabras de la boca!

----------

## diegoto

Solo pregunte si se podía eliminar ya que debería poderse, si es asi como dices que no se puede sacar esta muyyyy mal hecho...

Yo uso el entorno grafico con el usuario que quiero aunque corra riesgo, es un problema mio.

Saludos

----------

## Inodoro_Pereyra

Seguro que se puede sacar, en el peor de los casos, desde el código fuente, pero que se puede se puede   :Very Happy: 

Paso de Gnome desde que lo conozco así que no tengo una solución para darte pero el que busca encuentra...

Salud!

----------

## achaw

 *diegoto wrote:*   

> Solo pregunte si se podía eliminar ya que debería poderse, si es asi como dices que no se puede sacar esta muyyyy mal hecho...
> 
> Yo uso el entorno grafico con el usuario que quiero aunque corra riesgo, es un problema mio.
> 
> Saludos

 

Por suspuesto, quizas tengas que hackear el codigo de fuente...saludos.

----------

## i92guboj

No es por ser pesado, pero si nos dices por qué quieres usar gnome como root (no se me ocurre motivo alguno para ello, de verdad), quizás podamos aconsejarte alguna alternativa que te convenza. Cuando decimos que no es buena idea no es por fastidiar jeje, es que es realmente peligroso si de verdad quieres conservar tu instalación y no tener que reinstalar cada dos semanas o meses.

----------

## JotaCE

 *diegoto wrote:*   

> Solo pregunte si se podía eliminar ya que debería poderse, si es asi como dices que no se puede sacar esta muyyyy mal hecho...
> 
> Yo uso el entorno grafico con el usuario que quiero aunque corra riesgo, es un problema mio.
> 
> Saludos

 

Sin comentarios.

----------

## Ark del KAOS

 *diegoto wrote:*   

> Yo uso el entorno gráfico con el usuario que quiero aunque corra riesgo, es un problema mio.

 Espero recordar esta frase por si algún día necesitas ayuda.  :Rolling Eyes: 

No me parece la mejor de las contestaciones.

----------

## Eleazar Anzola

 *Ark del KAOS wrote:*   

>  *diegoto wrote:*   Yo uso el entorno gráfico con el usuario que quiero aunque corra riesgo, es un problema mio. Espero recordar esta frase por si algún día necesitas ayuda. 
> 
> No me parece la mejor de las contestaciones.

  Solidario 100%, si es problema tuyo como dices entonces resuelvelo tu solo como tal y no pidas consejos que no quieres recibir.

----------

## pacho2

Al menos yo no sé si se podrá deshabilitar, pero usar comúnmente la cuenta de root gráfica no es nada recomendable :-/

----------

## JotaCE

Colega... por favor tu dejalo el sabe eso y como el mismo dijo

 *diegoto wrote:*   

> Yo uso el entorno grafico con el usuario que quiero aunque corra riesgo, es un problema mio.
> 
> Saludos

 

----------

## achaw

Amigos, calmemos un poco las aguas. Tampoco es para atacar tanto. Como dice diegoto, cada uno hace lo que quiere. Si me dan ganas de agarrar a masazos mi CPU, lo hago, porque es mio. No ataquemos porque no estamos de acuerdo. 

En cuanto al "problema" en concreto, podrias revisar ~/.gnome* y ~/.gconf, haciendo un poco "un trabajo de hormiga" por ahi encontras algo antes de el ultimo recurso...hackear...

Saludos

----------

## JotaCE

 *achaw wrote:*   

> Amigos, calmemos un poco las aguas. Tampoco es para atacar tanto. Como dice diegoto, cada uno hace lo que quiere. Si me dan ganas de agarrar a masazos mi CPU, lo hago, porque es mio. No ataquemos porque no estamos de acuerdo. 
> 
> Saludos

 

Creo que nuestro lenguaje es tan pero tan amplio que existen muchas formas de decir lo mismo. Por que encargarse de buscar la forma mas desagradable?

Aun más como dijo el Presidente Rodriguez Zapatero dijo : En un asunto podemos tener pocisiones total y completamente contrapuestas, sin embargo no es necesario entras en descalificaciones.

y si hablamos de libertad el Presidente Benito Juarez dijo :  "Entre los individuos, como entre las naciones, el respeto al derecho ajeno es la paz."

y como dijo el chapulin colorado : El que por su gusto es buey, hasta la coyunta lame.

y como dice mi tio Rosamel : no por mucho madrujar amanece mas tempreno

y como dice ....

----------

## diegoto

Perdon si me interpretaron mal o con algun tono malo, no fue mi intención solo pregunto y de buena manera. 

Lo que si no entiendo, porque no me permiten hacer lo que quiero hacer,,, mas en un sistema operativo libre, y que vos sos libre de hacer lo que quieras sobre el. Creo que mas de uno no entiende la filosofía de este SO y entorno gráfico ""LIBRE""

Saludos.

----------

## JotaCE

Estimado Diegoto 

Usted tiene muchas alternativas.

1.- Si no le gustó gnome 2.20 pues no lo use total es libre, 

2.- Si usted decide usar un software "libre" aun que en muchas ocaciones se confunde el significado que se le quiere dar a la palabra "libre", Usted esta en todo su derecho de hacerlo, total es libre

3.- Si el software en cuestion no tiene la configurabilidad que le quiere dar pues no lo use total es libre

4.- Usted estimado colega al igual que todos nosostros nacemos libres y somos libres de usar o no usar o dejar de usar de transformar de urgetiar de hacer todo lo que nos de nuestra regalada gana total........ somos libres

5.- Lo que no podemos hacer es llamarle la atencion a los colegas por que el desarrollador de un programa no lo hace tan configurable como usted desea.

6.- Tampoco podemos llamarle la atencion a los colegas por no saber responder o por tratar de darle un consejo de acuerdo a nuestra zana critica.

7.- Si usted quiere usar root para manejar su sistema.... hagalo.... total es libre.... sin embarga le aconsejamos que no lo haga pero la decision final es suya por que para eso....... precisamente es libre.

8.- Si usted prefirio hacer un usuario normal pues le felicito, asi su sistema estara mas seguro. si lo hace pues muy bien .... una vez mas es libre.

Los colegas y yo ya le dijimos que es lo que puede hacer para resolver su problema, si acepta nuestros consejos o no, muy su problema.... total ...... es libre!

----------

## diegoto

Pero yo necesitaba una simple explicación diciéndome "no che no se puede hacer eso.. fíjate si podes modificar el código."  en cambio no, solo para resaltar en el foro "No es recomendable usar como usuario root el entorno gráfico", Otra cosa no es recomendable para nada utilizar directamente el usario root.

Saludos.

----------

## pacho2

Quizás en los foros en inglés puedan darte alguna orientación, ya que hay más gente... :-/

----------

## i92guboj

Como dicen por ahí arriba, calmemos las aguas. No podemos pretender que nadie vea las cosas como nosotros simplemente porque pensamos que la forma que tenemos en nuestra cabeza es la forma correcta que las cosas deben tener.

diegoto preguntó algo, y lo preguntó adecuadamente. Si no tenemos respuesta, podemos aconsejar alternativas, pero no podemos pretender que él las acate simplemente porque es lo que pensamos que es correcto.

En lo que a mi se refiere, en este tipo de cuestiones, si sé la respuesta no la doy a la primera. Antes doy un rodeo como en el post de arriba, para comprobar que el sujeto en cuestión (en el caso, diegoto) entiende las implicaciones de lo que quiere hacer. Si compruebo que es así, entonces si se la respuesta la doy. Y si se estrella siempre será culpa suya completamente.

 *diegoto wrote:*   

> Perdon si me interpretaron mal o con algun tono malo, no fue mi intención solo pregunto y de buena manera. 
> 
> Lo que si no entiendo, porque no me permiten hacer lo que quiero hacer,,, mas en un sistema operativo libre, y que vos sos libre de hacer lo que quieras sobre el. Creo que mas de uno no entiende la filosofía de este SO y entorno gráfico ""LIBRE""
> 
> Saludos.

 

Aquí topamos con un problema parecido. Al igual que no podemos esperar que pienses como los demás, tampoco tú deberías esperar que los demás piensen como tú. Los programadores de gnome creen que esa es la forma correcta de hacer las cosas, y precisamente esa libertad que promulgas es la que les otorga el pleno derecho de hacer las cosas de la forma que creen más correcta. Incluso si comparto pocas afinidades con ellos (como es el caso), entiendo que tienen pleno derecho a poner dicho diálogo porque es su santa voluntad, y también tienen derecho a no dar opción para configurarlo, porque no quieren complicarse la vida, o por el motivo que tengan en mente.

Después de todo, concidirás conmigo en que gnome no es preisamente famoso por su flexibilidad ni por su configurabilidad. 

Dicho esto, tan solo se me ocurren dos cosas: o bien busca en el editor de configuración de gnome (gconf o como se llame), o bien busca en el código fuente y manda el diálogo a tomar viento. No debería ser complicado de parchear una vez localizado el punto donde se llama al diálogo (yo comenzacía con un egrep -r root * en el dir de los fuentes, y tiraría a partir de ahí).

----------

## diegoto

Gracias por tu comprensión, creo que fuiste uno de los pocos que me comprendió mi pregunta, pero bueno fue... no hay que armar tanto alboroto ! 

La verdad no quiero ponerme a buscar en el codigo, seguro que es una linea tonta getUID user == 0 { ... } pero no gracias, con este pequeño detalle de Gnome me da ganas de volver a mi KDE totalmente configurable para mi gusto.

Saludos!

----------

## i92guboj

Una idea que se me ocurrió.

Deberías identificar el programa al que pertenece dicho diálogo. Se me ocurre que es bastante probable que sea nautilus, que se carga para dibujar el escritorio. Si es así, bastará con que lo mates y guardes la sesión sin nautilus. De esta forma dejará de salir dicho diálogo al inicio. Todo suponiendo que sea nautiluls el que dibuja dicho diálogo, cosa que no se, es solo una suposición.

Por supuesto, de ser así, si no lo cargas no tendrás los iconos en el escritorio, aunque siempre puedes usar algo como idesk para suplir parcialmente dicha función.

----------

## Inodoro_Pereyra

 *diegoto wrote:*   

> Pero yo necesitaba una simple explicación diciéndome "no che no se puede hacer eso.. fíjate si podes modificar el código."  en cambio no, solo para resaltar en el foro "No es recomendable usar como usuario root el entorno gráfico", Otra cosa no es recomendable para nada utilizar directamente el usario root.
> 
> Saludos.

 

Te mataron negro...   :Very Happy: 

----------

## pacho2

 *diegoto wrote:*   

> 
> 
> La verdad no quiero ponerme a buscar en el codigo, seguro que es una linea tonta getUID user == 0 { ... } pero no gracias, con este pequeño detalle de Gnome me da ganas de volver a mi KDE totalmente configurable para mi gusto.
> 
> Saludos!

 

Usa el escritorio que quieras, nadie te lo impide

----------

## pacho2

La aplicación afectada es "gnome-session", y el cambio se puede ver en el Changelog:

```

2007-05-08  Vincent Untz  <vuntz@gnome.org>

        Add a warning when the user logs in as root.

        Fix bug #162960

        * main.c: (gsm_check_for_root): new, displays a dialog letting the

        user choose to continue or to quit the session if he's root

        (main): set the default window icon earlier, and check early if the

        user is root, use g_getenv() instead of getenv()

        * session-properties-capplet.c: (show_message_dialog): small change to

        use a macro value

```

De paso te dice los ficheros que se modificaron y el bug en el que se solicitó este cambio:

http://bugzilla.gnome.org/show_bug.cgi?id=162960

Debe ser algo en:

```
#define ROOTSESSION_RESPONSE_CONTINUE 1

#define ROOTSESSION_RESPONSE_QUIT 3

static gboolean

gsm_check_for_root (void)

{

  GtkWidget *dlg;

  gint       response;

  if (geteuid () != 0)

    return FALSE;

  dlg = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING,

                                GTK_BUTTONS_NONE,

                                _("This session is running as a privileged user"));

  gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dlg),

                                            _("Running a session as a privileged user should be avoided for security reasons. If possible, you should log in as a normal user."));

  /* FIXME: would be nice to have a icon for Continue */

  gtk_dialog_add_buttons (GTK_DIALOG (dlg),

                          _("_Continue"), ROOTSESSION_RESPONSE_CONTINUE,

                          GTK_STOCK_QUIT, ROOTSESSION_RESPONSE_QUIT,

                          NULL);

  gtk_dialog_set_default_response (GTK_DIALOG (dlg),

                                   ROOTSESSION_RESPONSE_QUIT);

  gtk_window_set_title (GTK_WINDOW (dlg), "");

  gtk_window_set_position (GTK_WINDOW (dlg), GTK_WIN_POS_CENTER);

  response = gtk_dialog_run (GTK_DIALOG (dlg));

  gtk_widget_destroy (dlg);

  return !(response == ROOTSESSION_RESPONSE_CONTINUE);

}

```

Pero yo no sé mucho más, así que ... :-/

----------

## pacho2

Este parche parece que hace lo que quieres:

```

--- gnome-session/main.c~       2007-12-16 16:11:31.113407140 +0100

+++ gnome-session/main.c        2007-12-16 16:11:31.113407140 +0100

@@ -159,7 +159,7 @@

   GtkWidget *dlg;

   gint       response;

 

-  if (geteuid () != 0)

+/*  if (geteuid () != 0) */

     return FALSE;

 

   dlg = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING,

```

Lo he aplicado y he recompilado gnome-session y ya no hay ventana (no sé si habrá alguna forma más elegante de resolverlo...)

Saludos

----------

## diegoto

Le comento como lo hice, bueno en realidad es lo que hace el patch que puso pacho2.

La linea de codigo de main.c

```

#define ROOTSESSION_RESPONSE_CONTINUE 1

#define ROOTSESSION_RESPONSE_QUIT 3

static gboolean

gsm_check_for_root (void)

{

  GtkWidget *dlg;

  gint       response;

  if (geteuid () != 0)

    return FALSE;

  dlg = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING,

                                GTK_BUTTONS_NONE,

                                _("This session is running as a privileged user"));

  gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dlg),

                                            _("Running a session as a privileged user should be avoided for security reasons. If possible, you should log in as a normal user."));

  /* FIXME: would be nice to have a icon for Continue */

  gtk_dialog_add_buttons (GTK_DIALOG (dlg),

                          _("_Continue"), ROOTSESSION_RESPONSE_CONTINUE,

                          GTK_STOCK_QUIT, ROOTSESSION_RESPONSE_QUIT,

                          NULL);

  gtk_dialog_set_default_response (GTK_DIALOG (dlg),

                                   ROOTSESSION_RESPONSE_QUIT);

  gtk_window_set_title (GTK_WINDOW (dlg), "");

  gtk_window_set_position (GTK_WINDOW (dlg), GTK_WIN_POS_CENTER);

  response = gtk_dialog_run (GTK_DIALOG (dlg));

  gtk_widget_destroy (dlg);

  return !(response == ROOTSESSION_RESPONSE_CONTINUE);

} 

```

La modifique y quedo de esta manera

```

#define ROOTSESSION_RESPONSE_CONTINUE 1

#define ROOTSESSION_RESPONSE_QUIT 3

static gboolean

gsm_check_for_root (void)

{

    return FALSE;

} 

Osea que siempre devuelva FALSO en caso de que este utilizando el usuario root. Y como lo veo ahorra crear la ventana de dialogo también
```

.

Muchas gracias gente!.. Saludos

----------

## i92guboj

Es lo bastante elegante  :Razz: 

Al comentar esa línea se fuerza la ejecución del "return FALSE;" de forma incondicional. Es decir, que aunque se rompa la condición impuesta (es decir, aún si el UID fuera igual a cero, y por tanto el usuario sería root) se saldrá de la función inmediatamente, sin ejecutar lo que hay bajo el "return FALSE;"

La forma más elegante de arreglarlo sería anular la llamada a la función. Ahora mismo aún se llama a la función, y la función se ejecuta, aunque sea para salir de forma inmediata. Lo cual es virtualmente inocuo, pero ocupa recursos (aunque sean pocos) de forma totalmente innecesaria. Muy probablemente la llamada a la función debe estar en algún punto dentro de la función main() en ese mismo fichero, aunque como no he mirado tampoco puedo decir mucho. Si alguien adjunta el fichero y lo pega en un pastebin o algo le puedo echar un vistazo. Aunque el parche de más arriba funcionará de todas formas, aunque no sea técnicamente óptimo  :Razz: 

----------

