원격 시스템의 tmux에서 터미널의 각 새 줄은 이전에 표시된 줄의 끝에 들여쓰기됩니다.

원격 시스템의 tmux에서 터미널의 각 새 줄은 이전에 표시된 줄의 끝에 들여쓰기됩니다.

업데이트: @NotTheDr01ds의 의견 덕분에 해결되었습니다.

원래 질문

(제가 사용한 기계에 대한 자세한 내용은 마지막에 있습니다)

다음을 사용하여 Uni의 VPN에 연결합니다.

sudo /sbin/modprobe tun && sudo openconnect gucsasa1.cent.gla.ac.uk

나는 다음과 같은 결과를 얻습니다.

POST https://gucsasa1.cent.gla.ac.uk/
Got CONNECT response: HTTP/1.1 200 OK
CSTP connected. DPD 30, Keepalive 20
Connected as 172.20.183.165, using SSL, with DTLS in progress
Established DTLS connection (using GnuTLS). Ciphersuite (DTLS1.2)-(ECDHE-RSA)-(AES-256-GCM).
Unknown DTLS packet type 13, len 16

그런 다음 SSH를 통해 연결하기 위해 다음 명령을 실행했습니다.

ssh -X mymachine

연결되면 서버의 .bashrc가 tmux(버전 2.6)를 자동으로 시작하려고 시도합니다.

# Launch tmux
if command -v tmux>/dev/null; then
    [[ ! $TERM =~ screen ]] && [ -z $TMUX ] && tmux new-session -A -s main
fi

그러나 즉시 충돌이 발생하여 터미널 디스플레이가 다음과 같이 표시됩니다(여기서 ls문제를 표시하기 위해 입력했지만 이는 모든 표준 출력에서 ​​발생합니다).

"clear"를 입력한 후 "ls"를 입력합니다.

또한 터미널에 입력한 내용도 볼 수 없습니다. 즉, 명령에서 Enter 키를 누를 때까지("블라인드" 입력) 디스플레이가 업데이트되지 않습니다.

ssh에서 -X및 플래그를 사용할 때 -YGUI 프로그램에 문제가 없습니다 . 이는 tmux 터미널의 stdout 렌더링에만 해당됩니다.

reset인터넷 검색 후 타이핑을 하면 "정상적인" 경험이 가능하지만 tmux 서버도 종료된다는 사실을 발견했습니다 . 입력 결과는 다음과 같습니다 ls.

"reset"을 입력한 후 "ls"를 입력합니다.

tmux를 시작하려고 하면 다시 충돌이 발생하고 원래 문제로 돌아갑니다.

동일한 클라이언트 시스템과 동일한 터미널을 사용하여 다른 서버(Debian 10 및 Ubuntu 20.04, bash 및 tmux 2.8 실행)에 연결할 때 이 문제가 발생하지 않습니다.

이 문제를 어떻게 해결할 수 있는지 아는 사람 있나요? 나는 하루 종일 인터넷 검색을 해왔지만 성공하지 못했습니다.

클라이언트 머신

  • 운영 체제: 루분투 20.04
  • 터미널: 세인트
  • 셸: 배쉬
  • tmux 세션에서: : echo $TERMst-256color
  • 외부 tmux 세션:: echo $TERMscreen-256color

서버 기계

  • 운영 체제: 우분투 18.04
  • 터미널: 그놈 터미널
  • 셸: 배쉬
  • 외부 tmux 세션: echo $TERMst-256color

답변1

유사한 구성을 사용하여 이것을 직접 재현할 수는 없었지만 $TERM호스트의 termcap과 ()가 일치하지 않을 수 있다는 소리가 들립니다(댓글에서 확인했습니다).st-256color

나는 몇 가지를 시도해 볼 것입니다:

  • 먼저, 다른 터미널에서도 동일한 문제가 발생하는지 확인하세요. 이 경우에는 gnome-terminal정상적으로 작동합니다.

  • , 또는 TERM등 다양한 설정을 시도해 보십시오 .tmux-256colorscreen-256colorxterm-256color

  • (이 경우에는 어떻게 작동합니까?) export TERM=xterm-256color호스트에 연결하기 전에 클라이언트에서. TERM=xterm256color ssh -X mymachine또한 작동해야합니다.

관련 정보