【转】Ubuntu做日常开发电脑的系统是一种怎样的体验

【原文】https://www.toutiao.com/i6594291159911105031/

Ubuntu 我现在已经基本不开windows了.学习娱乐开发基本都在Ubuntu

  • 首先你要接受的是,没有QQ, 因为我本来平常生活就不需要用QQ. 如果你对QQ需求很大的话建议不要装Ubuntu. Ubuntu下基本没有好的QQ解决方案.
  • 当时想转到Ubuntu是因为以后要做web后端开发必须要很熟悉Linux, 其次是觉得Ubuntu的整个UI要比Windows好看. 所以我建议装好以后可以把Ubuntu折腾漂亮一点. 比如装Unity Tweak Took, compizConfig Setting Manager等配置软件, 看看网上的教程可以把Ubuntu弄的很炫酷..各种透明,动画,3D效果....还有推荐一套图标主题: Numix Circle 主题图标, 非常好看强烈推荐
  • 其次是输入法, 强烈推荐搜狗输入法, 安装稍有点麻烦
  • 办公系统那一套, 三种解决方案, LibreOffice, WPS和Google doc. 如果不是需要经常修改MS word,上面三种写写文档都够用...
  • 开发相关, 工具应有尽有...文本编辑器推荐Sublime Text, IDE推荐Intellij那一套. 其他什么工具需要就直接terminal输sudo apt-get install ... 搞定
  • 用Ubuntu一定要会Google!!!! 很多问题中文资料根本查不到....

之前写代码的时候是在 Windows 上,某一天舍友大人装完 Ubuntu 回来,给我 show 了一下,看了第一眼,那时觉得好神奇好酷炫,于是在某天我也装了,那时还是 Ubuntu 12.10,然后搁置了一年╭(╯3╰)╮,转眼过了一年,升级到 13.04 后终于下定决心在 Ubuntu 上干活,推荐题主装 64 位的。

说了这么多,体验来了!

1. 装软件:刚开始什么 deb、tar.gz、.run 完全看不懂,最后发现一条神奇的命令

sudo apt-get install

什么 emaces、vim 无痛安装。当然如果你选择的是 deb 格式的安装包的话,我推荐 GDebi 这个软件,安装 deb 非常的方便。

2. 开发工具:咳咳!作为一个前端工程师偏爱的编辑器是要的,Sublime Text: The text editor you‘ll fall in love with 什么!sublime 输入不了中文! 当然一个编辑器可能满足不了你写代码的欲望,vim 的配置:spf13-vim - The Ultimate Vim Distribution

3. 娱乐:听课基本上就是豆瓣 FM 还有网易云音乐。

4. 通信:QQ 用的是 wine QQ,用着还好

  • 5. 终端:肯定是这货 Oh My Zsh 。

我从windows转到ubuntu有两三个月了,最开始确实有很多不习惯。

诸如

1.ubuntu常常开机就遇到的 内部错误 是么东西。

2.在编辑器里中文输入法各种不能使用是怎么回事

3.网页版qq真的不好用啊,wineqq又各种掉线

4.想看个视频 字幕没有咋办啊 在线匹配字母的效率也太低了吧

5.让做个ppt, linux下的ppt真心不好用。。 要修改个图片没有photoshop怎么办?GIMP试了一下,有点无从下手

6.啊,想玩游戏了,让我打两盘魔兽吧,红警也行

好处

1.想要安装个软件,真心方便,apt-get 一条命令搞定。文件的管理,配置等等终端里一条命令搞定。

2.想体验最新的版本,也是超方便,终端里一条命令搞定。

3.终端或者说命令行真强大(恩)

4.对程序员来说,确实也很方便。。。(这个怎么说呢。。 其他人补充吧)

5.不用担心病毒了什么的

但是还不能用qq,玩魔兽,所以现在我用virtualbox虚拟机装了个xp系统。

然后开启virtualbox的无缝模式,之后的事。简直跟同时用两个系统一样。

1.virtualbox安装xp 给的配置并不高,但足够其运行。主要是分给其两核+1G内存+32M显存。本人的电脑配置是I5 3520(好象是。)+6G内存+HD4000+GT630 ,所以剩余的配置足够运行调试程序了。

2.替换了ubuntu 14.04里默认桌面成gnome3,这个稳定性确实很好,而且对中文输入法的支持也很不错。

3.不要使用ubuntu kylin.虽然增加的对中文的支持,但是各种不好用。

综合来讲 10.04版本的综合体验是最好的。

然后我就切换到 Fedora了,一直到现在。

Ubuntu的系统升级也是相当酸爽的,尤其是半途中 Adobe, LibreOffice 下不下来什么的。就算能下下来,升级过程也会问你很多的傻逼问题,深夜睡不着的时候可以尝试折腾一下还是相当有趣的。你可以猜测一下下一个问题会在几个小时内问。当然了,当然了,这些都是小事情,深夜看球,或者看个WWDC什么的不是也得熬夜嘛。其实升完级以后发现无线网络驱动不起来了才真的酸爽呢。

驱动无线网络需要重新升级内核,发行版里的内核永远都是连不了无线的,据说这叫FEATURE,这不叫BUG。重新升级内核需要能够联网,无线网络不通可以连有线,上京东买网线需要联网。别说什么手机上京东就买了,Ubuntu 1x的时候移动互联网还不知道在哪儿呢。当然还有一个终极解决办法,单位肯定是有网线的,对吧?升级Ubuntu这么高风险的事情当然是休长假的时候才会干的。不要跟我说到中关村买根线不就完了吗?坐466来回四个多小时买根线就为升级个Ubuntu我还不如跑趟单位呢。

如果是软件开发的话,是没有什么问题的。毕竟游戏资源比较少这个问题和日常工作的相关度不大,所以没什么不可以的,而且对于开发者来说个人推荐使用“类 UNIX 系统”,Linux 也好, Mac 也好,就是不要使用 Windows,除非你开发的是 .net,原因会在下文介绍。

Linux 坑还是有的,Ubuntu 自己的坑也是一样的。

年前重装过系统后,现在的系统每次开机都要显示出现了问题,虽然我都没感觉出来出现了什么问题,自然也不影响正常使用。如果你想折腾电脑的话,推荐你去使用 Arch Linux,这样你会更有快感的,但是作为实用的系统的话还是用 Ubuntu 就可以了。我绝对不会告诉你,我只用两年更新一次长期支持版本。既然要工作,还是少折腾为妙,毕竟时间还是很重要的,特别是你可能还没有什么 Linux 平台的经验。

在 Linux 这个平台上,坑还是有的,我个人感觉比较突出的坑就是删除文件,特别是系统文件。曾经为了删除一个软件的残留文件把主目录给删除了,后来通过复制了一份 Guest 账户的主目录才给恢复了,后来又干过把 /usr/bin 目录给删掉了,通过安装光盘才给恢复的。所以在这个平台上删除文件的时候最好小心点,特别是使用 root 账户的时候。特别是 Linux 的文件是可以在使用的时候修改的,所以可能你删除了某些文件你都不知道,但是等到下次开机的时候就坑了,并且你还不知道为什么。因此除了准备了一个安装光盘外,对于重要的数据我都会备份,以防下次不小心误操作后的带来的重大损失。如果你不幸真误操作了,询问 Google 会是一个很好的习惯。

另外,我最早装的时候,是用 Windows 系统来引导的,这直接导致了系统检测不到笔记本的电池,最后造成关机的时候只会切断电源关不掉屏幕。到了后来用了 Grub 来引导双系统后以上问题就都消失了。所以,很多时候在 Linux 上的感觉就是为什么会这样?怎么又好了……

从我用 Ubuntu 到现在,遇到了很多的坑,自己也重装过很多次系统了,目前正在积极的帮身边的同学装系统中(因为可以突破瑞捷,开启 wifi)。

为什么不推荐使用 Windows 呢?

(1) 考虑了国内的大环境。Windows 太糟糕,太糟糕。我的 Windows 里装了一个360,因为我自从安装了“猎豹wifi”之后就经常被金山杀毒给欺骗了,不得不用360来清理。而今天360赠送给我360手机助手和360移动版,所以我决定让它去面壁了,毕竟太主动了我害怕。而我又比较懒,比较粗心大意。

(2) 另外 Linux 能够取代 Windows 最大的理由就是 Linux 的 Shell。之前用 Shell 写了一个爬虫把全校学生的入学照片都爬了下来,还顺带统计了一下没有修改默认密码的学生数,感觉无比很方便。这种方便指的是编写方便,使用方便。而如果换到 Windows 平台,我真没有想到有什么好的解决方案。

(3) Linux 文件特殊的结构也是一个优势。在 Linux 下要搜索文件可以通过命令来查询,而如果在 Windows 下,你要面对那么多的分区,每次查找文件的时候总是慢得要死。而且 Linux 也更方便管理,自己的信息就放在主目录下,命好名字,往往都是很好找的。另外 find 命令也是很强大的。

(4) 字符编码,中文的问题太严。现在是跨平台的时代,不是 utf-8 的都太折腾,可惜 Windows 下就不是 utf-8,为了保证兼容我还得下个文本编辑器,这样的体验实在太不好,另外 Git 这样的工具也是基于 Linux,更加坚定我放弃 Windows 的决心。所以目前除了玩游戏,已经不怎么用 Windows 了。

Ubuntu 如何入门 ?

个人感觉 Ubuntu 已经很像 Windows 了,如果你不用命令行的话,它其实就是一个另类的 Windows(操作体验上来看是这样子的)。所以,你可以通过点击鼠标的方式上上网,安装安装软件等。我觉得刚开始使用的时候,你是不需要去关注命令行的。因为,当初让我选择 Ubuntu 的原因是这个系统可以在校园网里很方便的开 wifi。所以你在前期你可以像使用 Windows 一样来使用它,否则你会被太多太复杂的命令行吓走的。就如我第一次接触那样的,借了一本命令行的书整天敲,敲到最后就记住了:

sudo shutdown -h now

然后我就放弃了。直到后来可以开 wifi ……

所以,对于初学者还是先培养兴趣就好。然后就可以开始安装软件了,这样你就会记住一大堆的命令。什么 apt-get ,dpkg ,tar 等等。所以,你也就入了门。

之后你可能得配置配置系统的环境,因为有些软件就是需要系统环境,这下你就可以学习如何使用 Vim 这样的工具了。再往下,如果你有兴趣的话,你可以学习学习 wget,curl 这样的命令,当你发现了 awk,sed 后你会深深的喜欢上这些工具的。这时候你可以再学学管道的知识。这样你 Linux 的基础也不算太差了。而且不会浪费时间。

当然作为一个开发者,你肯定不会满足与这样,你可以去尝试尝试 LAMP,用手输入简直是麻烦得不得了,所以你觉得你应该写个脚本,更何况,有可能明天系统又崩溃了。所以你要学习 Shell。后来,你会发现你能用 Shell 做更多,这时候 Linux 真的已经击败了 Windows ,因为可能在开机的时候,你的电脑就已经开始在跑你写下的脚本,而在 Windows 上,你根本不知道这要怎么做,或者它的学习成本太高了。

在Linux世界混,你看有多少跨平台软件不是支持WIn+MAC+Ubuntu+源码安装???

去开发Rails去开发Django以及各种环境配置,ubuntu就几条命令就搞定了,用别的还需要熟悉linux各种奇葩的坑(没折腾过7-8个Linux系统,我敢这样说?)

强调一下重点:

  1. 不要折腾Ubuntu的桌面,用它开发就好了。
  2. Linux的GUI真心不如Windows(谁要是能用Linux解决一下问题我全身心马不停蹄的转Linux)
  3. 谁要是能解决Linux下面用户界面庞大的占内存问题以及有工具可以替代win上的(everything + totalcommad + autohotkey这种Windows神级杀手应用,我立马转那个系统)
  4. 但Linux的命令真心强大。(或者说,相对而言,Windows上的非图形工具们不够开源)

从04年开始用Linux,那时候用Fedora 4;06年工作开始用Solaris;08年开始用OSX。现在日常使用OSX,有一台uBuntu 16.04作为开发备用机。

Vim用的很熟练,平时写脚步:python,shell,自己的tool就用vim,不用什么插件。但是真正做Java,Rails,Node的开发,我用IntelliJ,RubyMine(Node也可以用RubyMine)。

基本结论:uBuntu的桌面不太好用,比OSX差很远。但是有时候要测试真正的平台特性,譬如:docker,譬如node的ps-node库,我就会用这台uBuntu。我SSH上去,跑各种脚步,平时基本不需要界面。偶尔需要看看测试覆盖率,我会用 python -m SimpleHTTPServer 9000开一个server,然后用chrome连上去看,很方便;如果再需要界面,我优先推荐X11 Forwarding。

Vim就是一个编辑器,没必要把他整成IDE。他最大的优势就是哪里都能用,编辑速度快。但是查看代码覆盖率,调试,重构,不是他的强项。IntelliJ Community免费,RubyMine 1年200$(个人用户$89一年)。Oh-My-Zsh我卸载了,因为它启动有些慢,或者说我不需要它那些我用不上的功能。我用原生的zsh,配合zsh-git-prompt,zsh-history,autojump,再把history设成10w条,然后alias一堆常用的路径:譬如godev,就是到dev目录,就足够了。另外需要说明,有些tool在zsh上安装完成之后需要手动做些改动(这一点zsh不如bash,因为用bash的还是多)。tmux我天天用,但其实我很少使用分割窗口的功能,所以其实screen更适合我:因为screen可以加密码。但现在机器是我一个人用,所以就继续用tmux了。

结论就是:如果你和我一样写Server程序,做云端跑的程序,你应该选择OSX或者

原文地址:https://www.cnblogs.com/ftl1012/p/9568649.html

时间: 2024-10-10 10:06:59

【转】Ubuntu做日常开发电脑的系统是一种怎样的体验的相关文章

作为前端开发兼任产品专员是一种咋样的体验

临近过年假期,暂时离开电脑屏幕,觉得有必要记录一下2016年来一个多月自己的所做所想,也作为2016年自己的第一篇随笔.新年伊始,我开始接手PD(Product Design)相关的工作,开始正儿八经的使用AXURE,使用excel记录任务列表,在jira上面创建N个项目任务,邀约需求会议等等.此时有人会想,这不是产品经理干的事儿吗?实际上我只是一枚前端,产品经理在产品的营销层面应该具有更强的意识,所以说我只是一个兼职的PD.这就应了今天这篇文章的标题,作为前端开发,兼任产品专员是一种咋样的体验

从日常开发说起,浅谈HTTP协议是做什么的

引言 HTTP协议作为Web开发的基础一直被大多数人所熟知,不过相信有很多人只知其一不知其二.比如咱们经常用到的session会话机制是如何实现的,可能很多人都说不出来吧.其实session会话就是HTTP协议中的一个header属性cookie所支持的,在你了解了HTTP协议之后,其实这些都非常容易理解. 本文会尝试从各位的日常开发去解释一下HTTP到底是做什么的,文章篇幅有限,如果有什么本文没有提到的,各位请自行百度或者看书补脑.接下来,咱们先来看一个小A和小B的故事. 小故事:两个人的任务

从日常开发说起,浅谈HTTP协议是做什么的。

引言 HTTP协议作为Web开发的基础一直被大多数人所熟知,不过相信有很多人只知其一不知其二.比如咱们经常用到的session会话机制是如何实现的,可能很多人都说不出来吧.其实session会话就是HTTP协议中的一个header属性cookie所支持的,在你了解了HTTP协议之后,其实这些都非常容易理解. 本文会尝试从各位的日常开发去解释一下HTTP到底是做什么的,文章篇幅有限,如果有什么本文没有提到的,各位请自行百度或者看书补脑.接下来,咱们先来看一个小A和小B的故事. 小故事:两个人的任务

农场游戏开发怎么做?330农场拆分分红系统开发

农场游戏开发怎么做?330农场拆分分红系统开发.多的不说,咱就喜欢用事实说话,真实案例讲解,不要错过咯! 功能一:玩家操作方式 ? 1.开地:选择地块类型开地,仓库兔数量满足地块养兔数量范围就开地成功(地块类型范围分为:300只兔=<绿地<=3000只兔,3000只兔=<金地<=30000只兔). 备注:5块金地,10块绿地. ? 2.增养:选择已开的地,按地块养兔数范围输入增养兔的数量,增养的兔来自仓库. ? 3.拆分:每天凌晨计算昨天拆分比例,只对今天所有用户地里的兔子进行拆分

你真的适合做软件开发吗

前段时间一个朋友跟我说,他说做软件开发不仅累,而且从来不跟人接触,整天要对着电脑研究代码.整个人都完全脱离社会了,自己都快变成代码了. 我笑着以一个过来人的身份对他说,你现在后悔了吧?!天下没有后悔的药,若想不后悔,就必须对将来要做的事情有个了解,这就好比商人投资某个项目一样,必须做好深入的考察后,才能进入,否则就凭着一腔热情,失败在所难免. 软件开发行业曾一度被各大媒体报渲染我21世纪的昭阳产业,人才缺口达到多少多少等等.听的大家是蠢蠢欲动,摩拳擦掌恨不得卯足劲冲进去好好干一番事业.然后各种媒

64位ubuntu下Android开发环境的配置

本文介绍如何在64位ubuntu上搭建android的开发环境. 系统:ubuntu12.04LTS 使用的是ADT Bundle for Linux和jdk1.7(open jdk也可) 一共分为3步走: 1.配置JDK 安装Open jdk $sudo apt-get install openjdk-7-jdk 或 从oracle官网下载 从官网下载JDK64位版 解压安装 将解压出的文件用最高权限复制到/usr/lib/jvm里 sudo cp -r ~/jdk1.7/ /usr/lib/

从封闭式电脑(系统)中传输数据的解决方案

定义: 封闭式电脑(系统):电脑与外界网络隔离,所有U口锁定,主板设置密码,操作系统远程登录,本地只为终端(或无盘):除了键盘与鼠标外,无任何形式输入:除了屏幕与机箱小喇叭外,无任何输出. 思考: 如何从这样一个封闭的系统中获取文件? 思路: 因输出形式只有两种:屏幕与主机小喇叭,所以可考虑的方案有两种:图像识别与传输,声音编码数据播放. 考虑到是在办公室环境下,声音比较嘈杂,所以声音方式不做考虑. 图像识别这种模式深入思考如下: 文件如何通过图像传输?打开每个文档,拍照然后OCR?文件量大以及

JavaWeb后台管理系统设计与开发(旅游自助系统)

为了更够实现旅游信息信息化,更好推广旅游经济的发展,要求实现以下功能: 旅游局能维护景点的信息:位置.游览项目及价格.景点介绍.开发时间: 旅游公司维护本公司开设的旅游线路信息:景点名称.餐饮.住宿.交通.游览时间.价格.联系方式: 游客可以查询景点信息及旅游线路信息,且游客可以自定义筛选查找相应的旅游线路信息: 游客可以在线预约旅游线路服务: 旅游公司能够查询游客预约服务信息: 最近,我在做个旅游自助系统练习,不过这个当然谈不上项目,不过对,学习的人来说,还是有点借鉴意义的,这也是我写博客的目

Eclipse中做Android开发LogCat的使用

介绍 LogCat是Eclipse里面做Android开发的工具包ADT中的一个工具,用来查看和过滤Android日志系统的输出. 打开LogCat 进入Eclipse,选择Window菜单,然后选择Show View子菜单,最后再选则other子菜单,在打开的Show View对话框中选择Android分组中的LogCat,双击它或者点击OK,就能打开LogCat面板. 连上真机后LogCat不显示日志的问题 有时候在Eclipse打开后,将真实的Android设备通过USB线连接到电脑,并不