Принудительно использовать bash в качестве оболочки для входа в последовательную консоль

Принудительно использовать bash в качестве оболочки для входа в последовательную консоль

Я использую Ubuntu Server 20.04 headless и обычно подключаюсь к нему удаленно через SSH. Однако он также подключен через последовательный порт RS232 к терминальному серверу (Digi CM 16) для регистрации консоли ядра и в качестве метода управления резервным копированием.

Вот в чем дело: я использую ZSH с некоторыми ультрамодными дополнениями. Работает отлично через SSH. Последовательный порт — не очень. Файлы журналов с терминального сервера обычно не очень связные из-за всех управляющих символов, которые ZSH разбрасывает.

Как принудительно использовать BASH для входа в последовательную консоль, даже если оболочка моего пользователя по умолчанию — ZSH?

Вот что я хочу:

Метод входа в систему Shell Я хочу, чтобы мне подарили
SSH ZSH (пользователь по умолчанию)
Вход через последовательную консоль БАШ
Подключите монитор и клавиатуру и войдите в систему физически. не волнует

Я пробовал посмотреть на изменение gettyнастроек для ttyS0, и похоже, что единственный вариант — изменить исполняемый файл входа по умолчанию с /bin/login, но я не думаю, что хочу этого делать? Все еще хочу войти с паролем, просто хочу изменить оболочку, появляющуюся после входатолькоесли вы входите в систему изttyS0

решение1

Вероятно, самый простой способ — добавить код в ~/.zprofile, чтобы определить, находитесь ли вы на последовательной линии, а затем предпринять какие-то действия.

Отсюда можно запустить bash, но в качестве альтернативы можно отключить шумные расширения zsh и сбросить приглашение на что-то простое, но при этом продолжать использовать zsh.

Однако учтите, что пока вы играете с этим, вам следует держать открытой вторую оболочку (или иметь учетную запись с бэкдором) на случай, если вы что-то повредите и ваша учетная запись не сможет получить какую-либо оболочку.

Связанный контент