d.l*_*a38 3 windows-subsystem-for-linux
我刚刚安装了适用于 Linux 的 Windows 子系统,它似乎总是在我的 Windows 主目录中打开一个新终端 -/mnt/c/Users/dl
我试图将其默认为 linux 主目录 - /home/dl
。
我检查了 Linux 子系统中的主目录,/etc/passwd
并正确设置了它:
dl:x:1000:1000:,,,:/home/dl:/bin/bash
Run Code Online (Sandbox Code Playgroud)
然后我遇到了这个解决方案,但它似乎没有任何影响:
// Set starting directory
"startingDirectory": "\\\\wsl$\\Ubuntu\\home\\dl\\"
Run Code Online (Sandbox Code Playgroud)
我知道我可以cd ~
在我的点文件中运行(这是我目前正在使用的),但我正在寻找一种方法,/home/dl
它只是默认值而cd ~
不是需要。这可能吗?
小智 24
在 Windows 10 21H2 或更高版本以及 Windows 11 中,现在要简单得多。根据微软文档:
在较新版本的 Windows 上,
startingDirectory
可以接受 Linux 样式的路径。
这意味着您可以简单地使用:
"startingDirectory": "/home/yourusername"
Run Code Online (Sandbox Code Playgroud)
Windows 目录结构不需要任何前缀,也不需要转义反斜杠。只是普通的旧 Linux 正斜杠表示法。
这适用于 WSL1 和 WSL2。
注意:我尝试使用“~”但失败了。可能有一些方法可以使用 {$USERPROFILE},但还没有尝试过。
使用 WSL 更改主目录的方式与在 Linux 中相同:
这里的其他答案(尤其是来自 @TomBoland 的最新答案)非常适合从任意目录开始,但您问题中的示例是从您的主目录开始。最简单的方法就是创建属性或将"commandline"
属性更改为wsl ~
. 这是 的一个未记录的标志wsl.exe
,并且它必须是第一个参数(例如wsl ~ -u root
)。
由于 Windows 终端现在有一个用于设置的 GUI,因此您只需编辑您的配置文件以指向wsl ~
- > 常规 -> 命令行设置。
如果您settings.json
直接编辑(当前在 中找到%userprofile%\AppData\Local\Packages\MicrosoftWindowsTerminal...\LocalState\settings.json
,但这可能会改变)...
删除该"source"
属性并将其替换为"commandline"
:
"guid": "{2d5ef231-38b7-51cf-b940-2309a097f644}",
"hidden": false,
"name": "Ubuntu",
//"source": "Windows.Terminal.Wsl",
"commandline": "wsl ~",
"startingDirectory": "//wsl$/Ubuntu/",
"tabTitle": "Ubuntu"
Run Code Online (Sandbox Code Playgroud)
另外,为了好玩,这里有一种将 WSL 打开到~
/ 的替代(hacky)方法$HOME
(无需像其他答案那样进行硬编码)。这绝对不需要,因为它更容易使用wsl ~
,但是:
wsl -e sh -c 'cd $HOME; exec $SHELL'
Run Code Online (Sandbox Code Playgroud)
这将启动sh
,将目录更改为$HOME
,然后exec
您就$SHELL
可以替换sh
.
您应该只更改startingDirectory
WSL(在本例中为 Ubuntu)终端会话。
settings.json
通过CTRL+ SHIFT+,startingDirectory
下profiles/list/name: "Ubuntu"
下面的例子(斜线需要转义):
....
{
"guid": "{2c4de342-xxx-xxx-xxx-2309a097f518}",
"hidden": false,
"name": "Ubuntu",
"source": "Windows.Terminal.Wsl",
"startingDirectory": "\\\\wsl$\\Ubuntu\\home\\windows_username_in_lower_case"
},
....
Run Code Online (Sandbox Code Playgroud)
有关startingDirectory
包括默认值和预期值的文档。
在里面settings.json
你还会发现这里的 json 模式的解释
如果您需要知道如何或在何处编辑 Windows 终端设置/首选项:https : //docs.microsoft.com/en-us/windows/terminal/get-started
归档时间: |
|
查看次数: |
6942 次 |
最近记录: |