[linux]介绍Linux远程桌面之Xmanager

2010年9月19日星期日 | | |

Linux远程桌面 之 Xmanager

1、利用Xmanager,linux启用XDMCP协议(可直接修改配置文件,也可以采用在Xshell中运行gdmconfig或
      gdmsetup,选择XDMCP选项卡,勾选启动XDMCP即可),Xbrowser即可发现linux主机, 以图形化方式访问linux,这样您就可以像操作WINDOWS一样操作桌面了。
       Linux远程桌面2006年11月23日 星期四 11:24Linux远程桌面这里我要说的不是telnet,rsh之类的远程控制工具,而是指远程控制桌面应用.
  X window比MS windows先进的地方是,X window是个基于网络的的图形视窗系统,本身就具有远程控制的强大功能.用户在远程系统上登录执行X 应用程序,并将Xclients执行的结果传回本地主机.这就是我下面要介绍的Remote X
  一、Remote X
  假设本地主机ip为172.16.1.1,远程的主机ip为172.16.1.2
  第一步,在本地主机上的任意一个xterm中执行xhost,用来允许远程的其它主机可以和本地主机的X server联网:
  xhost + 172.16.1.2
  如果不指定任何ip地址,则表示权限完全放开,这会带来安全问题,要小心!
  第二步,确认本地主机的xfs是运行的.用ps检查一下进程.
  第三步,从本地主机(172.16.1.1)上通过网络登录到远程主机172.16.1.2上,你用telnet,ssh,rsh都可以.设置DISPLAY变量.
  export DISPLAY=172.16.1.1:0
  第四步,现在可以使用远程主机上的X 应用程序了.
  这么样,很方便吧,但是你还不能掌控整个桌面环境,这个工作就交给vnc吧!Remote X 在局域网上运行效果很不错,普通的电话拨号就不用试了,速度太慢了。
  二、vnc
  我相信有不少人在windows环境用过pcanywhere,但你想不想用一个免费的,可以在linux,win9x/nt上都可以使用的pcanywhere,这就是vnc.
  vnc就是vitual network computing的缩写,它支持许多操作平台,甚至可在浏览器中操作.
  我主要介绍vncviewer的用法,以及用linux远程控制linux或nt.
  vnc client通过架构在tcp/ip上的vnc协议与vnc server沟通,通过认证后,把X server的桌面环境,输入设备,和X 资源交给vncserver掌控,vnc server将桌面环境通过vnc 协议送给vnc client端.让vnc client来操纵vnc server桌面环境和输入设备.
  首先下载到vnc的linux版本和windows版本.
  当前的linux版本是vnc-3.3.3r1_x86_linux_2.0.tgz
  当前的windows版本是vnc-3.3.3r7_x86_win32.zip
1.安装linux版的vnc
  (1)安装
  tar zxvf vnc-3.3.3r1_x86_linux_2.0.tgz
  cd vnc_x86_linux_2.0
  cp *vnc* /usr/local/bin/
  mkdir /usr/local/vnc
  cp -r classes/ /usr/local/vnc/
  (2)设置vnc server的访问密码
  vncpasswd
  (3)启动vnc server
  vncserver
  注意运行后显示的信息,记下所用的端口号,一般从1开始,因为0被x server占用了.现在,你就能提供vnc服务了.vnc client的用法等会介绍.
  2、安装nt版的vnc
  1)安装
  解开vnc-3.3.3r7_x86_win32.zip包后,会产生 winvnc和vncviewer两个目录.winvnc目录中是vnc server的安装程序,vncviewer目录中是vnc client的安装序.我只关心vnc server,在winvnc目录中执行setup即可.
  2)设置
  首先执行install default registry settings.
  run winvnc(app mode)就是执行vnc server
  这时可看到winvnc运行的小图标,用鼠标右键点击图标,在properties/incoming connections中设定密码.默认配置即可.
  现在,你的nt就能提供vnc服务了.
  3、使用vncviewer
  vnc server启动成功后,你就可用vncviewer来远程控制桌面了.
  vncviewer xxx.xxx.xxx.xxx:display number
  例如,vncviewer 172.16.1.2:1
  按要求输入密码就可以看到远程的桌面了.
  注意:viewers需要在16位色的显示模式下工作,如果您的操作系统中没上16位色,那么请您及时的调整您计算机的显示模式。不然vncviewer无法正常工作。
  4、linux版vnc server的改进.
  linux上的vnc server内定的桌面管理环境是twm,实在是太简陋了.
  修改$HOME/.vnc/xstartup这个文件.
  把所有内容的行前加上#,再在接尾部份加上:
  startkde &
  你当然可用你喜好的桌面代替.我这是用kde来代替twm,速度会慢少少,但用起来方便不少.
  注意要重新启动vnc server.
  5、通过浏览器使用vnc
  通过浏览器使用vnc,要注意端口号的变化.
  假设vnc server是172.16.1.2:1的话,那么,可用浏览器访问http://172.16.1.2:5801
  端口号=display number + 5800
  好了,心动不如行动,just do it !
=====================================================
随着互联网的高速发展以及Linux企业应用的成熟,Linux被广泛应用于服务器领域,如何实现Linux的远程管理成为网络管理员的首要任务。我们经常见到的几种最为常用的windows下远程管理L
inux 服务器的方法,基本上都是利用SecureCRT,F-Secure SSH 抑或是PUTTY等客户端工具通过ssh服务来实现Windows下管理Linux服务器的,这些客户端工具几乎不需要什么配置,使用简单,但是它们都无法启动窗口服务的程序或进程,也无法达到远程桌面控制。本文将介绍通过xmanager远程桌面控制Linux的方法和技巧。本文中所指的Linux系统,如无特别说明都以RedHat 9.0为例。
有两种方法可以实现远程管理Linux桌面窗口,其中一个就是是我们所选择的 X显示管理器(X display manager)或者说xdm,另一个流行的解决方案是vnc。我选择xdm而不是vnc出于两点原因。第一,vnc要有个服务端的守护进程,为每个共享的桌面运行。第二,我已经有X服务器的软件安装在所有的工作站上,不想再添加额外的客户端软件了。
我们先来了解一些X系统方面的知识,X是用在大多数UNIX系统中的图形支持系统。如果你在你的Linux机器上使用GNOME或者KDE的话,你就正在使用X系统。它由X联盟(www.X.org)定义并维护。大多数的Linux用户使用的都是由XFree86 项目 (www.xfree86.org)提供的X Window系统的实现。xdm 是一个显示管理器,提供了灵活的任务管理功能。然而xdm通常被认为是"GUI的登陆屏幕,可以自动启动我的X任务",我们会看到实际上它要更为强大。
xdm 使用X联盟的X显示管理控制协议,即XDMCP,来和X服务器通信。它允许X服务器从运行xdm服务的服务器上获得会话服务。
当使用xdm管理这些X任务的时候在设置上有些复杂。但设置xdm 可以得到本地的和其他服务器上的桌面了。我们下面将介绍服务器上配置xdm的方法和步骤,这里描述的配置允许任何的 XDMCP 客户访问 Linux 服务器桌面环境(当然了影响了X的安全)。
第一步,我们在Linux系统下,修改/etc/X11/xdm/Xaccess文件,找到下面的语句:# * #any host can get a login window
去掉最前面的#号,成为 * #any host can get a login window
第二步,我们修改/etc/X11/gdm/gdm.conf文件,找到下面的语句:
[xdmcp]
# Distribution : Ship with this off. It is never a safe thing to leave
# out on the net. Alternatively you can set up /etc/hosts.allow and
# /etc/hosts.deny to only allow say local access.
Enable = false
将其中的Enable=false 改为Enable=true 或 Enable=1。
同时我们要确保存在下面的语句,因为177端口是我们要配置的xdmcp服务的监听端口,我们在后面配置xmanager将看到。
# The port. 177 is the standard port so better keep it that way
Port = 177
第三步,我们要修改/etc/inittab文件,将下面的语句
id:3:initdefault:
改为如下,如果原来就是id:5:initdefault:就不用更改。
同时,找到如下图文字所在的地方,
# Run xdm in runlevel 5
x:5:respawn: /etc/X11/prefdm -nodaemon
将它修改为x:5:respawn:/usr/bin/gdm,即如下图所示,
第四步,我们修改/etc/X11/xdm/xdm-config的最后一行,在displayManager.requestPort:0前面加上一个!号,结果如下
! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
! DisplayManager.requestPort:     0
第五步,我们修改确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755,在RedHat 9.0中,我们可以看到这两个文件默认的属性就是444和775,因此不用修改。
-r--r--r-- 1 root root   487 Dec 10 2004 Xservers
-rwxr-xr-x 1 root root   935 Oct 21 2004 Xsetup_0
最后,如果我们的Linux机器配置有防火墙,为防止防火墙将通过177端口(即xdmcp服务)的数据过虑,我们必须加上如下的规则:
   iptables -A INPUT -p udp -s 0/0 -d 0/0 --dport 177 -j ACCEPT
至此为止,我们在Linux下的配置xdm已经基本完成。但上面这些配置还只是x服务器端的配置,我们要想实现在Windows远程桌面控制Linux,还必须要
有Windows下的客户端工具,xmanager正是这样的一个工具,它是一个简单易用的高性能的运行在Windows平台上的 X Server 软件。我们现在来介绍xmanager的在Windows下的安装和配置技巧,这里我使用的机器是windows xp。
我们先下载xmanager的安装文件,我下载的是 xmanager1.3.9,安装后,在安装目录下,我们点击xconfig,选择xdm,如下图,选择"XDM Indirect",在 host:后面填上我们已经配置好的Linux系统的ip,注意下面的XDMCP Port:177, 这就是我们在配置Linux服务器时必须保证 port=177的原因。
====================================================
XManager系统配置简介
服务器:Red Hat Linux
终端:Xmanager 1.3.9
 
使用方法:
 服务器上操作:
-------------------------------------------------------------------------
1.修改X字体服务器脚本: /etc/rc.d/init.d/xfs , 改变端口 ,
       daemon xfs -droppriv -daemon -port -1
     改成:
       daemon xfs -droppriv -daemon -port 7100
-------------------------------------------------------------------------
2. 修改 /etc/X11/xdm/Xaccess,将下面的行:
#* # any host can get a login window
改为:
* # any host can get a login window
------------------------
3. 修改/etc/X11/gdm/gdm.conf,找到下面的信息:
[xdmcp]
Enable=0 或Enable=false
修改为:
[xdmcp]
Enable=1 或Enable=true
并确保以下信息存在:
Port=177
------------------------
4: 修改/etc/inittab,将
id:3:initdefault:
修改为:
id:5:initdefault:
并将最后一行改为:
#red hat
x:5:respawn:/usr/bin/gdm -nodaemon
#red hat A3(企业版)
x:5:respawn:/usr/bin/gdm-binary -nodaemon
-------------------------
5:修改 /etc/X11/XServers ,加入下面几行取得4个xdm 登录(X DisplayManager)或者
      gdm(GNOME X display manager)
进程,可以允许四个不同用户登录,当然你可以允许更多
      用户 .
                :0 A local /usr/X11R6/bin/X :0
                :1 B local /usr/X11R6/bin/X :1
                :2 C local /usr/X11R6/bin/X :2
                :3 D local /usr/X11R6/bin/X :3
#以上设置可以多个Client访问
-------------------------------------------------------------------
6: 确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755。
-------------------------
7.修改   /etc/X11/XF86Config ,改:
       FontPath    "unix:-1"
      到:
       FontPath    "unix:7100"
8.修改防火墙配置文件/etc/sysconfig/ipchains (iptables),在文件头部加入如下内容, 
# If you want to use GNOME/KDE, add the following line.
-A input -p udp -s 0/0 -d 0/0 177 -j ACCEPT
9. 重新启动RedHat Linux
好了,到此Server端告一段落,restart后如果出现下列错误:
   _ FontTransSocketUNIXConnect: Can't connect: errno = 111
              failed to set dafault font path 'unix:-1'
              Fatal server error:
              could not open default font 'fixed'
则在/etc/X11/XF86Config加入以下行:
FontPath "/usr/lib/X11/fonts/75dpi/"
                FontPath "/usr/lib/X11/fonts/misc/"
                FontPath "/usr/lib/X11/fonts/CID"
                FontPath "/usr/lib/X11/fonts/Speedo"
                FontPath "/usr/lib/X11/fonts/100dpi"
 
服务器:FreeBSD
终端:Xmanager 1.3.9
使用方法:
服务器上操作:
-----------------------
1. /usr/X11R6/lib/X11/xdm/xdm-config
注释掉这句:
!DisplayManager.requestPort: 0
-----------------------
2. /usr/X11R6/lib/X11/xdm/Xservers
注释掉这句:
#:0 local /usr/X11R6/bin/X
-----------------------
3. /usr/X11R6/lib/X11/xdm/Xaccess
把这句的注释去掉:
* #any host can get a login window
-----------------------
4. /etc/ttys中
修改如下:
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm on secure
-------------------------------
服务器:SunOS
终端:Xmanager 1.3.9
使用方法:
服务器上操作:
------------------
由于服务器默认启动xdm,无需更改
------------------
以上,终端连接的时候,可以使用xbrowser直接输入ip地址进行连接!
服务器:Red Hat Linux
终端:Xmanager 1.3.9
使用方法:
 
服务器上操作:
------------------------
1. 修改 /etc/X11/xdm/Xaccess,将下面的行:
#* # any host can get a login window
改为:
* # any host can get a login window
------------------------
2. 修改/etc/X11/gdm/gdm.conf,找到下面的信息:
[xdmcp]
Enable=0 或Enable=false
修改为:
[xdmcp]
Enable=1 或Enable=true
并确保以下信息存在:
Port=177
------------------------
3: 修改/etc/inittab,将
id:3:initdefault:
修改为:
id:5:initdefault:
并将最后一行改为:
x:5:respawn:/usr/bin/gdm
-------------------------
4: 确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755。
-------------------------
服务器:FreeBSD
终端:Xmanager 1.3.9
使用方法:
服务器上操作:
-----------------------
1. /usr/X11R6/lib/X11/xdm/xdm-config
注释掉这句:
!DisplayManager.requestPort: 0
-----------------------
2. /usr/X11R6/lib/X11/xdm/Xservers
注释掉这句:
#:0 local /usr/X11R6/bin/X
-----------------------
3. /usr/X11R6/lib/X11/xdm/Xaccess
把这句的注释去掉:
* #any host can get a login window
-----------------------
4. /etc/ttys中
修改如下:
ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm on secure
-------------------------------
服务器:SunOS
终端:Xmanager 1.3.9
使用方法:
服务器上操作:
------------------
由于服务器默认启动xdm,无需更改
------------------
以上,终端连接的时候,可以使用xbrowser直接输入ip地址进行连接!
=================================================================
设置xwindow可以支持如xmanager这样的工具远程登陆linux。设置如下:
#vi /etc/X11/xdm/xdm-config
在最后一行: DisplayManager.requestPort: 0 前面加!号注释掉此行。
#vi /etc/X11/xdm/Xservers
在最后一行::0 local /usr/X11R6/bin/X 前面加#号注释掉这一行。
#vi /etc/X11/xdm/Xaccess
找到#* #any host can get a login window
把这一行前面的#号去掉,变成:
* #any host can get a login window
最后运行#xdm。这样使用xmanager等工具就可以连接Linux了!!!
 
====================
快捷键:
GNOME
CTRL+B 书签
CTRL+D 复制粘贴
CTRL+F 查找
SHIFT+CTRL+F WEB查找
CTRL+I 显示属性页
CTRL+H 切换到HOME
CTRL+U 向上一级
CTRL+N 建立新文件夹
CTRL+O 打开
CTRL+W 关闭窗口
SHIFT+CTRL+W 关闭所有窗口
CTRL+= 放大
CTRL+- 缩小
CTRL+[ 返回
CTRL+] 向前
CTRL+T 放到垃圾筒
CTRL+R 刷新
CTRL+A 全选
KDE
CTRL+TAB 切换工作桌面
ALT+TAB 切换应用程序
ALT+F1 打开应用程序菜单
ALT+F2 打开命令窗口
ALT+F3 打开窗口菜单
ALT+F4 关闭窗口
F1 HELP
F2 在页面搜索
F3 在页面搜索下一个
SPACE 选中/取消选中文件
CTRL+N 打开文件管理器
CTRL+A 全选当前目录下的文件和目录
CTRL+T 在当前目录下打开一个终端
CTRL+W 关闭窗口
CTRL+F 搜索文件
CTRL+C 拷贝
CTRL+r 粘贴
 
----------------------------PS: Xmanager 几个注意点
 
1、利用Xmanager,linux启用XDMCP协议(可直接修改配置文件,也可以采用在Xshell中运行gdmconfig或 gdmsetup,选择XDMCP选项卡,勾选启动XDMCP即可),Xbrowser即可发现linux主机,以图形化方式访问linux,这样您就可以像操作WINDOWS一样操作桌面了。
 
2. Xmanager windows版中有个Xstart工具.相当于telnet 工具.经过以上配置完成之后,一般是可以使用的.
不过启动图形界面命令不是startx 而startkde.

参考:http://aben328.javaeye.com/blog/418702

0 评论:


所有文章收集于网络,如果有牵扯到版权问题请与本站站长联系。谢谢合作![email protected]