Linux 머신에 연결할 때 $DISPLAY 설정 팁

발행: (2026년 1월 31일 오전 07:40 GMT+9)
2 분 소요
원문: Dev.to

Source: Dev.to

배경

Windows 머신에서 X 서버를 실행하고 Linux 시스템에 SSH로 접속합니다.
처음에는 DISPLAY 변수를 Windows IP 주소로 수동 설정하고 xeyes, xclock, xterm 같은 X 클라이언트를 실행했습니다.
xclock에 별칭을 만들고 명령을 스크립트에 넣었지만, 연결할 때마다 여전히 DISPLAY를 설정해야 했습니다.

SSH_CLIENTSSH_CONNECTION 환경 변수에 클라이언트 머신의 IP 주소가 저장된다는 것을 알게 되었습니다. SSH_CLIENT의 첫 번째 필드를 추출하면 IP 주소를 자동으로 얻을 수 있습니다.

해결 방법

  1. SSH_CLIENT에서 클라이언트 IP 주소를 추출합니다.
  2. DISPLAY 값(:0)을 구성합니다.
  3. X 클라이언트가 어디에 렌더링할지 알 수 있도록 DISPLAY를 export합니다.
  4. SSH를 통해 연결되지 않은 경우 localhost를 기본값으로 사용하도록 fallback을 추가합니다.
  5. 이 로직을 ~/.bashrc에 넣어 모든 인터랙티브 로그인 시 실행되게 합니다.

예시 스크립트 (~/.bashrc에 넣기)

# Get the client IP from SSH_CLIENT (if present)
host=$(echo "${SSH_CLIENT}" | cut -f1 -d' ')

# If not connected via SSH, default to localhost
if [ -z "$host" ]; then
    host=localhost
fi

# Build the DISPLAY variable and export it
export DISPLAY="${host}:0"

이 내용을 ~/.bashrc에 추가하면, 새로운 터미널 세션(SSH 로그인 포함)에서 DISPLAY가 올바르게 설정되어 추가적인 수동 단계 없이 X 클라이언트를 실행할 수 있습니다.

Back to Blog

관련 글

더 보기 »

Termux

기사 URL: https://github.com/termux/termux-app 댓글 URL: https://news.ycombinator.com/item?id=46854642 점수: 4 댓글: 0