byobu + cores da tela dor de cabeça

1

Eu tenho o byobu instalado no FreeBSD, com os usuários, uptime, load average, cpu count, cpufreq, memdisponível, mem usado, data e time notification modules habilitados, nessa ordem.

Não importa o que eu faça, não consigo descobrir por que as cores do módulo cpu freq estão 'estourando bem' e sobrescrevendo as cores de todos os módulos habilitados por trás dele. Eu tenho repetidamente cada script habilitado, e parece não haver nada errado ainda, "2.7GHz" é exibido em branco em cinza, e aquele branco em cinza se sobrepõe à memória que deveria ser verde, e a data e o tempo que não deveria ter cores. O script do módulo cpu_freq é o seguinte:

PKG="byobu"
color 2>/dev/null || color() { true; }

freq=$(sysctl hw.clockrate | awk '{ printf "%.1f", $2 / 1000 }')
printf "$(color b c W)%s$(color -)$(color c W)%s$(color -) " "$freq" "GHz"

captura de tela do problema: link

Alguém tem alguma informação sobre o que poderia estar causando isso?

    
por tip120 07.05.2012 / 06:26

1 resposta

2

Boa pergunta ...

O comportamento que você está vendo aqui é devido a um bug (ou limitação) na sua versão da tela.

Se você observar a origem do arquivo /usr/share/byobu/profiles/common , verá uma nota na parte inferior:

# NOTE: Older version of Screen have an arbitrary limit of only being able
# to change colors 16 times in this 'hardstatus string'.
# Ubuntu (fixed in Jaunty):
#  * https://bugs.launchpad.net/bugs/315871
# Upstream:
#  * http://savannah.gnu.org/bugs/?22146

A correção foi aplicada ao repositório git do GNU Screen em janeiro de 2010, mas o GNU Screen não foi lançado em 5 anos ou mais. Algumas distribuições do GNU Screen (como Debian e Ubuntu) selecionaram essa simples correção de uma linha. Você pode solicitar que o FreeBSD faça o mesmo.

Divulgação completa: Sou o autor e mantenedor do Byobu, assim como o autor da correção como comprometida com o repositório de origem do GNU Screen.

    
por 07.05.2012 / 07:48