折腾ububtu小记-请放弃linux作为desktop

家里的电脑4年前买来的,预装的vista,现在运行的非常慢。我猜想主要是磁盘碎片太严重了,虽然我装了一些磁盘碎片整理工具比如OODefrag进行整理,但是似乎现在着实慢得不行了。待机之后启动,就能看到磁盘的灯一直在闪,尤其是启动firefox的时候闪得越厉害。 决定重装系统吧。从京东上买了500GB的移动硬盘,把该备份的数据啥的都备份出来了。决定装一个linux系统,毕竟自己接触linux服务器开发也比较长时间了,有什么问题的话都是自己折腾出来的,原来放弃很多次主要是因为没有经验,现在应该不会了。决心试试,这便是噩梦的开始。不愿意看下去的同学,直接看我的结论吧:不要用linux来作为desktop,除非你非常非常爱折腾,但是还是尽量也不要用。

安装ubuntu 11.10一切都非常顺利,unity风格虽然有点不太顺手但是都还是可以忍的,毕竟习惯了就好。将ctrl-///设置成为在工作区切换。apt-get install/remove/purge/autoremove都非常的给力,原来要安装什么库的话都需要自己查找依赖一个个down下来configure;make;make;install.终端不好用就下载了一个terminator,熟悉了一下如何new tab,new window.安装好git从github把自己的配置down下来。没有gtalk,简单,apt-get install pidgin即可。firefox和thunderbird都已经是预装的了,发现firefox时不时崩溃换了一个chrome,从google chromeofficial website上面down一个.deb包,用software-center一下就安装好了。为了让终端有更好的字体还需要从windows把一些现有的fonts放进来,我觉得consolas和微软雅黑很好看。thunderbird迁移数据非常方便,直接从windows机将原来的thunderbird数据copy过来就OK了。输入法也搞定了,用ibus-pinyin,虽然没有像搜狗输入法这样做的这么智能,但是还是可以忍的。基本上最难搞的就是,因为外网机器访问公司内网机器需要一个安全验证,需要浏览器上面java支持,但是apt-get install openjdk-7完全没有这个扩展,在网上一阵乱搜方法都大同小异但是对于自己系统完全不见效。所有还是从java官网上面找到了ubuntu浏览器如何安装java扩展。我终于知道了,对于这种问题,还是官网可靠。基本的功能比如收发邮件,浏览网页,登录开发机进行开发,在本地开发等功能都已经能够满足了,虽然折腾了两天左右,不过感觉还是值得的,毕竟以后就可以在上面工作了。 但是告诉你,这还没完。

首先因为公司内部使用baidu hi这个聊天工具进行通信,而这个工具又没有linux客户端只有web hi.web hi非常的烂,容易掉线同时没有办法保存消息,并且致命的缺点就是没有办法像windows客户端一样有notify机制(事实上还是有机制的,那就是声音和里面小tab闪动。对于声音我们必须带上耳机才能够知道,而大部分时候听歌的声音更大。而对于小tab闪动,我们通常都喜欢浏览器全屏,终端全屏,这样只能够放在不同的workspace下面。而放在同步workspace下面是没有办法看到的),只有我们一遍遍地轮询查看是否有新的消息到来。hi离开了baidu可能就不用了,QQ你躲不了吧。家里人,同学们都在用QQ.web qq比web hi好多了,不容易掉线并且保存记录,而且web qq已经可以说是一个成型的web OS了。但是web qq依然缺乏友好的通知机制。写到这里,同学肯定问我啥算是好的通知机制,好吧,pidgin就算是有非常好的通知机制。好比消息来了的话,可以类似调用notify-send这样的命令的效果。接着就是网银了只能够用IE。如果说web hi和web qq是可以忍受的话,那么网银则不是忍不忍的问题,而是有没有的问题。而这一切的一切,只需要我们有一个windows虚拟机即可。在linux下面比较靠谱点的虚拟机就三个vmware,virtualbox和wine.我从同学拿到了vmware7.0的bundle,开始安装,遇到了很多问题,有 这里这里 ,还有一些没有记录下来,最后在编译VMCI(virtual machine communication interface)时候,因为我的内核版本比较高,在include/linux下面缺少smp_lock.h所以编译失败,后面就没有再高了。安装wine在apt-get帮助下面非常舒服,首先拿QQ试试,安装啥的都没有问题,运行的时候缺少一大堆DLL.接着virtualbox没有安装我就怕了,后面就没有在折腾。失败!!!但是我忍!!!

还面临的问题就是文件和笔记的同步,以及文件的互传。文件和笔记同步是考虑到家里有机器,单位有机器希望可以进行sync.而文件的互传是因为需要在开发机和自己电脑上传输一些东西。关于文件同步考虑用dropbox,但是dropbox在天朝被墙了而且还必须使用http proxy来进行下载,后面安装也没有成功。然后考虑用ubuntu one,在ubuntu下面工作还是很不错的,但是在windows下面ubuntu one虽然也有beta版本但是似乎不太稳定,在windows下面放了N多文件但是在ubuntu系统下面就是没有任何动静。接着试用了sparkleshare,可以使用github来作为relay server,思想还是很open的而且windows下面也有git客户端。但是因为被之前折腾得太多了所以都没有精力在windows下面尝试了(不过后面看了sparkleshare只有windows vista/7的版本,没有XP的版本)。 文件同步,失败!!!。接着搞笔记同步,我之前使用evernote来写笔记,但是在ubuntu下面没有evernote版本,只有windows/mac/firefox/chrome/safari.对于浏览器,evernote仅仅是一个剪辑插件,基本上用途不大,想访问evernote只能用web的方式,不能够离线本地存储一份。接着同事推荐使用tomboy,我没有先尝试在ubuntu下面安装和尝试,首先在windows下面尝试,需要安装gtk#和mono以及.net framework 4.0.安装好之后,看上去界面不错很清爽,有synchronization这个选项,然后里面死活配置不了同步服务器。也许是因为被折腾够了,所以直接就放弃了,也没有在linux下面尝试。 笔记同步,失败!!!.对于文件的互传我也只是想到了用ftp或者是http,或者是像通过外部relay server来中转比如github,但是没有继续实验下去了。 文件互传,失败!!!。虽然失败了这么多,但是我忍!!!

这几天折腾ubuntu,被ubuntu折腾惨了,有几次是晚上3点多才睡觉的。精神非常不好,这几天都没有主动打电话给女朋友。晚上女朋友给我打电话,她今天工作也很累。我倦怠的情绪让她觉得很不高兴,我们吵架了!!!。我不能忍了。为什么想要用ubuntu这么难呢?这几天没有阅读代码,也仅仅是写了少量的代码,然后一直在纠缠这个东西,值得吗?!!!

晚上和另外一对linux kenerl比较了解的人QQ聊天,我觉得他说得很有道理。其实这些真的不应该是我们来做的事情,而是应该ubuntu做的事情。想要做好一个发行版,就必须让用户舒服。apt-get确实让我们舒服了不少,但是依然不够。对于要做ubuntu china distribution,就必须考虑QQ通讯,就必须考虑网银,就必须考虑文件和笔记同步等功能或者是解决方案,而不能去只是让我们去摸索。相比之下,windows做得好多了。他告诉我很多原来做linux发行版很牛的人,都转去做op了。他还告诉我,他以前也折腾过linux desktop,但是发现这个东西耗费过多的精力了,没有办法focus到自己应该关注的事情上来,而他用windows从来没有这样的感觉。不过公正的说,linux作为server是非常不错的选择,因为我自己也是做linux服务端的软件,linux平台有很多参考资料以及opensource,并且kernel也是公开的可以很容易地发现和解决问题,同时性能也非常地好(文件碎片绝对低于windows,这也是为什么我想用ubuntu的初始原因)。但是作为server优秀并不意味着作为desktop也优秀,server主要面临的是定制化的问题,而desktop而面临的是一个通用化的问题。server我可以随便折腾,只要对前端暴露的是规整的接口比如HTTP,ProtobufRPC等,而对于desktop的好坏则取决于周围的生态系统和氛围,大家是否在用,是否有其他厂商在为这个desktop设计更好的软件。面对linux desktop users这么小众的群体,只有自力更生的份,这也就是用linux作为desktop的users都这么折腾的原因。

最后作为忠告,请放弃linux作为desktop. 可以先考虑windows,然后考虑mac(个人倾向)。如果你一定要用linux作为desktop并且你是一个china user,请把上面问题解决了,然后在认真地考虑一下是否要这么做。 –end


update@20120804: 当时折腾完了之后切换回windows了 。但是现在开始使用ubuntu了,并且发现其实还是非常好用的,几个问题都基本搞定了,多谢身边同事的指导。how life changes!