it-swarm-es.tech

¿Cómo configuro una variable de entorno para una sesión de GNOME?

En mi sistema, para las aplicaciones que usan SDL, necesito establecer una variable de entorno:

export SDL_AUDIODRIVER=alsa

para que el sonido funcione correctamente. ¿Cómo configuro mi sesión de GNOME para que esta variable esté presente para todas las aplicaciones (si ejecuto una aplicación a través de Nautilus, o uso DBGL , las aplicaciones funcionar correctamente)?

EDITAR:

Archivos de configuración que configuré (y reinicié mi máquina después de cada uno) en vano:

  • .xsession
  • .xsessionrc
  • .gnomerc
  • .bash_profile
  • .profile <- Esto funciona en el caso general, pero no cuando su distribución está configurando la variable en otro lugar.
  • /etc/profile
15
Bernard

Podría ser que la variable SDL_AUDIODRIVER se esté desarmando en algún lugar. Una estrategia que utilizo para los problemas relacionados con los scripts de inicio es poner enunciados de eco de depuración que son fáciles de habilitar/deshabilitar creando/eliminando un archivo. Podrías comenzar agregando

debug_msg() {
        test -f $HOME/.debug && echo "[email protected]" 1>&2
}

debug_msg "running ~/.bashrc ($0), SDL_AUDIODRIVER = '$SDL_AUDIODRIVER'"

a .bashrc, .bash_profile, .profile y/etc/profile para ver qué valor tiene y si/dónde está cambiando.

6
hlovdal

https://help.ubuntu.com/community/EnvironmentVariables habla sobre cuatro lugares donde podemos establecer las variables de entorno:

  • ~/.pam_environment - […] No es un archivo de script, sino que consta de expresiones de asignación, una por línea. […] Requiere volver a iniciar sesión para inicializar las variables. […]
  • ~/.profile - Este es probablemente el mejor archivo para colocar asignaciones de variables de entorno, ya que es ejecutado automáticamente por DisplayManager durante la sesión de escritorio del proceso de inicio, así como por el Shell de inicio de sesión cuando uno inicia sesión desde la consola textual.
  • ~/.bash_profile o ~/.bash_login - Si existe uno de estos archivos, bash lo ejecuta en lugar de "~/.profile" cuando se inicia como un Shell de inicio de sesión. (Bash preferirá "~/.bash_profile" a "~/.bash_login"). Sin embargo, estos archivos no influirán en una sesión gráfica de forma predeterminada.
  • ~/.bashrc - Debido a la forma en que Ubuntu configura actualmente los diversos archivos de script de forma predeterminada, este puede ser el lugar más fácil para establecer variables. La configuración predeterminada casi garantiza que este archivo se ejecutará en todas y cada una de las invocaciones de bash, así como al iniciar sesión en el entorno gráfico. Sin embargo, en cuanto al rendimiento, esto puede no ser lo mejor que se puede hacer, ya que hará que los valores se establezcan innecesariamente muchas veces.

http://userbase.kde.org/Session_Environment_Variables/en sugiere este lugar para KDE:

KDE ejecutará cualquier script que encuentre en $HOME/.kde/env cuyo nombre de archivo termina en .sh, y mantendrá todas las variables de entorno establecidas por ellos. Es importante que también se deba exportar cualquier variable que desee establecer.

https://help.ubuntu.com/community/ComposeKey#XIM sugiere modificar ~/.gnomerc o ~/.Xsession.

6

Crear un .gnomerc archivo en su $ HOME que es un script de Shell (como .bashrc) que establece todas las variables que desee.

1
Mike McQuaid

¿Ha intentado crear la variable de entorno int . Profile o / etc/profile?

Eso debería funcionar y ya debería existir. A diferencia de . Bashrc que es por sesión de terminal, estos se inician al iniciar sesión en su sesión.

0
codeLes