Я использую startx
для запуска графического окружения. У меня есть очень простой .xinitrc
которому я буду добавлять вещи, когда я настраиваю среду, но сейчас это выглядит следующим образом:
catwm & # Just a basic window manager, for testing.
xterm
Причина, по которой я использую фоновый терминал WM и терминал переднего плана, а не наоборот, как это часто делается, заключается в том, что я хотел бы иметь возможность вернуться к виртуальной текстовой консоли после ввода команды exit
в xterm
. Это похоже на работу, как описано.
Проблема состоит в том, что переменная PS1
которая в настоящее время установлена в моем предпочтении в /etc/profile.d/user.sh
(которая получена из /etc/profile
поставляемого дистрибутивом), по-видимому, не распространяется в среду xterm
упомянутое выше. Соответствующее дерево процессов выглядит следующим образом:
\_ -bash
\_ xinit /home/user/.xinitrc -- /etc/X11/xinit/xserverrc :0 -auth /tmp/serverauth.ggJna3I0vx
\_ /usr/bin/X -nolisten tcp :0 -auth /tmp/serverauth.ggJna3I0vx vt1
\_ sh /home/user/.xinitrc
\_ /home/user/catwm
\_ xterm
\_ bash
Оболочка, запущенная xterm
выглядит интерактивной, а оболочка, выполняющая .xinitrc
- нет. Я согласен с обоими, предположения об интерактивности кажутся совершенно верными, но теперь у меня есть неинтерактивная оболочка, которая косвенно порождает интерактивную оболочку, и у интерактивной оболочки нет шансов автоматически унаследовать подсказку, потому что подсказка не установлена или иным образом сделан недоступным выше по дереву процессов. Как мне вернуть мою подсказку?