先说结论,对于程序员来讲,现在(2019年)Linux桌面的实际体验已经完全可以满足个人的工作和学习需求。
先谈一下Mac的问题,主要是从个人角度去谈,我不希望被抬杠。我的第一台Mac是2012年买的,那是一台非常好用的非retina的Macbook Pro,内存可以升级到16G,硬盘可以换SSD,光驱位置可以加一块硬盘。这部电脑我用的非常快乐,从主力机器慢慢降级为备用机器,内存硬盘光驱也换了,一直用到了2019年才卖掉。第二台MBP2015用了不到两年就给我媳妇了,从第二台Mac开始,我就开始觉得用Mac很“不舒服”了。
不可否认,MacOS的确是Windows 和 Linux之间的一个非常好的平衡,既有高颜值,又有程序员喜欢的shell。不过,美女看多了也会厌倦,毕竟人都这样。加之苹果涨价速度超过了我工资的增速,我已经追不上她了,于是果断选择了ThinkPad(二手,毕竟渣想是不会降价的)。
在谈谈Windows10的问题,Windows10也是非常优秀的操作系统,大量的软件都支持Windows,再就是OFFICE神器的加持,在Windows工作和学习体验也是一流的。
我现在使用的Linux版本叫Elementary OS,号称Linux下的MacOSX(为什么又是你?),整体使用体验来讲还是不错的,符合这个称号。
个人使用Linux的时候,放弃了模拟Windows/Mac的使用习惯,也不用Wine去“搭建”一个类似于Windows的使用环境,如果这么干还不如直接使用Windows,浪费这个折腾的时间做什么呢?deepin就是这么干的,我觉得deepin走一条很奇怪的道路,扯远了。
所以,我使用Linux的时候,如果一个软件没有Linux版本,我就使用web版本,如果连web版本都没有的话,我就使用手机版,如果连手机版本都没有,那我就不用这个软件了。
以上软件对付一天的工作完全没问题,在此着重感谢WPS,不然我就要去用Libre Office这个废柴了。
PS,多么想印象笔记出个Linux客户端啊,毕竟网页版本做的那么好,打包个Linux版本应该不难吧 捂脸
偶尔使用VSCode, 顺便讲一讲,VSCode的确是非常好用的文本编辑器,她比Sublime Text3不知道强到哪里去了。那么,她和Emacs对比怎么样呢?这是另外一个问题。
4年Linux用户,Ubuntu、Deepin、Debian、Linux Mint都用过,目前稳定在Mint近两年,笔记本跑Linux单系统已经两年有余。本人是软件工程专业,看了题主的问题描述感觉题主与我非常相似,我上大学买新笔记本的时候为了避免Linux显驱大坑还特地买了ThinkPad X系这种不带独立显卡的机型。
国产软件。我装了个Win XP的虚拟机专门跑迅雷、百度云破解版、QQ轻聊版。这玩意其实很少用,大概一个月不到5次吧,但是有的时候确实绕不开或者效率优势太大。Xware迅雷和bcloud我都用过,前者开发者已经弃坑,后者感觉不是很稳,就没有继续用。QQ主要还是Android设备跑,虚拟机里装一个纯粹是以防万一。折腾Wine感觉很浪费生命,当然Deepin里面那个还是很好用的。另外,网易云音乐是好东西。
Office。LibreOffice感觉没有什么用,WPS更好一些,不过我用Google Docs+Office Online……
其他坑。踩坑主要原因还是自己水平Low又作死,善用Google会好一些,但是对于新人来说,把系统搞挂掉三五次实在是正常。建议安装Linux的时候不要全盘格,建个分区挂载到/home把自己的个人文件放进去,再建个分区挂到/上,这样重装系统的时候非常方便。
考虑到题主的水平,建议从Deepin这个大陆公司开发的发行版入门,对新手非常友好,至少中文化、输入法、国内常用软件等都解决的很好,简直无痛迁移。之后可以考虑用更加国际化的Linux Mint。
Linux假设用户知道自己在做什么,所以系统不会管你敲了一堆命令是打算优化系统还是打算送系统上天,所以慎用自己看不懂内部原理的网上所谓教程
纯粹的新手,今年寒假期间准备系统学习linux,有什么好的建议吗? - 韩毅弘的回答 - 知乎
接下来就是颓废问题了(当然没有Windows方便了,但是这可以防止自己颓废,促使自己学习):
,如果你是新手的话,那么用deepin就好了,开箱即用,各种常用软件和中文输入法都安装配置好了,而且deepin桌面的颜值也很高,特效很不错,但是如果电脑性能很差的话还是不要了
最稳定,最通用: ubuntu18.04 (从大部分服务器都使用ubuntu18.04可以看出,如果实在不放心就装ubuntu16.04吧
比较经典的centos(其中自带的python是python2,它的包管理器yum又依赖python2)
最精简,最快: Archlinux , 如果你喜欢折腾,并且动手能力强,想配置出专属自己的系统,那么选择arch吧(安装界面是命令行,安装有点繁琐,安装过程需要联网,安装速度取决于网速),但是官网的wiki非常详细,社区的人也乐于解答,安装配置完后使用非常方便,而且可以滚动更新(但有可能会翻车)
如果你不满足于折腾archlinux,那就gentoo吧(手动编译内核............
首先纠正一下问题中存在的一个误区,严格来说Linux只代表Linus Torvalds所开发的操作系统内核,它顶替了当时因进展缓慢而被舍弃的Hurd,成为了新一代开源操作系统内核的事实标准,但是请不要忘记伟大的GNU项目,早在内核成功应用之前,GNU在RMS的带领下就已经完成了很多有关系统底层核心工具链方面的构建工作,其中包括后来大名鼎鼎的Emacs编辑器、GCC编译器、GDB调试器与Bash命令处理器等,可以这么说,正是因为GNU项目的存在,才使得Linux能够发挥出其应有的性能,而且RMS本人在自传《若为自由故》中也明确提到:
因此为了肯定GNU项目对于自由软件运动的革命性贡献,建议最好还是使用GNU/Linux而不是Linux来指代所有使用Linux内核的自由软件操作系统,好了废话不多讲了,下面开始正文。
我跟题主的经历比较类似,本人曾在某985(现在已经不提了)高校的计科专业就读,大二下的时候因为一些原因(下面会详细讲到)彻底放弃Windows而转投GNU/Linux系统的怀抱,从那时开始到现在五年多时间快过去了,自己的笔记本电脑里还是只有GNU/Linux系统(这里指的是物理机,虚拟机里的不算),我身边的很多人会问我:为什么要坚持使用自由软件操作系统呢?,其实对于我个人来说,谈不上坚持不坚持,主要是因为自己用GNU/Linux用得非常顺手,所以就一直在用了,而至于为什么要选择GNU/Linux系统,我的原因估计跟很多人都不一样,并不是因为颜值或者想要向别人证明自己多厉害才选择这个系统,而是因为以下几条因素:
我对于开源软硬件的热爱还要从大一下说起,那会儿自己因为《无线电》杂志中有关树莓派的一篇文章而开始认识GNU/Linux系统,后来自己在网上买了显示屏、蓝牙键盘、网卡等设备并在朋友的帮助下搭建了一个简单的基于树莓派的小电脑,因为当时辅导员不让大一新生带电脑,而学校电脑机房里的电脑系统又都比较老旧,所以可以这么说,我是在宿舍的这台小电脑上学会Python以及《鸟哥的Linux私房菜》中的很多命令的,最后的成果也还不错,我用树莓派做了一个简单的轮式机器人,具体内容可看我之前在知乎上的回答。
由于喜欢上了开源软硬件,所以后来自己又去图书馆和网上看了很多有关GNU/Linux方面的书籍和文章,当时真的是越看越激动,其中给我留下深刻印象的是《开源世界旅行手册》这本电子书,里面有一章是专门讲如何完全用GNU/Linux进行工作,不仅让我受益匪浅,而且可以说是这本书让我最终决定放弃使用Windows的产品来践行RMS提出的自由软件运动精神,但是这里我先声明一点,我并不没有说Windows系统不好用,而是仅仅觉得GNU/Linux系统更适合我而已。
了解类Unix系统或看过《Unix编程艺术》这本书的用户应该都知道K.I.S.S.原则,它全名叫做Keep It Simple, Stupid,是系统和软件设计领域里非常重要的一个概念,它规定了每个功能模块都要尽可能在保持独立性的同时做到代码层面的精简,从而使得调用它们的应用可以发挥出最大的性能。尽管Windows功能很强大,但是为了保证系统的向前兼容性,内核在设计过程中会保留大量冗余的代码,这对于追求精简的我来说是无法接受的,而GNU/Linux系统则恰恰相反,大到系统内核,小到像ls、mv、ed等程序都无不贯彻着K.I.S.S.原则,虽然每个程序的功能有限,但是组合在一起却能发挥出1+12的效果,按照古人的话说就是:三个臭皮匠,顶个诸葛亮,你说这样的系统谁能不喜欢呢?
除了以上两条因素之外,还有一个原因吸引我使用GNU/Linux系统的是:很多专业领域的研究只能使用GNU/Linux来完成,可能很多人会质疑这个观点,但是事实就是这样,我以自己比较熟悉的机器人领域来举例。我在大学的时候,曾经负责过家政服务机器人机械臂的开发工作,机器人本身是基于领域里非常流行的ROS框架进行搭建的,而这个ROS框架,如果了解的人都知道,它是只能安装在GNU/Linux宿主机上。此外,我和团队曾经于2015年参加过在合肥举办的RoboCup机器人世界杯,当时我仔细观察了很多国外队伍所用的电脑系统,可以这么说,只要是我看到的,几乎全是清一色的GNU/Linux,而且其中的绝大部分用的是Ubuntu,究其原因主要是因为GNU/Linux没有版权的限制,使得开发者们可以免费使用别人的工具链来构建自己研究领域的应用,从而促成整个生态环境的不断发展,所以在某些研究领域,Windows系统是没有任何优势的。
我跟很多其他答主一样,早期也折腾过很多系统,比如CentOS、Fedora、OpenSUSE、Debian、Ubuntu、Ubuntu Kylin、Deepin等,其中最自豪的是大一那会儿自己曾在笔记本电脑里安装过三个系统(Windows 8,Ubuntu和Fedora),而且还能成功地相互引导启动。此外,各种桌面环境(GNOME、KDE、LXDE与XFCE)、主题美化、增强插件我也都玩过,但是后来我发现自己应该把更多时间和精力放到如何使用GNU/Linux系统来完成相关开发工作上,而不是纠结于系统到底美化得好不好看,因为它除了消耗你的系统资源并带给你一些高大上的感觉之外,没有任何其他的好处。下面我也晒一些系统截图(Ubuntu 16.04):
如果题主或者其他知友想要在笔记本电脑上安装GNU/Linux系统并学习使用的话,我这里有几条自己总结的建议可以分享给大家:
在选择安装某个版本的GNU/Linux系统之前,先问问自己是出于什么目的而用它,如果你追求系统界面美观的话,可以选择Elementary OS、Deepin等这类发行版,它们自带的桌面环境效果就已经足够出色了;如果你是那种动手能力非常强的极客,那么Arch Linux或Puppy Linux比较适合你(如果有耐心,LFS也可以试一试),但前提是你得很清楚自己每一步在做什么;如果你跟我一样把系统的稳定性以及软件包的多样性看得很重的话,那很明显Ubuntu、Fedora这类发行版就再合适不过了。总之,GNU/Linux的发行版有很多(如下图所示),并不存在本质上的孰好孰坏,
我相信很多下定决心使用GNU/Linux系统的人都是为了能够从开源世界里学到知识,那么我建议你在GNU/Linux系统下搭建完一整套开发环境之后,
,因为很多时候组件与组件之间是存在依赖关系的,如果不小心更新某个组件,那就很有可能会导致代码在编译或运行的过程中报错,造成不必要的麻烦。如果你确实是想体验某个最新版本的软件或者有关的前沿技术,可以像我一样在VMware虚拟机里装个系统后随便折腾,这样无论出现什么致命的问题(比如系统崩溃、黑屏),都不会影响到物理机的稳定性。
,因为如果你安装的版本不对或者官方没有对你使用的电脑显卡进行适配的话,很有可能会在重启电脑的过程中出现黑屏的问题,导致无法正常进入到系统中,而且这个解决起来还比较麻烦,所以对于我个人来说,独显驱动的兼容问题才算得上是GNU/Linux系统的一大弊端。
对于那些已经在笔记本上安装好GNU/Linux系统并打算入门学习的小白用户来说,我推荐LFS(Linux From Scratch)这个开源项目,翻译成中文即为:构建自己的Linux操作系统。虽然很多人会问既然我的电脑里已经安装有GNU/Linux系统了,为什么还要如此麻烦地从源码开始手动地构建一个系统呢?我想这就是LFS项目的核心意义所在:帮助人们学习理解GNU/Linux系统内部的运行原理,以及各组件是如何相互依赖工作的,当然你也能获得深入系统底层的定制能力。
LFS系统制作的核心是:工具链的制作以及工具链依赖方式的修改,而其中工具链依赖方式的修改又可以说是核心中的核心,因为只有它才能够使生成的目标系统不会依赖于主系统而独立地存在。具体步骤我就不在这里讲了,LFS手册上都有,这里主要讲一下大致流程:
LFS制作的最大困难并不在于命令行本身的数量和复杂程度,而是你是否有决心坚持下去,为什么这么说呢?因为对于处于制作初期阶段的LFS系统来说,其系统本身的容错性是非常差的,这就好比一个新生儿刚生下来的时候,其自身免疫力相较成年人来说非常低一样,所以有的时候一个小小的失误也会导致灾难性的后果。我记得自己大二那会儿在编译LFS系统的时候,就曾因为各种问题至少重新做过7次,其中最可惜的一次是自己好不容易做到一半了,但可能是由于strip命令参数没有设置好又或者是自己没按手册敲对命令,导致临时系统的工具链调整出现问题,编译时无法链接glibc库文件,只能忍痛割爱重新来过。
首先最直接的收获是拥有了自己定制的GNU/Linux系统,那种成就感绝对是其他很多项目都无法比拟的,其次通过一行一行地输入命令完成LFS,你会发现自己对GNU/Linux系统有了更加深刻的见解,很少会有人认同学习GNU/Linux系统可以从LFS开始,但是我敢保证它教会你的全部都是最核心、最有用的知识。
备注:以下图片拍自本人大二时期的电脑(由于大四时丢失,所有资料化为乌有,所以只能展示遗留下来的静态照片了),当时系统为Ubuntu 14.04.1,虚拟机软件为VMware 11,LFS镜像系统内核版本为2.6.22.5。
为了彻底解决前面回答中所提及的英伟达独显驱动问题,我决定再次冒险在GNU/Linux下进行安装,虽然这次电脑重启后并没有黑屏,但是不管我用下面教程中的添加官方PPA源方法还是一步步手动离线安装都不行,系统总是提示缺少libgcc1和libc6两个核心库文件,后来我自己检查了一下这两个软件包的依赖关系,发现可能是因为自己之前安装的ROS依赖了低版本的libgcc1库,所以导致版本冲突而无法继续安装,看来想要满足自己强烈的求胜心, 只能重装系统了。。。
关于GNU/Linux系统的选择上,我刚开始选的是最新推出 的Kubuntu 18.04.4,因为之前一直听说KDE Plasma桌面环境自从升级到5.12 LTS以后就变得很稳定而且功能改进也非常多,所以这次打算趁着重装系统的机会可以深度体验一把。在适应了几天之后,我发现KDE的确是我用过的所有桌面环境里界面最华丽且功能定制化做得最好的那一个,不过可惜的是我在调整完屏幕显示比例为1.2后,系统登录界面中的字体会发虚,后来我又重装了Ubuntu官方的18.04.4,想看看Gnome 3能不能解决这个问题,令人遗憾的是Gnome 3就算使用Wayland登录并在实验模式下将显示比例调整为1.25也无济于事,于是在强迫症的加持下,我最终还是回退到了Ubuntu 16.04这个版本。
现在回过头来想想,虽然有的时候Unity桌面环境会莫名其妙的崩掉,但是它对高分辨率显示屏的支持确实做得不错,还有就是搜狗输入法在Unity下是可以正常在工具栏下拉显示的,但是Gnome 3就欠缺一些,不仅下拉菜单显示得丑而且其中有些选项点击了也没有反应,看来第三方软件对Gnome 3的兼容还需一段时间。最后,我个人偏向于简洁风,所以这次重装系统我只装了几个轻量级的代码编辑器,并对系统进行了简单的美化,感觉目前的效果已经满足我现阶段的使用需求了。
本着不想在下次重装系统后再配置Hexo环境的心态以及满足自己能够跨平台编写博客的需求,这次我决定尝试在Cloud Studio这个云端IDE里进行开发环境的配置,以下我简要说明一下使用流程:首先你需要注册一个Coding的个人账号,并用其登录到Cloud Studio中;然后在Cloud Studio的管理界面中创建虚拟云空间,建议选择Ubuntu 18.04;最后按照平常在本地电脑中的方法配置开发环境即可,这里要提醒一下:Cloud Studio中的【~】环境变量并不为【/home/xxx】而是【/root】,不过并不影响使用。总之,基于VS Code的代码编辑界面以及高速的下载带宽,让我第一次深刻体会到了云计算的便利和强大之处,也希望未来能诞生更多的国产云端开发平台,这样至少我不会再担心重装系统后的环境配置问题了。
去年搞了一个台式机,图上磁盘空间有误,装了xdroid这个软件以后,这里识别错了,实际上是1TiB的机械盘。台式机,没有网线,也没有无线网卡,就常年插了一个旧Android手机(Nokia X6),用USB网络共享模式,把房子里的wifi弄到电脑上去。
最早接触linux这一大家子系统,是Ubuntu 9.10,似乎有点暴露年龄,当时在上大学,在电脑上装着玩。当时的linux生态和现在实在不能比,如果单一linux系统,不用来搞IT工作,只和我一样休闲玩耍的话,只是一个上网本而已。
我不是IT工作者,不搞编程,弄个Linux只是自己想要一台自己的电脑,干干净净没有任何国产全家桶大礼包而已。
踩过不少坑,现在也不折腾了,就弄个基础的美化,然后就像每一个人用windows那样,用这台电脑而已。
游戏,STEAM,简直是宝库。自己还有个Switch所以感觉游戏根本不缺。而且Ryzen 2200G居然玩起游戏来也不是很虚,呃,那啥,yes就对了。
偶尔弄点图,用gimp,这个对我这个不专业的人来说,太好用了,在办公的windows上也用gimp。
WPS,这个比open和libre的那些好用,而且在linux上也没有广告,从来不弹窗。如果将来有一天他在linux都弹窗了,我就回去libre。
输入法,用fcitx-pinyin,加持双拼输入,为什么不用搜狗,因为之前用虚拟机elementary OS的时候,搜狗总是崩溃,这次新电脑Mint就没再考虑。
安卓模拟器:xdroid,这个真的好,虽然比起windows下的诸多模拟器,还有很多问题,但是已经非常好用了,能帮你解决很多燃眉之急。
聊天:网页版的微信,用chromium发送到桌面,和独立app一样好用。至于QQ,现在也有linux版本,虽然……又不是不能用!
总得来说,还是很稳的。尤其是免疫一般病毒这点太棒了,别人的U盘我是从来不怕,直接往机器上怼。而且免疫国产全家桶,这点更重要。(中毒不怕,中全家桶更糟糕。)
用Linux还是需要一点动手能力的,而且还需要过得去的英语能力。之前用一台迷你主机的时候,总是死机,一天三次,中文搜来搜去没找到原因,最后用英文搜索到了是Bail Trail平台的问题。所以英文能力还是很重要的。
(再次安利学英语,英语作为世界最重要的语言,是有他的道理的,一定要学好!别和我争,学会的人自然懂。二选一的话,英语比Linux重要。)
我从用linux的第一天起,就是click-click党(鼠标党),从不以此为耻。很多命令行狂战士上来就给初学者推荐纯命令行,上来就鄙视普通用户的正常娱乐需求,是不妥的。
命令行是有命令行的好处,我有时候也用命令行,尤其是apt工具,简直优雅到过分!大家尝试一下在windows下装gimp就知道有多费劲,网页动不动就打不开,下载龟速;但在Linux世界,简直简单到没边:
但是,不要忘记图形界面GUI有多先进,就连Linux Torvalds本人都在其自传 Just for Fun 中表示,他自己离不开图形界面。一个漂亮的GUI界面,能点缀你的生活。如果你不吃Linux这碗饭,只是想和我一样,做一个普通用户,把Linux作为你的普通工具的话,大大方方接受GUI,没必要去死磕命令行。哪个方便,用哪个!
中期:体验Linux的使用,看能否适应,是否有某些专业软件(例如Adobe全家桶)只能在Windows使用。
后期:决定是否保留Windows,如果不保留迁移Windows那块硬盘的资料至Linux,全盘格式化成Ext4,正式转入纯Linux。
到学校机房可以带硬盘,用自己的系统。回家想玩游戏可以把硬盘插台式,直接开玩(当然,你想在学校机房玩也是可以的)。
速度方面也不用担心,笔记本上的USB3.0可以跑到480M/s读写,台式上的USB3.1可以到978M/s读写。
我因为之前win10不支持tensorflow,就换了Linux。用的Debian8+kde4,自己设置一堆快捷键后,每次用电脑都觉得要起飞。
-----------------------------------------------------------------------------------------------
以下将结合我自己的使用经历来说说用Linux日常使用的弊端,仅供参考。如果你是那种喜欢折腾的人,那你不用往下看了,直接换系统吧;如果你非常不喜欢折腾,想使用成熟的定制好的环境,不建议你使用Linux;如果你不确定自己能不能接受这种折腾的程度,你可以接着往下看。
1、最大的弊端是,当你使用了任一版本的Linux后,你都会有一种强烈的想要把它变得“好看”的欲望,从而因此花费很多时间。要论原因,
2、安装一些驱动会比较麻烦,主要是网上各种教程良莠不齐,比较容易误导人。在投入了精力和时间去找相关资料和了解原理之后,也能比较轻松的装好。但是对于新手来说,这确实是个比较麻烦的问题。
3、用不了Windows下的部分软件。注意,只是部分软件,一般来讲,Windows下的常用软件在Linux下都有对应的替代品。没有替代品的,可以用wine运行。前面有人说用不了QQ,其实用PlayOnLinux可以很容易的装好最新版QQ并且较稳定地运行(亲测)。至于一些大型游戏,也不是不可以,要看你会不会折腾了。
Linux下的大部分问题都来源于没有现成的做好的东西,需要你自己亲自动手折腾。但是当按自己的习惯折腾好了Linux之后,会发现每次用电脑都要起飞。最大的优点就在于这里,你完全可以把它打造成你心目中想要的样子,用各种小脚本,各种快捷键来提高你的效率,改善操作体验。多余的优点自己体会。
可以给鼠标移到桌面边缘添加触发动作,显示所有窗口,显示所有桌面,或者显示立体桌面可以自己滚动。这些效果没办法截图。
定义全局快捷键,可以利用一个快捷键启动应用程序,执行脚本,甚至可以让一个快捷键分别在四个桌面打开IDE、浏览器和Word,以及指定PPT(我最近需要一边写代码,一边刷知乎,一边写报告,还要复习考试)。这个没办法截图。
因为我不玩Steam,不做视频/图像编辑(就是PS/Pr/Ai/Ae那些),对Visual Studio没有特殊需求(剩下的有Rider代替),打东方上QQ推Hgame有win虚拟机,剩下的开发等工作一切都在Linux里完成。
更新:我又不是喜欢折腾系统的那种,你们在评论区说Ubuntu不好/其他系统好,对我来说就像女生听见安吧基佬说oppo不好一样。。。(
大二有一段时间笔记本只装linux(为了习惯linux环境),因为当时很多作业要求用doc,小组作业都用qq交流,这些很难用ubuntu搞定(而且当时的笔记本开机的时候那个烫啊,比现在玩守望先锋还热),后面实在无法忍受就重装了windows. 直到去年才开始装了双系统,但是现在主要用linux系统(ubuntu 16.04)了,windows用来打打游戏,做做ppt之类.(天啊噜,windows的vmware终于卸载了)总的来说,个人体验大致就是以下三个: 折腾,好看,开发友好
折腾要qq没qq,只能找在线版要office没office,只能用wps for linux或在线版安装的软件越来越多,动不动就要新建分区格式化玩游戏就更别想了,用了两年的linux系统就不是用来娱乐的看视频放歌同上,外放的声音有是有,但感觉没法听,不知道怎么解决wine那些东西感觉还是别整了,越整越怀疑人生使用软件的时候有时会有莫名起码的问题,例如:想安装有道词典查字典,可是莫名发现输入框无法输入中文想用compiz美化一下桌面可是总是会逮到死机,甚至是窗口工具栏不见等各种奇葩问题,得逛各大论坛才能找到解决方案等等网上关于这些在windows可行但是linux不可行的需求总有各种各样莫名奇怪的方法,在不懂原理的情况下越折腾往往越乱
轮子哥说得没错,ubuntu桌面有一个毒,就是你会不停地美化它,根本停不下来...不过觉得每次美化完后就更享受打代码了
开发友好这方面我觉得仁者见仁,以前也在windows下进行开发,但后面觉得开发的时候linux的坑相对更少一些(例如nodejs在windows系统下的那些奇奇怪怪的错误,各种环境变量的设置,文字编码之类的,挺多我到现在都没有真正搞明白).另外ubuntu的工作区和窗口移动等快捷键也很便于调整桌面,个人觉得开发方面唯一不友好的地方就是要熟练很多命令行吧,不过用久了就自然会了重点是,一上windows就习惯挂q之类的,就算不挂q三不五时就有广告弹出来,广告上不免有一些内容看了非常扰乱思绪
我有一台笔记本装的是Ubuntu,这是我在家里自己学习用的。我的专栏《进击的Java新人》和出版的书《自己动手写Python虚拟机》就全部都是在Ubuntu上完成的。
比较爽的一点是所有的工具都不需要自己安装(我最讨厌配置各种工具),拿来即用,gcc, as, ld, make, cmake, vim, emacs。至于其他常用的工具,例如hg, git等,最多也就是apt-get install 一条命令就行搞定。而且各种服务端编程的书,或者博客,大多数是拿unix, linux做讲解的,基本上这些例子拿来就能运行。
唯一不好的是,象棋软件和三国志玩不了。但没关系,我还有一台surface,很轻便,读pdf,看电影,玩游戏都用surface。出差也会带着surface,毕竟轻便。当然surface上如果还想写点代码的话,我会登陆到云服务器,还是直接使用vim写。
从 2009 年开始算 Linux 的坑我已经入了八年,这八年来最大的变化就是心态。有些看起来是老生常谈,经过考察证实了确实是人生的经验。但是同时我们也要考虑到历史的进程,发现所谓经验中具有普遍价值的真理,将其从时常变化的意见中分离出来。这应该就是我在与 Linux 相伴的八年里学会的东西。
计算机其实在大多数情况下只是工具,不是玩具。固然可以把它当作玩具,但这终究不是人生的常态。我其实只是一个普通用户,我会写一些小程序,但我不是程序员,有时玩玩游戏,至于我的专业则与计算机毫无关联。因此,我对计算机的要求其实很简单,不过是要它总能按照我的意思工作而已(我坦言我很懒,能自动化处理的事情总想交给计算机,毕竟计算机是适合处理这类事情的)。但是就算是这样一种看起来很简单的要求,实现起来确实是有点困难。操作系统发展到今天,已经变得非常用户友好,但这种友好并不总是足够的,正如一切不完美的人工事物,很多时候还是会出现各种问题。这种时候,为了用户友好而被隐藏起来的技术细节就显得尤为重要,考察技术细节的能力似乎成为了判断用户水平的依据。我不认为这个问题短期内能够解决,但至少在这个时代,多一些这方面能力总归是能便利自己的,而且多少可以在这个特殊的信息技术时代对我们生存的世界掌握一些主动权,这基本上也就是普通用户学习技术的目标界限。这是好的。
言归正传。事实上我已经很难再想起 2009 年尝试 Ubuntu 的确切原因了,可以确定的是我当时对 Windows XP 已经十分厌倦了。容易中毒,处处得小心谨慎,为了一件小事下一大堆软件,而且我家机器也有点旧了,拖着 XP 又卡又慢,当然更重要的是当时我喜欢自己改系统,好奇心强,于是一听说我们其实也有其他选择时,Linux 自然吸引了我。而其中 Ubuntu 是最有名的,新手最多尝试的,用户群体相对大的,支持相对好的。关于 Linux 普遍意义上的优点,我只提它的开放性和可控制性。这个系统的每一个部分都毫无秘密可言,所有的“秘笈”都是公开的信息,每个部件都是相对独立的,每个软件的开发者都是大活人(与冷冰冰的大公司相对),这当然和它社区的程序员文化有关。有时如果想自己动手写点什么解决非常独特的问题,Linux 下是有正常方便的门路可走的,各种文档都可以去看。结果就是每个用户都被允许拥有一个最适合自己使用的系统(总觉得这句话宗教性很强,简直像传福音)。总之在使用上,弄明白想做什么和怎么去做之后,基本上就是直来直往的坦途。这多少有点的味道,我们没有被奴役,并且与生产工具的关系是和谐的。不过自己必须对自己负责也正是自由的代价了。
后来换掉了 Ubuntu 原因也正是它与我的观念背道而驰。经常折腾 Linux 的朋友一定懂得,每次配置新系统总是希望这是最后一次了。但是很多时候还是无法避免不停地重装。这很烦。有这个精力还不如干点别的。由于 Ubuntu 众所周知的跨版本升级问题我的机器挂了,并且此前为了我的“方便”以我难以理解的方式预先配置好的东西总给我制造麻烦,是时候换成 Archlinux 了。Arch 可以不停滚,保持最新,简直一劳永逸,特别适合向我这样的懒人。而且可以做到里面所有的软件都是我的选择。后来换了电脑,人越来越懒了,精神洁癖也没有了,就装了 Manjaro。可以滚,可以新,享用充分测试后的软件,不容易挂,我甚至开始觉得历史要终结了。其实此前也用过 Lubuntu、Deepin,不过时间不长,而且也没有什么能给我留下深刻的印象的特点,所以就略过不谈了。
如果说体验的话,除却那些系统本身带来的轻松愉快的感觉之外,令人不爽的折腾其实主要还是由软件的生态环境造成的。QQ 的故事其实很典型。QQ 一度是刚需,因为大家都用,不能不用。有人就分析了协议自己写了名为 eva 的客户端,这曾经是 Linux 上最好用的 QQ 客户端,没有之一。但是腾讯不喜欢,而且对 Linux 上客户端的开发基本无视(别提那个官方的客户端了,很好笑)。总之长久来都是不能用的,那时我总是开着虚拟机。但与此同时,wine 变得越来越好用,最终使得 wine QQ 也成为一个可选的方案了。然而如今我也不用 QQ 了。类似的还有网银的需求被支付宝替代、WPS 最终推出 Linux 版的事情。讲这些故事是为了说明具体的应用软件其实变更很快,一方面是因为新的软件被开发出来,新的解决方案被研究出来,另一方面需求同样也会发生变化,这是沧海桑田的事。因此用陈旧的印象评判现在的环境其实并不合理,有些时候只是耐心问题。当然我作为普通用户持这种观点没问题,行业一线的朋友可能就需要多一些担当了。这几年的经验倒是训练了我敏锐的判断,即什么事是可行的,什么现在还不行,什么新项目很有前途,可进可退才是明智之举。
开发环境就不用说了,Linux下配各种开发环境都方便的多,当然你要用 vs 那还是乖乖回 Windows 吧。
用CrossOver安的QQ,除了十几个小时会崩溃一次还要重新登录之外没什么大问题(换了新电脑之后就在没崩溃过了,用户体验满分)。
游戏,偶尔打打Minecraft,Linux跑美滋滋。要么打打东方,CrossOver跑也没毛病。
好处是安装软件绝对方便,等别人在那一个个搜索下载安装包,点next的时候,我一条pacin xxx就完事(激活了oh-my-zsh的archlinux插件)
所有dotfiles都在~/.dotfiles目录中用软链接管理,同步github上,换个电脑clone下来./setup.sh一下立马恢复工作环境。
游戏什么的,从小就有游戏无感症,也就偶尔玩玩Minecraft.(Minecraft在Linux下比Windows下同配置,帧率有很大提升,是OpenGL的锅还是什么不清楚。。)
至于弊处,也是有的,比如最诟病的QQ问题,不过现在真给我个能装QQ的电脑,我反而不习惯一边写代码一边聊天。而微信和WhatsApp的网页版客户端做的都不错。还有原生Linux聊天工具Telegram。
最重要的,Linux绝对不是为了装逼,而是为了使用(当然有的时候你操作着熟练的命令行确实也能起到装逼的作用)。Linux的优秀首先是设计理念,利用小工具的组合干复杂工作,其次是很多优秀的命令行工具。比如zsh, tmux, vim, emacs等。
另外,每个人的情况是不同的,推荐想尝试Linux的把重要数据备份下,直接装上,适不适合你很快就知道了。
新手推荐发行版manjaro,可以使用AUR和pacman,还可以一键安装,是过渡到Arch的很好选择。或者ubuntu,deepin(不过这货实在没啥好折腾的。。。)
这是我的dotfiles地址,有个wallpaper 就是壁纸,不过setup.sh我把一部分代码删了准备重构,所以现在不可用,请手动ln -s(你愿意帮我重构好发pull我也不介意。。。。。。)
笔记本上装Linux,驱动往往是个问题,也说不上大,基本网卡,显卡,声卡什么都都能运转。但电池往往用的很快,散热效果不好,外接屏幕且锁屏后X11无法唤醒等等问题,着实是不放心当主力笔记本用的,尤其是出门,电池消耗的莫名其妙。
直到用了XPS 13的Ubuntu版本,发现这才是Linux笔记本该有的系统和驱动,整合程度高,也稳定!别说双系统,我的Surface Book,MBP,和Surface Laptop都吃灰了。
作者:mimi链接:3217/answer/1005140901来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
初步使用的话可能会反人类(deepin并不),但是习惯了就不想回去Windows了linux其实非常有趣日常使用这是我的桌面deepin DDE
学习和颓废我主要学习OI,后来支持国产,最后被颜值和方便留住deepin在linux编程要比Windows方便,各种环境变量配置起来也比Windows方便的多只需要折腾配置一次,之后一劳永逸,如果不放心的话可以备份一下磁盘接下来就是颓废问题了(当然没有Windows方便了,但是这可以防止自己颓废,促使自己学习):
百度云盘有linux版了,在linux版下载速度居然可以达到4m/s,而且没有广告,UI非常好看
在linux遇到问题,上google可以查到的比baidu更多,但是一般来说社区会给你答案
在github上可以获得许多意想不到的收获(比如各种一键安装,配置脚本(各种奇葩玩意都有,比如CLI斗地主)
,如果你是新手的话,那么用deepin就好了,开箱即用,各种常用软件和中文输入法都安装配置好了,而且deepin桌面的颜值也很高,特效很不错,但是如果电脑性能很差的话还是不要了(我用的就是)
最稳定,最通用: ubuntu18.04(喜欢本地化可以用优麒麟,19.04之后稳定多了)
最精简,最快: Archlinux , 如果你喜欢折腾,并且动手能力强,想配置出专属自己的系统,那么选择arch吧(安装界面是命令行,安装有点繁琐,安装过程需要联网,安装速度取决于网速),但是官网的wiki非常详细,社区的人也乐于解答,安装配置完后使用非常方便,而且可以滚动更新(但有可能会翻车)(个人不喜欢这么激进)
如果你不满足于折腾archlinux,那就gentoo吧(手动编译内核............(反正我没成功过)

