byobu + kolory ekranu ból głowy

1

Mam zainstalowanego byobu na FreeBSD, z użytkownikami, czasem pracy, średnią obciążalnością, liczbą procesorów, częstotliwością procesora, dostępną pamięcią, wykorzystywaną pamięcią, datą i modułami powiadamiania o czasie w tej kolejności.

Bez względu na to, co robię, nie potrafię zrozumieć, dlaczego kolory z modułu freq cpu są „krwawiące” i nadpisują kolory wszystkich włączonych modułów. Przeszedłem nad każdym włączonym pojedynczym skryptem i wydaje się, że nadal nie ma w tym nic złego, „2.7GHz” jest wyświetlane na biało na szaro, a biały na szarym pokrywa się z pamięcią, która ma być zielona, ​​a data i czas, który nie powinien mieć kolorów. Skrypt modułu cpu_freq wygląda następująco:

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"

zrzut ekranu problemu: http://img823.imageshack.us/img823/448/byobuwoes.jpg

Czy ktoś ma jakieś informacje na temat tego, co może to powodować?

tip120
źródło

Odpowiedzi:

2

Dobre pytanie...

Zachowanie, które tu widzisz, wynika z a pluskwa (lub ograniczenie) w Twojej wersji ekranu.

Jeśli spojrzysz na źródło pliku /usr/share/byobu/profiles/common, zobaczysz notatkę na dole:

# 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

Poprawka została zastosowana w repozytorium git GNU Screen w styczniu 2010 roku, ale ekran GNU nie został wydany w ciągu ponad 5 lat. Niektóre dystrybucje GNU Screen (takie jak Debian i Ubuntu) wybrały tę prostą, jednowierszową poprawkę. Możesz poprosić, aby FreeBSD zrobił to samo.

Pełne ujawnienie: Jestem autorem i opiekunem Byobu, a także autorem poprawki zatwierdzonej w repozytorium źródłowym GNU Screen.

Dustin Kirkland
źródło
ja własciwie właśnie zorientowałem się, że nie 15 minut temu podczas szturchania w bugtracker na ekranie. Teraz próbuję dowiedzieć się, jak zastosować tę jedną poprawkę do ekranu i przekompilować ją z portu, aby naprawić problem. Dzięki za informację!
tip120