Ustawienie $ TERM dla ekranu GNU


12

Więc mam ekran skompilowany z 256 kolorami, działający na Konsole w trybie 256 kolorów. Jeśli ekran startowy, TERM jest ustawiony na „screen”. Jeśli ręcznie wyeksportuję TERM do screen-256color, wszystko działa pięknie.

Mam dwa pytania. Po pierwsze, dlaczego screen ustawia TERM na „screen” zamiast „screen-256color”, gdy obsługuje to? Drugi to, jeśli mam następujący wiersz w moim pliku .screenrc

term    screen-256color

dlaczego ekran wciąż nie ustawia mojego terminu?

Informacje dodatkowe: Używam wersji ekranowej 4.00.03jw4 (FAU) 2 maja-06 na Kubuntu Jaunty amd64


termin screen-256color działa tutaj z wersją ekranu 4.00.03jw4 (FAU) 2 maja-06 na testach Debiana. Poproszę o więcej szczegółów.
derobert

Wygląda na to, że korzystam z tej samej wersji ekranu co ty. Zastanawiam się, czy to problem terminfo?
Zxaos

Tak, najprawdopodobniej twoje terminfo nie ma screen-256koloru, więc screen poprawnie odmawia ustawienia terminfo na to, ponieważ aplikacje, które działałyby pod nim, zawiodłyby
njsf

Jeśli ustawię to ręcznie, rzeczy działają, a „kolory tput” odzwierciedlają prawidłową liczbę kolorów. W każdym razie nie wiem wystarczająco dużo o terminfo, aby to naprawić. Jakieś sugestie?
Zxaos

Jeśli tput działa, to masz rekordy terminfo.
derobert

Odpowiedzi:


10

Screen zawsze domyślnie ustawia TERM na „screen”. Niemniej jednak należy zdawać sobie sprawę, że ekran TERM = nadal obsługuje kolory.

Testowałem dodanie „terminu screen-256color” do mojego ~ / .screenrc i ustawia ono TERM na „screen-256color” dla mnie (Wersja ekranu 4.00.03 (FAU) 23-paź-06). Czy to możliwe, że ekran szuka niewłaściwego miejsca dla pliku .screenrc?

Możesz także spróbować uruchomić ekran w następujący sposób:

screen -T screen-256color

Sprawdź, czy to działa.


Ręczne określenie terminala uruchamia ekran z poprawnym terminem. (Powodem dla mnie jest to, że Vim nie chce grać ładnie, kolorowo, z ekranem zamiast screen-256color, chyba że zmuszę go do trybu 256 kolorów. Co do tego, czy ekran szuka mojego .screenrc w złym miejsce, jak bym to sprawdzić?
Zxaos

Dzięki, twoja sugestia doprowadziła mnie do zorientowania się, że to zainstalowane profile ekranowe nie radzą sobie z parsowaniem mojego .screenrc.
Zxaos

5

Problemem okazały się niektóre sprzeczne profile ekranowe, które zostały zainstalowane na moim komputerze. Chociaż pozyskali mój lokalny plik .screenrc, nie pozwolili mi ustawić terminu. Wyłączenie korzystania z profili (zmieniłem nazwę dowiązania symbolicznego ~ / .screen-profile na coś innego) spowodowało, że screen odczytał termin ustawiony w moim pliku .screenrc.


0

Dodaj w swoim „~ / .screenrc”:

attrcolor b „.I”
termcapinfo xterm 'Co # 256: AB = \ E [48; 5;% dm: AF = \ E [38; 5;% dm ”
defbce „on”

Nie. Zmienna TERM jest nadal ustawiona na „screen”, nawet gdy startuje ekran z tą obecną w .screenrc
Zxaos
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.