LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1073|回复: 7

xorg的结构是否相应地支持了多用户?

[复制链接]
发表于 2009-5-27 00:08:14 | 显示全部楼层 |阅读模式
不同用户的程序的确可以运行在一个x server上.
相同用户的程序也可以运行在不同x server上.

但是...来考虑这样一个事情:
假如有一台服务器, 你需要用它来设计一些东西, 但是又需要使用图形界面. 计算的时候可能要等好久. 你有事要关掉自己的笔记本去别处..

于是xdmcp或者ssh -X都不可行. 只有vnc..
要是vnc的人一多... 服务器也必然受不了.
发表于 2009-5-27 13:28:51 | 显示全部楼层
数十年前就可以
终端下
export DISPLAY=ip:0
run你的程序
回复 支持 反对

使用道具 举报

发表于 2009-5-27 15:30:22 | 显示全部楼层
我的理解,不知道对不对

Xorg只是支持X Window协议的一种X Server,以前Linux上流行的是XFree86
Win上也有不少种X Server

远程使用X Window是这样的:
你所说的服务器上运行的是X应用程序(X Client),它使用你的笔记本上的X服务器(X Server)提供的显示输出和输入服务,X Client和X Server之间通过网络使用X协议通信。当然,要让服务器运行X应用程序,先要用ssh等方式登陆服务器。

VNC方式大不一样:
VNC Server在服务器上运行,它运行自己的X Server而不是Xorg,它允许VNC Viewer远程连接,并启动各种X程序(X Client),VNC Server绘制图形但不显示,而把要显示的图像,通过VNC协议传送给VNC Viewer,并接受VNC Viewer传送的鼠标键盘事件。由于不断的传送图像数据,服务器的开销大,网络的开销也大。
X协议传送的是xlib函数调用,服务器上不需要运行X Server,服务器开销相对要小,网络的开销也较小。

你所说的问题是退出登陆后,所运行的程序会全部退出。你想要的是使程序在你退出登陆后仍继续运行的方法。这不是支持多用户与否的问题,而是daemon的问题。有的程序有专门的daemon运行方式,像amule-daemon,但要控制它得用其它client,而不是把它调到前台和你交互。普通的X程序往往都是在session退出后,X程序也退出了。
VNC Server运行在服务器上,并由它来启动普通X程序,VNC服务没有退出,它就可以保持你的X程序继续运行。它自身有个X Server在运行,X Client和X Server都在服务器上运行着。
想要关闭X Server,而保持普通的X程序(X Client)继续运行,这个就不太清楚了。X协议怎么规定的,能这样工作吗?
又嫌VNC消耗资源,又想达到那样的目的,也许可以做个daemon做中转,让X Client认为它是X Server,但它不像VNC一样做绘制图形的操作,仅仅在你连接上它时,才把X Client的请求中转给你的X Server。就是一个管理session的daemon,你远程登陆时,它作中转(或者动态地要求X Client重定向X Server,不知道可不可能),并且在你退出登陆后,它保持普通X程序继续运行。不知道能不能做这样的东西,它的需求有多少?
回复 支持 反对

使用道具 举报

发表于 2009-5-27 15:46:16 | 显示全部楼层
Post by zxy;1991423
数十年前就可以
终端下
export DISPLAY=ip:0
run你的程序
这个方法现在对于x-win这种Windows下的X-Window模拟器终端还是可用的。不过现在的Linux。。。不支持了。ssh -X 才行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-28 02:57:31 | 显示全部楼层
Post by zxy;1991423
数十年前就可以
终端下
export DISPLAY=ip:0
run你的程序


请看完贴再回复谢谢
我要关机。client就直接被server杀掉了,算什么情况?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-28 03:01:02 | 显示全部楼层
Post by kgnn;1991450
我的理解,不知道对不对

Xorg只是支持X Window协议的一种X Server,以前Linux上流行的是XFree86
Win上也有不少种X Server
......
谢谢你。想了一下,似乎kde的话,krdc和krfb就可以了。。。刚才傻瓜了。
就是本地跑一个可以跟wm交互的并且实时取屏幕的程序?
回复 支持 反对

使用道具 举报

发表于 2009-5-28 10:15:44 | 显示全部楼层
krdc,krfb也是传送图像,rfb(remote framebuffer),和VNC不是一样的吗

Description: Remote Desktop Connection for KDE
krdc is an KDE graphical client for the rfb protocol, used by VNC,
and if rdesktop is installed, krdc can connect to Windows Terminal
Servers using RDP.
.
This package is part of KDE, as a component of the KDE network module.
See the 'kde' and 'kdenetwork' packages for more information.

$apt-cache search vnc
搜索下,还会发现更多
conspy - Remote control of Linux virtual consoles
directvnc - VNC client using the framebuffer as display
gnome-rdp - remote desktop client for GNOME
gtkvncviewer - Small GTK+ tool to connect to VNC servers
gvncviewer - VNC viewer using gtk-vnc
kcemirror - Windows CE remote control tool like VNC
krdc - Remote Desktop Connection for KDE
krfb - Desktop Sharing for KDE
mozilla-gtk-vnc - A VNC viewer widget for GTK+ (mozilla plugin)
python-gtk-vnc - A VNC viewer widget for GTK+ (Python binding)
tightvncserver - virtual network computing server software
tkvnc - Displays a list of (defined) machines to start VNC to
vinagre - VNC client for the GNOME Desktop
vino - VNC server for GNOME
xrdp - Remote Desktop Protocol (RDP) server
。。。太多了

krfb感觉是要直接在服务器启动xorg和kde,可以直接在那用,然后也可以让别人从别处用krdc登陆控制
回复 支持 反对

使用道具 举报

发表于 2009-5-28 14:42:01 | 显示全部楼层
Post by yangzhe1990;1991608
请看完贴再回复谢谢
我要关机。client就直接被server杀掉了,算什么情况?

你用xdmcp ,关机client肯定不会被杀点,看来楼主的机器很强大,先看看x server原理,把client和server的概念搞清楚,才发贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表