Windows 10 中包含了一个 WSL (Windows Subsystem for Linux)子系统,我们可以在其中运行未经修改过的原生 Linux ELF 可执行文件。利用它我们可以做很多事情,对开发人员和普通用户都是如此。当然对开发人员的吸引力更大一些,因为这意味着在一些情况,不再需要使用 Linux 虚拟机、双系统、 Cygwin/MSYS2 了。
当前版本(14901.1000) Windows 10 中的 WSL 功能已经比较完善了,和刚出来时不可同日而语,也不再是一个没有实用价值的玩具了(最初的版本连 zsh 和 tmux 等最基本的工具都无法运行,基本没有可用性。但如果现在依然说 WSL 不可用,就有失偏颇了)。但对不想折腾的普通用户来说,用户体验并不好。比如中文显示有问题,不支持中文输入,只支持 16 种颜色,不能隐藏滚动条,不兼容某些命令的输出,不能定制主题和一些其他按键相关配置等。
用过 Cygwin/MSYS2 的朋友都清楚有个名叫 mintty 的终端模拟器,体积小巧配置简单,功能也够用,如果能直接用 mintty 作为 WSL 的终端模拟器,用户体验就好很多了。wsl-terminal 让这成为可能。
Wsl-Terminal 支持如下功能:
优秀的兼容性(中文显示/输入、 24 位颜色、命令输出等都正常了)。
体积小巧,压缩包仅 1.7 M 多,解压后不到 10 M 。
配置简单, mintty 可以直接在标题栏右键配置, wsl-terminal 的配置文件也很简单。
可以直接在资源管理器右键打开终端模拟器并定位到当前目录。
可以将 .sh/.py/.pl 脚本关联到用 wsl-terminal 运行。
可以将文本文件关联到用 wsl-terminal 里的 vim 运行。
支持 tmux ,可以在 tmux 里打开新目录,恢复已有的 tmux 会话等。
支持在 WSL 里直接运行 Windows 程序。
使用方法:
下载 7z 格式的发布包。
解压后,直接运行 open-wsl.exe 即可在当前目录打开(可以关联到快捷键)。
可以运行 `tools/add-open-wsl-here-menu.js` 在资源管理器右键菜单里添加一个 `Open WSL Here` 菜单(`tools/remove-open-wsl-here-menu.js` 删除菜单)。
可以修改 .sh/.py/.pl/.php 等各种脚本的打开方式为 run-wsl-file.exe ,双击就可以打开。如果需要看结果的话,记得脚本最后加个 sleep 或者 read 。
可以修改文本文件的打开方式为 vim.exe ,双击就可以用 WSL 里的 vim 打开编辑。
如果想做 WSL 里边运行 Windows 的软件,运行 outbash-daemon.js ,然后把 bin 里的 wrun 、wstart 、wcmd 复制到 /usr/local/bin (可以直接运行 install_cbwin.sh ),然后 wstart notepad 就可以打开记事本了。
如果需要使用 tmux,在编辑文件里启用 use_tmux 即可。
示例代码:
## Run with cmd /C ## $ wcmd ping 127.0.0.1 Pinging 127.0.0.1 with 32 bytes of data: Reply from 127.0.0.1: bytes=32 time<1ms TTL=128 ... $ wcmd example.bat ## Run with CreateProcess() ## $ wrun notepad example.txt ## Run with cmd /C start ## $ wstart example.txt ## Kill outbash.exe ## $ wrun taskkill /f /im outbash.exe
Windows 10 中包含了一个 WSL (Windows Subsystem for Linux)子系统,我们可以在其中运行未经修改过的原生 Linux ELF 可执行文件。利用它我们可以做很多事情,对开发人员和普通用户都是如此。当然对开发人员的吸引力更大一些,因为这意味着在一些情况,不再需要使用 Linux 虚拟机、双系统、 Cygwin/MSYS2 了。 当前版本(14901.1000)
最近一直在做毕设,按照网上的教程搭ssd-tensorflow,可是貌似到最后一步了,报错解决不了,网上也有人和我类似的错误,可是没有解答,学长说貌似是我训练出来的权重和网络不匹配,我网上百度了半天这个问题毫无头绪,那些专业术语又不懂,想要重新训练结果不知怎么了运行起来就死机了,从死机中恢复后发现终端不能用了,一点反应都没有,打也打不开,快捷键也没反应。 进入正题,终端打不开,网上有许多教程来解决
参考 WSL 官方文档:https://learn.microsoft.com/zh-cn/windows/wsl/ 什么是WSL? 适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。 您可以: 在 Microsoft Store 中选择你偏好的 GNU/Linux
使用virtualbox安装ubuntu 安装完后,打不开terminal。一直在转圈,转圈2秒后就消失了,打不开。 按住ctrl+alt+F7打开终端,输入root和密码。 输入gnome-terminal后提示 failed to parse arguments can not open display 解决办法: locale-gen localectl set-locale LANG=
REPL代表Read Eval Print Loop,它代表一个计算机环境,如Windows控制台或Unix/Linux shell,其中输入命令并且系统以交互模式响应输出。 Node.js或Node捆绑了REPL环境。 它执行以下任务 - Read - 读取用户的输入,将输入解析为JavaScript数据结构,并存储在内存中。 Eval - 采用并评估数据结构。 Print - 打印结果。 Lo
在Visual Studio代码中选择WSL作为默认终端后,我无法打开终端窗口。终端窗口打开,随机文本出现在屏幕上,然后终端关闭并显示一条错误消息:“终端进程终止,退出代码:4294967295”。 有人知道这是为什么吗?我看了一些vscode github问题帖子,但我似乎无法让任何东西发挥作用。 查看我的设置屏幕截图。json文件和下面发生的事情的gif:
我在Windows10上安装WSL2时遵循了以下说明:https://docs.microsoft.com/en-us/windows/wsl/install-win10,手动安装。 所有的命令为我工作,但是在最后,当我打开wsl终端并键入时,我有响应。 我安装了Ubuntu 20.04 LTS,当我打开Ubuntu终端时,kubectl在那里工作。 Powershell表示已正确安装: 如何使d
我在我的windows 10机器上安装了ubuntu,并且一直在使用vscode。我想使用wsl集成终端。如果我打开vscode,然后打开一个新的wsl终端,它会显示我的路径为: 如果我打开一个项目文件夹(不是工作区),然后一个新的终端,它显示为: 这不在我的项目文件夹位置-有没有办法让wsl集成终端将项目位置设置为当前工作目录? 如果我将Git bash用作我的终端,它可以做到这一点,如下所示:
我花了一整天的时间尝试了在堆栈溢出和数十个Google结果(简短摘要)的多个问题中找到的所有方法: 重新启动计算机 删除并重新创建AVD 将AVD图形更改为软件(既在AVD管理器中,也直接在文件中) 在SDK管理器中重新安装Emulator(所有可能的方式-更新、删除和重新安装,启动AVD时按需重新安装) 重新安装HAXM 重新安装Android studio 在SDK管理器中检查所有Androi
当我在目录中单击“在此处打开linux shell”时,它会打开默认的Microsoft Windows linux子系统启动器。 是否可以使Windows终端成为默认的WSL启动器?因此,当我单击“在这里打开linux shell”时,它会打开Windows终端(Ubuntu)。