개요
Mac에서 원격 서버의 GUI 화면을 보고 싶어
펭귄은 Mac을 사용 중인데, 원격 서버의 GUI 화면을 확인할 일이 생겼다. 윈도우에서는 MobaXterm으로 볼 수 있었는데, Mac에서는 안된다..! 고민하다가 xquartz로 해결!
Tip
Mac에서 원격 서버의 GUI 애플리케이션을 실행하려면 X11 Forwarding 기능을 사용해야 한다. XQuartz를 설치하고, SSH를 사용하면 원격 서버의 GUI 프로그램을 Mac에서 실행할 수 있다.
X11 Forwarding
X11 Forwarding은 X11 프로토콜을 사용하여 원격 서버에서 실행된 GUI 애플리케이션의 화면을 네트워크를 통해 로컬 컴퓨터로 전송하는 기능이다. 이를 통해 사용자는 터미널을 통해 원격 서버에서 GUI 프로그램을 실행하고, 해당 프로그램의 창을 로컬 화면에서 직접 확인할 수 있다.
Mac과 같은 UNIX 기반 운영체제는 기본적으로 GUI 프로그램을 실행하는 X11 서버가 없으므로, XQuartz 같은 X 서버 프로그램이 필요하다.
XQuartz 설치

XQuartz 홈페이지에서 설치 파일을 다운로드 받거나, 터미널에서 brew 명령어를 사용해서 설치할 수 있다.
- XQuartz 홈페이지
XQuartz
The XQuartz project is an open-source effort to develop a version of the X.Org X Window System that runs on macOS. Together with supporting libraries and applications, it forms the X11.app that Apple shipped with OS X versions 10.5 through 10.7. Quick Down
www.xquartz.org
- brew 명령어
brew install --cask xquartz
펭귄은 brew 명령어를 사용해서 설치했다.
설치 후에는 PC를 재부팅 해준다.
SSH X11 Forwarding 설정
로컬(Mac) 설정
- 터미널에서 X11 포워딩이 활성화되어 있는지 확인한다. 만약 아무런 값도 출력되지 않는다면 XQuartz를 실행해야 한다.
- XQuartz 실행 후, 터미널을 다시 열어 $DISPLAY 변수를 확인한다.
# 1 : X11 포워딩이 활성화되어 있는지 확인
echo $DISPLAY
# 2 : X11 포워딩이 활성화 안되어 있을 경우
open -a XQuartz
원격 서버 설정
X11 Forwarding을 활성화하려면 원격 서버의 SSH 설정 파일(/etc/ssh/sshd_config)을 수정해야 한다.
X11Forwarding yes # X11 Forwarding을 활성화
X11DisplayOffset 10 # X 디스플레이 기본 오프셋을 10으로 설정
X11UseLocalhost no # 로컬 호스트를 사용하지 않고 외부 접속을 허용
- X11Forwarding yes: X11 Forwarding 기능을 활성화하는 옵션이다. 이 옵션이 no로 설정되어 있으면 원격 GUI 실행이 불가능하다.
- X11DisplayOffset 10: X 서버의 디스플레이 번호를 설정하는 옵션이다. 일반적으로 기본 값은 10이며, 여러 사용자가 동시에 X11을 사용할 경우 디스플레이 번호가 증가할 수 있다.
- X11UseLocalhost no: 기본적으로 yes로 설정되어 있으면 원격 X11 클라이언트가 localhost를 통해서만 접속하도록 제한한다. no로 설정하면 원격 사용자가 직접 접속할 수 있도록 허용한다.
위 설정 적용 후 ssh 데몬을 재시작한다.
sudo systemctl restart sshd
SSH X11 Forwarding 접속
XQuartz 설치 후 ssh의 -X 옵션을 사용해서 접속하면, 원격 서버의 GUI 창을 확인할 수 있다.
ssh -X 사용자명@서버주소
'컴퓨터 > tip' 카테고리의 다른 글
[draw.io] 다이어그램에 수식(AsciiMath, LaTeX) 넣는 방법 (0) | 2025.02.01 |
---|---|
[draw.io] 다양한 다이어그램을 그릴 수 있는 웹 사이트 (flowchart, ERD, UML) (0) | 2025.01.30 |
[LaTeX] 그래프 2개를 같은 Figure 속에 배치하기 (subcaption) (0) | 2025.01.30 |
[MATLAB] MATLAB에서 csv 파일 읽고, 처리하는 방법 (readtable) (0) | 2025.01.28 |