[Resolvido] Habilitar temas do 'Oh My Zshell' em modo 'root'

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?

2 curtidas

Copie o .zshrc e cole no /root

Fiz o q vc disse e depois reinicie, continua a mesma coisa.

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


E o q tem no /home
Como carrego o .zshrc no root?

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*

Aqui funcionou assim.

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

@Deleterium

trex@TRex-PC ~ % su
Senha:
TRex-PC# cd ~
TRex-PC# ls -la .zs*
zsh: no matches found: .zs*
TRex-PC#

@LeoLucena

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#