inicio de las X: arbol de procesos (solucionado)

Temas sobre el sistema X Window; problemas de configuración, xorg, xfree86, implementación de XGL, efectos, etc. En este foro no se tratara los problemas con las X durante o inmediatamente después de la instalación de las distribuciones.
Responder
Avatar de Usuario
niky45
Forista Ancestral
Forista Ancestral
Mensajes: 9186
Registrado: Jue Abr 12, 2007 7:00 am
Ubicación: tras la pantalla (...)
Contactar:

inicio de las X: arbol de procesos (solucionado)

Mensaje por niky45 » Mar Ene 11, 2011 5:03 pm

el tema es, que como no tengo conexion en casa, no puedo entrar aqui, y claro, me sobra MUUCHO tiempo. Y claro, poco antes del "corte", me habia dado por los entornos ligeros, ideales sobre todo para mi pobre EEEPC. El caso es, que como tengo tanto tiempo, pues mientras estudiaba (en el descanso, hombre, en el descanso) (OFFTOPIC: SI, esto va a ser largo. tengo mono de escrinir... ), mientras estudiaba me dio por optimizarlo mas y hacer, dentro de lo razonable (estamos hablando de dwm), mas agradable la experiencia de usuario. y estuve haciendo unos scripts para el arranque automatico de las X, de screen, etc.

el resultado: un monton de llamadas a bash (a ver si va la imagen, porque la he subido desde el portatil y he copiado la direccion a mano)
http://yfrog.com/f/0420100920115001800x480scp/

explico la secuencia de arranque:

1. yo me logueo. De ahi, bashrc llama al X launcher, que comprueba si las X estan corriendo, y si no es asi las lanza.
X launcher llama a startx que llama a .xinitrc.

2. las X llaman a la terminal, que lanza bash. en ese momento, el bashrc llama a screen-launcher, que comprueba si screen esta corriendo y si no, lo lanza (nota: ese es exactamente el comportamiento que quiero, no quiero que me cree una sesion cada vez que abro una consola, ni tampoco que restaure la sesion antigua. )
3. screen abre lo que le he dicho que abra.

mi idea era que hiciera algo asi:
logueo - comprobacion de las X (SIN llamar antes a bash) - bash si las X estan corriendo, o .xinitrc (directamente) si no estan corriendo - X - consola que llama a screen - cosas de screen

con eso, la primera llamada a bash es la que hace screen (o como mucho, la que se produce si screen esta ya corriendo).

arbol:

Código: Seleccionar todo

init
`- procesos extra
`- /bin/login
        `- ~/X-launcher
                  `- .xinitrc
                         `- dwm
                          |     `-wterm
                          |           `- screen
                          |                    `-bash (y cosas de screen)
                          `- /usr/bin/X (server?) 
otra: NO me vale sustituir bash por otra shell. quiero llamadas directas.

bueno. si alguien tiene alguna idea, que la vaya pensando, que yo tardare seguramente una semana en volver.

Editado -- hace menos de un minuto --

bueno. pues hoy me aburria, asi que traigo la solucion por si hay algun fanatico mas de screen...

lo primero. el nuevo arbol de procesos:

Imagen

la "division" de screen es porque he hecho un detach y luego un attach, no porque haga cosas raras.

va. vamos a ello. ojo, trabajamos como root.

a) arranque automatico de las X: en el /etc/profile, al final:

Código: Seleccionar todo

[ -z "$(ps xa |grep /usr/bin/X | grep -v grep)" ] && startx 
#nota: la comprobacion parece que funciona, pero si alguien tiene problemas, que avise.
explicacion: en el login, lo primero que se lee es el /etc/profile. desde aqui, comprobamos que no esten corriendo las X, y las lanzamos.

b) arranque automatico de screen al abrir la consola: (que por supuesto se abre sola, pero eso es de otro sitio....) en el ~/.bashrc, despues del [-z "$PS1" ] && return : (esta al principio)

Código: Seleccionar todo

## if not runing screen, launch it and exit
[ -z "$STY" ] && screen -d -RR && return
explicacion:
- el [ -z "$STY" ] solo sera verdadero si screen esta corriendo (screen setea la variable)
- despues, si es cierto, lanzamos screen. el -d -RR es para que se conecte a una seison abierta. si buscas el comportamiento que pedia yo en el post anterior, solo quitalo y deberia funcionar.
- por ultimo, le decimos que salga (no es logico que siga cargando el resto del .bashrc....)

ideas desde aqui: http://fixunix.com/sun/119181-using-gnu ... shell.html
#446716
>>"Linux: the operating system with a CLUE... Command Line User Environment".
(seen in a posting in comp.software.testing)

[ DNFD ] - [ F4A ] - [ dotfiles ]
Responder
  • Similar Topics
    Respuestas
    Vistas
    Último mensaje