我刚刚在 Windows 10 中安装了新的 Linux 子系统。能够访问 Ubuntu 存储库真是太好了,但我绝对讨厌默认的终端程序。Cygwin 附带 MinTTY,它非常好用,但我找不到 MinTTY 的独立软件包。有没有办法在启动任何快捷方式时将 MinTTY 设置为 WSL 的默认终端?
编辑:明确地说,我不想安装 Cygwin。我想使用新的 Linux 子系统及其 bash shell,但我想使用 mintty 作为我的终端。
答案1
mintty 开发人员刚刚发布了一个安装程序,它将为您设置一切,无需任何外部依赖(它包括 cygwin dll、控制台助手和 wslbridge):
https://github.com/mintty/wsltty/releases
下载、安装,就完成了。
如果您想运行 Bash 以外的其他 shell,只需更改快捷方式(在开始菜单中)。例如,要使用 zsh 在终端上运行 ssh-agent:
%LOCALAPPDATA%\wsltty\bin\mintty.exe /bin/wslbridge -t /usr/bin/ssh-agent /bin/zsh -l
答案2
使用 mintty + wslbridge 有效。
下载3个文件:
mirrors.kernel.org/sourceware/cygwin/x86_64/release/cygwin/cygwin-2.5.2-1.tar.xz
mirrors.kernel.org/sourceware/cygwin/x86_64/release/mintty/mintty-2.4.2-0.tar.xz
github.com/rprichard/wslbridge/releases/download/0.1.0/wslbridge-0.1.0-cygwin64.tar.gz
将这些文件放入名为 bin 的同一目录中:
cygwin1.dll : cygwin-2.5.2-1.tar.xz
cygwin-console-helper.exe : cygwin-2.5.2-1.tar.xz
mintty.exe : mintty-2.4.2-0.tar.xz
wslbridge.exe : wslbridge-0.1.0-cygwin64.tar.gz
wslbridge-backend : wslbridge-0.1.0-cygwin64.tar.gz
并创建一个空的minttyrc
。
跑步mintty -c ./minttryc ./wslbridge
答案3
我刚刚创建了一个指向以下位置的快捷方式:
C:\msys64\usr\bin\mintty.exe --icon C:\Windows\System32\wsl.exe --dir //wsl.localhost/ubuntu_20.04/home/<user> --wsl -t WSL -s 240,60 -e wsl
在哪里:
C:\msys64\
是msys2根目录;ubuntu_20.04
是我的 WSL 发行版。你可以通过以下方式获取它wsl -l -v
;- 我可以默认进入我的 WSL 主目录,否则我将默认进入 msys2/mintty 主目录。此外
--dir ...
,当您按下 ctrl 键并将鼠标悬停在文件上并单击它时,这允许 mintty 启动外部应用程序来打开该文件。 -e wsl
告诉 mintty 运行wsl.exe
命令;- 有关其他命令行选项,请参阅https://mintty.github.io/mintty.1.html。
这对我来说很有效。你可以尝试https://github.com/mintty/wsltty也一样。似乎它已经与 wslbridge2 集成,但我没有注意到区别。