У меня есть NAS-устройство Synology DS412+ с запущенным Busybox, в котором установлена оболочка по умолчанию ash
. Ранее ipkg install optware-devel
был запущен, установлен bash
и установлен в качестве оболочки по умолчанию. Запущен ipkg install zsh
установил zsh
, но не установил в качестве оболочки по умолчанию. chsh
отсутствует (Busybox предполагает урезанную систему и ash
будет использоваться только она), так как мне установить оболочку по умолчанию?
Буду очень признателен за любую помощь или информацию.
решение1
Вы можете изменить оболочку входа, отредактировав /etc/passwd
. Каждая строка представляет собой список значений, разделенных двоеточием, последнее из которых — оболочка входа:
user:x:1000:1000:User:/home/user:/usr/bin/zsh
Если /etc/shells
существует, вам следует добавить к нему zsh (полный путь), иначе некоторые службы могут не работать для вашего пользователя.
Примечание:
Я бы не рекомендовал менять оболочку входа для root (или любого пользователя, который вам нужен для административных целей), если zsh
она установлена на одном из дисков. Возможно, вы захотите иметь root-доступ без установленных дисков.
Вы всегда можете zsh
автоматически запуститься из пользовательской конфигурации Эша. Что-то вроде этого
[ -x /usr/bin/zsh ] && exec /usr/bin/zsh
решение2
Другой метод Из этого поста на форуме Synolology:
https://community.synology.com/enu/forum/1/post/150323
В редакторе по вашему выбору (например, nano) добавьте следующие строки в: ~/.profile
экспорт ОБОЛОЧКА=/bin/bash исполнять /bin/bash
где /bin/bash — путь к выбранной вами оболочке