很想知道:能不能在windows直接telnet到linux,然后打开xwindows?

发表于:2007-07-04来源:作者:点击数: 标签:
在 windows 上安装支持软件比较麻烦 有时候去别的地方,想通过其他 windows 机子telnet到家里的linux,然后再打开linux的X,那个其他的 windows 机子只有telnet可以用 简洁高效是最好的,请大家说说自己的经验 smilebbsxp 回复于:2004-05-15 22:05:38 用extra!x

windows上安装支持软件比较麻烦

有时候去别的地方,想通过其他windows机子telnet到家里的linux,然后再打开linux的X,那个其他的windows机子只有telnet可以用

简洁高效是最好的,请大家说说自己的经验

 smilebbsxp 回复于:2004-05-15 22:05:38
用extra!x登陆到linux上
我最近在找这个软件,但找不到可下载的,请知道的兄弟告知地址

 第二场雪 回复于:2004-05-15 23:23:16
也是不明白xserver难道是服务器么?
可以telnet然后开xwindows???

 天外闲云 回复于:2004-05-15 23:43:57
X server 它负责在某台机器上接受客户的要求,在屏幕上显示客户请求的图形,并且把消息(键盘,鼠标,窗口消息)通知客户程序。

和服务器也差不多,不过也要看采用什么模式。对于我们常见的请求--响应模式,来说把它说成服务器也差不多。

 天外闲云 回复于:2004-05-15 23:50:04
第二场雪 还问过,是不是别人也能连上你的x server,没错,理论上的确可以。只是我不知道该怎么做。

 天外闲云 回复于:2004-05-15 23:51:46
但是据说fedora core 2换了一个新的x server,不知道现有的知识在那上面是否适用。头大中。

 sakulagi 回复于:2004-05-16 09:50:09
闲云,fedora的x server只是版本比较新,也是XFree86。好像没有革命性进展。

关于楼主的问题,首先明确一下概念x server和一般的server的概念不太一样,通常位置是相反的,比如所有的类似x-win32, extra!x, kea!x, xmanager, exceed等等的都是x server,不过不是运行在Linux上的x server,而是运行在windows上的x server,这样连接到远程的linux上之后,实际上那台linux是x client,而x-win32才是x server。等于是用server去连接client,呵呵。x server提供所有的绘图的操作,这样当client,也就是被连接的Linux需要显示任何的程序的时候就可以利用x-win32提供的绘图功能,把linux的GUI显示在windows的桌面上了。就像telnet之所以可以显示linux上的命令的输出,是因为telnet 的工具可以显示字符,这个功能太普通了,所以大家都忽略了。图形也是一样,是因为windows上x server(x-wind32,extra!x或是类斯的)可以显示图形,所以才能显示linux的桌面,x server和x client之间传送的是createwindow, drawline,invalidate这样的消息,而不是一张一张的桌面图片,否则的话网络负荷太大,即使是局域网,也受不了。
回到楼主的问题,telnet是不能显示图形的,所以如果试图“连接到x server”,概念上就是错误的,因为x server需要和telnet在同一机器上,你才能看到所有的GUI程序。

至于闲云提到的从其他的机器连到x server上,一般的windows上的x server都有passive模式,就是启动x server之后,不起动任何session.然后可以telnet到linux上(假设extra!x的ip是10.1.1.1)
linux# export DISPLAY=10.1.1.1:0
linux# xterm
就会看到一个xterm出现在extra!x所在的机器上。

其实linux的gnome拉,fvwm拉,AIX的CDE什么的,都是在x server启动了之后,用网络连接到x server上。即使是本本机,也是依赖于网络的,这就是为什么有些时候lo0这个虚拟网卡没有配好,GUI就启动不了的原因

 sakulagi 回复于:2004-05-16 11:11:14
至于vnc的设计思想则相反,vnc server和telnet server等一样,名副其实的是在服务器端。
vnc协议对client的要求微乎其微,很多vnc server只要求客户端有一个能支持java applet的浏览器就可以了,比如IE, Netscape………
我觉得这个更能满足楼主的需求

 epidemic 回复于:2004-05-16 14:17:17
实现远程访问RedHat X-window的方法 
---本方案的实现在Red Hat8.0上进行的测试通过 

以Red Hat 8.0(自定义安装)为例。系统安装完毕后配置网卡,实现Red Hat8.0主机和X-Win32远程访问主机的网络测试通过。然后在安装Xwindows,并对其进行设置,保证在本机上能够正常使用Xwindows。另外再添加一个或多个普通的用户帐号,以便通过远程图形终端进行登录。 
下面开始配置Xwindows,使它能够允许远程访问Xwindows。 
Step1: 
编辑/etc/X11/xdm/Xaccess,将下面的行: 
#* # any host can get a login window 
改为: 
* # any host can get a login window 

Step2: 
修改/etc/X11/gdm/gdm.conf,找到下面的信息: 
[xdmcp] 
Enable=0 或Enable=false 
修改为: 
[xdmcp] 
Enable=1 或Enable=true 
并确保以下信息存在: 
Port=177 

Step3: 
修改/etc/inittab,将 
id:3:initdefault: 
修改为: 
id:5:initdefault: 
并将最后一行改为: 
x:5:respawn:/usr/bin/gdm 

Step4: 
确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755。 
至此,服务器部分基本配置完毕。 
在需要远程访问的计算机上安装X Terminal的软件。我们实际使用的是Omini X v6.1或X Win32 v5.1。安装完毕后运行配置程序,一种方法是直接将连接方法设置为XDMCP-Broadcast,即广播的模式,这样的话,在启动Omni X的时候就可以显示出该机器供你选择登录。另一种就是直接设置成XDMCP-Query模式,直接指定远程X Server的IP地址即可。 
以上的操作在Red Hat 7.0,Red Hat 7.1和Red Hat7.2等系统也是可以实现X-Window的远程访问。 
如果安装的是Red Hat 6.2及以前的版本,则操作有些不同。首先,在Red Hat 6.2下可以直接运行下面的程序实现远程访问Xwindows。 
先打开一个Omni X的程序,然后远程登录到服务器上,运行: 
$ export DISPLAY=本地机器IP地址:0 
$ kde 
即可。 
另外一种方法是,先修改/etc/rc.d/init.d/xfs,将daemon xfs -droppriv -daemon -port –1修改为daemon xfs -droppriv -daemon -port 7100。再修改/etc/X11/XF86Config,将FontPath "unix:-1"修改为FontPath "unix:7100"。然后再按照RH7.0(7.1)的其他步骤配置即可。 

补充说明: 
1.修改/etc/pam.d/login文件,让root可以登陆(方便管理) 
2.修改/etc/xinetd.d/wu-ftp 和 telnet文件,将disable改为no,让telnet与ftp可以其作用

 天外闲云 回复于:2004-05-16 14:59:28
[quote:5376f24141]Step1:
编辑/etc/X11/xdm/Xaccess,将下面的行:
#* # any host can get a login window
改为:
* # any host can get a login window

Step2:
修改/etc/X11/gdm/gdm.conf,找到下面的信息:
[xdmcp]
Enable=0 或Enable=false
修改为:
[xdmcp]
Enable=1 或Enable=true
并确保以下信息存在:
Port=177

Step3:
修改/etc/inittab,将
id:3:initdefault:
修改为:
id:5:initdefault:
并将最后一行改为:
x:5:respawn:/usr/bin/gdm

Step4:
确保/etc/X11/xdm/Xservers的属性为444,/etc/X11/xdm/Xsetup_0的属性为755。 [/quote:5376f24141]

为什么要做这些修改?
[quote:5376f24141]
补充说明:
1.修改/etc/pam.d/login文件,让root可以登陆(方便管理)[/quote:5376f24141]

为什么要用root登陆?什么地方可以看出这么做管理上会比较方便?[/quote]

 hsia 回复于:2004-05-17 06:19:17
不错

 sakulagi 回复于:2004-05-17 07:47:54
http://www.chinaunix.net/forum/viewtopic.php?t=16165
我以前写的帖子,好像修改起来很简单啊。
xdm的话,就是修改/etc/X11/xdm里的配置文件,里面有很详细的注释;如果是gdm,就修改gdm.conf,就足够了。手工启动xdm或是gdm,后者也可以在runlevel 5自动启动。

 xinmencuoxue 回复于:2004-05-17 09:21:12
windows超级终端即可,不过,不要用拨号方式,用winsock方式即可!

 zj21cn 回复于:2004-05-17 21:11:06
谢谢大家。

主要是我理解x server和x client有偏差。

windows有区别,尽力去理解好了

 酷于 回复于:2004-05-17 21:45:30
麻烦啥啊```首先确定服务器打开了SSH和X11 Forwarding
1)在Windoz底下装X-Server,比如X-Win32,X-Winpro之类
2)用PuttY之类的联接器,选Forward X11,ssh登陆
3)敲个mozilla回车试试看```

 platinum 回复于:2004-05-18 00:00:04
[quote:ebf65c7ab7="天外闲云"]
为什么要做这些修改? 
为什么要用root登陆?什么地方可以看出这么做管理上会比较方便?
[/quote:ebf65c7ab7]
我感觉有点像squid和apache一样,允许其他人使用这个远程桌面服务,但想不到的是要调这么多东西

你说的第二点,我也没相通,是啊,为什么用root登陆呢?修改那个文件,难道是要允许TELNET用ROOT登陆嘛?默认的系统和远程X是允许ROOT登陆的呀 :roll:

 猫小 回复于:2004-05-18 08:57:12
extra!x 我在用

 michael.zhang 回复于:2005-02-27 17:30:34
在執行vncserver時失敗﹐log檔顯示如下﹐請教應如何設定?
xrdb: Connection refused
xrdb: Can't open display 'michael1.localdomain:1'
xsetroot:  unable to open display 'michael1.localdomain:1'
vncconfig: unable to open display "michael1.localdomain:1"
twm:  unable to open display "michael1.localdomain:1"
Warning: This program is an suid-root program or is being run by the root user.
The full text of the error or warning message cannot be safely formatted
in this environment. You may get a more descriptive message by running the
program as a non-root user or by removing the suid bit on the executable.
xterm Xt error: Can't open display: %s

原文转自:http://www.ltesting.net