Что делает команда «Запустить команду в качестве оболочки входа»?

19

У меня есть несколько отдельных программ, некоторые из которых требуют от меня войти в мои настройки терминала GUI и включить / отключить параметр «Запустить команду как оболочку входа», чтобы получить либо работу.

Пример:

Я установил Ruby on Rails . К сожалению, я должен зайти в опции терминала и включить «Запустить команду в качестве оболочки входа», чтобы она была в моем PATH.

Это была не слишком большая проблема, пока я не установил sexy-bash-prompt , который работает только если опция отключена.

Итак, мой вопрос по существу: что делает команда «Запустить команду в качестве учетной записи»? Есть ли способ получить те вещи, которые запускаются, когда он отключен для запуска, когда вы запускаете его в качестве оболочки входа?

    
задан Dropped.on.Caprica 16.08.2013 в 16:53
источник

1 ответ

24

Предполагая, что ваша оболочка Bash (по умолчанию в Ubuntu), это различия:

  • При запуске в качестве оболочки login Bash будет читать ~/.bash_profile (или, если это не существует, ~/.profile ) при запуске. В некоторых случаях этот файл также читает ~/.bashrc .

  • При запуске в качестве оболочки без входа Bash будет читать ~/.bashrc .

Итак, почему вы видите разные типы поведения при работе в качестве оболочки входа / входа в систему? Потому что ваш .bash_profile / .profile делает разные вещи, чем ваш .bashrc .

Решение, которое я бы рекомендовал в вашем случае, - скопировать настройки, сделанные в .bash_profile / .profile , вставить их в .bashrc и отключить "Запустить команду в качестве оболочки входа".

    
ответ дан Andrea Corbellini 26.08.2013 в 14:59
источник