用了很久的 Scoop + WSL 作为日常开发环境,实测下来没什么大问题, 很是推荐,记下来作为备忘。 以下将从Windows和WSL两个方面展开。
Windows 配置 ¶
从易用性和美观上来说,我感觉现在的 Linux 发行版,包括 Ubuntu 都比不上 Windows11,所以 Windows 还是必需的。
配置系统偏好 ¶
这个因人而异,我登录了我的微软账号开启了设备同步,部分个性化设置在新设备都可以自动同步过去。注意系统用户名最好是全英文,不然在某些情况下会有 BUG。
设置文件目录 ¶
由于 Windows 的逆天文件管理,C 盘很容易爆红,所以需要事先设置好目录管理,清楚哪些文件该放在哪些目录下。一般 512G 的笔记本出厂会分为 C, D 两个盘,软件应该都安装在D盘,应该先明确这一点。
这些图片、视频文件夹,本来在 C:/Users/{username}/
目录下。
在 C 盘太占空间了,我们可以右键属性,更改位置,建议在 D 盘下新建一个和用户名相同的文件夹,再在这个文件夹中新建对应名称的文件夹,更改文件位置,就可以把我们的一些图片视频文件直接放到更改过路径的文件夹下。
这样主要文件都放在了 D 盘,减轻 C 盘负担。
Scoop ¶
Scoop 是一个 Windows 下的终端下载工具,Scoop 能让程序员留在命令行上,提高效率。
体验了才知道,安装软件很方便,减少了传统方式下一直点击下一步的图形操作,而且可以导出安装软件列表,方便进行环境迁移。
使用 scoop 需要注意几点:
- 设置安装路径
scoop 会安装到其默认位置:C:\Users\<YOUR USERNAME>\scoop
,要想更改路径,可以预先设置环境变量
SCOOP -> D:\scoop
SCOOP_GLOBAL -> D:\scoop
- 命令安装
Scoop 本身也可以通过命令安装
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser # Optional: Needed to run a remote script the first time
irm get.scoop.sh | iex
- 下载Git
Scoop 有存储桶的概念,除了官方的 main ,有时候需要安装其他的用户自己创建的存储桶,这些都是通过 Git 来管理的。
scoop install git -g
在用户文件夹(C:\Users\<username>
)下创建 .gitconfig
文件,配置用户名、邮箱等信息。
[credential]
helper = manager-core
[user]
name = <name>
email = <email>
- 安装 sudo
安装完成就可以像 Unix 系统一样提升用户权限,虽然还是会弹出 UAC,但是不用在开一个“以管理员身份运行”的终端。
scoop bucket add main
scoop install sudo -g
- 安装其他应用程序
可以去Scoop官网搜索需要的软件,如果有就可以安装。借助 scoop 的导出命令,导出到文件中, 见 wlonestar/scoopfile.json。安装也可以根据文件导入。
其他软件安装 ¶
国内部分软件不能通过 Scoop 安装,只能按照传统方式安装。
WSL 配置 ¶
适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境。包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。
用了 WSL 很长时间了,WSL2 本质上还是虚拟机,但是它打通了文件系统,甚至集成进了文件资源管理器。
准备条件 ¶
- 启用适用于 Linux 的 Windows 子系统
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 启用虚拟机功能
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 下载 Linux 内核更新包
这里是 下载链接
- 设置默认版本为 wsl2
wsl --set-default-version 2
下载 ¶
手动下载特定发行版并移动到目标位置,wsl 就不会按默认安装到 C 盘。
Ubuntu 22.04 下载链接:Ubuntu22.04,将安装包后缀名改成 zip
,手动解包,取出需要的安装包。
安装 ¶
上一步得到的安装文件夹如下图所示
双击 ubuntu2204.exe
即开始安装。
配置 ¶
具体配置因人而异,但在国内更换软件源应该还是必要的。
这里推荐 ustc 镜像源。
# ustc mirrors
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
必要工具 ¶
sudo apt-get install vim wget curl net-tools neofetch zsh tree baobab neovim -y
配置 fish 和 neovim ¶
最近开始尝试 fish 这个终端,虽然部分特性不兼容,但速度确实比 zsh 快不少。
相关的配置在仓库 wlonestar/dotfiles
总结 ¶
合适的工具会使开发效率提升不少,这是我这几年的感受。
Linux 其实是 user-friendly 的,只不过愿意读手册,愿意使用命令行的人才会觉得 friendly。
我觉得我还在适应吧,有些时候用着不太爽。
以上。