日常:从Windows到Debian

我用了4年左右的业余时间折腾,从Windows彻底迁移到了Debian。4年,是我认识的人里面最慢的。 我并不是一名典型的程序员,因为我并没有全职写代码。这种工作形式也给了我一个更接近于”Power User”的视角来看待Windows和Linux。我已经记不清准确的时间节点,从逻辑路径来看,可以划分为几个阶段。

stage1:鼠标和键盘是我的爱

做学生期间是Windows脑残粉,因为只会在Windows操作系统上玩暴雪系列的游戏。8090的朋友多少都接触过几款:《魔兽争霸3》、《魔兽世界》、《星际争霸2》。这些游戏厚重的历史和深广的世界非常迷人。在很长的一段时间里,沉浸在游戏的汪洋中不可自拔。带着这种热爱的习惯,很自然地唯Visual Studio独尊。至今,依然还觉得Visual Studio的智能提示是非常完美的,只是暂时用不着它而已。 这一阶段,完全没有任何IT意识。如果你对这个阶段的我说什么开源运动,以我的智商,多半会认为你在发传单。

stage2:内容为王引发疯狂模仿

第一次转变观念是实习期间。看到别人做的ppt,老板并没有说什么,自己感到自惭形秽。那个ppt是用苹果电脑做的。依葫芦画瓢地开始关注起苹果上的软件,抄袭大牛的优秀工作流,尝试着把它们移植到自己惯用的Windows上。 具体包括一揽子图形界面的软件。印象最深的一款软件叫做”snippets”,它是一款收集代码片段的软件,颜值颇高。还有一些GTD软件,也用Excel做过GTD。 这一阶段认为最重要的软件是基于LSB的命令行工具,MSYS2。摸了摸Vim和Emacs,觉得Vim比Emacs好。

stage3:用应用程序造一个iWindows

这一阶段尽量挖掘Windows的潜能,并用优质的软件来替换盗版软件。 Windows系统设置方面,禁用管理员组,工作在用户组中,以保证安全和提高性能。重度使用了Windows自带的垃圾清理工具cleanmgr,建议大家优雅地看看它在命令行中的表现。 Windows外观方面,删除了可以删除的所有快捷方式。桌面只放置当前正在处理的文档。用Everything快速定位文件,用SourceTree建立工作流。认真地给文件起名字,做计划任务脚本定期分类归档文件。对于文件夹则是归档到zip。 在应用程序方面,输入法用了华宇拼音输入法,用IranView看图,ClamWin杀毒,ntEmacs做日常。由于Windows支持Emacs太弱,走了很多弯路。pdf处理有两枚优质的神器:PDFCreator和cpdf。

stage4:数据的价值要求软件开源

一方面,听说了“只有微软知道.doc文件里面有什么”。另一方面,Windows系统自带的加密功能导致了一次比较悲惨的数据丢失。出于对个人数据负责的目的,把所有盗版软件和国产软件全部换成开源的替代品。这期间认识了包括LibreOffice、blender、dia在内的一揽子好软件。还学了学Tex。 在实践中体玩了Emacs,这个阶段倾向于Emacs。

stage5:按场景隔离应用和数据

从把xxnet放进VBox的一个虚拟机作为应用网关开始,按照使用场景把应用和操作系统打包成一个一个的虚拟机。比如上网冲浪、学习视频作为一个场景打包进虚拟机,放到host反而带来额外的不确定性和维护压力。类似地,下载器和杀毒工具打包成一个虚拟机。360和网银也打包成了一个虚拟机。 自己开发了一个比较粗暴的环境变量管理工具,完全不讲设计哲学,还挺好用。 Windows在实际工作中反复出现的问题归结起来有这么几个:一是缺乏一个类似于LSB的工具链支架,无法形成紧密的自动化工具链。二是存在一些删不掉而成熟度过低的附加组件,如notepad。三是UI上存在很多的干扰因素,没有像Mac OS X全屏模式那样好的解决方案。四是国际化编码没有充分考虑到和其他平台的交互。 这一阶段,出于对Windows基础设施和系统核心表现的失望,决定向Linux迁移。

stage6:最终的优雅,Debian

在已经具备了一定的Linux服务器操作基础后,开始对Linux进行选型。Debian丰富的软件库、友好的许可证和勤劳的通用性非常诱人。之所以越过了Ubuntu,是因为Ubuntu还是存在一些从工作流脱轨的因素,如apport、软件中心和内容搜索。 UI上,Debian默认的Gnome3效果很惊艳。在经历了一些毫无必要的折腾之后,发现最好的办法就是根本不定制。从成效上说,”浏览器-定制Linux桌面”循环浪费了很多时间。 目前在考虑彻底清理掉Gnome套件,因为已经选择了Emacs。

discuss1:简单叙述一下Linux发行版的选型

我的笔记本电脑配置是i3+8GB_RAM+1.5TB_HDD。这有点类似于汽车中”小皮卡”的配置。Gentoo则类似于汽车中的布加迪威龙。Ubuntu更像是卡丁车。Mint像奇瑞QQ。在耐心地读完了手册之后,最终决定使用Debian。它的稳定性符合小皮卡的角色定位。 Mac OS X更像是汽车中的宝马,而Windows则像大众。我个人有这么一个观点:软件、硬件和使用目的应该保持一定的契合度。

discuss2:编辑器战争(Vim or Emacs or ?)

目前来看,Vim和Emacs是开源阵营中成熟程度最高的编辑器。Vim很好,Emacs更适合我的习惯(有大部分工作涉及到中文处理)。使用其他的IDE冒着这样的风险:当你对信息库和语料库的利用形成了一定的套路之后,新的IDE可能会改变这种套路,从而引入额外的学习成本。此外,IDE的UI元素会在你做一件事情的时候,显示一堆与这件事情毫不相关的东西,这会导致分心。最后,我的经历告诉我,工具链比IDE更可靠。

discuss3:定制的极限

最好为定制设定一个极限,这样才能找到返回的道路。用户级别的定制,应该始终保持在用户级别。正因为有了这样的观点,我对随处蔓延的sudo、su都感到恐惧。 devhelp和rpmbuild都是很好的软件包构建工具,在使用它们的系统上最好避免#make install,采用“打包-安装”的方式进行构建。这一定程度上可以控制定制所产生的熵。 定制最好保持统一的风格。比如Vim的插件管理,要么全部用Vundle做,要么就根本不要Vundle,最好不要混杂得太乱。Emacs也是,要么在.emacs中定制,要么根本不用.emacs,而在.emacs.d目录中仔细划分结构后再定制。

结论

从Windows走向Debian,目的是为了少踩几次坑。

即将转出来的那一面,是快乐或痛苦,是爱还是恨。

日常:从Windows到Debian

相关文章:

你感兴趣的文章:

标签云: