Questions tagged «windows-subsystem-for-linux»

适用于Linux的Windows子系统(WSL)是一个兼容层,允许Linux ELF64二进制文件在Windows 10上本地运行

3
Windows上的Ubuntu上的BASH(适用于Windows的AKA Linux子系统)10-如何设置PATH?
感谢Anniversary Update,现在我可以在Windows 10的Ubuntu上使用BASH了。以前,我使用Cygwin,并在Cygwin中设置了Maven(并使它完全工作),主要包括安装Maven,然后修改PATH环境。变量(在中~/.bashrc) 好吧,我正在尝试使用BUW做同样的事情,但是据我所知,PATH变量被忽略了(将Maven bin目录添加到PATH,然后执行which mvn返回空白)。我是否缺少技巧,还是必须PATH在BUW中进行其他设置? 编辑: 让我具体一点。我需要在“ ???”中做什么 步骤获取pathTestScript.sh到路径上? mkdir -p ~/pathTest touch ~/pathTest/pathTestScript.sh echo '#!/bin/sh' >> ~/pathTest/pathTestScript.sh echo 'echo "it works!"' >> ~/pathTest/pathTestScript.sh bash ~/pathTest/pathTestScript.sh # Should output 'it works!' # ????????? pathTestScript.sh # Should output it works!' 编辑2: 我想明确我的最终目标。我通常在系统上安装了JDK和Apache Maven。我在Cygwin上都运行得很好。既然BUW已经发布,我想在那里使用它们,但是我不知道如何为它们设置环境,因为我对PATH所做的任何更改似乎都没有效果。 编辑3: 好的,现在我担心我在追赶野鹅。如果这样做echo $PATH,我得到/mnt/c/Program\ Files/apache-maven-3.3.9/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games 这就是我的期望。那就是我放入~/.bashrc文件的内容...然后ls /mnt/c/Program\ Files/apache-maven-3.3.9/bin我得到了 …

1
如何在WSL中更改默认用户名?
许多网站都说我应该使用lxrun /setdefaultuser,但是这个命令已被弃用: C:\ WINDOWS \ system32> lxrun / setdefaultuser foo 警告:lyrun.exe仅用于配置旧版Windows子系统以进行Linux发行。 如何更改我的默认用户名root。我希望它与我在Windows帐户中使用的用户名相同。 顺便说一句,我使用mintty来运行WSL: %LOCALAPPDATA%\wsltty\bin\mintty.exe --WSL= -h err --configdir="%APPDATA%\wsltty" -~

0
如何使用Windows WSL配置路由?这可能吗?
根据sysctl,我注意到IP转发似乎已在WSL(Windows 10pro 1709)中启用。我希望可以用它在WSL上制作一个软件路由器,以便在同一物理主机上处理Hyper-V VM流量。VM和主机可以通过共享的/ 24 ipv4子网进行通信。 理想情况下,我想使用WSL来配置类似iptables的规则,或者使用RAW套接字使用某种软件路由器程序来重写流量。 # on the WSL bash $ sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1 我的Windows主机和VM都在192.168.4.X中。主机是192.168.4.215。192.168.4.228是VM。 我在Windows防火墙中添加了一条规则,以允许该子网上的每个传入TCP端口,并通过传输WSL主机提供的网页和VM下载的网页来测试连接性。(例如,python -m SimpleHTTPServer在wsl中运行并 curl http://192.168.2.215在vm上使用) 我已将Windows主机添加为VM内的默认网关: # route add default gw 192.168.4.215 # route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.4.215 0.0.0.0 UG …

2
无法在Windows上的Ubuntu中安装linux-libc-dev
我正在尝试使用Windows子系统Linux(ubuntu)中的apt-get安装linux-libc-dev,但是我收到一个错误,我似乎无法解决它: dpkg: error processing archive /var/cache/apt/archives/linux-libc-dev_3.13.0-126.175_amd64.deb (--unpack): unable to install new version of `/usr/include/linux/netfilter/xt_DSCP.h': File exists Errors were encountered while processing: /var/cache/apt/archives/linux-libc-dev_3.13.0-126.175_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 但是当我在/ usr / include /中列出文件时,linux目录甚至都不存在。 可能是什么导致了这个?当目录没有时,文件如何存在? 谢谢。


1
在WSL中设置Heroku CLI
尝试设置Heroku CLI以使用WSL。 首先按照Ubuntu 16+的说明进行操作: https://devcenter.heroku.com/articles/heroku-cli sudo snap install --classic heroku 产生以下错误: 错误:无法与服务器通信:发布http:// localhost / v2 / snaps / heroku:拨打unix /run/snapd.socket:connect:没有这样的文件或目录 用Google搜索错误并遇到了这个帖子: https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1631514 我试过systemctl status snapd.service,其中只说了以下内容: 系统尚未使用systemd作为init系统启动(PID 1)。无法操作。 重新启动WSL和计算机和同样的问题。 想到也许snapd没有安装,因为打字snap或snapd说Command '____' not found, did you mean:...。但试图sudo apt-get install snapd说它已经是最新版本了。

2
为什么Windows上的Ubuntu在启动时崩溃?
我正在为PC运行Windows 10 Insider Preview Build 17074。Windows子系统Linux已启用,我已经从Windows应用商店在Windows上安装了Ubuntu。 每当我尝试启动Ubuntu时,它都会失败,并显示以下错误消息: “传递给系统调用的数据区域太小了。” 我已经尝试卸载/安装应用程序(通过应用程序和功能)和禁用/启用Linux子系统(通过打开或关闭Windows功能),但仍然得到相同的错误。 我该如何解决这个问题?

1
在Windows 10的Ubuntu 10上的Bash上安装git和Bash的git bash已安装?
我已经在Windows 10上使用git bash shell已有一段时间了,但是我只是在Windows上为Ubuntu安装了WSL / Bash。BUW有一个与我的Windows文件分开的完整文件系统,还有它自己的软件包。 那么问题来了:如果我在BUW上安装git(使用apt-get install git),是多余的(所以我应该坚持使用已经拥有并知道的git bash shell),还是在某种程度上BUW版本更好(我应该卸载git?如我现在所拥有的)?如果同时安装两者,它们会冲突吗?(请记住,我在Windows文件上使用git-老实说,完全不确定如果卸载git bash还是可以的。)

1
启用Windows Linux子系统错误
在Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux以管理员身份运行的powershell中运行命令时,过一会儿出现以下错误 Enable-WindowsOptionalFeature : The referenced assembly could not be found. At line:1 char:1 + Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows- ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Enable-WindowsOptionalFeature], COMException + FullyQualifiedErrorId : Microsoft.Dism.Commands.EnableWindowsOptionalFeatureCommand

1
即使Windows显示WSL已启用,Windows上的Ubuntu也显示未启用WSL
启动Ubuntu时,出现以下错误: The WSL optional component is not enabled. Please enable it and try again. See https://aka.ms/wslinstall for details. Error: 0x8007007e Press any key to continue... 但是,当我使用来检查PowerShell中的功能时Get-WindowsOptionalFeature -Online,会看到以下内容: FeatureName : Microsoft-Windows-Subsystem-Linux State : Enabled 不胜感激。

0
Windows上的bash中没有设置Java路径
我在Windows子系统上使用Linux,当我尝试运行代码时,我得到了Unsupported major.minor版本52.0。我意识到这是由于java版本不兼容。 所以我按如下方式设置JAVA_HOME和PATH: export JAVA_HOME=/usr/java/jdk1.8.0_101/bin/java export PATH=$PATH:/usr/java/jdk1.8.0_101/bin 但是当我检查java版本时: java -version 我明白了 javac 1.7.0_121 如何将java路径设置为最新的java版本(1.8)? 谢谢你的帮助!


3
Windows上的Bash:mv命令 - 无法移动到自身的子目录
我正在尝试从Windows Linux子系统上的源安装Ruby。我已经从我的主目录中的源代码成功构建了:~/ruby/ruby-2.3.0我正在尝试将其移动到/opt/rubies/。 当我运行move命令时,我收到以下错误: /# mv ~/ruby/ruby-2.3.0/ /opt/rubies/ mv: cannot move ‘/root/ruby/ruby-2.3.0/’ to a subdirectory of itself, ‘/opt/rubies/ruby-2.3.0’ 这是非常令人困惑的,因为我正在将目录移动到一个完全不同的位置,而不是路径本身所显示的本身的子目录。 它对我的主目录下的任何移动命令都做同样的事情: ~# mv test/ / mv: cannot move ‘test/’ to a subdirectory of itself, ‘/test’ 我似乎无法复制任何文件: ~# cp ruby/ruby-2.3.0/ /opt/rubies/ruby-2.3.0 cp: omitting directory ‘ruby/ruby-2.3.0/’ 难道我做错了什么?

0
用于Linux的Windows子系统交换空间太大,Windows 10
我注意到我的磁盘空间大大缩小了。所以我在windows上检查了我的bash,运行free -h命令: total used free shared buff/cache available Mem: 7.9G 4.3G 3.4G 17M 230M 3.5G Swap: 24G 12M 23G 交换空间巨大,显然不必要地巨大。 我已经尝试过各种方法,包括swapon / off,但它们都不起作用。事实上,这里似乎不支持swapon / off。 谁能建议如何解决这个问题?

1
可以隐藏终结者但不能再显示它吗?
我写了一个简短的脚本开始vcxsrv然后运行bash -c -l "DISPLAY=:0 terminator",片刻之后终端启动,但是当我切换hide_window热键时terminator(我已经定制它使用ctrl+ `,但默认也不起作用)它会隐藏终端,但相同的组合键不会显示终端,除非屏幕上的x11应用程序处于活动状态。 有没有办法送ctrl+ `以vcxsrv显示我的终端?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.