Pages

Friday, January 30, 2015

转:X11 forwarding-基于SSH使用远程X-Windows应用

From: http://blog.sina.com.cn/s/blog_6808fbed0100wrt4.html

X11 forwarding-基于SSH使用远程X-Windows应用

(2012-03-02 17:48:58)
标签:

杂谈


首先简单的介绍一下X 系统。 X 系统分为X server&X client部分,X server&X  client之间是通过XDMCP (X Display Manager Control Protocol)协议进行传输的。
x server 服务端负责处理和用户的交互,也就是图形的显示,键盘鼠标的输入等等.而客户端就是一个个应用程序。
其中服务端又分为2部分,一个是处理图形的显示单元,另一个是窗口管理器也就是处理应用程序的标题,边框等等的部分。
任何一个涉及xwindows的应用程序,在启动后都会发出tcp连接连往xserver的6000端口(默认得 0)xserver接受请求,通过认证后,就会负责该应用程序的界面。
这个模式哪怕是在本机都是如此。因此,x-windows具有极高的远程管理能力。
在win 下,常用的X server有 Exceed, X-win32等。
而ssh登陆工具我选择putty,体积小,功能强大,免费软件。(Xshell)
1, 打开X-win32, 通过x-config 设置Display number为 0. 此时 x-win32开始监听6000端口。
       如果你设置你的Display number 为1,那么监听的端口是6001,以此类推。
2, 打开putty
       在Connectin->ssh  选中Enable compression
       在Connection->ssh->Tunnels  选中 Enable X11 forwarding,X display  location中的设置要和x-win设置的 Display number 保持一致: localhost:0 或者(locaohost:1 )
( Connection->ssh->X11)
3,ssh登陆linux主机,然后输入 # xterm &
       你的win系统中就会弹出一个xterm的界面,你就可以通过xterm来操作远程的机器了。
    注意: 如果在x-config ->window中选择Multiple,否则选择single的话,如果不启动窗口管理, 你在putty中敲入的第二个xterm窗口会完全覆盖第一个xterm窗口。而在multiple模式下,每个xterm各占用一个独立的窗口,可以用鼠标进行控制,移动。
再次表示惊讶:putty这个小软件功能实在是强大。
ps: 1 要确定远程主机配置文件/etc/ssh/sshd_config是否有
      X11Forwarding  yes
          这一行;
   Exceed ,X-win32是商业软件。cygwin 带有免费的X-server
           运行cygwin,输入startxwin.bat 来运行X-server (可以用Xming)