问题标签 [wsl-2]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - 通过本地网络连接到 WSL2 服务器
我正在我的 Windows 10 机器上使用 WSL2/Ubuntu 开发一个 Rails 应用程序,这很棒!问题是我无法从同一网络中的另一台计算机连接到我的服务器。
为了更清楚起见,我在 localhost:3000 上运行 Puma 服务器
我尝试了以下方法:
- 直接连接到分配给以太网适配器 vEthernet (WSL) -> 172.26.208.1:3000 的 IP 地址
- 直接连接宿主机的 IPv4 地址 -> 192.168.0.115
- 添加防火墙例外(使用 Bitdefender)
- 绑定上面的IP
rails s -b 172.26.208.1 -p 3000
到目前为止,上述方法都没有奏效......我想做的是:
- 在另一台笔记本电脑/平板电脑/手机上测试网站
- 从另一台计算机使用 VScode
有什么我至少可以正确查看网站的东西吗?(以及对 VScode 部分的任何评论将不胜感激)
windows-10 - 如何在 WSL2 上设置工作 X11 转发
从 WSL1 迁移到 WSL2 时,许多事情发生了变化;显然这也适用于 X11 转发。
为了在 Windows 10 上使用 X11 转发和 WSL2,我需要执行哪些步骤,就像我对 WSL1 所做的那样?
windows - MobaXterm 在不同的计算机登录时不断更改 DISPLAY 的位置?
我正在使用带有 WSL2 的 MobaXterm 作为终端和 X 客户端,并且我在 MobaXterm 看似随机更改其 DISPLAY 变量时遇到问题。在给定的计算机启动时,IP 似乎保持不变,但每天都在变化(或者可能每隔几天?)。
我一直在通过~/.bashrc
(因此它是持久的)在我的 WSL2 安装上设置 DISPLAY,就像在 MobaXterm 开始屏幕上告诉我的那样(通常类似于192.168.1.Y:0.0
,其中 Y 是一个似乎会改变的不同数字)。
当我更改 DISPLAY 时,一切正常,直到有一天我收到连接显示的错误,然后我检查 Y 值/DISPLAY 位置是否已更改。同样,我可以检查 MobaXterm 上面显示的内容为“您的 DISPLAY 设置为 ...”,并通过 ~/.bashrc 手动更改它,但我希望设置一次并让它正常工作。
我使用 MobaXterm 的同事似乎将他们的 DISPLAY 始终设置为“localhost”之类的东西,但我的似乎每次都显示某种完整的 IP 地址(这种情况会发生变化)。
有没有人熟悉这个问题,和/或对如何解决这个问题有任何想法?
从我的 WSL2 发行版上的 MobaXterm bash 终端添加一个示例:
一旦我设置export DISPLAY=192.168.1.13:0.0
(这就是 MobaXterm 所说的 DISPLAY 现在设置为),xeyes
显示正常。
有人还把我带到了MobaXterm 文档:
默认情况下,MobaXterm Xserver 侦听您的所有网络适配器。横幅消息会说您的 DISPLAY 环境设置为“:0.0”,但这只是一条信息性消息:它被打印在这里是为了帮助用户在连接到远程服务器时设置他们的“DISPLAY”环境变量。但是,嵌入式 X11 服务器侦听所有网络接口,而不仅仅是写入的那个。您在“DISPLAY”变量中看到哪个 IP 地址并不重要:因为 MobaXterm X 服务器侦听您的所有网络接口,它也监听第 2、3、(...) 个网络接口。例如,如果您的计算机有 2 个网络适配器(192.168.0.10 和 10.10.10.36): MobaXterm 说您的 DISPLAY 设置为“192.168.0.10:0.0”。但是X 服务器确实在“127.0.0.、“192.168.0.10:0.0”(第一个适配器)和“10.10.10.36:0.0”(第二个适配器)。
好吧,如果确实是“X 服务器真的在“127.0.0.1”(本地主机)上侦听,那么当 DISPLAY(在 WSL2 发行版上)设置为127.0.0.1:0.0
或时,我的 X 应用程序不应该正确启动localhost:0.0
吗?
linux - PostgreSQL 10 从 /etc 读取 postgresql.conf,但在 /var 中指定数据目录
我对在 WSL2 上的 Ubuntu 上安装 PostgreSQL 10 的配置感到困惑。
我初始化数据库以使用信任身份验证(不是我的要求,我知道不安全)并指定数据目录,如:
我检查/var/lib/postgresql/10/main/pg_hba.conf
并正确显示所有主机的信任身份验证。但是,当我使用以下任一方法启动服务器时:
我无法在没有密码的情况下登录,例如身份验证方法不受信任。
运行后ps -ef | grep postgresql
我看到这个:
它使用正确的数据目录,但从该/etc
位置读取配置文件。未经so修改的/etc/postgresql/10/main/postgresql.conf
says to use默认为md5密码认证。/etc/postgresql/10/main/pg_hba.conf
initdb
我对为什么启动脚本使用正确的数据目录/var
但从另一个位置获取它们的配置感到困惑/etc
。
这是我可以让服务器以正确的配置启动的唯一方法/var
,而且它非常罗嗦,所以我宁愿使用以下system
命令:
任何帮助将不胜感激,在此先感谢。
我在 Windows 10 上的 WSL2 上的 Ubuntu 上使用 PostgreSQL 10。这是我的安装详细信息:Linux 和 Ubuntu:
pg版本:
这是 pgconfig 的输出:
和 pg_lsclusters:
docker - 无法连接到 WSL2 上的 Landoop Docker 容器
我正在使用 WSL2在我的 Windows 10 Home 上使用 Docker运行 Landoop ( image ) 容器。我可以运行具有多个服务的 docker-compose.yaml 文件:
从那里,现在,我只运行到 connect-ui 服务,根据配置文件应该绑定在端口 8084 上。当我尝试访问其他服务时,例如 kafka 或 schema-registry 服务,我可以通过以下方式看到相应端口上的输出:localhost:<port>
但是,在这种情况下,当我尝试访问 localhost:8084 时,应该会打开 Landoop界面,我得到:ERR_CONNECTION_REFUSED
docker - WSL:无法在 WSL 2、Ubuntu 18.04 上安装 docker
我在这里和其他网站上搜索了很多相关的帖子,但没有解决我的问题。如标题中所述,我正在努力在窗口操作系统的 linux 子系统上安装 docker
我用的是 win 10 家庭版,所以我已经安装了 Docker 工具箱,我的 wsl 是 Ubuntu 18.04 的第 2 版
我按照说明进行操作,一切都很好,直到我这样做了:
~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key 添加 -
gpg:无法连接到代理:IPC 连接调用失败
有没有人遇到同样的困难但解决了这个问题?
先感谢您!
go - 使用 go get 从 WSL 2 上的私有 github 存储库中获取依赖项
我正在 Windows 10 上试用 WSL 2,到目前为止一切顺利,但我已经努力了 2 周来完成这项工作,因为由于某种原因go get
,它没有使用或无法使 Git Credentials Manager提示输入我的凭据。
我按照此博客使用 GCM 设置 WSL2 https://www.edwardthomson.com/blog/git_credential_manager_with_windows_subsystem_for_linux.html
它非常适合大多数日常任务,如克隆、读取和写入。但是在使用时go get
出现此错误。
已经尝试过 ssh-keys 和这里提出的解决方案go get results in 'terminal prompts disabled' error for github private repo
但是错误仍然存在,启用 env 时GIT_TERMINAL_PROMPT=1
没有任何反应,我想这是因为 WSL 2 没有这样做的权限。无论如何,我也尝试了这个工具https://github.com/microsoft/Git-Credential-Manager-for-Mac-and-Linux并通过为普通凭据存储设置一个变量,它会在终端中提示输入凭据。但我使用的是 2FA,因为它是组织要求的,并且提示只要求输入用户名和密码,因此身份验证失败。
所以我必须联系使用 Mac 的伙伴。他能够go get
依赖影响go.mod
、提交并推送更改,以便我可以拉取它并从那里继续。但当然这并不理想,他没有任何问题,他使用 osxkeychain 来管理他的 git 凭据。
有人遇到过这个问题吗?或知道如何解决?非常感谢你。
linux - 在 Windows 中练习 Bash 命令行的最佳方法?(Bash\Linux\Noob)
我正在学习数据科学的命令行基础知识,独立工作。我正在学习的书中有各种使用 Bash shell 的练习。它包括一组练习文件和每个章节的文件夹。我有一台 Windows 机器,装有最新版本的 Windows 10 Pro。我的问题是:
1.) 在我的机器上运行 bash shell 的最佳方式是什么?(我认为答案是 WSL2,但我不确定。)
2.) 哪种 Linux 发行版最好?(我认为答案是 Ubuntu,但我不确定。)
3.) 我可以将练习文件和文件夹放在我的 Windows 文件系统中的任何位置吗?(不知道。)
谢谢!
mongodb - 每当我启动本地服务器时,WSL2 ubuntu Mongod 都会不断更改端口
我按照这个链接在 ubuntu wsl 上设置了 mongodb,它有点工作 https://github.com/michaeltreat/Windows-Subsystem-For-Linux-Setup-Guide/blob/master/readmes/installs/MongoDB.md
但是,每当我使用命令sudo mongod --dbpath ~/data/db
它将在本地打开一个 Mongod 服务器并显示这个
然后,如果我使用 mongo 数据库启动应用程序,我会得到这个
我试图将它保持在同一个端口上,这样我就可以使用 mongodb compass 并将它转到我选择的某个数据库。像 RedditClone 或 todoApp 数据库。但是,如果我在该 IP 中键入它不存在,并且我可以从该数据库中看到任何内容的唯一方法是在 javascript 中使用 .find({}) 。请帮忙 :(
git - 为什么当我使用 WSL git 变基时所有提交的哈希值都发生了变化?
我有一个使用 Windows git 克隆的存储库,当我尝试使用WSL git重新设置存储库时,发生了一些奇怪的事情。
这是我的输入
当我使用 Windows git 变基时,从“初始提交”到“WIP 10”的提交保持不变,只有“WIP 11”的提交哈希发生了变化。但是,WSL git 更改了所有提交的哈希值。
如何避免 WSL git 更改其他提交的哈希?