Hay tres formas recomendadas:
Variables de entorno de toda la sesión
La configuración de la variable de entorno que debería afectar solo a un usuario en particular (en lugar de al sistema en su conjunto) debe establecerse en:
~/.pam_environment
Variables de entorno de todo el sistema
La configuración de las variables de entorno que afectan al sistema en su conjunto (en lugar de solo a un usuario en particular) no debe colocarse en ninguno de los muchos scripts de nivel de sistema que se ejecutan cuando se carga el sistema o la sesión de escritorio, sino en
/etc/environment
Iniciar la aplicación de escritorio con una variable de entorno
Puede agregar una variable de entorno a una aplicación editando su archivo .desktop. Por ejemplo, para ejecutar "digiKam" con la variable de entorno APPMENU_DISPLAY_BOTH = 1, busque el archivo digikam.desktop correspondiente y agregue la configuración de la variable, mediante el comando env, a la entrada "Exec":
Exec=env APPMENU_DISPLAY_BOTH=1 digikam -caption "%c" %i
Debe leer este artículo y decidir qué método se adapta mejor a sus necesidades:
Ubuntu Community Wiki: Variables de entorno
~/.profile
funciona también.env
oprintenv
mandar desde coreutils de GNU sin parámetros. Ejecútelo en xterm o en un emulador de terminal similar para ver las variables de entorno efectivas en la sesión de GUI. El artículo al final de mi respuesta tiene más información.