업데이트: @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
문제를 표시하기 위해 입력했지만 이는 모든 표준 출력에서 발생합니다).
또한 터미널에 입력한 내용도 볼 수 없습니다. 즉, 명령에서 Enter 키를 누를 때까지("블라인드" 입력) 디스플레이가 업데이트되지 않습니다.
ssh에서 -X
및 플래그를 사용할 때 -Y
GUI 프로그램에 문제가 없습니다 . 이는 tmux 터미널의 stdout 렌더링에만 해당됩니다.
reset
인터넷 검색 후 타이핑을 하면 "정상적인" 경험이 가능하지만 tmux 서버도 종료된다는 사실을 발견했습니다 . 입력 결과는 다음과 같습니다 ls
.
tmux를 시작하려고 하면 다시 충돌이 발생하고 원래 문제로 돌아갑니다.
동일한 클라이언트 시스템과 동일한 터미널을 사용하여 다른 서버(Debian 10 및 Ubuntu 20.04, bash 및 tmux 2.8 실행)에 연결할 때 이 문제가 발생하지 않습니다.
이 문제를 어떻게 해결할 수 있는지 아는 사람 있나요? 나는 하루 종일 인터넷 검색을 해왔지만 성공하지 못했습니다.
클라이언트 머신
- 운영 체제: 루분투 20.04
- 터미널: 세인트
- 셸: 배쉬
- tmux 세션에서: :
echo $TERM
st-256color - 외부 tmux 세션::
echo $TERM
screen-256color
서버 기계
- 운영 체제: 우분투 18.04
- 터미널: 그놈 터미널
- 셸: 배쉬
- 외부 tmux 세션:
echo $TERM
st-256color
답변1
유사한 구성을 사용하여 이것을 직접 재현할 수는 없었지만 $TERM
호스트의 termcap과 ()가 일치하지 않을 수 있다는 소리가 들립니다(댓글에서 확인했습니다).st-256color
나는 몇 가지를 시도해 볼 것입니다:
먼저, 다른 터미널에서도 동일한 문제가 발생하는지 확인하세요. 이 경우에는
gnome-terminal
정상적으로 작동합니다., 또는
TERM
등 다양한 설정을 시도해 보십시오 .tmux-256color
screen-256color
xterm-256color
(이 경우에는 어떻게 작동합니까?)
export TERM=xterm-256color
호스트에 연결하기 전에 클라이언트에서.TERM=xterm256color ssh -X mymachine
또한 작동해야합니다.