Вы можете использовать оболочку Linux каждый день, но то, как вы ее используете, во многом определяет ее поведение. Возможно, вы слышали о разнице между оболочкой входа в систему и оболочкой без входа. И хотя поначалу это может показаться не таким очевидным, между двумя типами оболочек есть несколько различий.
Вот все, что вам нужно знать о оболочках входа в систему в Linux.
Что такое оболочка входа?
Оболочка входа в систему именно такова: оболочка, которая запускается, когда вы напрямую входите в систему Linux. Когда вы входите в систему с виртуальная консоль или через SSH, запускаемая оболочка является оболочкой входа в систему.
Напротив, если вы запускаете окно терминала, этот сеанс оболочки обычно не является оболочкой входа в систему. То же самое происходит, когда вы запускаете подоболочку, вводя имя оболочки в командной строке. Эта оболочка является просто интерактивной оболочкой.
Ключевое различие между ними заключается в поведении оболочки. Оболочка часто читает только определенные файлы при запуске. Баш будет читать
/etc/profile, то .bash_profile, .bash_логин, а также файлы .profile в вашем домашнем каталоге, только если он вызывается как оболочка входа.Как узнать, используете ли вы оболочку входа в систему
Легко увидеть, используете ли вы оболочку входа в систему или нет. Если вы запустили свою оболочку из терминального приложения рабочего стола, скорее всего, вы этого не сделаете, если только вы не находитесь в другой терминальной среде, такой как WSL или терминал macOS.
Вы можете проверить, используете ли вы оболочку входа в систему с помощью этой команды;
эхо$0
Если вы используете оболочку входа в систему, вы увидите имя оболочки, которому предшествует дефис (-). Если нет, вы просто увидите имя оболочки.
Настройка оболочки входа в систему в Linux
Чтобы установить оболочку входа, используйте команда chsh. Вы можете установить для своей оболочки входа абсолютный путь к любой оболочке, указанной в /etc/shells.
Чтобы запустить любую оболочку в качестве оболочки входа в систему, обычно можно использовать параметр командной строки. Например, чтобы запустить Bash в качестве оболочки входа в систему:
бить --авторизоваться
Если вы используете рабочий стол Linux, вы часто можете указать, какая команда запускается при открытии окна терминала. Если вы хотите, чтобы ваша оболочка работала как оболочка для входа в систему, вы можете указать эту опцию.
Теперь вы знаете о оболочках входа
Теперь вы должны понимать, что такое оболочки входа в систему. Запуск вашей оболочки либо непосредственно из консоли, либо из окна терминала определит, как она будет себя вести.
Если вы новичок в Linux, вы можете задаться вопросом, какая оболочка лучше. Вы можете придерживаться Bash по умолчанию или изучить специальные функции, предлагаемые альтернативными оболочками, такими как Fish или Zsh.