微软对 Ubuntu Bash on Windows 进行了“巨大改进”,支持 Tmux
昨天,微软针对 Insiders 测试人群发布了 Windows 10 build 14361 更新版本,在这个版本中,微软带来了几个重要的改进,其中我们最关注的是对 Bash on Ubuntu on Windows 的“巨大改进”。
在这个版本中,极大地增强了 TTY/PTY 支持,换言之,现在 Tmux 这样的需要伪终端 (PTY)支持的应用可以工作了!此外,可以对 TTY 设备进行 chmod 和 chown 操作了。
Bash on Windows 中的 DrvFs 支持大小写敏感。在 /mnt/c 中你可以存储仅是大小写不同的多个文件,比如说 case.txt 和 CASE.TXT 就是两个不同的文件。不过,离开 Bash on Windows 环境,这两个文件虽然依旧存在,但是对它们的操作“也许会发生不可预料的错误”。这是因为 NTFS 虽然可以存储大小写不同的同名文件,但是大部分 Windows 下的应用并不能正确识别,它们会从中选择一个进行处理,具体可以参阅这篇文章。
此外,对于 DrvFs 还有一些改进,比如用户可以从 DrvFs 中删除和 chmod 只读文件,DrvFs 下会隐藏 %LOCALAPPDATA%\lxss 目录。
此外还有一些改变:
- 为了保持和 Linux 的习惯一致, 0.0.0.0 和 :: 可以用来指代 localhost 了。
- 修复了某些情况下断开终端连接时挂起的问题
- sendmsg/recvmsg 现在可以处理 IO 向量长度大于1的情况
- 关闭时 socket 会得到 epoll 可读的提示
- 用户可以脱离自动生成的 hosts 文件。
- 安装 Ubuntu on Windows 时,自动根据 NT locale 来设置 Linux 下的 locale 。
- lxrun /uninstall 在删除文件和文件夹时工作的更好
- 修复了当用户已经存在时的安装问题
- 为 df 命令实现了 /proc/mountinfo
- 增加了 /proc/sys/vm/swappiness
- 允许通过 /proc/self/fd 重新打开管道
- strace 可以正确工作了
- 更好的支持了“~”,比如现在支持 bash ~ -c ls
- 改进支持 X11 应用,比如 xEmacs
- 优化了命令参数结构,运行超长参数列表
- ps -f 工作正常
- 更新了初始线程堆栈大小以匹配 Ubuntu 的默认设置,并正确地报告该大小给 get_rlimit 系统调用
- 改进了 pico 进程镜像名称的输出
- 修复了子目录名 . 和 .. 的符号链接错误代码
- 等等……
如果你还不知道如何使用 Bash on Ubuntu on Windows,可以参阅我们之前的文章。
- [1]来自重庆的 Chrome 53.0|Windows 10 用户 发表于 2016-06-10 21:55 的评论:我要GNOME,我要kde,我要xfce,我要unity,我要dde
- 来自北京的 Chrome 51.0|Windows 10 用户 2016-06-15 12:38 4 赞 回复
- 你想用什么就用什么,微软有强制吗?
- hazdzz [Chrome 51.0|Mac 10.9] 2016-06-12 19:56 2 赞 回复
- Mac 大法好!
- [1]来自北京的 Firefox 47.0|Mac 10.11 用户 发表于 2016-06-10 23:21 的评论:有这时间,把你那那恶心的内核和那恶心的win32 API换掉吧
- 来自江西的 Chrome 50.0|Windows 10 用户 2016-06-12 13:04 3 赞 回复
- WinRT API 表示不服
- [1]来自北京的 Firefox 47.0|Mac 10.11 用户 发表于 2016-06-10 23:21 的评论:有这时间,把你那那恶心的内核和那恶心的win32 API换掉吧
- 来自四川成都的 Chrome 51.0|GNU/Linux 用户 2016-06-12 08:16 4 赞 回复
- 居然有两个支持。难道都换成苹果?
- Loki-A [Firefox 46.0|Windows 10] 2016-06-10 19:23 4 赞 回复
- 不是特别期待,但是如果做出来了,用用也无妨,至少某些简单的操作可以在 windows 下进行了,不用去切换系统,或者特地装个虚拟机。
- 来自北京的 Sina Weibo 6.6|Android 5.1 用户 2016-06-10 11:24 20 赞 回复
- Ubuntu火起来就想做个bash忽悠我们回去Windows,没用的,我再也不会回去使用Windows了