Używając ekranu, polecenia takie jak less i man nie usuwają później ekranu

15

W przeciwieństwie do tego pytania chcę ponownie włączyć czyszczenie ekranu less. Działa dobrze w moim xtermterminalu pod Cygwin / mintty lub Gnome Terminal (oba xterm).

Jednak podczas screensesji czyszczenie ekranu jest w jakiś sposób wyłączone. Próbowałem kilku rzeczy

screen -T xterm

lub umieszczenie oświadczenia autonuke w moim ~/.screenrc. Również w sesji ekranowej

export TERM=xterm
tset

nie ma wpływu. Więc teraz nie mam pomysłów. Każda pomoc doceniona.

Boldewyn
źródło
hmm, widzę to samo na Cygwin / mintty, Debian / putty, Ubuntu / putty. w kitu używam kitu jako TERM zamiast xterm, ale to jedyna prawdziwa różnica.
quack quixote

Odpowiedzi:

21

Prawdopodobnie chcesz uniknąć screen -Tlub zresetować TERM od jego wartości domyślnej podczas sesji ekranu (prawdopodobnie powinna to być, screena przynajmniej coś, co zaczyna się od screen).

Spróbuj wstawić następujący wiersz .screenrc:

altscreen on

Aby aktywować go dla każdej sesji, możesz wykonać Control+ a: altscreen na Return.

Moja strona mówi:

altscreen włączony | wyłączony

Jeśli ta opcja jest włączona, obsługa „alternatywnego ekranu” jest włączona w terminalach wirtualnych, podobnie jak w xterm. Ustawienie początkowe jest wyłączone.

BTW, wyjaśniłem pierwotną przyczynę „czyszczenia ekranu” (właściwie alternatywnego / normalnego zamiany ekranu) w innej odpowiedzi. Możliwe, że screenbrakuje wpisu terminfo smcup/ rmcuplub ekran nie obsługuje ekranów alternatywnych. Oba wydają się mniej prawdopodobne, że altscreensą wyłączone.

Chris Johnsen
źródło
przeczytałem twoje wyjaśnienie na ekranie alternatywnym kilka dni temu i uznałem, że jest ono powiązane. dzięki za doskonałe napisania - teraz umieszczam to w moim .screenrc.
szarlatan
Używam komputera Mac i nie mam polecenia altscreen. Jakiś inny sposób to zrobić?
Dana
2
@Dana: Jaka wersja screen ( screen --version)? Wygląda na to, że altscreenistnieje już od ekranu 3.9.13. Na podstawie opensource.apple.com wydaje się, że wersja ekranu w pakiecie Apple jest nowsza niż 3.9.13 od 10.3. Dla przypomnienia, nie jest to zwykłe „polecenie powłoki”, ale polecenie specyficzne dla screena ; należy go wprowadzić na ekranie „monit dwukropka” (Control + a, a :altscreen onnastępnie Return).
Chris Johnsen