。
作为Linux运维工程师,已经使用Ubuntu有几年的时间了,从16.04到稳定使用18.04,期间除因Nvidia独立显卡驱动问题导致系统无法启动,其他均一切正常。
Ubuntu桌面版基本能够满足日常的办公、社交、开发等需求。
1.办公
可以安装LibraOffice、OpenOffice、Sublime text等常用办公软件。
Nixnote作为Linux版印象笔记,也可满足我们日常笔记的记录。
chrome、firefox等浏览器也可使用。
2.社交
鹅厂的QQ、微信客户端等常用社交工具已足够我们日常工作、生活交流。
不过QQ的功能不如windows版本丰富,属阉割版。
微信客户端功能也不如windows版,基本交流足够。
3.开发工具
VS Code、IDEA等开发工具也都有相应的Linux版本。
如果你不嫌麻烦,还可以将vim打造成IDE环境。
最让我喜欢的是,在Linux环境下安装各种软件信手拈来,而且没有广告插件等。容器、k8s、jenkins、python等常用软件安装、运行十分方便。
另,GitHub上各位大神各显神通,各种开源工具都可以方便安装,还等什么,赶快尝试下吧。
下面是我的日常使用桌面:
用Ubuntu作为日常开发电脑是可以但不完美的。
如果只是写代码其实用普通的记事本都可以写,但是开发写代码最重要的不是写,而是要写好。要写好就需要有良好的调试和测试环境,目前Ubuntu可用的软件支持得还不完美,而且人们在使用的时候基本都是在windows和手机环境上使用,有些问题必须在windows下调试才能发现问题。
如果是用Ubuntu没有图形界面的版本,基本上可以说只能拿来当服务器使用,调试起来很不方便,全是命令行代码,效率自然不用说。必须在很熟悉代码的情况下,才能直接使用Ubuntu开发。
使用有图形界面的Ubuntu,很明显性能下降了很多,和无图形界面的比虽然操作方便了,但比windows还是差很远,软件支持就更不用说了。但是从效率方面看,有图形界面还是方便了很多,移动鼠标总比只操作键盘方便快捷。
当然,对于十分资深的人来说,Ubuntu会更简洁明了,性能相对更好。如果需要在这样的环境运行代码,在Ubuntu下会更适合开发。
其实我的主力系统还是windows,但是不得不说在开发程序方面还是linux更加方便一些。
方便的地方主要有以下几点:
- 软件仓库。linux发行版都带有自己的软件仓库,里面涵盖了大量开源免费的常用软件,安装各种编程语言编译器和sdk不需要自己从官网上面下载安装包,只需要一条命令即可安装软件仓库中的软件,而且将来更新的时候也可以跟随系统一起跟新,随时保持最新状态。
- 跟随linux主流。现在很多软件和类库其实都是在linux上开发和运行的,那么跟随着开发者的步伐,一起使用linux,自然会拥有最好的体验。例如nginx这种广泛使用性能超强的http服务器,就是专门在linux上开发的,虽然windows上也有移植版本,但是性能linux原版还是没法比的,只能调试着玩玩。
- linux下的杀手软件。这也是非常重要的一点,现在虚拟化和容器已经成为了主流,作为杀手应用级别的docker、kubernetes等工具,都是专门在linux上开发运行的,windows上虽然也有版本,但是其实也是借助hyperv虚拟机运行的linux版,而且还会和现有的虚拟机冲突。所以为了方便,不如直接用linux。
- 专心,专注。linux还有一点很好就是没有windows上那么多的流氓软件,安装linux可以拥有非常纯净的体验,再也不用担心安装全家桶了。这一点其实对于一些软件洁癖症来说可能非常重要。没有这些乱七八糟的东西,自然可以专心致志的工作。
- shell体验。windows虽然拥有强大的powershell,但是没有什么配套环境,用起来其实也就那样。但是linux就不同了,zsh配合antigen、ohmyzsh等工具,完全可以打造一套界面美观、带自动补全提示命令建议的超舒适shell环境,用过的都说好。
当然linux自然也有缺点,虽然没有流氓软件,但是正常的软件也很少。更别提国内的主流企业完全没有针对linux开发版本,看看人家微软、谷歌的应用,都有linux版,而我们呢,要什么没什么。甚至好不容易出个tiktok占领国外市场,现在都马上要卖掉了。
所以对于普通的开发者,为了兼顾windows和linux的优点,其实我觉得最好的办法还是windows主力机加上linux虚拟机,两手都要抓两手都要硬。大家以为如何呢?
完全没必要。用Windows作为宿主系统,装虚拟机跑Ubuntu搭开发环境就可以了,现在的CPU跑虚拟机轻轻松松。这样有个好处,以后换系统换电脑,直接把虚拟机拷过去就行,不用费时费去搭开发环境,尤其是嵌入式开发,要装交叉编译环境,要配置环境变量等等,特麻烦。