我刚刚在 Windows 10 机器上安装了带有 Ubuntu 20.04 的 WSL2,还安装了适用于 Windows 的 Alacritty 终端仿真器。我想知道有没有办法让 WSL 默认使用 Alacritty 终端而不是默认终端?如果是这样,有什么想法可以实现吗?Alacritty 的 github 没有太多关于 WSL 的内容(https://github.com/alacritty/alacritty)。
答案1
简短的回答是现在无法将启动的默认终端(WSL、PowerShell、CMD 等)更改为 Alacritty。
最好的办法是创建一个小.ps1
脚本.cmd
,使用 WSL 启动 Alacritty。然后,您可以将其添加为“开始”菜单的快捷方式,以便快速访问。将其固定到“开始”或“任务栏”也是一种可能性。
更多背景:
当最初提出这个问题时,最近才可以在 Windows 10 build 21390 (Insider/Preview) 中设置 Windows Terminal (Preview)。您可以在较旧的 Windows 控制台(默认)和较新的 Windows Terminal 之间进行选择。
最终,Windows 10 的 Insider 版本从那时开始变成了 Windows 11。大多数新功能不是回滚到 Windows 10 21H2,包括此功能。
它是其他终端应用程序也可以将自己注册为替代终端,但这并不容易。引用自 Alacritty 问题#6036,它正在跟踪此功能请求:
如果这符合 Christian Parpart 在轮廓问题中描述的情况,我怀疑它是否会被合并到 Alacritty 中。但如果有更简单的解决方案,请随时发送补丁。
它需要为终端应用程序创建和注册一个 COM 服务器,这可能是一种失传的艺术(夸张一点,但绝对不是现在常见的做法)。
话虽如此,Windows Terminal 是开源的,因此可以确切地检查它是如何在那里实现的。相关代码是,我相信在 Windows Terminal公关 #7489。
答案2
修改你的 alacritty.yml shell 部分如下:
# Shell
#
# You can set `shell.program` to the path of your favorite shell, e.g.
# `/bin/fish`. Entries in `shell.args` are passed unmodified as arguments to the
# shell.
#
# Default:
# - (macOS) /bin/bash --login
# - (Linux/BSD) user login shell
# - (Windows) powershell
shell:
program: ubuntu
# args:
# - --login
答案3
答案4
至少对我来说答案是添加以下代码片段alacritty.yml
shell:
program: wsl
ubuntu
这与另一个关于该程序的答案不同。