WSL2 的默认 Alacritty 终端

Olu*_*era 10 terminal terminal-emulator ubuntu wsl2

我刚刚在 Windows 10 计算机上安装了带有 Ubuntu 20.04 的 WSL2,并且还安装了适用于 Windows 的 Alacritty 终端模拟器。我想知道是否有一种方法可以使 WSL 默认使用 Alacritty 终端而不是默认终端?如果是这样,知道如何实现它吗?Alacritty 的 github 没有过多介绍 WSL(https://github.com/alacritty/alacritty)。

小智 9

修改 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
Run Code Online (Sandbox Code Playgroud)


Not*_*1ds 4

简而言之,目前无法将启动的默认终端(WSL、PowerShell、CMD 等)更改为 Alacritty。

最好的选择是创建一个小脚本.ps1.cmd脚本来使用 WSL 启动 Alacritty。然后,您可以将其添加为“开始”菜单的快捷方式,以便快速访问。将其固定到“开始”或“任务”栏也是一种可能。


更多背景:

最初提出这个问题时,最近才可以在 Windows 10 build 21390(预览版/预览版)中设置 Windows 终端(预览版)。您可以在较旧的 Windows 控制台(默认)和较新的 Windows 终端之间进行选择。

最终,Windows 10 的 Insider 版本从那时起变成了 Windows 11。大多数新功能并没有回滚到 Windows 10 21H2,包括此功能。

其他终端应用程序也可以自己注册为替代终端,但这并不容易。引用 Alacritty 问题#6036中的内容,该问题正在跟踪此功能请求:

如果这采用 Christian Parpart 在轮廓问题中描述的内容,我怀疑这是否会被合并到 Alacritty 中。但如果有一些更简单的解决方案,请随时发送补丁。

它需要为终端应用程序创建和注册一个 COM 服务器,这可能有点失传(夸张,但这绝对不是当今常见的做法)。

也就是说,Windows Terminal 是开源的,因此可以准确地检查它是如何实现的。相关代码是,我相信 Windows Terminal PR #7489