我在 Windows 10 机器上使用 Ubuntu 18.04 作为 Linux 的 Windows 子系统。
我已经安装,gedit没有任何错误或警告。
但是每当我尝试使用该命令gedit something(这里有一个文件名)时,
我都会收到此错误:
Unable to init server: Could not connect: Connection refused
(gedit:48): Gtk-WARNING **: 21:03:26.729: cannot open display:
Run Code Online (Sandbox Code Playgroud) 我想使用WSL(Windows上的Bash)Git和VSCode而不是Git for Windows来避免多个Git安装.
我创建了一个简单的bat脚本,git.exe通过重定向WSL中的git命令来模拟comportment.它在CMD中运行良好,但在VSCode中运行不正常.此外,WSL是我在VSCode中的默认终端.
VSCode settings.json:
{
"git.path": "D:\\tools\\git.bat",
"terminal.integrated.shell.windows": "C:\\Windows\\Sysnative\\bash.exe"
}
Run Code Online (Sandbox Code Playgroud)
和git.bat:
@echo off
bash -c 'git %*'
Run Code Online (Sandbox Code Playgroud)
有什么想让VSCode与WSL Git一起工作吗?
我尝试为将在 Windows 子系统 Linux 中运行的 Visual Studio Code 任务设置环境变量。然而,它似乎不起作用。这是我的tasks.json:
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "test env",
"type": "shell",
"command": "echo",
"args": [
"$test"
],
"options": {
"env": {
"test": "test_string"
}
}
},
]
}
Run Code Online (Sandbox Code Playgroud)
输出是:
> Executing task in folder ex12-test: echo $test <
Terminal will be reused by tasks, press any key to close it.
Run Code Online (Sandbox Code Playgroud)
请注意,默认情况下 shell 已手动修改为C:\WINDOWS\SysNative\bash.exeWSL,如此处和此处的建议。
在 ubuntu 18.04 子系统 Windows 10 上安装 mysql-server。
Cannot open /proc/net/unix: No such file or directory
Cannot stat file /proc/1/fd/5: Operation not permitted
Cannot stat file /proc/3/fd/7: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
请帮忙
每当我尝试运行expo start或npm start它的 IP 不是我的 LAN IP 而是我的 WSL2 eth0 IP,这将导致我的手机无法连接到博览会。
我已经尝试REACT_NATIVE_PACKAGER_HOSTNAME使用export命令进行设置,它也会更改与 expo 相关的浏览器中的 ip,但我认为它不会在该 ip 上运行,因为我的手机再次无法连接(我也关闭了防火墙)
对我来说,期望的是能够在我的手机上运行我的世博会代码,而无需使用将使用互联网的隧道选项。
我从https://www.docker.com/products/docker-desktop为 windows 10 安装了 docker-desktop ,并为 Linux 容器启用了 docker 守护进程。我有自己的 wsl2 发行版,名为 ubuntu,我启用了 docker-desktop 与发行版 ubuntu 的集成,并在其中构建了一个映像。但我无法弄清楚图像的保存位置。我做了一些搜索,发现有人说它在\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\data\docker. 我确实找到了这个文件夹,但整个文件夹只有几百 MB,而我的图像有几 GB。我只在文件夹中找到元数据,而不是真实图像。有人指出我可以在 docker 资源配置选项卡中找到图像路径,但我的没有显示 docker 图像在哪里......

有没有人在类似情况下找到图像?
更新
在文件夹中创建的卷:\\wsl$\docker-desktop-data\mnt\wsl\docker-desktop-data\version-pack-data\community\docker\volumes
在GitHub 上 共享了一个解决方法sudo hwclock -s来重新同步 WSL 中的时钟,但是每次从睡眠/休眠状态恢复时都必须执行此操作。
clock windows-task-scheduler windows-subsystem-for-linux wsl-2
我在 Windows 10 上安装了 docker Desktop。然后我发现了 WSL。写完命令后,wsl -l -v我看到我有 2 个发行版:
docker-desktop-data
docker-desktop
Run Code Online (Sandbox Code Playgroud)
我还从 Microsoft Store 安装了 Ubuntu 20.04,现在我也有了
Ubuntu-20.04
Run Code Online (Sandbox Code Playgroud)
现在我想摆脱这两个。我不需要那么多。我知道 docker-desktop-data 包含图像 docker-desktop 包含 docker 基础设施。但对我来说仍然不清楚并且令人困惑。我只想将 Ubuntu-20.04 用于我的 docker 实验。
我该如何删除这些?
我已经安装了 wsl,如果从 cmd 提示符运行:
wsl ls
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但如果我创建一个文件 script.sh 并尝试:
wsl script.sh
Run Code Online (Sandbox Code Playgroud)
与里面:
ls
Run Code Online (Sandbox Code Playgroud)
或任何其他 linux 命令,我得到:
/bin/bash: script.sh: command not found
Run Code Online (Sandbox Code Playgroud)
当然,我的脚本位于正确的文件夹中。是什么原因导致这个问题?
编辑:非常感谢您的回答。我是否可以将 .sh 文件关联到 wsl,以便它们通过双击自动运行?
我最近开始研究 vscode。我想调试我的 C 代码。但是当我启动调试器时出现错误:无法开始调试。miDebuggerPath 的值无效。
我在 wsl 上安装了我的 gdb 。它的路径是/usr/bin/gdb。我已将相同的路径复制到 miDebuggerPath 中的 launch.json。
这是我的 launch.json :
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/main",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
} …Run Code Online (Sandbox Code Playgroud) gdb visual-studio visual-studio-code windows-subsystem-for-linux
windows-subsystem-for-linux ×10
docker ×2
bash ×1
clock ×1
command-line ×1
expo ×1
gdb ×1
gedit ×1
linux ×1
mysql ×1
react-native ×1
sh ×1
ubuntu ×1
vscode-tasks ×1
windows-10 ×1
wsl-2 ×1