V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linnn2
V2EX  ›  程序员

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

  •  
  •   linnn2 · 2017-06-28 23:24:06 +08:00 · 16701 次点击
    这是一个创建于 2700 天前的主题,其中的信息可能已经有所发展或是发生改变。

    配了一台 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  
       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-06-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   ·   实用小工具   ·   5347 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 07:35 · PVG 15:35 · LAX 23:35 · JFK 02:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.