本地机器上运行远程X程序、X环境

November 6th, 2009 | by vvoody |

X11Forwarding
X11转发,在本地机器(Linux/Windows)上运行远程服务器上的X程序

***Linux***

方法1、2是在本地Linux机器上的当前窗口上显示远程服务器上的X程序(单独窗口的形式);
方法2、3使用SSH的X11转发,因此确保远程服务器上的/etc/ssh/sshd_config的X11Forwarding为yes;
方法3、4是在本地Linux上新的控制台下的新的X server上运行远程服务器的完整X环境;
方法1、4需要设置DISPLAY环境变量;
* 所有方法在两端都不需要root权限
* 192.168.1.xx 为本地Linux的IP

方法一:
本地Linux:
$ xhost +
$ ssh user@remotehost
远程服务器:
$ export DISPLAY=192.168.1.xx:0[.0]
$ xeyes& ; nautilus&

* xhost + 允许远程X程序在当前X server上允许,详细man

方法二:
本地Linux:
$ xhost +
$ ssh -X user@remotehost
远程服务器:
$ xeyes&; konqueror&

方法三:
本地Linux:
$ X :12.0 vt12 2>&1 > /dev/null &
$ xterm -display :12.0 -e ssh -X user@remotehost &
切到Ctrl+Alt+F12,在里面的xterm里运行 xeyes 等X程序,或者gnome-session、
startkde等运行完成的X环境

方法四:
本地Linux:
$ X :11.0 vt11 2>&1 > /dev/null &
$ xterm -display :11.0 &

切到Ctrl+Alt+F11在xterm里运行:
$ xhost +

本地Linux:
$ ssh user@remotehost
$ export DISPLAY=192.168.1.xx
$ xeyes& or gnome-session& or startkde&

一般来讲用ssh -X比较方便,方法1、4只是在探讨原理,实际使用相对麻烦。
根据你的不同需求选择方法2、3,在本地只单独运行某些X程序,还是需要完整的X环境。

***Windows***

Windows下需要如下软件:
X server – 本文使用Xming
ssh client – 本本使用Putty

Putty设置:
Connect -> SSH -> X11,勾选”允许 X11 映射”,填入localhost:0.0,MIT-Magic-Cookie-1协议

Xming设置:
如果你只运行单独的X程序,选择哪种窗口模式无所谓;
如果你需要完整的X环境,请选择单窗口或者全屏模式;
一定要勾选上”No Access Control”

最后用Putty登录到远程服务器,运行xeyes等独立X程序,或者gnome-session、startkde完整X环境。

References:
[1] Linux下DISPLAY环境变量的作用
[2] 用SSH实现X11转发

Post a Comment

To submit your comment, click the image below where it asks you to...
根据下面图中的提示点击后提交留言... Clickcha - The One-click Captcha