Bubu Blog: ~/article $ ls
My Windows Setup

写在前面

写这篇文章前2年,我是一个 Linux 桌面用户,用户画像是折腾型的,非要把各种主流发行版、桌面环境都体验一遍。这就导致我浪费许多时间在表皮上,没有利用 Linux Kernel 的代码去深入去学习计算机原理。

从功利性角度来说,那段时间确实浪费了。但沿途的风景也是挺好看的,在折腾的过程中特别中意平铺窗口管理器。后面由于工作需要,许多应用只能在 Windows 上运行,于是就慢慢切换到了 Windows。但是切换过程中,想把 Linux 社区上的许多优秀的设计带到 Windows 上,于是仿照许多博客文章的《My Linux Setup》写一篇《My Window Setup》。

硬件上,我在两台电脑安装了 Window 10,一台是台式机工作站,一台是笔记本。台式机上的 Window 是 PVE 的一台虚拟机,我分配了 16G 的内存,绑定了所有的大核(一共 6C12T)。笔记本是联想拯救者,CPU 是 AMD R7-5800H,内存 64G,Nvidia RTX 3050 的显卡。

Window Manager

快速切换桌面

按理说,Window Manager 这一名词更多出现于 Linux 社区,例如 i3wm、awesomewm 等。这些平铺式窗口管理器都有一个共同点,就是通过按住一个 Meta 键(一般为 Alt 或者 Window)再按住数字键,实现切换虚拟桌面。快速切换虚拟桌面能提升很大效率,特别是在只有单个屏幕的情况下

拿一个全栈项目举例,这个项目涉及到了前端、后端、APP。那么在上面虚拟桌面上,我就可以做如下部署:

然后只需要按快捷键 Windows+XX 是数字),就可以切换到相应的桌面。例如按 Windows+3,那么就切换到了 D3 桌面。社区已经有大佬使用 AHK 做好了 i3wm 的“模拟器”:https://github.com/yalibian/i3-windows.git

一些使用体验:

快捷键

除了切换虚拟桌面外,平铺式窗口管理器还会有一些功能也是很值得借鉴,例如快速启动程序、关闭程序、全屏等。下面所述的 Shortcut 都是需要配合 Meta 按键,先说一般平铺式窗口管理器常见的按键绑定:

关于 d 键,我个人更偏向于能够有一个 Dashboard,能够快速看一下信息,如 Todo、系统资源、媒体信息,剪切板以及一些贴纸等,顶部还有一个搜索。看看能不能挖个坑,自己写一个。

此外,使用 ChatGPT 的频率越来越高,于是我把 a 键(意为 ask)绑定为启动 ChatGPT。交互界面使用的是 ChatGPT-Next-Web,Edge 浏览器可以把网页作为应用安装,这样就会有一个快捷方式,查看快捷方式的属性可以得到启动命令,再把按键绑定到启动命令就可以了。可以查看我的配置

TrafficMonitor

很多平铺窗口管理器的 Unix Porn 都会带一个 StatusBar,用来监控系统资源,比如 CPU 占用、内存占用、网速、时间等。类似 MacOS 顶部的状态栏。

有时候能够一眼快速看到 CPU 占用,还是有一定的用途,比如程序跑起来了,大概会占用多少 CPU;如果要打开下一个程序,会不会卡等等。

Windows 上其实有很多软件能够显示实时的系统状态,鲁大师、各类加速球等,但毕竟是商业软件,时不时蹦出一个广告什么的,不可控。个人还是偏向能够用开源替代。于是就找到了TrafficMonitor

KDE Connect

互联神器。不仅限于手机和电脑互联,可以电脑和电脑之间互联。

LocalSend

KDE Connect 会有一些小 Bug,比如两台 Windows 之间传文件没有任何反应。

于是找到了 LocalSend,这个软件是基于局域网的文件传输工具,支持 Windows、MacOS、Linux、Android、iOS。真正的全平台。

不仅是文件,文本也是可以传送的。AirDrop 开源替代。

PixPin

在 V2ex 冲浪的时候发现的免费截图工具。 功能很全,除基本的截图功能外,支持 OCR、标注、贴图、GIF 等。

官网:https://pixpinapp.com/

PowerToy

PowerToy 是一堆小工具的集合,目前主要在用 PowerToy.Run 作为应用启动器、无界鼠标。

无界鼠标就是两台 Windows 共用一套键鼠。前身是微软无界鼠标,先集成到 PowerToy 里面。但我这边开了无界鼠标之后,Ctrl + C 必须按两次才能复制。

NoMachine

远程神器,目前还没发现能够提供同等体验的开源软件。优点如下:

Nushell

PowerShell 在默认配置下,没有启用 Ctrl + D 退出终端这个快捷键。而之前用 Linux 的时候,会习惯创建终端窗口,用完就 Ctrl + D 关闭。为了这个习惯,于是找到了 Nushell。

除此之外,PowerShell 默认的 CMDLET 又臭又长,适合写脚本而不适合交互。Bash/Zsh 等用来写脚本感觉差点意思,而且历史包袱在,在设计理念没有 PowerShell 强大。

Nushell 是一个挺折中的方案。

以上是优点,说说我使用过程中感觉的缺点: