Como posso descobrir os arquivos de inicialização lidos e as variáveis de ambiente criadas quando o Ubuntu foi iniciado com interface gráfica

0

No Ubuntu 16.04 com o LXDE ou o Gnome,

  • como posso descobrir as variáveis de ambiente criadas quando o Ubuntu foi iniciado com a interface gráfica?

  • quando o Ubuntu foi iniciado com a interface gráfica, quais arquivos de inicialização são lidos e executados, /etc/profile , /etc/profile.d/* , ~/.profile , ~/.bash_profile , /etc/environment , /etc/bash.bashrc , ~/.bashrc ?

Obrigado.

    
por Tim 17.04.2018 / 16:47

1 resposta

1

Isso é bastante complexo.

Pam também pode adicionar variáveis de ambiente, bem como outras coisas ( login program, getty , o que for ...).

O que eu costumava fazer é adicionar linhas do estilo (consulte this )

export CALLED_IN_ETC_PROFILE=$(date date +%s.%N) 

em todos os arquivos suspeitos e, em seguida, analise o resultado, por exemplo, usando o link .

Para descobrir qual programa / arquivo pode ser responsável pela configuração de uma variável, você pode tentar examinar a árvore de processos de um shell em um emulador de terminal:

[romano:/etc/X11/Xsession.d] % pstree -a -s -l -p -u $$
systemd,1 splash
  └─gdm3,1926
      └─gdm-session-wor,3752
          └─gdm-x-session,3807,romano --run-script gnome-session --session=gnome
              └─upstart,3824 --user
                  └─gnome-terminal-,5027
                      └─zsh,11224
                          └─pstree,11831 -a -s -l -p -u 11224

... Eu acho que para iniciar a sessão gráfica, gdm-x-session é iniciado a partir de um shell de usuário (observe a mudança de UID na cadeia) no modo não interativo, para que .profile é lido (mas não .bashrc , que é lido pelo shell no emulador de terminal).

A árvore é um pouco diferente se chamada de gnome-shell :

bash-4.3$ pstree -a -s -l -p -u $$
systemd,1 splash
  └─gdm3,1926
      └─gdm-session-wor,3752
          └─gdm-x-session,3807,romano --run-script gnome-session --session=gnome
              └─upstart,3824 --user
                  └─gnome-session-b,4162 --session=gnome
                      └─gnome-shell,4278
                          └─xterm,11882 -e bash --noprofile --norc
                              └─bash,11884 --noprofile --norc
                                  └─pstree,11885 -a -s -l -p -u 11884

mas isso é esperado.

BTW, muitas variáveis de ambiente também podem ser definidas antes que o UID mude para o usuário; existem muitos scripts em /etc/X11/Xsession.d e em torno desse X server, gdm (ou qualquer gerenciador de exibição que você use), que possa definir variáveis de ambiente.

    
por Rmano 17.04.2018 / 17:03