LINUX.ORG.RU

Xorg и переменная SHELL

 , ,


0

1

Как Xorg задаёт значение SHELL? У меня в /etc/passwd написано /usr/bin/zsh, но gnome-session всё равно запускается с SHELL=/bin/bash. В /etc/X11/xinit/Xsession написано, что gnome-session запускается через exec -l $SHELL -c gnome-session. Но откуда он берет первоначальное значение SHELL?

Сейчас у себя в ~/.profile переопределил SHELL=/usr/bin/zsh. Так как в /etc/X11/xinit/xinitrc-common подгружается пользовательский .profile, gnome-session теперь запускается с нужным мне значением SHELL. Но хотелось бы знать, как это сделать по феншую.

★★★★★

Ответ на: комментарий от xDShot

Ага. Я же говорю, в /etc/passwd у меня написано /usr/bin/zsh. Я даже запускал chsh, и это никакого влияния на SHELL не оказывало (перелогиневался, и всё такое).

rupert ★★★★★
() автор топика
Последнее исправление: rupert (всего исправлений: 1)

Самое смешное, что до сегодняшнего для всё нормально работало, и никаких отклонений я не замечал. Эта система с Fedora 36. Есть ещё одна система с Fedora 35, и там всё нормально (SHELL=/usr/bin/zsh). Только на Fedora 36 вдруг почему-то стало SHELL=/bin/bash.

rupert ★★★★★
() автор топика
Ответ на: комментарий от rupert

Самое смешное, что до сегодняшнего для всё нормально работало, и никаких отклонений я не замечал. Эта система с Fedora 36. Есть ещё одна система с Fedora 35, и там всё нормально (SHELL=/usr/bin/zsh). Только на Fedora 36 вдруг почему-то стало SHELL=/bin/bash.

От юзера:

chsh -s /usr/bin/zsh
mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Для всех чукча-писателей повторюсь:

Я даже запускал chsh, и это никакого влияния на SHELL не оказывало

На самом деле я выяснил, в чем проблема. Поэтому отбой.

rupert ★★★★★
() автор топика
Ответ на: комментарий от rupert

Ты тут воды налил, но я не увидел от тебя даже выхлопа getent passwd $(id -ur) | awk -F: '{print $7}', каких ответов ты ещё ожидаешь? Гадания на кофейной гуще? Телепаты в отпуске!

mord0d ★★★★★
()

Но хотелось бы знать, как это сделать по феншую.

Повторюсь: сам Xorg переменную $SHELL не трогает. Это либо на уровне файла сессии, либо чуть глубже в самом GNOME.

Подозреваю, разработчики GNOME не осилили #!/usr/bin/env bash, а вместо этого переопределили $SHELL, чтобы их костыли наверняка работали. gnome-terminal они позже выкинут, чтобы пользователи больше не жаловались.

mord0d ★★★★★
()