.xsession. .xinitrc, xmonad y lightdm

16

Permítanme presentar mi pregunta con lo siguiente: estoy bastante seguro de que puedo hackear una solución modificando /usr/share/xsessions/somesessionfile.desktop y hacer que se ejecute / etc / X11 / Xsession, y hacer que funcione de esa manera , pero aún me gustaría aclarar algunas cosas.

Configuración: 12.04, instalación completamente nueva (3 horas de antigüedad, tal vez). Quiero usar xmonad como mi WM. Configuración de doble cabezal.

Mi pregunta: estoy completamente confundido, o más bien completamente, sobre qué programa está haciendo qué, con respecto a X, la unidad, los administradores de inicio de sesión (o como se llamen) y los administradores de ventanas. Estoy usando xmonad como mi administrador de ventanas, lo sé mucho. Y cuando inicio sesión, o tal vez incluso antes, quiero que mis monitores duales se configuren correctamente utilizando un script que ejecuta xrandr (que ya tengo funcionando). Todas las personas con las que hablo o cuyas preguntas leo en línea hablan sobre xinitrc, ~ / .xsession o / etc / X11 / xsession, pero ninguno de estos archivos se está ejecutando. Los archivos en / usr / share / xsesssions parecen ser los únicos archivos que se están ejecutando, y por mi vida no puedo encontrar ninguna documentación sobre esto.

¿Dónde está la consistencia en este sistema? ¿Qué se supone que debo hacer exactamente si quiero hacer esto correctamente? Algunos gestores de ventanas parecen hacer esto (KDE y gnome parecen tener algo que simplemente se llama "inicio automático"). ¿Se supone que debo dejar que mi administrador de ventanas maneje esto, X o lightdm? Entiendo que probablemente haya docenas de archivos en el proceso de inicio en los que podría poner esto, pero estoy pidiendo la convención adecuada. ¿Cuál es la solución para algo como esto?

TL; DR; ¿Existe una forma coherente para que yo ejecute un script automáticamente para cada administrador de ventanas que se ejecuta sobre X, o esto depende completamente de la combinación de administradores de ventanas y administradores de inicio de sesión que estoy usando?

foobarbaz
fuente

Respuestas:

11

Creo que puede encontrar que esto funcionará para usted. Será generado por el script de guión / usr / sbin / lightdm-session que luego ejecutará el exec para el administrador de ventanas.

Suponiendo que esto es solo para usted, y debido a que está relacionado con X, sugeriría ponerlo en ~ / .xprofile. Si se aplicará a todos los usuarios del sistema, / etc / xprofile puede ser más apropiado.

Cree un archivo ~ / .xprofile y edítelo para que contenga algo de su comando xrandr (similar al siguiente elemento de prueba):

xrandr - salida LVDS - modo 1280x854

Puede encontrar más información en ¿Qué sucede debajo de las cubiertas para iniciar sesión e iniciar Unity u otra interfaz gráfica de usuario? . Cubre algo de lo que sucede para los administradores de ventanas que no son de unidad.

John S Gruber
fuente
3

Muchas gracias por el enlace "Lo que sucede debajo de la cubierta ...", ¡una lectura obligada!

~ / .xprofile ocurre demasiado pronto, se pierde la configuración de xrandr.

Una solución es crear un script y ejecutarlo en las "aplicaciones al inicio". Sin embargo, dado que nautilus ya se lanzó y decidirá mostrar los iconos en el monitor secundario (después del comando xrandr), agregué al final:

killall -1 nautilus
nautilus -n

Sucio, pero las obras. Espero que esto ayude.

jissouille
fuente