Meu .profile faz mais do que apenas definir variáveis de ambiente, então divido as tarefas de configuração do ambiente em um arquivo .setenv , o qual somente define o ambiente. Para configurar o ambiente para o X11 no Debian, adicionei um .xsessionrc em minha casa com:
. ~/.setenv
O arquivo que faz com que .xsessionrc seja originado é /etc/X11/Xsession.d/40x11-common_xsessionrc .
Usar os arquivos que o bash usa para definir seu ambiente não faz o que eu quero. Claro, se eu começasse um shell bash no X11, conseguiria o ambiente que queria. No entanto, preciso ter meu PATH configurado para que meu ambiente de desktop execute o software desejado. Por exemplo, eu geralmente uso versões personalizadas do Firefox, instaladas fora dos caminhos habituais. Eu quero o meu ambiente de trabalho para iniciar a versão correta em vez de usar o que ele pode encontrar nos caminhos padrão. Para fazer isso, o PATH deve ser definido antes do início do ambiente da área de trabalho.