V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
aimiyooo
V2EX  ›  Linux

win10 的 wsl,作为日常 Linux 开发环境是否可行

  •  
  •   aimiyooo · 2018-11-24 10:41:06 +08:00 · 33914 次点击
    这是一个创建于 2195 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前一直用 openSUSE42.2,后来在线升级的时候崩了(没事千万不要在线升级呀)。。。后来装了 manjaro kde,可是使用过程中发现系统是很好看,但是总是会有这样那样的问题,比如图标消失,软件打开闪退等等,让我一度又想装回 openSUSE15。
    最近发现 win10 新版本有一些 wsl ( Windows Subsystem for Linux ),如 Ubuntu,openSUSE,Kali,Fedora,不知道有没有用过的同学,用 wsl 作为日常 linux 开发环境怎么样,图形化界面是否支持

    第 1 条附言  ·  2018-11-24 15:46:04 +08:00
    谢谢各位大佬(抱拳),我已经准备回归 openSUSE 15,老老实实在 openSUSE 上装虚拟机了(因为工作中需要用到企业微信这些东西),看来 wsl 还有很长的路要走
    75 条回复    2019-11-08 17:00:37 +08:00
    JackieMe
        1
    JackieMe  
       2018-11-24 10:47:42 +08:00 via Android
    想安心开发,装个 Debian stable 绝对能满足你。WSL 图形界面好像现在是可以用软件实现,但是效果不如原生界面。或者你硬件资源够的话,虚拟机呗。
    zjsxwc
        2
    zjsxwc  
       2018-11-24 10:48:55 +08:00
    试过才知道
    mengyaoss77
        3
    mengyaoss77  
       2018-11-24 10:50:20 +08:00   ❤️ 1
    看看楼下怎么说, 反正我是只用 ubuntu.. 觉得挺好用的.
    nutting
        4
    nutting  
       2018-11-24 10:52:04 +08:00
    可以,图形需要 x11 转发实现,能跑起来 vscode 但是中文输入没法搞。
    ech0x
        5
    ech0x  
       2018-11-24 10:52:33 +08:00
    docker 好象有很大的坑
    zooey2021
        6
    zooey2021  
       2018-11-24 10:52:52 +08:00
    推荐下 manjaro cinnamon,用了一段时间,和 mint cinnamon 一样稳定流畅。
    forgetandnew
        7
    forgetandnew  
       2018-11-24 10:58:24 +08:00 via iPhone
    写写 Python 还是可以的,搭配 sublime text3,没用过图形界面。
    lsmgeb89
        8
    lsmgeb89  
       2018-11-24 11:05:12 +08:00
    直接双系统 ubuntu or debian,别整哪些没用的
    jiangnanyanyu
        9
    jiangnanyanyu  
       2018-11-24 11:06:31 +08:00 via Android
    直接虚拟机,要啥 gui
    sant3
        10
    sant3  
       2018-11-24 11:07:06 +08:00
    @nutting 微软应用商店里收费的 WLinux 貌似支持中文日文输入法,可看说明。图形界面有 x410 在大打折
    remon
        11
    remon  
       2018-11-24 11:12:41 +08:00 via Android
    跑跑 node,Python,go 除了 IO 性能垃圾,其他还好
    OhYee
        12
    OhYee  
       2018-11-24 11:22:44 +08:00 via Android
    图形化感觉不是那么完美。(用的 github 上的 arch linux。
    开发的话,大问题没有,小问题不少。主要是 vscode 支持不够完美,相关 issue 都攒了好多建议和反馈,就是不更新。

    如果 vscode 来一个 wsl 的大更,我觉得能救。
    shalk
        13
    shalk  
       2018-11-24 11:25:22 +08:00 via iPhone
    虽然 wsl 走向成熟,有一点点小坑,umask 有坑,systemd 用不了,内部服务要自己手动起。docker 就不用想了,kubectl 可以用。

    图形化我没起过,我看一篇文章介绍是可以的。跑 jdk python golang bash 都没问题。

    如果只是想在 win 上起一个 linux 命令行,wsl 是不错的选择,
    如果想深入用一下,建议虚拟机或者替换掉 win,开发 ubuntu 就够了。
    kernel
        14
    kernel  
       2018-11-24 11:30:57 +08:00 via Android
    何不用 gnome,稳定漂亮
    scofieldpeng
        15
    scofieldpeng  
       2018-11-24 11:33:59 +08:00
    正好这几天因为买了个 win10 的小玩具,然后作为外出时的写代码工具,因为 linux 的驱动有点问题于是用着 win10,开了 wsl 和 docker,来说下我的体验:

    1. 我主要是写 golang,为了能够使用 goland,于是装了 windows 版本的 go,但是我又想用 Linux 的 go,于是我在 wsl 上也装了 go,两者还算好,wsl 上 gopath 设置和宿主机的 gopa 在 th 设置成一致,这样 go mod 的时候能用同一套
    2. docker 的解决方案是这样的,没有直接在 wsl 上安装 docker,而是用 docker in windows,然后开启 2375 端口,wsl 上通过 docker-client 来管理 docker
    3. git 我本来不想在 windows 上装的,只在 wsl 上装个 git 就好了,但是想到能让 IDE 方便识别以及 merge tool 的使用,于是也是 windows 上和 msl 都装了一套

    其他的基本都还好,遇到的几个坑有:

    1. docker 装了后 wsl 刚启动的时候会遇到没安装 wsl 的锅,等一下就好了
    2. docker 暴露端口会启动失败,原因不明,最后重启 docker 解决

    总结:使用体验基本和我在 osx 和 Linux 上开发没有过多区别,这是我第一次在 windows 上开发,觉得也不是那么难用,希望对你有帮助:-)
    STRRL
        16
    STRRL  
       2018-11-24 11:34:53 +08:00 via Android
    不可行 与直接用 Linux 差距太太太大
    scofieldpeng
        17
    scofieldpeng  
       2018-11-24 11:37:01 +08:00
    接楼上,我没折腾 wsl 的图形化,毕竟用了那么多年的 Linux,Linux 的好是终端和完善的开发工具,而不是 Linux 那丑爆了的 UI,如果要折腾 Linux 的图形界面为什么不装个虚拟机呢?
    Keyes
        18
    Keyes  
       2018-11-24 11:41:35 +08:00 via iPhone
    用了半年的 wsl 来做 go 开发最后还是放弃了,bin 加载速度太慢,表现在你运行一个 go run main.go 会等半天能运行起来
    xxgirl2
        19
    xxgirl2  
       2018-11-24 11:45:55 +08:00
    给你个提示:`/dev`,`/proc`。现在 ubuntu lts 都改 10 年了,随便装个虚拟机少折腾为好。
    photon006
        20
    photon006  
       2018-11-24 11:53:50 +08:00
    有坑,如果 win10 安装了腾讯 TGP,wsl 里面 node.js 监听的 web 端口在外部无法访问,浏览器打不开,卸载 TGP 恢复。

    另外 WSL 还不能用 NVIDIA 显卡,无驱动,machine learning 这条路走不通。
    ClutchBear
        21
    ClutchBear  
       2018-11-24 11:55:05 +08:00   ❤️ 1
    vagrant 随便找个镜像就是了
    比 wsl 还方便
    richard1122
        22
    richard1122  
       2018-11-24 11:58:59 +08:00
    一直用 manjaro gnome,还不错。
    有时候用 i3
    MonoLogueChi
        23
    MonoLogueChi  
       2018-11-24 12:02:40 +08:00 via Android
    不建议,有点坑
    VDimos
        24
    VDimos  
       2018-11-24 12:05:30 +08:00 via Android
    不建议,不怎么滴,我用来开发小程序,安装 js 依赖,能卡很久
    wisdom
        25
    wisdom  
       2018-11-24 12:09:36 +08:00
    已经用 debian 做主力开发机三个月啦,说实话比 win 要稳,要说缺点就是图形化支持一般,当然开发够用啦。
    StanMarsh
        26
    StanMarsh  
       2018-11-24 12:18:10 +08:00
    WSL 目前( 2018 年 11 月 24 日)没有对 CUDA 的支持。
    expy
        27
    expy  
       2018-11-24 12:29:49 +08:00
    不用图形、硬件、systemd 相关是没问题的。
    mattx
        28
    mattx  
       2018-11-24 13:24:30 +08:00
    轻度使用可以吧, 比如代替 git for windows, 平常跑跑 shell , 跑点程序, gui 就省了.
    ww23
        29
    ww23  
       2018-11-24 13:31:28 +08:00
    一直在用风滚草,滚坏了就回滚。
    jedihy
        30
    jedihy  
       2018-11-24 13:41:34 +08:00 via iPhone
    日常开发是指什么
    passerbytiny
        31
    passerbytiny  
       2018-11-24 13:41:56 +08:00
    因为没有 yum,apt-get 纯命令行又用着不爽,所以还是 hyper-v 加 centos
    neutrino
        32
    neutrino  
       2018-11-24 13:57:31 +08:00
    wsl 解决了虚拟机在 shared folder 中 npm i 的深坑,可以用的。要不然只能把虚拟机里的目录 sambashare 出来也不方便
    zhouyut001
        33
    zhouyut001  
       2018-11-24 14:06:28 +08:00
    WSL 好多 LINUX 底層無法使用,連最基本的 iptables 都無法用,局限性很大,畢竟基於 win10 內核
    hujianxin
        34
    hujianxin  
       2018-11-24 14:11:44 +08:00
    试过,bug 多,差距大
    Akkuman
        35
    Akkuman  
       2018-11-24 14:13:22 +08:00 via Android
    io 感觉很慢
    auroraccc
        36
    auroraccc  
       2018-11-24 15:34:57 +08:00
    有坑,从 wsl 到虚拟机的路过
    zzzdtz
        37
    zzzdtz  
       2018-11-24 18:19:22 +08:00 via Android
    已经在使用 wsl 作为开发环境安装了 php caddy mysql postgres python node,目前正常使用,唯一的遗憾,没有单独的备份恢复,依赖自带的 c 盘备份
    zzzdtz
        38
    zzzdtz  
       2018-11-24 18:20:34 +08:00 via Android
    @Akkuman io 确实没有 docker for windows 快,感觉主要是安全中心的问题
    newmind
        39
    newmind  
       2018-11-24 18:25:57 +08:00 via Android
    虚拟机,环境比较独立,不牵扯 windows 的东西
    bukip
        40
    bukip  
       2018-11-24 18:26:31 +08:00
    这就跟你用钳子一样可以钉个钉子,但你要是随时有大量的钉子要钉,你最好是找把榔头。
    zllfdd
        41
    zllfdd  
       2018-11-24 19:31:29 +08:00 via Android
    以前双系统,现在虚拟机
    exiahan
        42
    exiahan  
       2018-11-24 19:47:11 +08:00 via Android
    第三方的 wsl terminal 模拟器我没用过,不过自带的交互很麻烦,具体表现比如
    1.Linux 上的一些按键习惯是带不过来的,比如 Ctrl AEFB,Ctrl shift CV 啥的,可能配置配置可以,不过不能开箱用还是有点蛋疼。。
    2.console 刷新好像也会有问题,
    3.如果不及时更新有时候会出现不能进入 console 环境的问题(这个如果 cmd 手输 bash 倒是没啥问题)
    其他的我就不知道了,就我个人来说我感觉这玩意应急可以,日常工作使用有待商榷。
    laogui
        43
    laogui  
       2018-11-24 20:07:46 +08:00 via Android   ❤️ 1
    怎么上面都不推荐呢,我用了两年多,越用越爽,因为 wsl,抛弃了 mac,主要用 node,npm 和 php,除了没 gui,对我来说和虚拟机没什么区别,关键是节省内存,一秒启动,搭配 wsltty,再加上 tmux,命令行用起来不输 mac。
    xzc19970719
        44
    xzc19970719  
       2018-11-24 20:08:40 +08:00 via Android
    @auroraccc 怎么说
    mmdsun
        45
    mmdsun  
       2018-11-24 20:16:31 +08:00 via Android
    跑 tomcat 和 zookeeper 没有问题。就 iO 不行
    orannge
        46
    orannge  
       2018-11-24 20:33:10 +08:00
    不用 docker 这些,不用 GUI,轻度使用很方便。
    ronman
        47
    ronman  
       2018-11-24 20:34:08 +08:00 via Android
    @ech0x 对,我好像也遇到了
    liuxey
        48
    liuxey  
       2018-11-24 21:28:22 +08:00
    我已经遇到过多次启动 0x 错误,尴尬,可靠性担忧!
    Docker 是真没办法,只能用 win 版的,然而!
    GUI 虽然通过 X server 能解决,但是仍然有各种很恶心的问题!

    综上所述,bash 只能代替部分非常简单的工作,想作为日常开发环境和 win10 差了 N 个**!
    diggerdu
        49
    diggerdu  
       2018-11-24 21:29:55 +08:00 via iPhone
    @scofieldpeng 请问是什么玩具适合外出写代码
    cdwyd
        50
    cdwyd  
       2018-11-24 21:33:11 +08:00 via Android
    已经很好用了,我主要是用来配置各种开发环境,除了不能开机自启动相关服务外其他的基本没遇到问题。
    Admstor
        51
    Admstor  
       2018-11-25 00:52:41 +08:00
    如今开个虚拟机也就多一点内存占用罢了。。。
    何况这个本身也占用很多内存,何必呢。。。

    mac 下我也是建议上虚拟机跑
    这样尽可能同步线上配置
    yujincheng08
        52
    yujincheng08  
       2018-11-25 01:01:36 +08:00 via Android
    不建议,不知道是不是 ntfs 的问题,很慢。此外我也要用企业微信,所以选择了 derpin😂
    flynaj
        53
    flynaj  
       2018-11-25 01:34:42 +08:00 via Android
    看做什么开发,如果依赖 Linux 特性还是不要。
    aliao0019
        54
    aliao0019  
       2018-11-25 02:26:39 +08:00 via iPhone
    Docker 跑在 win 上,用 WSL 里的 docker client 连过去。
    图形界面是为啥要用呢?
    毕竟外面已经是个 Windows 了啊
    kran
        55
    kran  
       2018-11-25 02:35:09 +08:00 via Android
    日常很方便的。但如果用 docker 就尴尬了,他开个 hyperv,倒不如直接 vbox 了。图形界面就别尝试了。win 的桌面好一万倍。
    嗯,今天折腾了一下,切到 vbox+fedora,就因为 docker,可惜 docker 的仓库没跟上,不支持 fedora29。先用老版本几天。
    aa6563679
        56
    aa6563679  
       2018-11-25 03:06:22 +08:00 via iPhone
    不可用 docker,io 性能极差
    wtdd
        57
    wtdd  
       2018-11-25 05:27:59 +08:00
    小问题很多的,开发就算了吧,运维可能还凑合
    killerv
        58
    killerv  
       2018-11-25 06:36:23 +08:00
    玩玩还行,开发的话直接上 docker (但是感觉 win 上的 docker IO 好像很差劲),要 gui 没啥用
    blackwolf
        59
    blackwolf  
       2018-11-25 07:50:17 +08:00
    其实我觉得 WSL 作为 win10 的自动化运维工具还是挺好使的,比如一键上传,一键同步之类的。。。
    yurun
        60
    yurun  
       2018-11-25 08:46:46 +08:00
    完全可以,我现在就用 wsl 来跑 swoole 日常开发
    heiher
        61
    heiher  
       2018-11-25 10:16:35 +08:00 via Android
    经常起不来,然后重启 Windows 绕过。
    ZSeptember
        62
    ZSeptember  
       2018-11-25 10:51:25 +08:00
    不太行。
    只能打开一个终端,IO 性能很差。
    salamanderMH
        63
    salamanderMH  
       2018-11-25 11:17:24 +08:00
    编译很慢
    scofieldpeng
        64
    scofieldpeng  
       2018-11-25 11:26:35 +08:00
    @diggerdu #48 7 寸的笔记本,可以搜壹号本 2 代,刚出来的,到手几天,非常满意,8G 的内存,8 代的 8100y 的 cpu,256g PCIe 的 SSD,完全不输普通的笔记本,另外,强烈不推荐 GPD POCKET2,性能太渣不说,公司的 CEO 人品太差,公关也是我有生以来见过最垃圾的
    shylockhg
        65
    shylockhg  
       2018-11-25 15:39:17 +08:00
    archlinux 至今还没出问题。。
    lestat
        66
    lestat  
       2018-11-25 17:39:39 +08:00 via Android
    manjaro 的时代已经来临
    tmly200
        67
    tmly200  
       2018-11-25 19:23:39 +08:00 via Android
    前端跑 node 足够用了,uwp 的 fluent terminal 不要太好用
    R4mble
        68
    R4mble  
       2018-11-25 22:06:49 +08:00
    我今天试了,要粘贴东西到那个里面的 vim 时候,总是粘贴不对,搞得我很烦
    Death
        69
    Death  
       2018-11-25 23:58:47 +08:00 via Android
    我用 wsl 蓝屏过……所以感觉印象一般
    zw1027
        70
    zw1027  
       2018-11-26 08:36:44 +08:00
    为什么那么多人说难用

    只用来谢谢 py/shell,写个 web 还是很舒服的,ngx/mysql/redis 都正常跑,win 上也可以直接访问

    图形没用过,但是 vscode 的终端或 cmder 连上都很舒服呀
    KickAssTonight
        71
    KickAssTonight  
       2018-11-26 10:17:39 +08:00
    docker 不好用感觉是跟 win10 有关而不是 wsl
    YumeMichi
        72
    YumeMichi  
       2018-12-04 16:46:52 +08:00
    还是别想了 就一条无法支持 Linux 的文件系统就可以打死了
    tabris17
        73
    tabris17  
       2018-12-24 15:38:34 +08:00
    图形界面用这个据说效果不错: https://token2shell.com/x410/

    不过收费
    Rimifon
        74
    Rimifon  
       2019-05-22 08:57:32 +08:00
    我就是安装了 openSUSE 子系统,挺好的,安装 xrdp + icewm + vscode,然后 远程桌面进去做开发,效果比 XMing 要好多了。
    现在服务器也是 centos 拉个 opensuse 镜像做 web 服务,然后安装 xrdp 进去做维护。
    wsl 各版本中,图形支持最好的就是 openSUSE 42.2 版本了,openSUSE 15 的支持都不太好,需要修改一些错误的配置参数,而且 42 支持的一些功能在 15 里面会出问题。
    wendzhue
        75
    wendzhue  
       2019-11-08 17:00:37 +08:00
    WSL 的 IO 就跟屎没啥两样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5688 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 06:38 · PVG 14:38 · LAX 22:38 · JFK 01:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.