[讨论]我们何不将图形界面(GUI)从内核与应用分离?

不同视角、不同观点、深度探讨,禁止人品和道德攻击
回复
orscc
帖子: 17
注册时间: 2007-11-15 4:40

[讨论]我们何不将图形界面(GUI)从内核与应用分离?

#1

帖子 orscc » 2007-11-30 15:05

如果大家都会命令的话,图形界面/GUI是不必要的支出,图形界面会占用大量的硬件资源和增加系统的不稳定性

但是现实是,绝大部分人都不会也不想去学命令行,因为对于大部分人来说,电脑只是个应用工具.简单的说,他们只关注输出的结果,例如一段优美的音乐,一幅精美的图片,一目明了的图形数据等等,他们并不关心也不需要关心系统是如何运作以及如何去实现这个运作的

即使对于大部分的服务器管理者来说,真的需要去为了实现简单的目的去花大量的时间学习和记忆大量的命令行吗?以配置和维护一个WEB服务器来说,所做的事情无非是:安装,配置,监控和维护,而这些事情,我相信图形界面确实能做得更简单和更直观

矛盾在于,服务器的运作本身并不需要图形界面,所以我们得到的大部分服务器系统安装光盘都是无图形界面的(著名的视窗系统除外)

所以,我认为将图形界面从内核与应用程序分离出去很有必要,当然这种分离不是简单的在SERVER版本上面安装X,然后在需要的时候STARTX

基本的想法就是,在服务器端系统的内核增加一个GUI-SERVER进程,负责解析GUI;在客户端提供GUI-CLIENT,也就是常规的图形界面,两者在网络端使用基于SSH的TCP/IP协议进行传输;在本机操作则可选择将GUI-CLIENT安装在光盘,U盘或者硬盘等设备

这样,我们就可以很简单的实现在图形界面下安装,配置,监控和维护一个服务器了,而GUI-SERVER这个进程则可以按需要启动和停止,并不会增加服务器的负担;GUI-CLIENT则是占用客户端的硬件资源

当然也可以采用WEB的形式,常用的PHPMYADMIN就是通过WEB管理和维护MYSQL的一个软件
头像
猛将兄
帖子: 2052
注册时间: 2005-10-19 17:33

#2

帖子 猛将兄 » 2007-11-30 15:08

本来Unix世界的X-window系统,就和内核没关系。是一个应用程序而已。一般的Unixserver,都不装X-window
楼主你想说什么?和MS建议么?
orscc
帖子: 17
注册时间: 2007-11-15 4:40

#3

帖子 orscc » 2007-11-30 15:27

我的建议就是这样:服务器端的linux kernel增加一个GUI-SERVER进程,负责解析GUI,也就是负责将客户端的图形操作解析成命令在服务器端执行,然后将结果传递给客户端;
而客户端安装GUI-CLIENT,也就是常规的图形界面,负责显示

这个与X-windows的区别在于:服务器端无需安装X,只需要一个负责解析客户端GUI行为的进程,所有GUI需要的硬件资源由客户端提供

你或者可以理解成,在Windows里面运行的Ubuntu Desktop,这个Desktop通过网络形象和便利的管理维护和配置远程的Linux服务器,而不再是过去那种使用SSH登录命令行界面管理的形式

MS确实有准备推出无桌面SERVER的传闻,不过那个跟GUI分离不太一样
头像
猛将兄
帖子: 2052
注册时间: 2005-10-19 17:33

#4

帖子 猛将兄 » 2007-11-30 15:30

orscc 写了:我的建议就是这样:服务器端的linux kernel增加一个GUI-SERVER进程,负责解析GUI,也就是负责将客户端的图形操作解析成命令在服务器端执行,然后将结果传递给客户端;
而客户端安装GUI-CLIENT,也就是常规的图形界面,负责显示

这个与X-windows的区别在于:服务器端无需安装X,只需要一个负责解析客户端GUI行为的进程,所有GUI需要的硬件资源由客户端提供

你或者可以理解成,在Windows里面运行的Ubuntu Desktop,这个Desktop通过网络形象和便利的管理维护和配置远程的Linux服务器,而不再是过去那种使用SSH登录命令行界面管理的形式

MS确实有准备推出无桌面SERVER的传闻,不过那个跟GUI分离不太一样
X-Server本来就可以这样。。。。。。
当时设计就为了这个目的的。但是不装X是不可能的。只是server不去init本地资源,由client负责在他的本地接收来自X-server的request,然后画window罢了
biosxjj
帖子: 277
注册时间: 2007-04-04 15:56

#5

帖子 biosxjj » 2007-11-30 17:46

晕 linux 本来就和 gui是分离的 你那个不就是远程桌面吗
珍爱生命 请使用N卡
biosxjj
帖子: 277
注册时间: 2007-04-04 15:56

#6

帖子 biosxjj » 2007-11-30 17:46

你用linux 下登录windows 也行~~
珍爱生命 请使用N卡
头像
sonixrp
帖子: 505
注册时间: 2007-03-28 12:39

#7

帖子 sonixrp » 2007-11-30 18:31

其实,现在我到是希望LINUX内核能分别出两个版本一个版本的GUI嵌入内核的一种是非嵌入的。把成功桌面GUIOSwindows系列的优点也学学来,相信不久的将来梦想会实现,希望我还能活到那个时候,希望能进我的一小份力量。完成这梦想。
目前研究自编译内核,有兴趣的朋友一起来吧~
orscc
帖子: 17
注册时间: 2007-11-15 4:40

#8

帖子 orscc » 2007-11-30 20:15

似乎我说的真的有点难懂哦~努力的解释一下:
1.首先,我说的GUI与内核/应用分离并不是指远程桌面;我说的分离是指"GUI的表现"依赖于客户端的软硬件资源,而不依赖于服务器端的软硬件资源;服务器端提供部分的数据处理与内容

远程桌面一个很明显的特点是:远程桌面所有的GUI表现,在服务器端本身必然也可以表现,比如说我们如果可以在远程桌面启动服务器的X-Windows,则我们必然可以在服务器本身启动X-Windows

但GUI分离不是这样,客户端可以表现的图形,在服务器端不一定可以表现出来,因为GUI分离后,图形的表现解释交给了客户端来完成,不需要取决于服务器端。例子:一台基本的web服务器,客户端可以通过浏览器浏览服务器上面的web文件,web文件本身在服务器端可能无法以图形界面表现出来(因为根本没安装X),但由于客户端可以自行解释,所以客户端可以得到一个web形式的GUI

对比:
WEB形式的GUI分离:服务器端L.A.M.P(负责提供部分数据处理和内容)——HTTP/S协议传送——WEB浏览器+客户端OS负责解释——用户得到一个WEB形式的GUI
通用程序和内核的GUI分离:服务器端Linux+GUI SERVER——SSH的TCP/IP协议传送——GUI CLIENT+客户端OS负责解释——用户得到一个GUI结果
orscc
帖子: 17
注册时间: 2007-11-15 4:40

#9

帖子 orscc » 2007-11-30 20:36

这样做的好处在于:不同的系统和软件各有其优缺点,你可能更喜欢Linux的服务器内核,但又更喜欢win形式的简单好懂的配置形式,很简单,在Win下装一个Lin的GUI客户端就可以了,而且这个GUI并不需要在Lin服务器端安装X,更不需要服务器端负责图形的生成,只需要在服务器端启动一个GUI-SERVER服务就可以了

甚至连部分的数据都可以在你的客户端OS处理后再返到服务端去

其实,GUI分离不只这么些,更可以跟虚拟化结合,相信未来,大家应该都会用上支持虚拟的硬件(如CPU)

那么就可以挑内核了,挑个Linux做底层内核,负责防火墙,防病毒和虚拟别的操作系统底层,然后虚拟一个Win出来;Linux的防火墙,防病毒配置可不那么好懂,那么就在Win里面安装iptables之类的GUI,用来管理和配置iptables吧

总之,就是这样,你觉得应用程序在什么样的内核上面跑得更畅快就把它安装在哪个内核上面,你觉得哪个内核上面应用的GUI更赏心悦目,你就去哪个内核使用该程序的GUI。总之,内核是与GUI彻底Bye~Bye了...

呼~打得好累 :cry:
头像
猛将兄
帖子: 2052
注册时间: 2005-10-19 17:33

#10

帖子 猛将兄 » 2007-12-01 0:59

楼主,你说的一点都不难懂
X-window就这么设计的
不是什么楼上有人说的“远程桌面”,就是直接X输出指令到远程机器,远程机器负责画窗口。
你回帖前,仔细看看我的回帖好不好,或者你发帖前,仔细研究研究X好不好
PhoenixJ
帖子: 1492
注册时间: 2007-08-09 3:33
系统: Windows 12.04

#11

帖子 PhoenixJ » 2007-12-02 0:47

猛将兄 写了:楼主,你说的一点都不难懂
X-window就这么设计的
不是什么楼上有人说的“远程桌面”,就是直接X输出指令到远程机器,远程机器负责画窗口。
你回帖前,仔细看看我的回帖好不好,或者你发帖前,仔细研究研究X好不好
时光倒流二十年,楼主的说法不失为天才的创意。

可惜啊,历史上的天才考虑的太多了。唉。
头像
hubert_star
论坛版主
帖子: 5373
注册时间: 2007-10-29 22:12
系统: OSX 10.9 + Ub 1304
来自: 江苏南京

#12

帖子 hubert_star » 2007-12-02 2:05

按我理解的意思是楼主希望x-windows运算使用客户机资源,内核运算使用服务器资源,是不是?

楼主看X的设计了吗?或者说真的理解X的客户端/服务器模式了吗?

问楼主一个问题,用X启动一个计算器,按照楼主的想法窗口资源在客户机上进行运算,所以绘制窗口的运算先不管,那么要用计算器算一个1+1的运算,用的CPU你希望是服务器还是客户端呢?
spectator
帖子: 178
注册时间: 2007-10-20 20:15

#13

帖子 spectator » 2007-12-02 3:13

按楼主的意思...
命令狂或是服务器用户就买个机器,上面的系统只有命令的...不能加装图形零件的.....

GUI用户就买个机器,上面的系统只有的系统...一个命令都没有的.....只可惜...他要用这个GUI的系统,只能再买一台机器装个服务器的系统,然后找根电线,把GUI系统的机器连到SERV的系统上.....用....

发挥一下想像...GUI,太占资源了,导致firefox反应太慢

对于有些只要浏览个网页的用户来说...是不可原谅的.....不如也分离了,于是再买一台机器,上面只有一个firefox的,他要上网的时候....把这个装有firefox的机器连到GUI的机器上,GUI的机器连到SEV的机器上.....

他终于体验到了什么叫作"网上冲浪",那个快啊.....

结果又有一些人说....我看网页只为了看里面那个flash.....firefox导致我的flash播放非常慢....分离了,

又买一台机器,上面只装了一个flash-plugins,想看flash的时候,只要把这个机器连到装了firefox的机器上....

哇,原来flash可以如此流畅地播放....
头像
猛将兄
帖子: 2052
注册时间: 2005-10-19 17:33

#14

帖子 猛将兄 » 2007-12-02 4:48

原来现在这么多Linux用户,根本不知道X的设计到底怎么回事。我还以为这是常识。楼上只有hubert_starPhoenixJ是明白人
spectator
帖子: 178
注册时间: 2007-10-20 20:15

#15

帖子 spectator » 2007-12-02 10:27

恐怕是一堆人没理解楼主想表达什么意思吧
楼主只不过想要一台电视机一样的终端,只负责影像信号的转换和显示处理,而根本不参与其他的计算,就像是一台电视机,只不过把遥控器改成鼠标键盘,再到电视台定制个节目点播服务.
回复