출처: http://blog.empas.com/rarravis/121240?v=trackback&l=1
리눅스를 사용하는 분들중에 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 명령을 잘 기억해 두자