¿Cómo iniciar un programa después de que X ha comenzado?

18

Hay una pequeña aplicación llamada F.Lux que establece la temperatura de la pantalla según la hora del día. La versión de Linux es un poco espartana con solo una interfaz de consola, pero funciona perfectamente bien.

¿Dónde puedo invocarlo para que se inicie después de que X haya comenzado?

cyborg
fuente
1
¡ Amo f.lux! Probablemente me haya salvado los ojos en estos últimos años, ya no puedo soportar la informática sin él.
Phoshi
Software interesante, estoy descargando ahora para probar ..
Dentrasi
Esto es increíble, me evitará quejarme del brillo de la pantalla por la noche.
Corey
De hecho, una aplicación increíble.
Apache
este es un buen recurso sobre el tema lb.raspberrypi.org/forums/viewtopic.php?t=132637
Hernán Eche

Respuestas:

7

.xinitrc es el que debe usar si inicia su administrador de ventanas desde allí. Si usa KDE o GNOME, deberá agregar el programa a los servicios que se inician automáticamente al iniciar sesión.

stevenrjanssens
fuente
6

en primer lugar, lea 'man X':

 STARTING UP

   There are two main ways of getting the X server and an initial  set  of
   client  applications  started.   The  particular method used depends on
   what operating system you are running and whether or not you use  other
   window systems in addition to X.

aprenderá que, dependiendo de cómo aparezca el servidor x, se utilizan 2 scripts para iniciar las cosas después de que apareció el servidor x:

  • .xinitrc (para cuando inició la sesión a través de startx(que se activa xinit))
  • .xsession (para cuando inició sesión en su sistema a través de un administrador de pantalla (xdm))

(Yo personalmente ln -s .xinitrc .xsession, por lo que no importa, cómo saco el servidor x).

dependiendo de lo que use para iniciar sesión en su sistema (y creo que actualmente es gdm o kdm), las cosas son un poco diferentes. normalmente gdm y kdm (y otros administradores de pantalla también) ofrecen al usuario seleccionar la "sesión de usuario" o algo similar etiquetado. si elige esta "sesión de usuario", la mayoría de estos administradores de pantallas se iniciarán ~/.xsession. usted sería responsable de mostrar sus aplicaciones Y el entorno de escritorio / administrador de ventanas.

La otra solución posible es descubrir cómo los diferentes entornos de escritorio / gestores de ventanas admiten el concepto de "inicio automático". Yo personalmente evito estos mecanismos y me mantengo en la buena .xinitrc / .xsessionforma.

un ejemplo .xinitrc se vería así:

xmodmap ~/.Xmodmap
xsetxkbmap de
autocutsel &
xflux -l 52
exec /usr/bin/fluxbox
akira
fuente
3

Intente colocar un script nombrado .xinitrcen su directorio de inicio. KDE y Gnome también tienen la capacidad de ejecutar scripts / aplicaciones al iniciar sesión si está utilizando uno de esos. Creo .Xstartupo .xstartuppodría hacer lo que quieras si .xinitrcno lo hace. Parece que mi Linux se está oxidando un poco. >.>

Darth Android
fuente
Hmm, no estoy seguro de que funcionó, ¿hay algún registro para eso en alguna parte?
cyborg
No, a menos que F.Lux se registre en alguna parte. Siempre puede agregar echo "hello!" >> ~/.launchloga su .xinitrchasta que esté seguro, y luego eliminar el registro de prueba.
Darth Android