折腾了几天 Ubuntu on Windows 之后我决定放弃了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
linnn2
V2EX    程序员

折腾了几天 Ubuntu on Windows 之后我决定放弃了

  •  < href="Javascript:" Onclick="downVoteTopic(371795);" class="vote">
  •   linnn2 2017-06-28 23:24:06 +08:00 17178 次点击
    这是一个创建于 3025 天前的主题,其中的信息可能已经有所发展或是发生改变。

    配了一台 PC,好久没有用 windows 了,最近又看到 windows 的好多消息,微软的硬件软件都有了很大的进步,于是决定试试在 windows 上进行开发

    可是,Bash on windows 现在还真的用不了。。问题还是挺多的,不知道大家对于 windows 环境的开发有什么好的实践经验,目前我遇到过的问题有:

    1. bash 启动后有时需要手动 source ~/.bashrc
    2. 遇到过在 npm install 之后,项目代码无法删除,只能通过 windows 的安全模式中删除
    3. 现在启动 bash 报错 Error: EINVAL: invalid argument, mkdir '/mnt/c/Users/***/C:\ProgramData\Microsoft\VisualStudio\MDA\372b13c4\taco-toolset-6.3.1
    4. 在 windows 环境下修改代码,通常还得配置一份 windows 的开发环境
    5. ...

    总之,用的心累,决定放弃,等到正式版来了之后再看吧。。

    50 条回复    2019-07-01 17:12:24 +08:00
    anyele
        1
    anyele  
       2017-06-28 23:39:30 +08:00
    虚拟机
    shierji
        2
    shierji  
       2017-06-28 23:47:48 +08:00 via Android
    hyper v 跑 Ubuntu 体验好极了
    shihira
        3
    shihira  
       2017-06-29 01:02:23 +08:00   5
    有没有觉得这东西分外鸡肋,前途堪忧
    在某乎听软吹久了都差点信了它是个 evolution
    incompatible
        4
    incompatible  
       2017-06-29 01:35:55 +08:00 via iPhone
    如果只是想用 shell 的话,可以试试 babun,好用。
    fyibmsd
        5
    fyibmsd  
       2017-06-29 05:55:51 +08:00
    和 docker 比差得远
    XiaoFaye
        6
    XiaoFaye  
       2017-06-29 06:33:45 +08:00
    @shierji 性能跟 Vmware 和 KVM 比怎么样?
    mooncakejs
        7
    mooncakejs  
       2017-06-29 06:49:28 +08:00 via iPhone
    vagrant 慢慢已经不用了。wsl 还是可以的,什么时候能换 centeros 就更好了
    xudzhang
        8
    xudzhang  
       2017-06-29 07:01:21 +08:00
    个人感觉要用 Linux 就要用纯净的 Linux ……
    ghostheaven
        9
    ghostheaven  
       2017-06-29 07:30:06 +08:00 via Android
    @fyibmsd 和 docker 有什么关系
    xiaket
        10
    xiaket  
       2017-06-29 07:55:51 +08:00
    不要在 Linux 下试图修改 Windows 里面的东西,出问题几率很大,除此之外好像都还行。

    1. 从没遇过
    2. 您装到 Windows 的路径下了?
    3. 您的 bash 配置有问题
    4. 这个锅 Linux 背不了...
    zachlhb
        11
    zachlhb  
       2017-06-29 08:26:09 +08:00 via Android
    直接 Ubuntu,已经放弃 win
    imn1
        12
    imn1  
       2017-06-29 08:30:05 +08:00
    这货不是用来开发的
    但它不支持直接使用 winpath,处理 win 文件先要转换路径,M$应该考虑改造能直接帖 winpath 就能识别
    ProjectAmber
        13
    ProjectAmber  
       2017-06-29 08:46:00 +08:00 via iPhone
    Hyper-V。
    Ginson
        14
    Ginson  
       2017-06-29 08:52:06 +08:00
    稍微折腾了一下,特别累人,罢了
    hhacker
        15
    hhacker  
       2017-06-29 08:52:23 +08:00
    docker for windows 妥妥的
    Z1076
        16
    Z1076  
       2017-06-29 09:18:13 +08:00
    网卡问题特别烦 不要折腾了 尤其是需要监听端口的程序。
    Tink
        17
    Tink  
    PRO
       2017-06-29 09:26:49 +08:00
    其实 bash on windows 主要是用来做一些简单的小工具的
    keenwon
        18
    keenwon  
       2017-06-29 09:29:17 +08:00
    同前端。
    我也是前几天刚配了台 PC,也考虑过 linux on windows,最后还是放弃了,开发还是直接在 linux 或者 mac 上爽。
    目前用 ubuntu,virtualbox 上跑个 win7,挺爽的。
    thecon
        19
    thecon  
       2017-06-29 09:38:33 +08:00
    直接 Ubuntu 已经比 windows 好用了,干嘛还去折腾
    ftexplore
        20
    ftexplore  
       2017-06-29 09:57:09 +08:00
    直接用 macbook 吧,省心省力,自带*nix 环境
    isCyan
        21
    isCyan  
       2017-06-29 10:27:31 +08:00 via Android
    Windows 跑 Linux 虚拟机都还是有文件系统问题,还是实体机省心
    DevNet
        22
    DevNet  
       2017-06-29 10:29:54 +08:00
    前几天刚放弃,部署不了开发环境,装不了 mysql
    kingwkb
        23
    kingwkb  
       2017-06-29 10:32:45 +08:00
    @ProjectAmber Hyper-V 不能共享目录
    forcecharlie
        24
    forcecharlie  
       2017-06-29 10:38:42 +08:00
    我觉得十有八九是你的配置出问题了,比如 `invalid argument, mkdir '/mnt/c/Users/***/C:\ProgramData\Microsoft\VisualStudio\MDA\372b13c4\taco-toolset-6.3.1` 这个路径肯定是错的,正常的路径是这种。 `/mnt/c/Users/ProgramData/Microsoft/VisualStudio/MDA/372b13c4/taco-toolset-6.3.1` 我觉得你可以回忆下进行了什么操作。
    Ryuuzaki7
        25
    Ryuuzaki7  
       2017-06-29 10:47:44 +08:00
    有些底层命令还是没有,想要完整功能还是要装虚拟机或者双系统
    chingli
        26
    chingli  
       2017-06-29 11:27:47 +08:00 via Android
    坚持用了一个月,最后发现还是不如 cygwin。
    Kongyuan
        27
    Kongyuan  
       2017-06-29 11:32:00 +08:00
    从换新电脑 就没装回 debain 用 ubuntu on bash 来代替原来的工作环境。systemctl 什么的基本废了。 写点简单的 python 脚本 加网站什么还是可以的。 刚开始各种奇葩问题 尤其是网络和 windows 文件系统互相访问以致于我怀疑自己的代码问题。 现在好很多了,配合 xming 写 GUI 工具也很容易。 之所以忍者不换回 linux 是因为要打 LOL 和 steam (逃)。 不过相对以前开个 vbox 虚拟机要快很多。 (之前是 debain+虚拟机跑 windows。 虚拟机里面的 Windows 恶心的一逼。)
    yanxijian
        28
    yanxijian  
       2017-06-29 11:36:32 +08:00
    Hyper-V 装了个 Server 版 Ubuntu,效果不错,占用资源也小。
    Kongyuan
        29
    Kongyuan  
       2017-06-29 11:41:42 +08:00
    @chingli 考虑用 Cmder 体验比 windows 自带的终端好了不知道多少倍。配上 tmux 加成,
    devtiange
        30
    devtiange  
       2017-06-29 13:24:48 +08:00
    @Kongyuan 展开说说 "现在好很多了"?
    shadownet
        31
    shadownet  
       2017-06-29 13:36:57 +08:00
    当我第一次折腾后,果断放弃并退出 insider program. 问题太多
    Kongyuan
        32
    Kongyuan  
       2017-06-29 13:52:15 +08:00   2
    @devtiange

    1. 最新的 ubuntu 版本

    从 14.x 升级到这个版本:
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 16.04.2 LTS
    Release: 16.04
    Codename: xenial

    2. 底层打通了文件系统和 linux 的文件系统:
    C: on /mnt/c type drvfs (rw,noatime)
    之前还不稳定(删除打开文件出错),现在好很多。我的所有 code 和项目都在 windows 目录,用 linux 访问。

    3. linux 下的进程可以在 windows 的管理器里面看到。甚至可以 kill。 速度要快很多。

    4. 网络部分和 windows 共享。 即调试代码的时候和本地完全没有区别。 ( linux 内部开启网站:5000, 再 windows 开 chrome 调试 127.0.0.1:5000 )
    但目前 ping 还是存在 bug

    5. ubuntu 的各种软件无缝支持。 正常编译没有问题。(还没试过编译替换内核,估计不行。 微软应该做了很多驱动和底层的修改,自己编译内核估计起不来吧)

    相对于其余方案:

    1. cygwin - 比 cygwin 速度要快。和 windows 更加紧密。 完整的 ubuntu 生态环境 而非简单的兼容工具集。
    2. 虚拟机 - 需要 ssh 过去,需要考虑虚拟机网络模式,如果是 nat 还要端口映射,麻烦许多。
    3. 远程服务器 - 网络慢的时候,砸电脑的心都有了。
    4. 直接跑 linux ( archlinux 之类的) - 没办法玩 LOL,stream 的游戏库。

    所以相对而言 是个值得选择的方案~
    Charkey
        33
    Charkey  
       2017-06-29 13:58:04 +08:00
    我折腾了半天,我就放弃了。。。
    yuchenyang1994
        34
    yuchenyang1994  
       2017-06-29 15:33:51 +08:00   2
    新东西确实要折腾一些,毕竟各种玩意儿的支持还没跟上,比如编辑器的路径配置,所以你要在 windows 下配置一个相同环境
    1.bash 的终端模拟器,windows 上太垃圾,实在受不鸟,你可以使用 wsltty
    https://github.com/mintty/wsltty
    或者
    https://github.com/ethanhs/WSL-Programs
    然后安装 zsh,等工具就行了,我现在是这样的
    https://ooo.0o0.ooo/2017/06/29/5954aa6938cac.png
    然后呢,npm install 是能删除的,你该不会是 sudo npm install 吧,我前几天看微软的 blog,权限问题,我是没啥问题
    你说还得配一个 windows 环境,我觉得大可不必吧,你可以用 vim 啊
    https://ooo.0o0.ooo/2017/06/29/5954abbc9f93b.png
    fzf Youcompleteme git 反正我用到的还没有不能工作的,其他的,我觉得吧,前端其实不怎么需要,python 可以用 ssh 来选择 wsl 下的 python 解释器,java 什么的也可以啊
    剩下的我遇到得几个问题
    nvm,pyenv 这两个不要装,不然你会很卡,pyenv 我用 miniconda 替代了,git 进入 windows 磁盘目录得项目,如果项目大了会很卡,不过这好像是 ntfs 得问题,听说下个版本就能解决,剩下的东西,比如一些服务,redis 啊,mysql 啊,直接开启 hyper-v 上 docker for windows,这些服务有时候会调用内核得东西,说实话,wsl 还只是个皮,内核是没有的,走的 NT 内核
    你第三个问题肯定是 bashrc 搞错了
    XuweiatTuSDK
        35
    XuweiatTuSDK  
       2017-6-29 15:49:43 +08:00
    虚拟机走起~~
    season4675
        36
    season4675  
       2017-06-29 19:50:22 +08:00
    我现在的电脑就是 ubuntu ……然后装个 windows 的虚拟机……
    40huo
        37
    40huo  
       2017-06-29 21:10:37 +08:00
    @yuchenyang1994 #34 这字体看上去不错啊,怎么配置的?
    neroxps
        38
    neroxps  
       2017-06-30 13:14:59 +08:00
    感觉最大的问题就是,windows 想用 linux 程序来动 windows 的东西。程序员会不会精神错乱?
    linnn2
        39
    linnn2  
    OP
       2017-06-30 20:42:39 +08:00
    @shierji 意思是用虚拟机吗?
    linnn2
        40
    linnn2  
    OP
       2017-06-30 20:43:00 +08:00
    @shihira 可能还是需要时间吧
    linnn2
        41
    linnn2  
    OP
       2017-06-30 20:43:54 +08:00
    @xudzhang 还想享受一下 windows 带来的好处。。
    linnn2
        42
    linnn2  
    OP
       2017-06-30 20:45:00 +08:00
    @Ginson 等到正式版出来再试试
    linnn2
        43
    linnn2  
    OP
       2017-06-30 20:45:59 +08:00
    @ftexplore 我去年的 mac book pro,非顶配,在公司开发的时候感觉性能不够用了。。
    linnn2
        44
    linnn2  
    OP
       2017-06-30 20:47:21 +08:00
    @Kongyuan 同想打游戏,,所以才坚持 win 的。。
    shierji
        45
    shierji  
       2017-06-30 21:23:34 +08:00 via Android
    @linnn2 对啊
    @XiaoFaye 我没跑图形界面 至少是不比那两差的我觉得
    libook
        46
    libook  
       2017-06-30 23:25:11 +08:00 via Android
    何苦用 win。。。
    win+虚拟机+linux 是正解
    yuchenyang1994
        47
    yuchenyang1994  
       2017-07-01 00:23:52 +08:00
    @40huo dejavu sans mono for powerline + mactype 抗锯齿,说实话,我觉得现在搞成这样根本不比 macbook 差到哪里去,mysql 这种东西我都是 docker for windows,现在 linux 子系统基本上已经完全可用的程度了,只需要配套设施跟上就没问题了,现在就两样东西搞不定,一个是文件系统真的有点慢,第二个是 Windows 程序调用子系统的程序,这样你的 ide,编辑器,就能轻松拥有 linux 环境,打游戏编程两不误
    Kongyuan
        48
    Kongyuan  
       2017-07-05 09:29:39 +08:00
    找到一个比较不错的答疑帖: https://msdn.microsoft.com/en-us/commandline/wsl/faq
    ImJoeHs
        49
    ImJoeHs  
       2017-10-14 15:40:59 +08:00
    @Kongyuan
    @yuchenyang1994

    抱歉挖坟了,时隔三个月,现在的 wsl 如何了?
    zede486
        50
    zede486  
       2019-07-01 17:12:24 +08:00
    @ImJoeHs
    新手觉得配置完之后感觉还可以 有个视频讲了怎么让 wsl 在 windows 的文件系统内完成开发
    感觉还行哦
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2858 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 14:13 PVG 22:13 LAX 07:13 JFK 10:13
    Do have faith in what you're doing.
    ubao 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