XQuartz: usuario / entorno al ejecutar xinit? (XMonad, xmodmap, etc.)

2

Estoy ejecutando XMonad con XQuartz en una Macbook Prop Retina de 11,3. Mi .xinitrc se ve como sigue:

[[ -f ~/.Xdefaults ]] && xrdb -load ~/.Xdefaults
export LANG="en_CA.UTF-8"
xmodmap /Users/xxxxxxx/.xmodmarc
cd $HOME
/Users/xxxxxxxx/Library/Haskell/bin/xmonad

He notado que tanto el LANG export como el xmodmap están siendo llamados, pero sus efectos no persisten. Si lanzo un poco de env >> tmp.txt allí, puedo ver que es un entorno diferente al que finalmente llego a un terminal, y sospecho que quizás incluso un usuario diferente esté llamando a xinit .

Mis preguntas

  • ¿a qué usuario o entorno está llamando xinit cuando inicia XQuartz?
  • ¿dónde está el lugar apropiado para poner xmodmap para que se llame una vez, y solo una vez, cuando se inicia XQuartz?
  • ¿Cómo obtengo LANG establecido una vez, y solo una vez, como variable de entorno cuando inicio XQuartz (lo necesito para la compatibilidad con Unicode)?

¡Gracias!

    
pregunta aaronlevin 21.03.2014 - 17:58

1 respuesta

2

¿A qué usuario / env está llamando xinit cuando inicia XQuartz?

Bajo Linux, este sería el usuario con el que inició sesión; Sospecho que probablemente sea el mismo para Mac OS X. En cuanto al entorno, cualquiera que sea el entorno actual cuando ejecute xinit , ese será el entorno con el que XQuartz se ejecuta, excepto los cambios realizados en el entorno. uno de los archivos que XQuartz lee cuando se inicia.

¿Dónde debería poner xmodmap para que se llame una vez, y solo una vez, cuando se inicia XQuartz?

Para crear su propio mapa / tabla personalizado y almacenarlo en un archivo de configuración, ejecute:

xmodmap -pke > ~/.Xmodmap

Realice los cambios deseados en ~/.Xmodmap y luego pruebe la nueva configuración con:

xmodmap ~/.Xmodmap

Para activar su tabla personalizada al iniciar Xorg, es decir, XQuartz, agregue lo siguiente a su ~/.xinitrc

[ -s ~/.Xmodmap ] && xmodmap ~/.Xmodmap # you can also try using '[[ -s ~/.Xmodmap ]] && xmodmap ~/.Xmodmap'

¿Cómo puedo configurar LANG una vez, y solo una vez, como variable de entorno cuando inicio XQuartz (lo necesito para el soporte de Unicode)?

Para establecer LANG , simplemente agrega uno de los siguientes a tu ~/.xinitrc

[[ -z "$LANG" ]] && LANG=<VALUE> # only sets LANG, if LANG is empty
LANG=<VALUE> # sets LANG regardless of whether it is or is not empty
    
respondido por el Alexej Magura 29.03.2014 - 23:53

Lea otras preguntas en las etiquetas