# [X] Cambio a vt7 cuando ya estén cargadas las X (abierto)

## aj2r

El título del tema ya lo dice casi todo, me gustaría saber si es posible que cuando lanzas las X no se produzca el cambio de terminal hasta que éstas estén cargadas. Esto me vendría bien ya que tengo un fbsplash al inicio, y modifiqué el script del xdm para que se cargue al mismo tiempo que los demás servicios en el arranque (aquí explico como hacerlo), lo que ocurre es que preferiría que se quedase en la vt1 mostrando el fbsplash y como carga el resto de servicios mientras las X se cargan en vez de mostrarme la famosa rejilla gris. Gracias.

----------

## LinuxBlues

En otras palabras, y si he entendido bien tu pregunta, quieres que xdm se comporte como un servicio en el nivel de ejecución default, en lugar de como boot. La respuesta es bien sencilla.

Porque cargarlo en background o con un, si y sólo si pasa a vt7, no obtendrías ni la más mínima diferencia a tenerlo en default en lugar de en boot.    :Wink: 

----------

## aj2r

No me he debido explicar bien. Lo que quiero saber es si es posible hacer que no cambie al terminal donde se están cargando las X hasta que ya estén realmente cargadas.

----------

## alexlm78

 *aj2r wrote:*   

> No me he debido explicar bien. Lo que quiero saber es si es posible hacer que no cambie al terminal donde se están cargando las X hasta que ya estén realmente cargadas.

 

Creo que tu problema es cuestion de tu gestor de ventanas no de las X, me explico, realmente las X puras son muy rapidas de cargar, el verdadero trabajo es cuando cargas un gestor de ventanas como WindowMaker, Gnome o KDE, es donde se tarda encargar las confs, applerts y todo lo que tienes en tu desktop.

Ahora por lo que entiendo lo q quieres es que no cambie de la consola a la vt7 hasta que este cargado tu Gnome (asumo que usas gnome) pero alli esta el problema las X toman control de la vt7 cuando terminan de cargar que es bastante rapido pero luego le dan el control a tu gestor, Gnome en este ejemplo.

Entonces tiempre vas a tener las X cargadas muy rapido aunque tu gestor se tarde media vida en cargar.

Por otro lado debe de haber una forma de no cambian a la vt7 sino voluntariamente, dejame ver que averiguo y te cuento.

----------

## LinuxBlues

aj2r entendí tu pregunta a la perfección. Lo que ocurre es que si añades xdm a boot, estás quebrantando todas las especificaciones de SysV. No podrías definir un nivel de arranque "text" como tengo yo, además del default para las X, por ejemplo. Es decir, no veo otra cosa que inconvenientes a tener xdm en boot.

La respuesta a tu pregunta la tienes en

```
man inittab
```

Échale un vistazo a los niveles bajo demanda (A, B y C),aunque claro, tener xdm en boot impide hacer uso de ellos, por tanto la única vía de escape que encuentro es que recurras a bootwait y para eso, no obtendrás ni la más mínima diferencia, como ya dije, a tenerlo en default, porque espera a que concluya todo el init.

Tu sistema está haciendo, únicamente, lo que le has pedido que haga... No respetar SysV Init Runlevels.

----------

## Ferdy

El init de Gentoo no es SysV.

Saludos.Ferdy

----------

## LinuxBlues

 *Ferdy wrote:*   

> El init de Gentoo no es SysV.
> 
> 

 

Realmente no, aparenta ser una verdadera chapuza. Si ahora me vienes y me dices que se basa en el init de BSD o slackware ya es cuando me desternillo.

----------

## Ferdy

 *Quote:*   

> Realmente no, aparenta ser una verdadera chapuza. Si ahora me vienes y me dices que se basa en el init de BSD o slackware ya es cuando me desternillo.

 

¿ Una verdadera chapuza ? Me gustaría que argumentaras lo de verdadera chapuza. Me gusta muchísimo más que el SysV sin lugar a dudas. Por otro lado que el SysV no es nada que haya que seguir, ningun estandar ni nada por el estilo.

Saludos.Ferdy

----------

## LinuxBlues

 *Ferdy wrote:*   

> Me gustaría que argumentaras lo de verdadera chapuza.

 

1) ¿En qué otra distribución los runlevels 3 y 5 son una y la misma cosa, como ocurre en Gentoo?

2) Entra a un servidor gentoo, teclea lo que prefieras: init 1, telinit s ó S, init single... Si no se te cuelga vienes y nos cuentas por qué, dado que no está cubierto en la documentación (handbook). Aunque, no es complicado deducirlo: se necesitan añadir servicios a single, PERO, de acuerdo con man telinit, telinit s, ignora /etc/inittab, por tanto no tiene forma de saber que los servicios a ejecutar se encuentran en /etc/runlevels/single...  Comprobado: detiene los servicios y no inicia ni uno. Cuelgue del servidor; no realmente cuelgue, sigue funcionando, pero sin iptables, dado que sólo permanece activo lo que se encuentra en boot.

No sé si esto definirá "verdadera chapuza", pero desde luego si deja muy claro que se encuentra muuuy lejos de alcanzar la perfección   :Wink: 

----------

## Ferdy

 *Quote:*   

> 1) ¿En qué otra distribución los runlevels 3 y 5 son una y la misma cosa, como ocurre en Gentoo? 

 

Sigues sin entenderlo... no hay tal concepto en Gentoo.

 *Quote:*   

> 2) Entra a un servidor gentoo, teclea lo que prefieras: init 1, telinit s ó S, init single... Si no se te cuelga vienes y nos cuentas por qué, dado que no está cubierto en la documentación (handbook). Aunque, no es complicado deducirlo: se necesitan añadir servicios a single, PERO, de acuerdo con man telinit, telinit s, ignora /etc/inittab, por tanto no tiene forma de saber que los servicios a ejecutar se encuentran en /etc/runlevels/single... Comprobado: detiene los servicios y no inicia ni uno. Cuelgue del servidor; no realmente cuelgue, sigue funcionando, pero sin iptables, dado que sólo permanece activo lo que se encuentra en boot.

 

Hace tiempo te demostré que un problema similar que tenías no era limitación de la herramienta, si no de que no la usabas correctamente. Espero no tener que hacer lo mismo ahora.

He hecho un 'telinit 1' infinidad de veces en muchas máquinas y nunca 'se ha quedado colgado'. Lo que pasa es que hay que hacer las cosas bien... y entender cómo funcionan.

Saludos.Ferdy

----------

## pacho2

YO he hecho varias veces un telinit 1 y no me ha pasado nada. En cuanto a los runlevels 3 y 5 sólo decir que creo que los puedes modificar a tu gusto y hacerlos iguales o distintos. También puedes ir a mandriva (SysV) y hacer que el runlevel 3 y 5 sean iguales simplemente borrando el link que hace que se lancen las X en el runlevel 5. No me parece tan chapucero  :Smile: 

PD: Lo único que echo un poco de menos es no poder editar (quizás yo no se   :Embarassed:  ) tan fácilmente como en mandriva el orden en que se cargan los servicios. En mandriva depende de los nombres que le das a los links que apuntan a los scripts de /etc/init.d, pero en gentoo poarece (aunque no estoy seguro) que habría que "jugar" con las dependencias del los scripts de inicio.

Saludos

----------

## Ferdy

Si, los runlevels en Gentoo se ordenan por dependencias. Lo que no veo es por qué querrías cambiar el orden realmente...

Saludos.Ferdy

----------

## pacho2

Realmente no es una necesidad, por eso no le he dado mayor importancia  :Smile: . Lo que pasa es que en mandriva solía cambiar el nombre los los links (bastaba con cambiar el número con el que empezaban sus nombres) para cambiar el orden en el que se lanzaban servicios como alsa, gdm, y otras cosas. He de decir que el mandrake lo tengo un un PII a 250 MHz, y que, el uso que le doy es de X, de forma que hacía que se lanzasen las X y el sonido lo antes posible.

Como he dicho, no creo que sea malo que gentoo no use ese sistema, sólo exponía un cambio que noté  :Smile: 

Saludos

----------

## LinuxBlues

 *Ferdy wrote:*   

> Hace tiempo te demostré que un problema similar que tenías no era limitación de la herramienta, si no de que no la usabas correctamente. Espero no tener que hacer lo mismo ahora.
> 
> 

 

Te estás confundiendo de persona... Pero de todas formas, admito que estoy limitado a los man, si lo que dicen no se cumple en Gentoo, otro motivo más para sentirme defraudado por Gentoo.

 *pacho2 wrote:*   

> Lo único que echo un poco de menos es no poder editar (quizás yo no se) tan fácilmente como en mandriva el orden en que se cargan los servicios. En mandriva depende de los nombres que le das a los links que apuntan a los scripts de /etc/init.d
> 
> 

 

Que yo sepa, por las pruebas que he hecho, el orden de inicio de los scripts en Gentoo es alfabético, aunque sólo se permiten caracteres y no números en los mismos, exceptuando que tengan dependencias. A no ser que llegue Ferdy y le de otra vuelta a la tortilla   :Smile: 

----------

## pacho2

No se si he entendido bien, entonces, si el servicio no tiene dependencias, rige el orden alfabético ¿no?

Saludos

PD: Tampoco creo yo que Ferdy haya dado ninguna vuelta  la tortilla   :Confused: 

----------

## LinuxBlues

Yo tampoco, era con cierta ironía, dado que si en gentoo haces un telinit 1 te pasas a tty2 y haces login como usuario normal, entras perfectamente   :Laughing: 

Extacto, rige el orden alfabético, por lo que tengo entendido, exceptuando local, este, tanto en SysV como en Gentoo, se inicia después de todos los servicios, sin tener dependencias....

----------

## pacho2

Gracias por la información  :Smile: 

Saludos

----------

## Ferdy

 *Quote:*   

> Te estás confundiendo de persona... Pero de todas formas, admito que estoy limitado a los man, si lo que dicen no se cumple en Gentoo, otro motivo más para sentirme defraudado por Gentoo. 

 

Si las man 'mienten', los bugs te esperan  :Smile: 

Acerca del orden, no es alfabético. Es por dependencias y luego probablemente alfabético. (no lo he comprobado y tampoco creo que sea muy relevante).

Saludos.Ferdy

----------

## pacho2

Más o menos lo que se ha comentado, primero por dependencias y luego por orden alfabético  :Smile: 

Por cierto, en cuanto a los manuales quisierea decir que, al menos en mi caso, el manual del comando passwd está anticuado y las opciones que indica no concuerdan en absoluto con la versión actual. Sin embargo la página de man que venía con mandriva sí que era correcta. No he enviado nada a los bugs.gentoo.org porque hace mucho que no actualizo el sistema, de forma que no podría descartar que se hubiese resuelto, ¿os pasa lo mismo?

Saludos y gracias  :Smile: 

----------

## LinuxBlues

La última versión de man-pages se actualizó el día 20, a la 2.17

Lo cierto es que las man-pages se actualizan bastante a menudo. Por lo que no sé si tendrás tarea cron para hacer un makewhatis, de no ser así:

```
# makewhatis
```

O sólo tendrás en la base de datos los manuales antiguos.

A todo esto, he hecho mi Gentoo SysV, porque no me gusta iniciar servicios como gpm en runlevel 5 o lo que vosotros llamais default, sólo inicio los servicios que necesito en cada caso y, gpm, por ejemplo, solo está en runlevel 3, el de modo texto (para mí) y el que vosotros usais para todo   :Wink:    A menos con mi sistema el orden, excepto dependencias (excepción que hace que se cumpla la regla), es alfabético.

----------

## pacho2

 *LinuxBlues wrote:*   

> La última versión de man-pages se actualizó el día 20, a la 2.17
> 
> Lo cierto es que las man-pages se actualizan bastante a menudo. Por lo que no sé si tendrás tarea cron para hacer un makewhatis, de no ser así:
> 
> ```
> ...

 

El makewahatis lo corro con un cron a las 3 de la tarde. El problema sólo lo tengo con el man passwd.

Felicidades por lo del arranque, cada uno que lo ponga a su gusto  :Smile: 

Saludos

----------

## aj2r

No encuentro forma de hacerlo   :Crying or Very sad:  De momento para que quede un poco "mejor" he editado el fichero /etc/X11/gdm/gdm.conf 

```

[server-Standard]

name=Standard server

command=/usr/bin/X -audit 0 -br -novtswitch //He añadido -br -novtswitch

flexible=true

```

-br hace que en vez de mostrar la típica rejilla gris el fondo sea negro

-novtswitch hace que el cambio de vt no se haga inmediatamente

----------

## LinuxBlues

Realmente sigo sin comprender que pretendas obtener en boot lo mismo que obtendrías en default. Para tratar de hacerlo le he dado la vuelta a la pregunta... He pensado en RHE que uso en el trabajo, o en Fedora y ellos lo que hacen con el parámetro rhgb en el kernel es iniciar las X antes de nada para iniciar/mostrar todos los servicios en segundo plano desde la pantalla gráfica... Como eso es imposible con Gentoo, ponerle un depend a todos los servicios con respecto a xdm, tampoco es lo que quieres lograr... y ponerle un depend a xdm con respecto al último servicio que se cargue equivaldría a poner xdm en default (ojo, no te olvides de local.start, quizá sería un depend de este). Ponlo en default y solucionas tu problema... Esque imagina que le pones un depend al fsck en xdm, menudo desastre.... Los de RHE pasan a modo texto si hay algún problema con el sistema de ficheros al vuelo.

Soy incapaz de pensar en alguna forma de obtenerlo con Gentoo, quizá alguien sepa como hacerlo; yo pondría xdm en default y adiós al pantallazo que causa tus problemas...

----------

## pacho2

No sé si he entendido bien. Yo he entendido que quieres pasar al vt7 SÓLO cuando el gdm esté completamente cargado, es decir, no quieres ver el "reloj" sobre el fondo negro que aparece mientras se acaba de cargar el gdm, ¿no?. Si es eso lo único que te puedo decir es que eso es algo más relacionado con la configuración del display manager que uses que con los scripts de arranque

No puedo decirte más   :Sad: 

Saludos

PD: Probé tu "truco" para lanzar las X antes de nada y, aunque sí se lanzan mucho antes, hace que me falle algo al arrancar lo de las fuentes de la consola (?), algo que me a extrañado. Parece mentira que sea tan complicado hacer en gentoo que arranquen las X al principio cuando en madriva, por ejemplo, se puede hacer cambiando el nombre de un link. Supongo que se me pasó hacer algo.

----------

## aj2r

 *pacho2 wrote:*   

> No sé si he entendido bien. Yo he entendido que quieres pasar al vt7 SÓLO cuando el gdm esté completamente cargado, es decir, no quieres ver el "reloj" sobre el fondo negro que aparece mientras se acaba de cargar el gdm, ¿no?. Si es eso lo único que te puedo decir es que eso es algo más relacionado con la configuración del display manager que uses que con los scripts de arranque
> 
> No puedo decirte más  
> 
> Saludos
> ...

 

Si, has entendido bien    :Smile: 

De tu problem ¿Qué tienes puesto en el depend de /etc/init.d/xdm?

----------

## pacho2

Gracias por tu interés. Tengo esto

```
depend() {

        use xfs hotplug

}
```

Saludos y gracias

----------

## aj2r

Pues si que es extraño, ¿podrías poner aquí tu "rc-status -a"?

----------

## pacho2

Perdona que alguna línea no haya quedado bien:

```

Runlevel: [36;01mboot[0m

 keymaps                                                                                                                                             [34;01m[ [32;01mstarted [34;01m][0m

 clock                                                                                                                                               [34;01m[ [32;01mstarted [34;01m][0m

 localmount                                                                                                                                          [34;01m[ [32;01mstarted [34;01m][0m

 coldplug                                                                                                                                            [34;01m[ [32;01mstarted [34;01m][0m

 modules                                                                                                                                             [34;01m[ [32;01mstarted [34;01m][0m

 hostname                                                                                                                                            [34;01m[ [32;01mstarted [34;01m][0m

 net.lo                                                                                                                                              [34;01m[ [32;01mstarted [34;01m][0m

 urandom                                                                                                                                             [34;01m[ [32;01mstarted [34;01m][0m

 checkroot                                                                                                                                           [34;01m[ [32;01mstarted [34;01m][0m

 rmnologin                                                                                                                                           [34;01m[ [32;01mstarted [34;01m][0m

 hotplug                                                                                                                                             [34;01m[ [32;01mstarted [34;01m][0m

 bootmisc                                                                                                                                            [34;01m[ [32;01mstarted [34;01m][0m

 checkfs                                                                                                                                             [34;01m[ [32;01mstarted [34;01m][0m

 alsasound                                                                                                                                           [34;01m[ [32;01mstarted [34;01m][0m

Runlevel: [36;01mdefault[0m

 gpm                                                                                                                                                 [34;01m[ [32;01mstarted [34;01m][0m

 xdm                                                                                                                                                 [34;01m[ [32;01mstarted [34;01m][0m

 dbus                                                                                                                                                [34;01m[ [32;01mstarted [34;01m][0m

 famd                                                                                                                                                [34;01m[ [32;01mstarted [34;01m][0m

 acpid                                                                                                                                               [34;01m[ [32;01mstarted [34;01m][0m

 local                                                                                                                                               [34;01m[ [32;01mstarted [34;01m][0m

 vixie-cron                                                                                                                                          [34;01m[ [32;01mstarted [34;01m][0m

 domainname                                                                                                                                          [34;01m[ [32;01mstarted [34;01m][0m

 metalog                                                                                                                                             [34;01m[ [32;01mstarted [34;01m][0m

 vmware                                                                                                                                              [34;01m[ [32;01mstarted [34;01m][0m

Runlevel: [36;01mnonetwork[0m

 local                                                                                                                                               [34;01m[ [32;01mstarted [34;01m][0m

Runlevel: [36;01msingle[0m

Runlevel: [36;01mUNASSIGNED[0m

 consolefont                                                                                                                                         [34;01m[ [32;01mstarted [34;01m][0m

 crypto-loop                                                                                                                                           [34;01m[ [33;01m  off [34;01m][0m

 cupsd                                                                                                                                                 [34;01m[ [33;01m  off [34;01m][0m

 esound                                                                                                                                                [34;01m[ [33;01m  off [34;01m][0m

 gkrellmd                                                                                                                                              [34;01m[ [33;01m  off [34;01m][0m

 hald                                                                                                                                                  [34;01m[ [33;01m  off [34;01m][0m

 hddtemp                                                                                                                                               [34;01m[ [33;01m  off [34;01m][0m

 hdparm                                                                                                                                                [34;01m[ [33;01m  off [34;01m][0m

 lircd                                                                                                                                                 [34;01m[ [33;01m  off [34;01m][0m

 lircmd                                                                                                                                                [34;01m[ [33;01m  off [34;01m][0m

 lm_sensors                                                                                                                                            [34;01m[ [33;01m  off [34;01m][0m

 monit                                                                                                                                                 [34;01m[ [33;01m  off [34;01m][0m

 mysql                                                                                                                                                 [34;01m[ [33;01m  off [34;01m][0m

 nas                                                                                                                                                   [34;01m[ [33;01m  off [34;01m][0m

 net.eth0                                                                                                                                              [34;01m[ [33;01m  off [34;01m][0m

 netmount                                                                                                                                              [34;01m[ [33;01m  off [34;01m][0m

 nscd                                                                                                                                                  [34;01m[ [33;01m  off [34;01m][0m

 numlock                                                                                                                                               [34;01m[ [33;01m  off [34;01m][0m

 portmap                                                                                                                                             [34;01m[ [32;01mstarted [34;01m][0m

 postfix                                                                                                                                               [34;01m[ [33;01m  off [34;01m][0m

 powertweakd                                                                                                                                           [34;01m[ [33;01m  off [34;01m][0m

 pwcheck                                                                                                                                               [34;01m[ [33;01m  off [34;01m][0m

 q3ded                                                                                                                                                 [34;01m[ [33;01m  off [34;01m][0m

 rgpsp                                                                                                                                                 [34;01m[ [33;01m  off [34;01m][0m

 rsyncd                                                                                                                                                [34;01m[ [33;01m  off [34;01m][0m

 saslauthd                                                                                                                                             [34;01m[ [33;01m  off [34;01m][0m

 sensord                                                                                                                                               [34;01m[ [33;01m  off [34;01m][0m

 spamd                                                                                                                                                 [34;01m[ [33;01m  off [34;01m][0m

 sshd                                                                                                                                                  [34;01m[ [33;01m  off [34;01m][0m

 timidity                                                                                                                                              [34;01m[ [33;01m  off [34;01m][0m

 verynice                                                                                                                                              [34;01m[ [33;01m  off [34;01m][0m

```

Saludos y muchas gracias  :Smile: 

----------

## aj2r

Creo haber encontrado tu problema   :Cool:  No sé por qué no tienes el servicio consolefont asignado al runlevel boot, de hecho no lo tienes asignado a ninguno que es un tanto raro. A ver si es eso   :Smile: 

----------

## pacho2

Era eso  :Smile:  Muchas gracias  :Smile: 

De todos modos he tenido que cambiar una cosa, en lugar de poner

```
/etc/X11/startDM.sh
```

he puesto 

```
gdm (que es el que utilizo)
```

ya que, si pongo la línea del startDM.sh no me muestra los servicios que se arrancan (aunque estos se arrancan no veo si lo hacen o no en la consola). Supongo que es algo de script startDM.sh, pero poniendo esta chapucilla me ha bastado  :Wink: 

Saludos y gracias  :Smile: 

----------

