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