如何在WSL2中设置D盘的起始目录?

8

我正在使用 Windows 10 中的 Ubuntu-20.04 WSL2。

我想在打开终端时访问 D:,所以我在我的工作区 settings.json 中添加了以下内容:

"source": "Windows.Terminal.Wsl",
"colorScheme": "Monokai Night",
"startingDirectory": "\\\\wsl$\\Ubuntu-20.04\\mnt\\d" //added this

但是它不起作用(这段代码将我连接到默认的)。
所以我也尝试了这个:
"source": "Windows.Terminal.Wsl",
"colorScheme": "Monokai Night",
"startingDirectory": "\\\\wsl$\\Ubuntu-20.04\\mnt" //added this

它正在工作。

我如何为d设置起始目录?


1
这在我使用WSL2和Ubuntu 22.04 LTS中有效:"\\\\wsl$\\Ubuntu-22.04\\home\\watashi" - Ray Foss
1个回答

1

对于像 D: 这样的挂载目录,设置挂载点为 /mnt/d 是行不通的(感谢 @Dominique)。

  • 使用Windows风格的路径(需要转义反斜杠):

    "startingDirectory": "D:\\"
    
  • 或者在较新版本中使用Linux风格的正斜杠(正斜杠不需要转义):

    "startingDirectory": "D:/"
    

    – 需要在Windows 10 21H2或Windows 11上安装Windows Terminal 1.11.2421.0


或者,忽略Windows终端设置,只需在~/.bashrc的末尾输入cd

cd /mnt/d

1
为了使用挂载点,难道不需要先创建它吗? - Dominique
@Dominique,你是指/mnt/c/Foo/Bar吗?另一个用户在一小时前添加了这个例子。我也不确定它是否有效--正在测试中。 - tdy
@Dominique 不需要创建它,因为 /mnt/c 是由 WSL 自动创建的。尝试使用一个“真实”的示例,例如 //wsl$/<distroname>/mnt/c/Windows/System32。它应该可以工作。 - NotTheDr01ds
@NotTheDr01ds 实际上在更多测试之后,即使是 //wsl$/<distro>/mnt/c 也不起作用。使用 C:\(在设置中)或 C:\(在 json 中)可以工作,但不能通过挂载点。我会再次修改。 - tdy
1
@tdy 其实这是有道理的,因为 /mnt/c 挂载点直到 WSL 启动后才可用。而且,使用 C:\//wsl$/<distro>/mnt/c 要方便得多 ;-) - NotTheDr01ds
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接