본문 바로가기

Linux and Unix

xhost 사용하는 방법

2003/11/12 23:56 에 이글루스 블로그에 남겼던 글을 좀 편집했습니다.


리눅스를 사용하는 분들중에 xhost 명령을 제대로 사용하지 못하는 사람들이 몇몇 있어서 한번 적어본다. 얼마전에 만났던 Oracle 엔지니어도 이걸 못해서... 오라클 설치하면서 oracle 계정으로 로그인을 해서 설치하는 꼴을 봤다. 얼마나 없어보이던지... ^^  뭐 몰랐을 수도 있는데.. 지금 보니 부끄러운 표현이네요.


두 대의 컴퓨터를 사용할 경우 xhost와 display 옵션으로 윈도우 애플리케이션을 다른 컴퓨터의 화면에 띄울 수 있다. 

컴퓨터 이름은 각각 A와 B라고 약칭하고, IP는 192.168.1.1과 192.168.1.2를 사용한다고 가정한다.


원격지 컴퓨터 B에 A에 설치된 애플리케이션 띄우는 방법


a. 컴퓨터 B의 터미널에서 컴퓨터 A의 xhost 접근을 허용한다.

#>xhost + 192.168.1.1 (컴퓨터 B의 콘솔)


b. 컴퓨터 A에서 컴퓨터 B로 한텀 창을 띄운다.

#>hanterm -display 192.168.1.2:0.0 (컴퓨터 A의 콘솔)



telnet이나 ssh로 접근하여 애플리케이션 띄우는 방법


만약 컴퓨터 B에는 없고 컴퓨터 A에만 있는 프로그램이 있다면, telnet이나 ssh로 컴퓨터 A에 접속하여 컴퓨터 A의 애플리케이션을 컴퓨터 B에 띄워 사용할 수 있다.


a. 컴퓨터 B의 터미널에서 컴퓨터 A의 xhost 접근을 허용한다.

#>xhost + 192.168.0.1 (컴퓨터 B의 콘솔)


b. 컴퓨터 A로 원격 접속한다.

#>ssh root@192.168.0.1


c. DISPLAY 환경변수를 192.168.0.2:0.0로 설정한다.

#>export DISPLAY=192.168.0.2:0.0


d. 한텀창을 띄운다. (컴퓨터 B에는 한텀이라는 애플리케이션이 없다고 가정한다)

#>hanterm &


띄워진 한텀창으로 컴퓨터 B에 없는 한텀을 사용할 수 있다.



로컬에 설치되어 있는 프로그램을 다른 사용자 계정으로 띄우는 방법


위에서 설명한 오라클 설치에 필요하거나, 로그인 되지 않은 다른 사용자 계정으로 어플리케이션을 실행해야 하는 경우에 필요하다.


a. 로그인된 사용자의 명령라인에서 xhost + localhost(IP도 상관없다)를 입력한다.

#>xhost + localhost


b. 사용자를 전환한다.

#>su - oracle


c. DISPLAY 변수를 export 한다.

#>export DISPLAY=localhost:0.0 (여기서도 IP를 적어도 된다.)


d. 실행할 어플리케이션을 입력한다.

#>/mnt/cdrom/runInstaller


어플리케이션 하나 띄우기 위해서 X에서 로그아웃 했다가 로그인을 하지말고 xhost 명령을 잘 기억해 두는 것이 조금 더 나은 방법인 것 같다.