Windows 11 终于成了最好用的 Linux 发行版
我不使用 Windows 很久了,这么说吧,我用过的最好的 Windows 是 xp,win7 我都没用,就直接转向了 Linux,此后很少使用 Windows,直到公司的 vpn 不再支持 Linux,我才开始折腾,比如 root 手机,将手机的 vpn 共享给电脑,比如 mac 开启 ssh 代理,最近又试了下 Windows 11,发现终于可以平替我的 Linux 或 mac 了,主要是 intellij gateway 好使!
以前不使用 Windows 主要是因为小白一个,Windows 病毒泛滥,影响我写代码,eclipse 还很是卡顿,但在 Linux 上就很丝滑了。
这次平替时,遇到如下问题,特此记录下。
wsl 无法挂载和 Windows 系统在同一块磁盘的 ext 分区
这个似乎也能理解,毕竟已经被 Windows 挂载了,怎么能被 wsl 再次挂载呢,好在我是双硬盘,这个问题不大。
wsl 静默启动和挂载 ext4 磁盘
新建 wsl-startup.vbs 文件,内容如下:
ws.run “command”, 0, True 中,command 是实际执行的命令,0 表示窗口隐藏,True 表示要等待命令执行完毕后,才执行后续的代码。
然后新建一个计划任务,执行该脚本即可。
wsl 使用 zsh
这部分参考:https://github.com/ohmyzsh/ohmyzsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
通常,这样就行,主题我用的 ys,插件有:git zsh-autosuggestions zsh-syntax-highlighting fast-syntax-highlighting
github 代理
http 以及 https 的代理
ssh 的代理
intellij idea 的选择
在 wsl 里,要使用 idea 有两种办法,方案一如下:
- 项目建在 wsl 里面,终端自然也使用 wsl 的终端,若使用 Windows 终端,还不如不用 Linux;
- 程序运行也在 wsl 里面,但 idea 是 Windows 版本的;
方案二如下:
使用 intellij gateway,远程连接 wsl 里面的项目;
方案 1 的优点是 idea 跑在 Windows 里面,启动比较快速,体验也还行;但涉及跨文件操作,构建比较慢,另外,报错或 panic 时,文件对不上,无法点击跳转。
方案 2 的优点是 idea、代码都在 wsl 里面,仅 gateway 这个壳在 Windows 上面,启动较为慢,但其他性能 OK,报错或 panic 时,可以点击相关文件后跳转,这个可能是硬需求吧。
目前,我在使用方案二,我觉得还行,当然部分功能用不了,比如拼写检查,没法直接加入到词典里面,得自己去设置里加,不过问题不大。
Linux、wsl、黑苹果的对比
黑苹果由于 amd 核显驱动不完整,偶现部分应用花屏,卡死,比如企业微信、浏览器如果开启了硬件加速也是有问题。
Linux 整体没问题,但公司 vpn 用不了,以前有提供 cli,现在没了,所以基本没法用,除非手机 root,共享给 Linux 用,或者 mac book 上开启 ssh 代理,Linux 上如需访问公司网络,则使用 mac 的 ssh 代理进行。
而在 Windows 下,如果使用 intellij gateway 那么就很完美,既有软件生态,还有最爱的 Linux,瞬间感觉我的 macbook 不香了。
其他
其实可以考虑 wsl 安装图形界面,然后 idea 直接跑在 wsl 里,缺点是输入法,另外,此时会有多重窗口,以前我多次尝试该方案,最终都无疾而终,如果这个方案可行,将是完美的方案。
idea wsl 移除 titlebar
idea 设置 jvm 参数:-Dawt.toolkit.name=WLToolkit 后,titlebar 将被隐藏,deepin Linux,测试通过,github 地址: https://github.com/microsoft/wslg/issues/37
如果无法连接到 wayland server 则:
ln -sf /mnt/wslg/runtime-dir/wayland-* $XDG_RUNTIME_DIR/