Linux에서 X11 포워딩을 설정하는 방법

X 윈도 시스템(X11) 이해하기

X11, 또는 Xorg 서버라고도 불리는 이 시스템은 리눅스 환경에서 디스플레이를 관리하는 핵심 기술입니다. 1980년대 중반부터 사용되어 온 이 기술은 개인용 컴퓨터가 대중화되던 시기에 설계되었습니다.

장황한 역사 강의 없이 간단히 말해, X11은 오늘날 모든 리눅스 사용자에게 필수적인 존재입니다. 그래픽 인터페이스가 원활하게 작동하도록 지원하며, 대부분의 일상적인 컴퓨터 작업에 있어 중요한 역할을 담당합니다.

리눅스 시스템에서 그래픽 카드를 제어하고 데스크톱 환경을 렌더링하는 기능 외에도, X11의 가장 큰 장점 중 하나는 X11 포워딩을 통해 네트워크를 통해 그래픽 인터페이스를 표시할 수 있다는 점입니다. 이 가이드에서는 SSH를 사용하여 리눅스 환경에서 X11 포워딩을 설정하는 방법에 대해 자세히 알아보겠습니다.

필수 조건

리눅스에서 X11 포워딩을 활용하려면, 먼저 SSH가 시스템에 구성되어 있어야 합니다. SSH가 필요한 이유는 X11 포워딩이 Secure Shell의 일부 기능이며, 현재로서는 SSH 외부에서 이 기능을 사용할 수 없기 때문입니다.

SSH 서버를 설정하는 과정은 매우 간단하며, 대부분의 리눅스 배포판에서는 몇 단계만으로 완료할 수 있습니다. 설정하려면 터미널을 열고, SSH 연결을 할 컴퓨터에 클라이언트를 설치합니다. 클라이언트 설치 후에는 원격 컴퓨터나 서버로 이동하여 SSH 서버 패키지를 설치하고, systemd 서비스를 활성화해야 합니다.

만약 리눅스에서 Secure Shell 서버를 설치하고 사용하는 방법에 대해 잘 모르신다면, 저희가 도와드릴 수 있습니다! SSH 설정 방법에 대한 가이드를 참고하시고, 연결을 설정하는 방법과 몇 가지 자주 사용되는 명령 예시를 살펴보세요!

X11 포워딩 활성화

SSH에서 X11 포워딩 기능을 활성화하는 과정은 SSH 구성 파일 내부에서 이루어집니다. 이 구성 파일은 /etc/ssh/ssh_config에 위치하며, sudo 또는 루트 사용자 권한으로 편집해야 합니다. 터미널을 열고, 수퍼유저 로그인 명령을 실행하세요. 만약 시스템에서 su 명령어가 비활성화되어 있다면, sudo -s 명령어를 대신 사용하여 루트 계정으로 로그인할 수 있습니다.

su -

또는

sudo -s

터미널에 루트 권한으로 접근한 후에는 Nano 텍스트 편집기를 사용하여 ssh_config 파일을 열 수 있습니다. 터미널에서 Nano 텍스트 편집기 도구를 사용하여 ssh_config 파일을 여세요.

nano -w /etc/ssh/ssh_config

위/아래 화살표 키를 사용하여 Nano 텍스트 편집기에서 “ForwardX11″이라고 표시된 행을 찾아, 코드 앞의 주석 기호(#)를 제거합니다.

참고: ssh_config 파일에서 X11 포워딩 관련 행을 찾을 수 없다면, 나노에서 Ctrl + W 단축키를 눌러 검색 기능을 활성화하세요. 그런 다음 “ForwardX11″을 입력하고 Enter 키를 누르면 해당 행으로 바로 이동할 수 있습니다.

SSH 서버 구성 파일을 편집한 후에는 Ctrl + O 키보드 단축키를 눌러 변경 사항을 저장하고, Ctrl + X 키를 눌러 나노 편집기를 닫습니다.

SSH 서버 재시작

이제 SSH 서버 설정 파일에서 X11Forward 행이 활성화되었으므로, 변경 사항이 즉시 적용되지 않기 때문에 SSH 서버 소프트웨어를 재시작해야 합니다. 대부분의 리눅스 배포판에서는 systemctl restart 명령어를 사용하여 SSH를 재시작할 수 있습니다.

참고: systemd를 사용하지 않는 리눅스 배포판의 경우, SSH 재시작을 위한 자체 메커니즘이 존재합니다. 만약 Secure Shell 서버 소프트웨어를 재시작하는 명령어를 정확히 알 수 없다면, 시스템을 재부팅하는 것이 가장 확실한 방법입니다. 시스템을 재부팅한 후 변경 사항이 정상적으로 적용됩니다.

systemctl restart sshd.service

SSHD 백그라운드 서비스가 재시작되면, SSH 서버는 네트워크를 통해 X11 창을 포워딩할 준비가 완료됩니다.

X11 포워딩 사용법

X11 포워딩은 SSH의 한 기능이며, 독립적인 기능이 아닙니다. X11 포워딩을 사용하려면, 다음과 같은 형식으로 SSH 접속 명령어를 작성해야 합니다.

참고: remoteuser 및 remote-hostname 부분을 실제 원격 사용자 이름과 원격 호스트 이름 또는 IP 주소로 대체해야 합니다.

ssh [email protected] -X

SSH 서버가 기본 포트(22번 포트)가 아닌 다른 포트에서 실행되는 경우, 연결 명령어에 해당 포트 번호를 명시해야 합니다. 다음은 성공적인 연결을 위한 명령 예시입니다.

ssh [email protected] -X -p portnumber

원격 시스템에 SSH 연결이 성공적으로 이루어지면, 터미널에서 프로그램을 실행하여 서버에 설치된 애플리케이션을 사용자의 데스크톱으로 원격으로 포워딩할 수 있습니다.

예를 들어 SSH 서버에 설치된 Gedit 텍스트 편집기를 실행하려면, gedit 명령어를 입력하면 됩니다.

gedit

노틸러스 파일 관리자의 경우, nautilus 명령어를 입력하면 됩니다.

nautilus

SSH 및 X11 포워딩을 통해 둘 이상의 프로그램을 동시에 실행해야 할 경우에는 각각 별도의 SSH 연결을 열고 각 연결에서 작업을 진행해야 합니다.

포워딩된 프로그램 종료하기

SSH를 통해 포워딩된 애플리케이션을 종료하려면 Ctrl + C 키를 누르거나, 컴퓨터의 다른 프로그램과 마찬가지로 “닫기” 버튼을 클릭하면 됩니다.