为什么我要用Linux作为桌面?

最近看到一个帖子,说某山软件的流氓行径,不由得让我想叨叨几句:为什么我要用Linux做桌面。

当然,要意识到,偏激的极端的东西总是不好的,用Linux做桌面必然是因为Linux能够满足我的需求,为什么我能用Linux做桌面呢?

  • Windows和macOS给我的体验都不好,因为它们使用层叠式桌面,工作效率太低,束手束脚,另一方面就是不稳定和不听话,我在工作地时候突然 给我重启更新了,这能忍?。事实上,我是被XMonad惯坏了,试过平铺式窗口管理器,你就知道它的效率有多高。(可能很多人没用过平铺式窗口 管理器,我简单说下区别:层叠式窗口管理器的每个软件都是互相层叠的(Windows, macOS, gnome, KDE等就是这样),一个在另一个上面; 平铺式则反之(我以XMonad为例),互不重叠。因此操作多个窗口时,如果使用层叠式窗口管理器,那么就要按下任务切换键alt+tab, 选到你要的窗口然后放下,或者用鼠标去点,如果需要最大化窗口,就需要点最大化的按钮或者双击标题栏;而XMonad则不需要,选择窗口时 直接使用快捷键把当前聚焦窗口换到你想要的窗口即可,如果需要最大化,也是使用快捷键直接移动即可,根本不需要碰鼠标,这只是众多高效之处的一处。)
  • 我几乎不玩游戏,我玩的游戏都是支持Linux的,比如饥荒和欧卡。
  • 我几乎不看视频,除非是看演讲等,但是那些我都在油管子上看。
  • 要维护好一个Windows系统不容易,主要还是国产软件的贡献。还记得当年3Q大战吗?两个软件,本来应该好好的为用户服务,结果让 用户2选1。第二,想必用过Windows的人都有被国产软件恶心的体验,比如全家桶安装,篡改主页。其它看不到的事情就不知道有没有发生 了,谁知道它有没有扫描我的硬盘呢?为了隐私、高效,我的解决方案就是Linux作为桌面,把Windows关在虚拟机里,可以参考 这篇 文章来把Windows装到虚拟机里。
  • Linux硬件要求低,同一个本子,用Windows时容易发烫而且能感觉到卡顿,用Linux时就不会。
  • 常用软件都在Linux上:Nginx、KVM+virt-manager、Redis、MySQL、XMonad等等。

对于用Linux桌面的人,我有几点建议:

  • 去繁从简:不要折腾桌面特效。我刚玩的时候也爱倒腾这些,但是后来才发现倒腾Linux桌面挺浪费时间的。找一个你用的爽的平铺式 窗口管理器,按照自己的习惯配置好快捷键,然后就开始用电脑来做有意义的事情,这才是生产力工具。
  • 不走极端:有了高效的窗口管理器,有了免费好用的自由软件,有了隐私保障,并不意味着你要和Windows说bye bye,用虚拟机装一个 Windows吧(我推荐Windows Thin PC或者Windows 10 LTSC),一般来说你还是需要和别人联系的,使用Windows安装微信、QQ等软件。
  • 避免无用的折腾:还是那个话题,为啥要用Windows虚拟机安装微信、QQ等呢?因为用wine来运行它们实在是无用的折腾。折腾能提升 能力和知识面,但是把时间放在值得折腾的东西上面。去学习Vim、XMonad、Python、Go、MySQL、Nginx等等这些有用的东西吧。
  • 虚拟机要做好快照:给你的虚拟机做好快照,用Windows是有点容易踩国产流氓软件的坑,这个时候虚拟机的优越性就体现出来了,踩到坑了, 回滚至快照。当然了,数据备份要做好。

所以我现在的体验就是:

  • 我想重启的时候就重启(当然了,我用ArchLinux也不能几年不重启对不,我一般每周更新重启一次,好处就是我的软件总是新的,不用担心跨版本升级挂掉)
  • 我想用啥快捷键就用啥快捷键
  • 防火墙搞起来一般人别想访问我电脑
  • 我的多台电脑能随意远程
  • 不小心踩到流氓软件的坑了我还能还原快照
  • 想扫描硬盘吗?随便扫,扫不到别的东西,而且我还有虚拟机性能监控,在干坏事是能监控到的

叨叨完了,生产力工具嘛,当然是要高效~别给我整那些流氓幺蛾子 :-)


更多文章
  • 设计一个HTTP网关
  • 设计一个分布式块存储
  • Linux低电量自动关机
  • CGO简明教程
  • 求值策略:Applicative Order vs Normal Order
  • High Performance MySQL阅读笔记
  • MySQL EXPLAIN中的filesort是什么?
  • 数据库索引设计与优化
  • 如何调试?
  • Docker CE 18.03源码阅读与分析
  • 容器时代的日志处理
  • Golang和Thrift
  • 折腾Kubernetes
  • 协程(coroutine)简介 - 什么是协程?
  • goroutine 切换的时候发生了什么?