project name Dame - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
ihacku
V2EX    奇思妙想

project name Dame

  •  
  •   ihacku 2012-04-02 22:41:28 +08:00 4382 次点击
    这是一个创建于 5014 天前的主题,其中的信息可能已经有所发展或是发生改变。
    个中想法会比较幼稚,不过你看我发的这个节点也能原谅我了。

    一个是自己的拖延症,第二个要用到的东西自身都还没有达到非常可用的地步,再一个里面有些东西这个时候的我是实现不了的。

    So,what is Dame?It's a project name of my ongoing lightwight Linux distro,yet based on ChromiumOS.It will cotain all those bleeding edge stuff.

    我并不是一个纯Linuxer,大多数时候我都在用win,因为我觉着试过各种desktop发行版后根本就没有符合我胃口的。今天上厕所的时候我突然想到,shit,我根本就不要Gnome或者KDE这种又大又笨的桌面环境,我需要的只是一个浏览器和可以执行脚本的shell而已。

    那么我需要做的只是一个based on ChromiumOS的mod,只不过问题还是很多的,嗯,比自己想加feature还多。

    首先把CrOS内核升级到latest Kernel是必须的,我总是喜欢保持最新的。当然Kernel里面对Dame来说很多东西是没用的,编译的时候应当精简掉一些无用的。其次是默认的CFS,Linux默认的调度器是不适合desktop的,即便是BFS,对Dame也不完全合适,所以要研究怎么写个性能最大化的scheduler。

    然后是systemd的集成,CrOS有一套自己的init系统,不过systemd的设计理念绝对是超前的,可借鉴的。同样由Lennart Poettering开发的journal,日志对Dame来说是个无用的东西,收集崩溃等反馈信息可以用breakpad来做,但是如果问题出在系统层面的话,日志仍然是需要的,所以debug模式可以开启journal。同样应该存在一个回滚机制来确保没有经验的使用者可以在不折腾的情况下继续使用。


    Wayland,对,下一代的X Window,怎么可以少掉Wayland,CrOS是基于X.org的,那么怎么把Aura和Ash移植到Wayland。不过Aura和Ash自身还都没稳定下来,更不要说现在还只是个玩具的Wayland了。当然,Wayland里面也有对Dame来说无用的东西,kiss原则,没用的代码都精简掉。

    嗯,文件系统,Brtfs号称下一代file system,同样还没有稳定下来,在将来SSD愈加普及的年代,Brtfs也不一定适合,NILFS据说在SSD上很快,但是同样的,Dame会是一个非常轻量化的系统,肯定有用不到的特性,通通给我精简了。

    Flash,这玩意儿在Linux下面是个很罪恶的东西,通常看个视频,风扇就开始狂转了,我最一开始用Linux的时候记得经常因为Flash把Linux给搞死机了。如果能基于Nacl写个Flash的开源实现就棒了,还有Lightspark可以借鉴。而且Nacl是两层的沙箱结构,从安全方面来说,实在是比Flash不知高到哪里去了。至于Nacl,如果你看过Google的官方文档你就会发现,是个相当有野心的项目。将来打开一个网页,后台下载预编译的代码,本地编译执行,牛逼!当然,我现在只能意淫一下这个东西,如果现在做的话,只能搞个dirty hack http://www.v2ex.com/t/29892 ,对那些个视频站伪装useragent来用m3u8或者mp4格式播放,这样对发热量和CPU占用率都会有抑制。另外Chromium自身的广告屏蔽能力不够,在中国太多的flash广告了,通通给我毙掉。

    还有多媒体方面,Linux下面的播放器太残念了,很多编码器都没有,要你确认下用私有的东西才给下,管它呢,反正要用,集成在里面省的浪费大家的时间。VLC和SMplayer播放的时候有些中文字幕会乱码,这个在Chromium自己的player基础上也要好好调教调教,硬件加速什么的必须得有。

    最后还有我今天看到的这个东西
    http://en.gentoo-wiki.com/wiki/Using_Graphics_Card_Memory_as_Swap ,这个把显存当swap/内存用很是新颖,但是目前并不实用,限制很多,必须用vesa驱动,而且只能用到256M,作者自己都不知道究竟能用到多少,还可能会造成显示不正常。这种触及到基础架构的hack还是留给社区的开发者做吧,不是我这个水平的人玩的来的。之所以想这个hack是因为chromium太吃内存了,一个空白页开下来都吃内存,这方面你看人家FF的memory shrink project,多有态度。之前试用Vanilla的时候,并不很流畅,这个应该也是显示驱动的问题,不过Linux社区一直在这方面努力。开源驱动和闭源驱动这个和我对编码器的态度是一样的,哪个好用用哪个,我才不管私有不私有纯不纯净呢。

    然后是升级,如果你从源码编译CrOS的话,是不好升级的,只有chromebook才能自动升级,就像Chrome之于Chromium一样。如果你要跟上官方开发组,那就得重头编译,把原来的删掉重来,这个是不可接受的,必须有增量升级制度。这个交给开发者就行了,在服务器端Git fetch官方的branch然后diff了编译再分发下去,当然具体并不像我说的这么简单,因为自身是有改动的另外一个灰度发布也是必要的,不能让所有人都来做小白鼠。之前说到breakpad,对,收集的崩溃信息在筛选后找到问题可以反馈给官方的开发团队。

    当然一个好的编辑器也是必要的,当然VIM或者Emacs这种,我并不非常来感。我更倾向于有GUI的那种,例如textmate、sublime text或者是网页的cloud9那种。当然系统里面Git是要有的,SVN谁要用自己装吧,CrOS用的gentoo那一套包管理。然后python啊ruby啊nodejs啊什么的运行环境要有,虽然我都没用过ruby,但是这样更developer friendly对吧,我一开始想要不要专门搞个for developer的版本,后来想想太不kiss,到时候小白都不知道下哪个,再说也不会增加很大的体积。至于CrOS的shell,现在有Hterm,命令什么的都好用,不过Cros是精简过的,不少Linux命令没有,到时候加进去就是了。

    对了,Dame要有个像wubi那样的在win下面的安装器,我最一开始装Linux的感觉就是,妈的,怎么装个系统这么麻烦,这个分区那个分区的我哪懂,Google的头都大了。现在我还记得装Arch的时候一不小心分区搞乱了,干脆整个盘格掉重来的来着。

    最后就是隐身模式了,这玩意就不符合字面意思,本地隐身有个毛用,要在网络里隐身啊。切换到隐身模式就要进tor才好,当然tor本身被某墙搞的半死不活了,这个要实用的话要在tor的协议上做修改。dns encrypt也要有,tor这玩意儿本来就不完全安全。然后就是完全对用户透明的网络访问了,这句话蛮歧义的,但是这事儿不好说太细。除了本地改hosts这种quick&dirty的hack,判断一个站点是否被墙,然后维护一个像HSTS那样的列表,访问的时候如果在这个列表里,那么就走代理,还有速度慢的也走代理好了。一方面是中心节点的服务端代理,SPDY肯定要有的,html、css、js压缩还有webp,如果CPU占用率不高的话可以一并也做了,CPU空闲的时候可以起个cronjob来做,服务端代码稳定下来以后还可以对外提供CDN服务,这样就有钱用于支付服务器的费用了。另外我想的一个加速访问的小技巧就是把一些常访问的网站css、js文件直接缓存到本地。再一方面就是国外的用户可以作为这个类tor网络里的bridge一样,分布式的代理。

    嗯,从坐马桶时候的一个想法意淫出了这么多,我果然是YY达人。下午刚买的一包万宝路就快抽光了,Dame!
    7 条回复    1970-01-01 08:00:00 +08:00
    mywaiting
        1
    mywaiting  
       2012-04-02 22:54:12 +08:00
    同学,你的想法太丰富了:) 今天晚上也是一包烟的路过~~
    neildd
        2
    neildd  
       2012-04-02 22:59:59 +08:00
    很久之前意淫过,后来各种轮回以后继续windows
    alexzhan
        3
    alexzhan  
       2012-04-02 23:04:57 +08:00
    追求完美本是一件很好的事,但是我觉得太过于追求完美却不是那么好,我会找一个点尽量让做的事和产生的效果平衡,做的越多当然越完美但是太过了那些多出来的效果却不一定是自己想要的。
    总之,我的观点是凡事尽力而行,不求全责备。
    kdlijian
      &bsp; 4
    kdlijian  
       2013-10-12 21:28:00 +08:00
    对不起挖坟了。不知你现在还有这个想法没有啊?

    我最近几天也是被Gnome3和Enlightenment 17折腾得很不爽,心想这些general purpose的桌面环境真麻烦,乱七八糟的一堆东西,谁用得着啊。心想何不剑走偏锋,搞个specific purpose的图形环境,供想在Linux下写写代码,上上网的developer使用。最初的想法跟你一样,就是只有两样就OK了,terminal + browser,再加上一些必要的网络设置,输入法等等必要组件,但是一定要做得紧凑、稳定、漂亮。因为我们没有负担。后来又想到何不将两者集成到一起?terminal作为一个NaCl webapp. 于是我就在v2ex上搜了下NaCl,结果找到了这里。

    还在思考中。不知是否会最终委身到Chrome OS或Firefox OS.
    kdlijian
        5
    kdlijian  
       2013-10-12 21:30:43 +08:00
    ihacku
        6
    ihacku  
    OP
       2013-10-12 22:10:01 +08:00
    @kdlijian 感谢你的回复
    默认的terminal ctrl+alt+t 呼出 就是命令不太全 NaCl 写的也有
    https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo?hl=zh-CN

    Ozone-Wayland尚不稳定 http://vignatti.com/2013/09/18/welcome-to-chromiums-ozone-wayland/ 不过看github上的提交记录 开发还是挺活跃的 将来等wayland稳定了 移植起来应该问题不大



    Firefox OS 是面向mobile的 大概将来也不会面向desktop 这两个并没有可比性

    如果你想体验chromium os的话 我之前在v2ex上贴过 /t/13197 不过今天再看其项目主页 nightly build已经停更好久了 可以看看这个 http://chromium.arnoldthebat.co.uk/
    weekly build应该相对稳定一点 鉴于现在chromium实在是不太稳定...

    另外推荐关注 https://plus.google.com/100132233764003563318/posts 经常有相关爆料
    kdlijian
        7
    kdlijian  
       2013-10-12 23:04:26 +08:00
    @ihacku 你的渠道、信息要多好多。

    我如果要设计(做)那么一个东西,一定不会是发行版,而是一个紧凑的图形环境。我觉得发行版的话Gentoo对我来说足够优秀了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1246 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 30ms UTC 17:28 PVG 01:28 LAX 09:28 JFK 12:28
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86