说来惭愧,虽然大一就已经接触过 Linux,但是对 Linux 的认识还只是停留在使用 ROS 的时候,输入几行复制而来的指令,跑跑代码上。直到最近,受到几篇技术文章和HITSZ OSA 的影响,我才真正开始有把 Linux 当作主力操作系统的想法。本文主要以 Ubuntu 为例,分享一些我的 Linux 环境配置。
虚拟机 or 双系统?
我觉得这个问题就好比在问:看清华老师的网课还是在清华上线下课。虚拟机固然可以完美地运行 Linux,但是很多时候都要从主系统获取帮助,一定程度上依赖于主系统,并不能获得很沉浸式的体验。而且还要和主系统共享一部分内存,性能上也不是最优解。
因此我选择了双系统 (dual boot) 作为体验 Linux 的起点。
双系统安装
主要参考了这两个教程
How to dual-boot Windows 11 and Linux on your PC
How to Dual Boot Kali Linux and Windows (in 10 minutes) - YouTube
分配空间的时候建议 128 GB 以上
上网代理服务
试过 v2ray、clash core 和基于前者的 Client——Clash for Windows,综合来说 CFW 比较省心,主要基于以下几个方面:
- 下载比较简单:只用下载一个压缩包就可以了,而 v2rayA 还需要先下载一个 v2ray-core
- 省心的 GUI:相比起 clash-core,GUI 更加直观,开启 TUN 也更方便
显示卡
NVIDIA 和 Linux 之间的兼容性向来以极差而闻名,我的这次也不例外。主要是开机的时候会花屏、屏幕无法调节亮度,以及无法改变画面比例。
最终解决方案是安装 NVIDIA 的官方驱动
ubuntu-drivers devices # 查看电脑的显卡型号
根据显示的列表,安装对应的驱动。
sudo apt install nvidia-driver-535
我这里没有安装推荐的 server 版本,因为我的笔记本也不是 server 啦
安装之后重启一下
sudo reboot
通过以下命令查看安装是否成功
nvidia-smi
输入法
如果要输入中文,请参考这篇教程:
我采用的是官方的IBus,不过词库真的很一般,未来会考虑 OSA 群友推荐的Fcitx5。
终端
目前是默认终端,shell 是 zsh + oh my zsh(比 bash 有更好的 interface,可玩性更强)。
在此安利热心网友整理的 oh my zsh 的几个插件:
包管理
除了 APT 之外还使用了 Homebrew,说不上来有什么绝对优势,但是有一些包还是 Homebrew 比较好装
Python
miniconda,体积是 anaconda 的五分之一,但是功能上足以胜任。
编辑器目前使用 Vscode,不过因为是 Linux,或多或少也接触了 Vim,还是蛮不错的,上手教程主要参考了来自 b 站的这支视频:
Git
创建 SSH 密钥和 Mac\WIndows 上面的过程差不多也比较简单,所以使用 ssh 克隆仓库是我目前的方案。
唯独 HTTPS 所需要的 GCM 比较复杂一点,今天折腾了一个下午还没有搞定……
如果你要炼丹的话
不用去 NVIDIA 官网下载那些奇怪的 CUDA Toolkit 和 cuDNN,因为找兼容版本真的是一个很痛苦的过程。
我参考了这篇教程:
How to install CUDA on Ubuntu 20.04 Focal Fossa Linux - Linux Tutorials - Learn Linux Configuration
结语
总体而言,在 Linux 上配置开发环境还是比较快乐的。因为大多数环境都可以通过包管理的方式进行静默安装。
最后以 OSA 某位群友的暴论作结语:
在 Linux 上难配的环境,在 Windows 上根本配不起来