10 年 Ubuntu 桌面老用户开始转向 Win,请问我该怎么入门 WSL 和 Win 终端?

165 天前
 asilin
如题,从 Ubuntu 11.04 开始到现在的 Ubuntu 16.04 ,一直坚持使用 Unity 桌面的 Ubuntu 不动摇,但奈何陪伴多年的 ThinkPad E480 近两年频繁无故花屏、死机,一狠心一跺脚入手了最新的 Thinkbook 14+ 2024 AMD 。

但是问题来了,新的笔记本太新了,导致即使最新的 Ubuntu 24.04 也不能完全支持。

后来我开始“反思”自己,是否太过于执着 Linux ,是否陷入到另外一个极端,于是开始着手使用 Windows 来替换之后的工作流。

目前遇到的几个痛点:

• Win 下面的“WSL1”,“WSL2”,“终端”等太混乱了,我应该怎么入门?
我就单纯想有个 Linux 终端环境,而且这几天看新闻说好像微软要改进 WSL ,不晓得会改变什么?

• Windows Defender 怎么关闭,搜了下好像无法关闭,只能用其他“管家”替换;
那我是否该保留还是替换呢?替换成什么“管家”好呢,目前有自带的“联想管家”。

• 习惯了 APT/YUM ,我不太信任第三方软件,因为我不确定它们会在我的文件系统哪里遗留一些东西,注册表、服务、开机启动做一些小动作(可能 Win 应用商店使用沙盒能好一些),我该怎么避免这种“洁癖”,或者有什么工具能够辅助我?

总的来说,原来的 Linux 系统每一个包、每个文件、每个进程的作用、权限、位置、资源利用率我都一清二楚,不信任的软件直接用 docker 来运行,避免污染主系统,转到 Windows 后有些迷茫,不该如何自处了。
3789 次点击
所在节点    Linux
55 条回复
Maboroshii
165 天前
换更新的内核试试,在 windows 上用 linux 环境,为什么要折腾自己
gtese
165 天前
最近 wsl 下的 kali 不能升级包,卡死了。
抓狂中。
wsl 好用~
xtreme1
165 天前
1. wsl 1 是实现 linux 的系统调用, 目前属于事实停止维护状态, wsl 2 是 hyper-v 虚拟机, 微软仍在活跃维护, 使用 wsl 2 即可
2. 设置中将所有保护项关闭即可, 网上各种脚本可能影响 windows 更新
3. 无解. linux 包管理实际上不解决此问题, apt/yum 替代品有 winget, scoop
FrankFang128
165 天前
1. 安装你喜欢的发行版到 WSL2 (比如我装了 ArchLinux )
2. 让 VSCode 连接 WSL2 来开发所有程序(比如我使用 WSL2 的 JS 、Ruby 、Go 开发环境)
3. 在 WSL2 安装 Docker ,所有软件都跑在这个 Docker 里(我的意思是不要在 Windows 里安装 Docker )
FrankFang128
165 天前
4. 文件直接放到 WSL2 ,不要放在 Windows 里。简单了说,Windows 只是你的 UI 渲染引擎,不是你的文件存储地方,也不是你安装软件的地方。
asilin
165 天前
@FrankFang128 这种想法听起来不错
david98
165 天前
1 、推荐直接用 wsl2 镜像网络
2 、可以再装个火绒,不过我觉得没必要
3 、apt 在 wsl 里同样可用,wsl2 已经就是个虚拟机了。内核都可以自己编译,不过做了深度融合,对虚拟机一些个特殊的调用 win 做了 hook ,资源消耗比较轻量。wsl 里 你随便装 ubuntu 或者其它发行版
win 本身现在同样区分 root 权限和普通用户权限,不要乱装没有证书的应用,从官方渠道下载应用,已经很安全了
ho121
165 天前
还有个选择:等 ubuntu 支持新电脑
BeautifulSoap
165 天前
该说的上面都说了,补充几点
1. wsl2 记得设置内存使用上限,不设倒也可以看你具体情况
2. 注册表管理器找到如下键值,这是你 wsl2 的 vhdx 路径,可以更改路径把 wsl2 的虚拟硬盘文件移动到其他地方方便管理。今后换电脑重装系统只需要备份好这个 vhdx ,你的整个 wsl2 环境都能一瞬间恢复: 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\{发行版 uuid}\BasePath
3. 要用 gui 可以用 wslg ,虽然我更喜欢直接 xserver (因为 wslg 的窗口没法简单管理大小)
ysc3839
165 天前
我个人选择 MSYS2 + zsh ,终端用 MSYS2 的 mintty 。
Windows Terminal 可以用,但不太建议搭配 MSYS2 用,可能会有一些小问题,不介意的话可以用。
WSL 我只用 1 ,有其他需求直接用虚拟机。
Windows Defender 用组策略关闭。
怕残留文件的话那就尽量别在主系统里安装东西,都装到沙盒或者虚拟机的系统里。
ysc3839
165 天前
@ysc3839 为什么不推荐用 Windows Terminal ,因为它使用了 Pseudo Console ,这类似 Unix 的 pty ,终端可以拿到 cli 程序输出的内容。但是 Windows 传统的控制台(终端)要实现修改颜色等功能并不是像 Unix 那样输出一串特殊的序列,而是调用 API 修改颜色后再输出。为了兼容这种传统的模式,Pseudo Console 是用类似 screen/tmux 的模式,cli 程序输出内容后更新内部 buffer ,然后计算修改部分输出给终端,那这个中间层势必会带来一些影响。不过一般来说有问题也只是些小问题,不影响日常使用。除了 Windows Terminal ,其他许多终端也会使用 Pseudo Console ,都可能遇到相同的问题。而 mintty 是直接使用 MSYS2 的 pty ,不使用 Pseudo Console ,就不会有此类问题。
waytin
165 天前
wsl2 有 gui 界面吗,如果跑程序有窗口调用需求呢
FrankFang128
165 天前
@waytin 可以安装 Linux GUI ,不过性能很差。还可以安装 X Server ,显示效果也很诡异,总的来说难堪大用。
AoEiuV020JP
165 天前
wsl 真的不行,用了几年,现在 vmware 出个人免费了,果断关闭 hyperv 全家,
enihcam
165 天前
Windows Core Server + WSLg
BeforeTooLate
165 天前
vagrant
VermouthcZzz
165 天前
Win 沙盒 sandboxie 还是不错的~ 我个人一般安装不同账号微信,顺便备份微信数据了(doge)
https://github.com/sandboxie-plus/Sandboxie
cosette
165 天前
和真正的虚拟机运行 Linux 还是有区别,看要做的事情,最简单的方法就是去 ms store 直接安装 ubuntu ,打开 windows terminal 会自动配置,了解一下 windows terminal 的 profiles 就知道怎么回事了。

在 wsl2 里面大部分情况下使用没什么区别,但 GUI 显示有点问题,不管是 wslg 还是 x server (不过既然都用 windows 了还纠结 linux desktop 感觉也很奇怪)。

Windows 和 linux 的理念完全不同,核心的习惯基本都要改,没有真正的包管理器(你可以用 choco 、scoop 、winget ,但和 Linux 的包管理两个东西,覆盖面也有限),ms store 的 app 并不都是 uwp ,也就是并不都是可以清洁安装卸载的。

关闭 wd 需要安装另一个第三方杀毒软件/安全软件,要直接关闭比较麻烦。

至于你说的注册表、服务项、开机启动这些东西,学习一下怎么看就行了,注册表的建议是 leave it be ,别管它。至于服务项,可以查看,但想要禁用、修改之类的就不见得简单了。在 windows 上软件的行为是由三方开发者决定的,而不是像 Linux 上有统一的软件仓库,全权控制规范。

总的来说,你无法将 Windows 变得 linux-like ,特别是你是一个资深的 Linux 用户的话。
Stevenv
165 天前
我的建议别用 WSL 。简直是坑自己。直接用 manjaro 把。还行。Thinkbook 14+ 2023 AMD 路过
asilin
165 天前
@cosette 好的,既然打算用 Windows ,就已经做好用 Win 的思路去解决问题了

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

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

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

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

© 2021 V2EX