win10 的 wsl,作为日常 Linux 开发环境是否可行 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
aimiyooo
V2EX    Linux

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

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

    之前一直用 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 依赖,能卡很久
    gpg
        25
    gpg  
       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 绕过。
    looplj
        62
    looplj  
       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     Solana     807 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 20:21 PVG 04:21 LAX 12:21 JFK 15:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86