Eu tenho uma caixa Synology DS412+ NAS executando o Busybox, que possui um shell padrão de ash
. Anteriormente, ipkg install optware-devel
foi executado e instalado bash
e definido como shell padrão. Running ipkg install zsh
foi instalado zsh
, mas não o definiu como shell padrão. chsh
não está presente (o Busybox assume um sistema reduzido e apenas ash
será usado), então como defino o shell padrão?
Eu ficaria muito grato por qualquer ajuda ou insight.
Responder1
Você pode alterar o shell de login editando o arquivo /etc/passwd
. Cada linha é uma lista de valores separados por dois pontos, o último dos quais é o shell de login:
user:x:1000:1000:User:/home/user:/usr/bin/zsh
Se /etc/shells
existir, você deve adicionar zsh (caminho completo), caso contrário, alguns serviços podem não funcionar para o seu usuário.
Observação:
Eu sugiro não alterar o shell de login do root (ou de qualquer usuário necessário para fins administrativos) se zsh
estiver instalado em um dos discos. Você pode querer ainda ter acesso root sem discos instalados.
Você sempre pode iniciar zsh
automaticamente a partir da configuração do usuário do ash. Algo parecido
[ -x /usr/bin/zsh ] && exec /usr/bin/zsh
Responder2
Outro método desta postagem no fórum Synoloogy:
https://community.synology.com/enu/forum/1/post/150323
No editor de sua preferência (por exemplo, nano), adicione as seguintes linhas a: ~/.profile
exportar SHELL=/bin/bash exec /bin/bash
onde /bin/bash é o caminho para o shell escolhido