You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在WSL中如何让root用户继承Windows的$PATH?

解决WSL中root用户继承Windows $PATH的问题

原因

sudo默认会重置环境变量,导致root用户的$PATH不包含普通用户继承的Windows系统路径,因此无法找到code这类Windows端安装的命令。

解决方案

方法1:让sudo保留用户环境变量(推荐)

使用visudo编辑sudoers配置文件(直接编辑/etc/sudoers可能引发权限风险):

sudo visudo

找到包含Defaults env_reset的行,修改为:

Defaults !env_reset

或者更精准地仅保留PATH变量:

Defaults env_keep += "PATH"

保存退出后,再次使用sudo时会自动继承普通用户的$PATH,执行sudo code test.txt即可正常运行。

方法2:单次sudo时传递环境变量

如果不想修改全局配置,每次执行命令时添加-E参数,让sudo保留当前用户的环境变量:

sudo -E code test.txt

方法3:手动给root添加Windows路径

编辑root用户的bash配置文件(如/root/.bashrc),将Windows相关路径追加到PATH:

sudo nano /root/.bashrc

在文件末尾添加普通用户PATH中的Windows路径片段(示例):

export PATH="$PATH:/mnt/c/Windows/system32:/mnt/c/Program Files/Microsoft VS Code/bin:/mnt/c/Users/hans/AppData/Local/Microsoft/WindowsApps"

保存退出后,执行source /root/.bashrc使配置生效,之后root用户的PATH就包含这些Windows路径了。

内容的提问来源于stack exchange,提问作者hanshenrik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:52:35