Instalei o ZSH e no arquivo /etc/passdw coloquei com shell padrão(tanto o usuário normal e root), quando entro em modo root no terminal as config que eu configurei pro ZSH não aparecem. Como posso usar as mesma config do usuário normal no root?
Copie o .zshrc e cole no /root
Não conheço muito de zsh, mas acho que você tem que copiar o arquivo .zprofile também. Se não funcionar, copia o .profile . Edita ele com ‘echo “olha eu aqui”’ e veja se ele é executado.
Se for, manda carregar o .zshrc
Quando vc faz login como root no terminal virtual ele carrega as configurações?
Tenta copiar o arquivo .zshrc para .zprofile
Senão toda vez vai ter que carregar manualmente:
source ~/.zshrc
Ta aqui como fica, vou testar como se falou e posto aki.
Eu tava mexendo e excluir o profile sem querer, como eu recupero as configs dele? /etc/profile
Manda reinstalar o bash. O pacote vai repor o arquivo faltante.
Copiei o .zshrc para o .zprofile e nada e quando dou source ~/.zshrc da erro, fala q .zshrc não existi mesmo existindo no root
Não tenho mais ideias… É o tradicional: Deveria funcionar.
Talvez seja o caso de abrir um “bug report” e deixar que os desenvolvedores avaliem a situação.
==== Edit
Tentei no Manjaro aqui e foi só colocar o arquivo .zshrc no diretorio /root que funcionou tudo certinho. Quando mudei o shell padrao pra zsh, já pegou a configuração. Acho que é alguma zikizira no arquivo .zshrc (tenta usar um exemplo bem simples). Tenta ver se não tem espaço no nome do arquivo. Veja se as permissões estão certas. Na dúvida apaga ele e cria com “touch .zshrc” e insere o conteúdo.
==Edit 2
Confere as permissões com ls -la .zs* Veja a saída do meu
12:04:29 manjaro:~ # ls -la .zs*
-rw-r--r-- 1 root root 133 ago 24 11:54 .zshrc
12:04:30 manjaro:~ #
##############Configuração padrão
autoload -Uz compinit promptinit
compinit
promptinit
# This will set the default prompt to the walters theme
prompt walters
##################################Teclas de Comandos
# create a zkbd compatible hash;
# to add other keys to this hash, see: man 5 terminfo
typeset -g -A key
key[Home]="${terminfo[khome]}"
key[End]="${terminfo[kend]}"
key[Insert]="${terminfo[kich1]}"
key[Backspace]="${terminfo[kbs]}"
key[Delete]="${terminfo[kdch1]}"
key[Up]="${terminfo[kcuu1]}"
key[Down]="${terminfo[kcud1]}"
key[Left]="${terminfo[kcub1]}"
key[Right]="${terminfo[kcuf1]}"
key[PageUp]="${terminfo[kpp]}"
key[PageDown]="${terminfo[knp]}"
key[ShiftTab]="${terminfo[kcbt]}"
# setup key accordingly
[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
[[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode
[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char
[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history
[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char
[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char
[[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history
[[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history
[[ -n "${key[ShiftTab]}" ]] && bindkey -- "${key[ShiftTab]}" reverse-menu-complete
# Finally, make sure the terminal is in application mode, when zle is
# active. Only then are the values from $terminfo valid.
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
autoload -Uz add-zle-hook-widget
function zle_application_mode_start {
echoti smkx
}
function zle_application_mode_stop {
echoti rmkx
}
add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
fi
####################################Pesquisa de historico
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-beginning-search
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search
#####################cores
PROMPT='%F{green}%n%f@%F{red}%m%f %F{blue}%B%~%b%f %# '
RPROMPT='[%F{yellow}%?%f]'
########################Comando de sair
exit_zsh() { exit }
zle -N exit_zsh
bindkey '^D' exit_zsh
########################Comando ttyctl
ttyctl -f
Meu .zshrc e .zprofile
Colei esse conteúdo no meu .zshrc e funcionou. digita aí e manda a saída:
cd ~
pwd
source .zshrc
trex@TRex-PC ~ % cd ~
trex@TRex-PC ~ % pwd
/home/trex
trex@TRex-PC ~ % source .zshrc
trex@TRex-PC ~ % su
TRex-PC# cd ~
TRex-PC# pwd
/root
TRex-PC# source .zshrc
source: arquivo ou diretório inexistente: .zshrc
TRex-PC#
No tty2 ele fica como deveria ficar
root@TRex-PC~#
cd ~
ls -la .zs*
O que diz sobre as permissões do arquivo?
trex@TRex-PC ~ % cd ~
trex@TRex-PC ~ % ls -la .zs*
-rw-r–r-- 1 trex 2799 ago 24 13:41 .zshrc
trex@TRex-PC ~ %
passa pra root, vai no /root e dá o ls
su
cd ~
ls -la .zs*
Provavelmente ficou algo por editar ou não está certo, use o comando chsh
para mudar o shell do usuário e copie o arquivo .zshrc para /root, ele vai até pegar o tema do seu usuário caso use o oh-my-zsh.
Ex: chsh --shell /bin/zsh root
trex@TRex-PC ~ % su
Senha:
TRex-PC# cd ~
TRex-PC# ls -la .zs*
zsh: no matches found: .zs*
TRex-PC#
Ai vc ta mudando o Shell do konsole so, ou vc usa o comando chsh ou muda no arquivo passwd.
@anon94729332 Não to usando oh-my-zsh.
trex@TRex-PC ~ % su
Senha:
TRex-PC# cd ~
TRex-PC# ls -la .zs*
zsh: no matches found: .zs*
TRex-PC#