使用图形客户端远程访问Linux服务器

简介:   一、引言  我们可以通过telnet、ssh等远程登录Linux服务器,但都是字符界面的。本文介绍了通过XDMCP+XDM来远程连接Linux服务器上的XFree86 Server,可以在图形环境下远程管理Linux服务器。
  一、引言
  我们可以通过telnet、ssh等远程登录Linux服务器,但都是字符界面的。本文介绍了通过XDMCP+XDM来远程连接Linux服务器上的XFree86 Server,可以在图形环境下远程管理Linux服务器。
  
  二、基本概念
  1、什么是XFree86
  XFree86是X Window系统的一种开放源代码的实现。它提供了一种对鼠标、键盘、显卡和窗口图形环境的Client-Server接口。所以客户端程序可以运行在不同的主机上,由一台服务器提供X Window的Server服务。
  2、什么是XDMCP
  XDMCP即“X Display Manager Control Protocol”,是一种网络协议。由它来建立图形客户端程序与X Window服务器的连接与通信。
  3、什么是XDM
  XDM即“X Display Manager”,由它来启动X Window服务器,并管理图形客户端程序的登录、会话、启动窗口管理器(KDE、Gnome)等。KDE和Gnome也提供了自己的xdm的实现,分别叫kdm和gdm。
  4、什么是XFS
  XFS即“X Font Server”,可以由由一台服务器来统一提供字体,远程图形客户端程序就不需要单独安装所有的字体了。
  
  三、配置过程
  1、我们的环境
  我们使用一台装有Mandrake Linux 8.1的计算机作为X Window的服务器,服务器上网卡地址为192.168.0.1/24。并且在安装Linux时一起安装了XFree86相关软件包。
  我们在局域网中的另一台装有Windows 2000的计算机上安装了X-Win32软件,作为X Window的客户端。还有很多Windows下的X客户端程序,但大多是商业程序,如exceed只提供30天的试用期。而X-Win32没有天数限制,只是每次只能使用30分钟,这对于大多数基本的服务器维护操作也够了,时间到了再连接就是了。免费使用商业程序不能要求太高了
  
  2、配置服务器
  (1)配置xfs
  xfs的配置文件是/etc/X11/fs/config,内容如下:
  #
  # Default font server configuration file for Mandrake Linux workstation
  #
  
  # allow a max of 4 clients to connect to this font server
  client-limit = 4
  
  # when a font server reaches its limit, start up a new one
  clone-self = off
  
  # alternate font servers for clients to use
  #alternate-servers = foo:7101,bar:7102
  
  # where to look for fonts
  # Some of these are commented out, i.e. the TrueType and Type1
  # directories in /usr/share, because they arent forced to be
  # installed alongside X.
  #
  catalogue = /usr/X11R6/lib/X11/fonts/misc:unscaled,
  /usr/X11R6/lib/X11/fonts/75dpi:unscaled,
  /usr/X11R6/lib/X11/fonts/100dpi:unscaled,
  /usr/X11R6/lib/X11/fonts/misc:unscaled,
  /usr/X11R6/lib/X11/fonts/Type1,
  /usr/X11R6/lib/X11/fonts/Speedo,
  /usr/X11R6/lib/X11/fonts/mdk:unscaled,
  /usr/share/fonts/default/Type1,
  /usr/share/fonts/ttf/big5,
  /usr/share/fonts/ttf/gb2312,
  /usr/share/fonts/ttf/decoratives,
  /usr/share/fonts/ttf/western
  
  # in 12 points, decipoints
  default-point-size = 120
  
  # 100 x 100 and 75 x 75
  default-resolutions = 75,75,100,100
  
  # how to log errors
  use-syslog = on
  
  在配置文件中可以定义最大客户端连接数量,这里缺省是4。配置文件中也指明了字体文件的位置,特别注意包含了中文字体,否则在客户端无法正确显示中文字体。
  接下来修改/etc/rc.d/init.d/xfs文件,把所有“-port -1”改为“-port 7100”,这是xfs缺省监听的端口。使用如下命令来重启xfs:
  service xfs stop
  service xfs start
  xfs启动成功后,可以使用netstat -ln命令来确认7100端口已绑定:
  tcp 0 0 0.0.0.0:7100 0.0.0.0:* LISTEN
  
  (2)配置xdm
  xdm的配置文件在/etc/X11/xdm目录下。
  首先修改xdm-config文件,找到一行:DisplayManager.requestPort: 0
  注释这行:!DisplayManager.requestPort: 0
  如果有这行,xdm就不会监听XDMCP的连接了。
  接下来修改Xaccess文件,这是控制客户端访问的配置文件,修改内容如下:
  #* #any host can get a login window
  192.168.0.*
  
  这里允许局域中的计算机都可以连接。
  现在可以直接使用xdm命令来启动xdm服务,使用netstat -ln命令来确认177端口(xdm缺省的端口)已绑定:
  udp 0 0 0.0.0.0:177 0.0.0.0:*
  
  如果想要在服务器启动后自动运行xdm,就需要修改/etc/inittab文件,使启动后进入“5”运行级别,修改内容如下:
  id:5:initdefault:
  
  3、使用图形客户端来测试
  我们下载的是X-Win32 5.4版,在windows中安装完成后,会在“程序组”中生成“X-Win32 5.4”,在其中有两个可执行程序:X-config和X-Win32。
  首先要使用X-config来建立连接配置:在“session”处选择“add”,再选择“XDMCP”连接方法,点“Next->”,在“Session name”处输入一个名字,在“XDMCP Mode”处选择“Broadcast”,再点“Save”保存配置。然后再选择X-config主界面的“Font”,点击“Add Font Server...”,在“Host”出输入服务器的IP地址192.168.0.1,并确认“Port”为7100。
  配置完后就可以启动X-Win32了,启动时当然要选择“Evaluation”因为我们没有注册的。然后选择刚才建立的session名称,就会出现一个窗口显示当前网络中的X Window服务器名称,选中我们的服务器点“OK”,就会出现xdm的登录界面了,使用你在Linux中的用户帐号登录后,X Window图形界面就出现了,和在Linux服务器上本地操作一样。中文也显示正常,因为使用的是服务器上的字体。
  
  四、其它问题
  1、获得X-Win32
  可以在www.starnet.com处下载X-Win32软件,下载前需要注册。
  
  2、X Window客户端和Windows相互粘贴拷贝
  X-Win32还提供了让X Window和Windows中内容相互粘贴拷贝的功能,这样就方便多了。
  
  五、参考资料
  http://www.tldp.org/HOWTO/XDMCP-HOWTO/index.html
  http://www.tldp.org/HOWTO/mini/Xterminals/index.html
  

目录
相关文章
|
1月前
|
Java Linux Maven
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
Linux系统Docker部署Nexus Maven并实现远程访问本地管理界面
|
1月前
|
存储 Shell Linux
【Shell 命令集合 文件传输 FTP客户端工具】Linux ncftp 命令使用指南
【Shell 命令集合 文件传输 FTP客户端工具】Linux ncftp 命令使用指南
40 0
|
1月前
|
运维 Linux Nacos
nacos常见问题之远程访问不报错放到服务器上nacos连接超时如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
59 1
|
19天前
|
网络协议 Python
pythonTCP客户端编程连接服务器
【4月更文挑战第6天】本教程介绍了TCP客户端如何连接服务器,包括指定服务器IP和端口、发送连接请求、处理异常、进行数据传输及关闭连接。在Python中,使用`socket`模块创建Socket对象,然后通过`connect()`方法尝试连接服务器 `(server_ip, server_port)`。成功连接后,利用`send()`和`recv()`进行数据交互,记得在通信完成后调用`close()`关闭连接,确保资源释放和程序稳定性。
|
2天前
|
监控 安全 Linux
Linux系统之安装ServerBee服务器监控工具
【4月更文挑战第22天】Linux系统之安装ServerBee服务器监控工具
40 2
|
6天前
|
网络协议 安全 Linux
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
IDEA通过内网穿透实现固定公网地址远程SSH连接本地Linux服务器
|
10天前
|
网络协议 Ubuntu Unix
Linux 下使用 socket 实现 TCP 客户端
Linux 下使用 socket 实现 TCP 客户端
|
21天前
|
安全 Ubuntu Linux
Linux远程访问Windows实现步骤
在Windows上启用远程桌面连接并获取IP地址后,Linux用户需安装SSH客户端( Debian系:`sudo apt-get update; sudo apt-get install openssh-client`,RPM系:`sudo yum install openssh-clients`)。然后使用命令`ssh 用户名@Windows_IP地址`连接,其中`用户名`和`Windows_IP地址`按实际情况填写。
15 4
|
24天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
1月前
|
Shell Linux Apache
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
【Shell 命令集合 网络通讯 】Linux 管理Apache HTTP服务器 apachectl命令 使用教程
162 1