2019 版“完全用 Linux 工作”

2019-12-11 11:12:46 +08:00
 conanca

标题党来了,给王垠大神的名作狗尾续貂一把。注意,本文标题虽大但内容有局限性,如果你不喜欢红帽系,不喜欢 gnome,日常开发也用不到文中提到的工具、技术栈,那么其对你来说没有太大参考价值。

V 站最近讨论日常工作使用 Linux 的帖子又多起来了。有人依旧安利了一批发行版;有人认为 duck 不必花在自己不熟悉的东西上花时间;很多跃跃欲试的 V 友对此也颇有疑虑。 我呢,从 2012 年至今,一直在 fedora 上进行日常的开发工作,工作和研究方向是爬虫、微服务、容器技术、开发方法论、devops。可以说是越用越爽。借此机会来分享作为一个程序猿“完全用 Linux 工作”的体验,希望能帮上大家的忙。

首先说说在 linux 下搞开发的优势:

  1. 使用原生命令的效率更高,比如文件操作相关命令、vi、ssh、scp、curl、以及各种网络相关命令。比起 windows 下安装并打开各种软件、拿鼠标各种点击,用 linux 终端,配合一个机械键盘,相信你工作效率会直线上升,还能帮助你真正理解你所正在做的操作。更重要的是比起第三方闭源软件,这些命令更安全。
  2. 对于常用的一些开发工具原生支持和支持友好,比如 git、docker、mvn、python。其中 git 不必说了,Linus 的第二伟大发明;而 docker 本身就是依赖 linux 内核特性实现的。还是那句话,用命令比用图形界面更能帮助你真正理解你所正在做的操作。避免误操作、错误提示更详细明确。
  3. 至于环境变量、换行符、编码、目录路径、文件名大小写等等这类环境差异问题。我建议本地开发环境的配置尽量往测试或生产环境上靠拢,以避免“在我的电脑上明明是好使的!”的问题出现。
  4. 可以远离:昂贵的正版 windows 售价、病毒、恼人的系统更新、蓝屏崩溃。

Fedora 调教、使用心得

本人并不喜欢折腾(大误),所以一直用的 fedora 默认桌面版——gnome 那个。中间升级过两、三次版本,目前在用 fedora30。 硬件方面用过几台 DELL 商务机、xps 和 thinkpad。双屏。

驱动、硬件兼容问题

  1. n 卡显卡驱动 系统默认装的是开源驱动,显示效果不佳,所以必须安装官方驱动。 我的显卡一直是 n 卡,参考这篇就没错了: https://www.if-not-true-then-false.com/2015/fedora-nvidia-guide/

  2. 原生支持双屏 设置非常简单,在 Displays 里。

dnf 相关

  1. 有时显卡驱动更新不及时会导致兼容问题,所以需要排除内核更新:
    /etc/dnf/dnf.conf 文件加一行

    exclude=kernel*
    
  2. 提高安装速度
    /etc/dnf/dnf.conf 文件加一行

    fastestmirror=True
    
  3. 增加源

    sudo dnf install --nogpgcheck  https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
    
  4. 查找所缺少依赖库所在软件包,例如:

    dnf provides */libQt5X11Extras.so.5
    

    然后就可以根据显示的来进行安装了。

字体

如果操作系统安装时语言选择的中文,字体默认应该是思源字体。效果还可以,不需要调整。

gnome 技巧

  1. 快捷键 非常多,不一一列举了。一定要尝试多用、习惯用。 介绍几个对于新手很有用的:
    • nautilus 地址栏显示文字:Ctrl+L
    • 显示隐藏文件:Ctrl+H
    • 搜索 /选择 /切换应用:win 徽标键
  2. Desktop 文件 有些工具软件并不会生成图标,需要自己创建 Desktop 文件。推荐使用 alacarte 这个工具来生成。如果常用的话,可以拖到左侧 favorites。

推荐软件

  1. Atom、eclipse、IDEA、Mysql Workbench、Postman、robo3t、VirtualBox、Team Viewer
    这些均有 linux 版,而且表现优异
  2. 终端
    我并没有用自带的终端。而是用的 Guake。按 F12 挥之则来呼之则去非常好用。快捷键跟原生的终端一样用。
  3. 办公软件
    对于我来说用自带的 LibreOffice 足够了。我日常用纯文本写文档。没错你猜对了,本文就是 markdown 语法。
  4. 即时通讯
    微信网页版(搞一个 icon 放在 favorites )。QQ 我基本不用,不过前些天官方更新 linux 版本了,还算能用。
  5. 截图
    用自带的工具,同样也支持快捷键。
  6. 游戏
    steam 里有很多支持 linux 的游戏。
  7. docker
    有时候因为各种原因比如技术选型评估、做 benchmark,需要我们本地搭开发环境组件。像 redis、mysql、es、mongodb、nginx、consul,都可以用 docker 轻松创建运行。

搭飞机方案

用的 cisco anyconnect。fedora 也原生支持。 配置添加好 VPN 后,在 Keyboard 中配置俩快捷键,比如 Shift+Ctrl++的命令是:

nmcli con up xxxx 你配置的 VPN 名字 xxxx

Shift+Ctrl+-的命令是:

nmcli con down xxxx 你配置的 VPN 名字 xxxx

就能实现一键出国 /回国啦

25194 次点击
所在节点    Linux
138 条回复
itskingname
2019-12-11 13:40:04 +08:00
@nsynet 说到 wiki,虽然有些 wiki 确实很好,但是有些 wiki 却非常让人恶心。例如我很讨厌 Arch Linux 的 wiki,一段话上面全是连接。明明一句话就能说清的问题,要点个连接跳转到另一个页面,看一大篇东西,结果另一篇文章里面讲到关键地方的时候,又给个连接,还得再跳到下一篇文章里面。

大家可以看一下这个截图:

![WX20191211-133610.png]( https://i.loli.net/2019/12/11/Q97ilNDwFV6qkCa.png)

这就是 Arch Linux 的 Wiki 的普遍情况。

那种把『复用』做到病态,容不得一丁点重复,一但别人已经写了的内容,哪怕只是和你现在这篇文章有一小段重合,新的文章都不愿意再写了,而是直接甩个连接给你,让你自己去看。
TapCode
2019-12-11 13:43:30 +08:00
linux 版的 vscode 也好用呀
还有 国内的 wps、百度网盘、搜狗输入法、向日葵
完全可以胜任日常工作
但是 linux + 桌面确实没有 windows 下的使用体验好,不如 windows 开个 linux 虚拟机
uxstone
2019-12-11 13:58:50 +08:00
macos 不香么?
shilyx
2019-12-11 14:06:47 +08:00
工作就是这样,

没有困难创造困难也要上,

为了感动自己,

一切都不重要。

加油
NicholasYX
2019-12-11 14:30:41 +08:00
C#表示 Linux ???
cxbii
2019-12-11 14:33:44 +08:00
看到这个贴子,想到我之前的工作和使用经验。。。。

工作还是算了吧,生活用用还是可以的,比较一些软件还是没法替换。
mrhhsg
2019-12-11 15:04:47 +08:00
没得其他的特别要求,还是 macOS 吧,一般不用花什么精力在系统本身
turi
2019-12-11 15:12:05 +08:00
win 用习惯了,

你让我去用 linux

你还别说,真不习惯
woorz
2019-12-11 15:25:36 +08:00
用 deepin
AngryPanda
2019-12-11 15:30:39 +08:00
anyconnect 很容易被别吧
wysnylc
2019-12-11 15:59:08 +08:00
@cxbii #26 运维在 linux 上办公可以理解,做开发的用就是嫌工作不够饱和
dreamerlv3ex
2019-12-11 16:07:11 +08:00
2019 版“完全用 WINDOWS 工作”
iwishing
2019-12-11 16:11:51 +08:00
加入收藏
LFUNWF
2019-12-11 16:24:10 +08:00
写的不错,以前被类似的文章忽悠过。如果能增加一些用 Linux 产生的问题让读者能更全面的了解用抛弃 Win 完全使用 Linux 的优点和缺点就好了。
tzj0118
2019-12-11 16:52:26 +08:00
@conanca
最近在用 fedora28,发现一个问题,fedora28 已经被官方转为归档版本了,对应的软件源地址也有所迁移,但国内的镜像目前好像还都没有进行更新,导致基本没有可用的国内镜像,dnf 安装软件包变成了比较困难的事情。
请问有什么好的解决办法吗?
xhinliang
2019-12-11 16:53:05 +08:00
15 年到 17 年,完全使用 Ubuntu 进行工作了两年多,不过现在已经转战 macOS 了~
conanca
2019-12-11 17:13:02 +08:00
@nsynet
就用你建好的 wiki 页就行,我们一起参与维护
secondwtq
2019-12-11 17:14:59 +08:00
说起王垠,今天王垠”的职业生涯即将迎来另一次改变””踏上新的旅程””走进人生的下一个阶段”。
mowentian
2019-12-11 17:16:16 +08:00
我是混合模式,在 Windows 下 ssh 到远程写代码,毕竟工作上还有很多需要 QQ、微信进行迅速沟通来的;

写代码其实只占用了工作的很少一部分时间
conanca
2019-12-11 17:23:05 +08:00
@tzj0118
我更建议 upgrade system

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/627912

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX