V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
qwerthhusn
V2EX  ›  程序员

是 WSL2 还是 Cygwin?

  •  
  •   qwerthhusn · 2020-05-25 16:37:16 +08:00 · 7482 次点击
    这是一个创建于 1676 天前的主题,其中的信息可能已经有所发展或是发生改变。

    众所周知,2004 要来了

    作为一名 Java 后台码畜

    我目前在用 Cygwin,常用的 Linux 命令都有,而且还可以安装一些额外的软件,像 mysql-client 这些。 用了 Cygwin 的 chere,任意目录右击都有菜单弹出一个 shell 窗口并自动 cd 到当前目录 ( Cygwin 的 Git 在 VSCode 不能用,只能用 Git for Windows )

    Docker 就用的 D4W,不重度使用,都是跑一些第三方软件什么的,暂未遇到什么 BUG (很早之前出现经常端口被占用的问题也没出现过了)

    这样的话,还有必要用 WSL2 么?不知道撸个 Linux 系统做什么用,Cygwin 都是直接操作本地文件系统,WSL 里面还能操作本地文件,或者本地 CD 盘作为一个虚拟的盘被挂载到 Linux 下 但是看很多人很期待所谓 WSL2,难道还有啥非常好用的我不知道的功能?

    31 条回复    2020-05-26 21:23:48 +08:00
    guyeu
        1
    guyeu  
       2020-05-25 16:45:31 +08:00
    Cygwin 是一个兼容环境。。wsl 是一个完整的操作系统。。
    Cygwin 能做到的 wsl 都能做到,反之不一定。。

    个人比较期待的是微软计划提供的 wsl 的图形化支持。。
    skt041959
        2
    skt041959  
       2020-05-25 17:23:15 +08:00
    WSL2 直接运行发行版编译的二进制包,直接以 Linux 的系统调用工作,很多时候可以避免 Cygwin 上环境相关的未知的 bug 。很多的软件未必对 Cygwin 有官方的支持
    iamwho
        3
    iamwho  
       2020-05-25 17:29:09 +08:00 via iPhone
    vagrant
    ghostwwg
        4
    ghostwwg  
       2020-05-25 18:19:23 +08:00
    @guyeu 期待微软发布 Linux 发行版~
    wipbssl
        5
    wipbssl  
       2020-05-25 18:40:33 +08:00
    Latin
        6
    Latin  
       2020-05-25 18:49:13 +08:00
    都用
    hantsy
        7
    hantsy  
       2020-05-25 18:57:13 +08:00
    wsl 是 Hyper V 一个虚拟机, 挂到 Windows 下,WSL2 已经集成到 Explorer 中可以直接打开。
    slanternsw
        8
    slanternsw  
       2020-05-25 20:42:03 +08:00
    既然已经在用 Docker for Windows 了,那反正也在跑虚拟机了,只不过换一个而已
    yujiff
        9
    yujiff  
       2020-05-25 20:48:47 +08:00   ❤️ 1
    Windows 是最好用的 Linux 桌面发行版!
    ScotGu
        10
    ScotGu  
       2020-05-25 21:06:37 +08:00
    如果我在 wsl 下 rm —rf / 会不会危机到我硬盘的其他数据? 因为我看模式是把 CDE 盘挂载在 /mnt 里了。
    dandycheung
        11
    dandycheung  
       2020-05-25 21:27:45 +08:00 via iPhone
    @guyeu WSL1 也可以支持 GUI,只是中文输入上比较不方便。
    zjsxwc
        12
    zjsxwc  
       2020-05-25 22:05:32 +08:00 via Android
    我一直用 linux 和 macos 的,10 年没有 windows,
    搭楼问个问题,

    wsl 现在可以`ln -s`创建和使用 linux 软链接了吗,我 linux 下 git 提交的相对路径软链接能在 wsl 里使用吗?
    h503mc
        13
    h503mc  
       2020-05-25 22:10:50 +08:00
    @ScotGu 会的
    Jirajine
        14
    Jirajine  
       2020-05-25 22:17:46 +08:00 via Android
    msys2 配合 cmder 也不错。
    dorothyREN
        15
    dorothyREN  
       2020-05-25 22:21:49 +08:00
    @h503mc #13 windows 不允许删除系统文件,那么在 wsl 里面能 rm -rf /* 吗?
    nightwitch
        16
    nightwitch  
       2020-05-25 22:48:32 +08:00
    wsl2 还没正式发布吧? 我记得要用的话要加入 insider 计划. 如果现在还是的话那和 Cygwin 没什么可比性, 不可能拿自己的生产机器来搞 insider 这种不稳定版本的
    wangkun025
        17
    wangkun025  
       2020-05-25 22:53:39 +08:00
    昨天试过了。
    WSL 确实还行。用 Microsoft Terminal,感觉很舒服🤦‍♀️
    dvaknheo
        18
    dvaknheo  
       2020-05-25 23:15:34 +08:00
    wsl1 的 io 性能,可以把一些框架拉下马。
    mitu9527
        19
    mitu9527  
       2020-05-25 23:19:01 +08:00
    vagrant
    Liberal0
        20
    Liberal0  
       2020-05-25 23:38:57 +08:00 via Android
    @nightwitch 已发布正式版
    slanternsw
        21
    slanternsw  
       2020-05-26 00:45:23 +08:00
    @nightwitch 过几天正式推送 2004 了就有了
    jinliming2
        22
    jinliming2  
       2020-05-26 00:52:14 +08:00 via iPhone
    @zjsxwc WSL 下软连接是没有问题的,但仅限于受 WSL 管理的目录,挂载的 windows 的 CDEFG 盘是不行的。
    Windows 下的 CDEFG 盘在 NTFS 下是可以创建 Windows 版的软链接的,用的是 cmd 的 mklink 命令。貌似新版的 git for windows 客户端已经支持了(没验证)。
    ScotGu
        23
    ScotGu  
       2020-05-26 01:00:54 +08:00
    @h503mc #13 幸亏我把 wsl 删了,要不保不齐脑子一热……

    @dorothyREN #15 /mnt 挂载的磁盘可不都是系统文件呀。
    leewi9coder
        24
    leewi9coder  
       2020-05-26 01:46:04 +08:00 via iPhone
    vagrant 不过貌似 wsl 要支持直接 GPU 了
    guyeu
        25
    guyeu  
       2020-05-26 10:19:39 +08:00
    @dandycheung #11 不是说 xserver 这样的支持。。今年年底可能就能看到 Windows 上出现 XTerm 的窗口。。
    dandycheung
        26
    dandycheung  
       2020-05-26 12:49:16 +08:00 via iPhone
    @guyeu 没太懂你的意思,我偶尔启动 WSL 的 Ubuntu 里的 gHex 或者 gedit,算吗?
    wizardoz
        27
    wizardoz  
       2020-05-26 13:09:37 +08:00
    @guyeu cygwin 可以编译应用程序运行在没有 cygwin 的系统上
    guyeu
        28
    guyeu  
       2020-05-26 14:21:27 +08:00
    @dandycheung #26
    现在想在 Windows 上运行 Linux GUI 程序,只能 x11 转发。。以后就可以像原生应用一样了。
    dandycheung
        29
    dandycheung  
       2020-05-26 19:57:35 +08:00 via iPhone
    @guyeu 是。不过在宿主 Windows 里起一个 X server,好歹是同一台物理机,用起来也还成。
    guyeu
        30
    guyeu  
       2020-05-26 21:22:47 +08:00
    @wizardoz #27 如果真的是这样的话。。那 Linux 软件分发 Windows 版本就没有门槛了
    guyeu
        31
    guyeu  
       2020-05-26 21:23:48 +08:00
    @dandycheung #29 轻度使用还行。。一方面是么得办法利用 GPU 性能,另一方面是用起来太麻烦了。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5752 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:53 · PVG 10:53 · LAX 18:53 · JFK 21:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.