我正在努力弄清楚如何在WSL中通过bash命令启动一个新的“命令提示符”窗口,目标是启动第二个提示符,最好已经在bash中了。
我已经尝试过运行cmd.exe
,但这只是让我从bash shell中的一个标准Windows命令提示符cmd。
https://i.imgur.com/tIdRMvR.png
运行bash.exe
或wsl.exe
命令只是将我从同一个bash shell中带到另一个bash shell。
https://i.imgur.com/OM1XTlG.png
我正在使用Debian发行版的WSL,虽然这应该没有关系。
我知道你可以通过在程序之前放置start
命令从标准命令提示符创建一个新窗口,但是我找不到 *nix的等价物,也找不到如何从WSL内部调用做同样事情的bash命令。
6条答案
按热度按时间rsaldnfx1#
这在WSL中的bash提示符下工作。
命令执行程序/c启动命令执行程序/c wsl.exe
(此处提供解决方案)
qij5mzcb2#
不需要调用cmd两次,我使用这种东西:
这将为同一用户打开另一个wsl窗口,并分发调用者窗口,然后在其中启动ssh会话。ssh会话可以替换为您要在新窗口中运行的任何内容...如果您只希望shell提示符,请忽略$LOGNAME之后的所有内容
qlzsbp2j3#
从WSL启动新窗口的唯一方法是使用某种终端模拟器并启动它。有许多不同的选项:wsltty、wsl-terminal、Conemu和Cmder(基于Conemu)都是我的脑海中浮现出来的。Wslty基于mintty,mintty是Cygwin的默认终端模拟器,这是WSL出现之前人们使用的。我个人喜欢Cmder,但我发现设置很痛苦。YMMV。
bwntbbo34#
甚至更好的一个,如果你想打开某个发行版,转到资源管理器,类型
shell:AppsFolder
,找到你的发行版,做一个快捷方式到你的桌面,并在你的wsl内完成这一点例如:
你也可以复制快捷方式到某个地方,并使用绝对路径,而不是只使用发行版名称,你可能需要使用
""
来封闭路径编辑:如果你发现自己有这个错误
CMD.EXE was started with the above path as the current directory.UNC paths are not supported
我找不到任何解决方案,你可以使用this文档cmd.exe参数qyyhg6bp5#
所以这些答案对我来说都不管用。结果对我来说最好的解决方案是使用cmd.exe通过Windows终端(wt.exe)打开bash,即:
使用-p指示命令行应用的配置文件名称,或保留该名称以使用默认值。
您可以使用此选项卡在新选项卡中打开并传递命令:
Official Microsoft documentation
fjaof16o6#
在WSL 2中,此操作有效: