[讨论]我们何不将图形界面(GUI)从内核与应用分离?
-
- 帖子: 17
- 注册时间: 2007-11-15 4:40
[讨论]我们何不将图形界面(GUI)从内核与应用分离?
如果大家都会命令的话,图形界面/GUI是不必要的支出,图形界面会占用大量的硬件资源和增加系统的不稳定性
但是现实是,绝大部分人都不会也不想去学命令行,因为对于大部分人来说,电脑只是个应用工具.简单的说,他们只关注输出的结果,例如一段优美的音乐,一幅精美的图片,一目明了的图形数据等等,他们并不关心也不需要关心系统是如何运作以及如何去实现这个运作的
即使对于大部分的服务器管理者来说,真的需要去为了实现简单的目的去花大量的时间学习和记忆大量的命令行吗?以配置和维护一个WEB服务器来说,所做的事情无非是:安装,配置,监控和维护,而这些事情,我相信图形界面确实能做得更简单和更直观
矛盾在于,服务器的运作本身并不需要图形界面,所以我们得到的大部分服务器系统安装光盘都是无图形界面的(著名的视窗系统除外)
所以,我认为将图形界面从内核与应用程序分离出去很有必要,当然这种分离不是简单的在SERVER版本上面安装X,然后在需要的时候STARTX
基本的想法就是,在服务器端系统的内核增加一个GUI-SERVER进程,负责解析GUI;在客户端提供GUI-CLIENT,也就是常规的图形界面,两者在网络端使用基于SSH的TCP/IP协议进行传输;在本机操作则可选择将GUI-CLIENT安装在光盘,U盘或者硬盘等设备
这样,我们就可以很简单的实现在图形界面下安装,配置,监控和维护一个服务器了,而GUI-SERVER这个进程则可以按需要启动和停止,并不会增加服务器的负担;GUI-CLIENT则是占用客户端的硬件资源
当然也可以采用WEB的形式,常用的PHPMYADMIN就是通过WEB管理和维护MYSQL的一个软件
但是现实是,绝大部分人都不会也不想去学命令行,因为对于大部分人来说,电脑只是个应用工具.简单的说,他们只关注输出的结果,例如一段优美的音乐,一幅精美的图片,一目明了的图形数据等等,他们并不关心也不需要关心系统是如何运作以及如何去实现这个运作的
即使对于大部分的服务器管理者来说,真的需要去为了实现简单的目的去花大量的时间学习和记忆大量的命令行吗?以配置和维护一个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
-
- 帖子: 17
- 注册时间: 2007-11-15 4:40
我的建议就是这样:服务器端的linux kernel增加一个GUI-SERVER进程,负责解析GUI,也就是负责将客户端的图形操作解析成命令在服务器端执行,然后将结果传递给客户端;
而客户端安装GUI-CLIENT,也就是常规的图形界面,负责显示
这个与X-windows的区别在于:服务器端无需安装X,只需要一个负责解析客户端GUI行为的进程,所有GUI需要的硬件资源由客户端提供
你或者可以理解成,在Windows里面运行的Ubuntu Desktop,这个Desktop通过网络形象和便利的管理维护和配置远程的Linux服务器,而不再是过去那种使用SSH登录命令行界面管理的形式
MS确实有准备推出无桌面SERVER的传闻,不过那个跟GUI分离不太一样
而客户端安装GUI-CLIENT,也就是常规的图形界面,负责显示
这个与X-windows的区别在于:服务器端无需安装X,只需要一个负责解析客户端GUI行为的进程,所有GUI需要的硬件资源由客户端提供
你或者可以理解成,在Windows里面运行的Ubuntu Desktop,这个Desktop通过网络形象和便利的管理维护和配置远程的Linux服务器,而不再是过去那种使用SSH登录命令行界面管理的形式
MS确实有准备推出无桌面SERVER的传闻,不过那个跟GUI分离不太一样
- 猛将兄
- 帖子: 2052
- 注册时间: 2005-10-19 17:33
X-Server本来就可以这样。。。。。。orscc 写了:我的建议就是这样:服务器端的linux kernel增加一个GUI-SERVER进程,负责解析GUI,也就是负责将客户端的图形操作解析成命令在服务器端执行,然后将结果传递给客户端;
而客户端安装GUI-CLIENT,也就是常规的图形界面,负责显示
这个与X-windows的区别在于:服务器端无需安装X,只需要一个负责解析客户端GUI行为的进程,所有GUI需要的硬件资源由客户端提供
你或者可以理解成,在Windows里面运行的Ubuntu Desktop,这个Desktop通过网络形象和便利的管理维护和配置远程的Linux服务器,而不再是过去那种使用SSH登录命令行界面管理的形式
MS确实有准备推出无桌面SERVER的传闻,不过那个跟GUI分离不太一样
当时设计就为了这个目的的。但是不装X是不可能的。只是server不去init本地资源,由client负责在他的本地接收来自X-server的request,然后画window罢了
- sonixrp
- 帖子: 505
- 注册时间: 2007-03-28 12:39
-
- 帖子: 17
- 注册时间: 2007-11-15 4:40
似乎我说的真的有点难懂哦~努力的解释一下:
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结果
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结果
-
- 帖子: 17
- 注册时间: 2007-11-15 4:40
这样做的好处在于:不同的系统和软件各有其优缺点,你可能更喜欢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了...
呼~打得好累
甚至连部分的数据都可以在你的客户端OS处理后再返到服务端去
其实,GUI分离不只这么些,更可以跟虚拟化结合,相信未来,大家应该都会用上支持虚拟的硬件(如CPU)
那么就可以挑内核了,挑个Linux做底层内核,负责防火墙,防病毒和虚拟别的操作系统底层,然后虚拟一个Win出来;Linux的防火墙,防病毒配置可不那么好懂,那么就在Win里面安装iptables之类的GUI,用来管理和配置iptables吧
总之,就是这样,你觉得应用程序在什么样的内核上面跑得更畅快就把它安装在哪个内核上面,你觉得哪个内核上面应用的GUI更赏心悦目,你就去哪个内核使用该程序的GUI。总之,内核是与GUI彻底Bye~Bye了...
呼~打得好累
- 猛将兄
- 帖子: 2052
- 注册时间: 2005-10-19 17:33
-
- 帖子: 1492
- 注册时间: 2007-08-09 3:33
- 系统: Windows 12.04
- hubert_star
- 论坛版主
- 帖子: 5373
- 注册时间: 2007-10-29 22:12
- 系统: OSX 10.9 + Ub 1304
- 来自: 江苏南京
-
- 帖子: 178
- 注册时间: 2007-10-20 20:15
按楼主的意思...
命令狂或是服务器用户就买个机器,上面的系统只有命令的...不能加装图形零件的.....
GUI用户就买个机器,上面的系统只有的系统...一个命令都没有的.....只可惜...他要用这个GUI的系统,只能再买一台机器装个服务器的系统,然后找根电线,把GUI系统的机器连到SERV的系统上.....用....
发挥一下想像...GUI,太占资源了,导致firefox反应太慢
对于有些只要浏览个网页的用户来说...是不可原谅的.....不如也分离了,于是再买一台机器,上面只有一个firefox的,他要上网的时候....把这个装有firefox的机器连到GUI的机器上,GUI的机器连到SEV的机器上.....
他终于体验到了什么叫作"网上冲浪",那个快啊.....
结果又有一些人说....我看网页只为了看里面那个flash.....firefox导致我的flash播放非常慢....分离了,
又买一台机器,上面只装了一个flash-plugins,想看flash的时候,只要把这个机器连到装了firefox的机器上....
哇,原来flash可以如此流畅地播放....
命令狂或是服务器用户就买个机器,上面的系统只有命令的...不能加装图形零件的.....
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