WSL2 的默认 Alacritty 终端

WSL2 的默认 Alacritty 终端

我刚刚在 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

您可以创建快捷方式。

"C:\path\to\alacritty\alacritty.exe" --command ubuntu

在此处输入图片描述


在此处输入图片描述

答案4

至少对我来说答案是添加以下代码片段alacritty.yml

shell:
  program: wsl

ubuntu这与另一个关于该程序的答案不同。

相关内容