Pode ser muitas coisas.
Por favor, forneça a saída de:
echo $TERM
echo $LS_COLORS
typeset -p LS_COLORS
alias ls
tput setaf 1 | od -c
echo "$(tput setaf 1)red$(tput sgr0)"
Resultados esperados:
xterm (optional, see below)
no=00:... (or similar, should not be empty)
declare -x LS_COLORS="no=00:..." (ditto)
alias ls='ls --color=auto' (or similar)
0000000 033 [ 3 1 m
0000005
red (in red)
Meu palpite: TERM
está definido como algo incomum, e dircolors não sabe disso, portanto ls
não sabe quais cores usar.
Se este for o caso, executando os comandos acima dentro de sua sessão de byobu / screen, você verá:
screen (or screen-something)
(nothing)
(nothing)
0000000 033 [ 3 1 m
0000005
red (in red)
Confirme que este é o caso executando:
dircolors -p | grep "^TERM $TERM$"
Espero que não imprima nada.
A correção mais simples, dependendo da sua configuração, seria:
dircolors -p > ~/.dircolors
echo "TERM $TERM" >> ~/.dircolors