Как я могу узнать чтение файлов запуска и переменные среды, созданные, когда Ubuntu была запущена с графического интерфейса

В Ubuntu 16.04 с LXDE или Gnome,

  • как я могу узнать переменные среды, созданные, когда Ubuntu была запущена с графического интерфейса?

  • когда Ubuntu была запущена с графического интерфейса, которые запускаются, файлы читаются и выполняются, /etc/profile, /etc/profile.d/*, ~/.profile, ~/.bash_profile, /etc/environment, /etc/bash.bashrc, ~/.bashrc?

Спасибо.

0
задан 17 April 2018 в 08:38

1 ответ

Это довольно сложно.

Pam также может добавить переменные среды, а также другие вещи (login программа, getty, безотносительно...).

Что я раньше делал, должны добавить строки стиля (см. это),

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

во всех подозрительных файлах, и затем смотрят на результат, например, с помощью https://askubuntu.com/a/356973/16395.

Для нахождения, какая программа/файл могла быть ответственна за установку переменной можно попытаться посмотреть на дерево процесса оболочки в эмулятор терминала:

[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

... Я думаю что запустить графическую сессию, gdm-x-session запускается с пользовательской оболочки (обратите внимание на изменения UID в цепочке) в неинтерактивном режиме, так, чтобы .profile читается (но нет .bashrc, который читается оболочкой в эмуляторе терминала).

Дерево несколько отличается, если названо от 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

но это ожидается.

BTW, много переменных среды могло также быть установлено перед изменением UID в пользователе; существует много сценариев в /etc/X11/Xsession.d и вокруг этого X сервер, gdm (или какой бы ни менеджер по оформлению, которого Вы используете), который может установить переменные среды.

1
ответ дан 30 October 2019 в 02:05

Другие вопросы по тегам:

Похожие вопросы: