【问题标题】:How can I set starting directory for D: in WSL2?如何在 WSL2 中设置 D: 的起始目录?
【发布时间】:2021-06-14 06:52:06
【问题描述】:

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

但它不起作用(此代码将我连接到默认值 mnt/c/Users/username)。

所以我也试过这个:

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

它正在工作。

如何设置d的起始目录?

【问题讨论】:

    标签: linux windows-subsystem-for-linux wsl-2


    【解决方案1】:

    对于像D: 这样的挂载目录,设置像/mnt/d 这样的挂载点将不起作用(h/t @Dominique)。

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

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

      "startingDirectory": "D:/"
      

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


    或者,忽略 Windows 终端设置,只在 ~/.bashrc 末尾添加 cd

    cd /mnt/d
    

    【讨论】:

    • 为了使用挂载点,不需要先创建吗?
    • @Dominique 你的意思是/mnt/c/Foo/Bar?另一个用户在一小时前刚刚添加了该示例。我也不确定它是否有效——现在测试。
    • @Dominique 确认,/mnt/c/Foo/Bar 对我不起作用。已删除,谢谢。
    • @tdy 你用真实路径试过了吗?我只是在修改你的例子。如果驱动器上存在 C:\Foo\Bar,则 (a) /mnt/c/Foo/Bar 也将存在,并且 (b) //wsl$/<distroName>/mnt/c/Foo/Bar 将是有效的起始目录。
    • @tdy 实际上这是有道理的,因为 /mnt/c 挂载直到 WSL 启动后才可用。无论如何,C:` is so much easier than //wsl$//mnt/c` 无论如何;-)
    猜你喜欢
    • 1970-01-01
    • 2016-04-21
    • 2021-06-20
    • 1970-01-01
    • 2015-07-31
    • 2013-02-26
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    相关资源
    最近更新 更多