• 请不要在回答技术问题时复制粘贴 AI 生成的内容
linnn2
V2EX  ›  程序员

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

  •  
  •   linnn2 · Jun 28, 2017 · 18314 views
    This topic created in 3423 days ago, the information mentioned may be changed or developed.

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

    1. 从没遇过
    2. 您装到 Windows 的路径下了?
    3. 您的 bash 配置有问题
    4. 这个锅 Linux 背不了...
    zachlhb
    zachlhb
    Jun 29, 2017 via Android
    11
    直接 Ubuntu,已经放弃 win
    imn1
    imn1
    Jun 29, 2017
    12
    这货不是用来开发的
    但它不支持直接使用 winpath,处理 win 文件先要转换路径,M$应该考虑改造能直接帖 winpath 就能识别
    ProjectAmber
    ProjectAmber
    Jun 29, 2017 via iPhone
    13
    Hyper-V。
    Ginson
    Ginson
    Jun 29, 2017
    14
    稍微折腾了一下,特别累人,罢了
    hhacker
    hhacker
    PRO
    Jun 29, 2017
    15
    docker for windows 妥妥的
    Z1076
    Z1076
    Jun 29, 2017
    16
    网卡问题特别烦 不要折腾了 尤其是需要监听端口的程序。
    Tink
    Tink
    Jun 29, 2017
    17
    其实 bash on windows 主要是用来做一些简单的小工具的
    keenwon
    keenwon
    Jun 29, 2017
    18
    同前端。
    我也是前几天刚配了台 PC,也考虑过 linux on windows,最后还是放弃了,开发还是直接在 linux 或者 mac 上爽。
    目前用 ubuntu,virtualbox 上跑个 win7,挺爽的。
    thecon
    thecon
    Jun 29, 2017
    19
    直接 Ubuntu 已经比 windows 好用了,干嘛还去折腾
    ftexplore
    ftexplore
    Jun 29, 2017
    20
    直接用 macbook 吧,省心省力,自带*nix 环境
    isCyan
    isCyan
    Jun 29, 2017 via Android
    21
    Windows 跑 Linux 虚拟机都还是有文件系统问题,还是实体机省心
    DevNet
    DevNet
    Jun 29, 2017
    22
    前几天刚放弃,部署不了开发环境,装不了 mysql
    kingwkb
    kingwkb
    Jun 29, 2017
    23
    @ProjectAmber Hyper-V 不能共享目录
    forcecharlie
    forcecharlie
    Jun 29, 2017
    24
    我觉得十有八九是你的配置出问题了,比如 `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
    Ryuuzaki7
    Jun 29, 2017
    25
    有些底层命令还是没有,想要完整功能还是要装虚拟机或者双系统
    chingli
    chingli
    Jun 29, 2017 via Android
    26
    坚持用了一个月,最后发现还是不如 cygwin。
    Kongyuan
    Kongyuan
    Jun 29, 2017
    27
    从换新电脑 就没装回 debain 用 ubuntu on bash 来代替原来的工作环境。systemctl 什么的基本废了。 写点简单的 python 脚本 加网站什么还是可以的。 刚开始各种奇葩问题 尤其是网络和 windows 文件系统互相访问以致于我怀疑自己的代码问题。 现在好很多了,配合 xming 写 GUI 工具也很容易。 之所以忍者不换回 linux 是因为要打 LOL 和 steam (逃)。 不过相对以前开个 vbox 虚拟机要快很多。 (之前是 debain+虚拟机跑 windows。 虚拟机里面的 Windows 恶心的一逼。)
    yanxijian
    yanxijian
    Jun 29, 2017
    28
    Hyper-V 装了个 Server 版 Ubuntu,效果不错,占用资源也小。
    Kongyuan
    Kongyuan
    Jun 29, 2017
    29
    @chingli 考虑用 Cmder 体验比 windows 自带的终端好了不知道多少倍。配上 tmux 加成,
    devtiange
    devtiange
    Jun 29, 2017
    30
    @Kongyuan 展开说说 "现在好很多了"?
    shadownet
    shadownet
    Jun 29, 2017
    31
    当我第一次折腾后,果断放弃并退出 insider program. 问题太多
    Kongyuan
    Kongyuan
    Jun 29, 2017❤️2
    32
    @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
    Charkey
    Jun 29, 2017
    33
    我折腾了半天,我就放弃了。。。
    yuchenyang1994
    yuchenyang1994
    Jun 29, 2017❤️2
    34
    新东西确实要折腾一些,毕竟各种玩意儿的支持还没跟上,比如编辑器的路径配置,所以你要在 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
    XuweiatTuSDK
    Jun 29, 2017
    35
    虚拟机走起~~
    season4675
    season4675
    Jun 29, 2017
    36
    我现在的电脑就是 ubuntu ……然后装个 windows 的虚拟机……
    40huo
    40huo
    Jun 29, 2017
    37
    @yuchenyang1994 #34 这字体看上去不错啊,怎么配置的?
    neroxps
    neroxps
    Jun 30, 2017
    38
    感觉最大的问题就是,windows 想用 linux 程序来动 windows 的东西。程序员会不会精神错乱?
    linnn2
    linnn2
    OP
    Jun 30, 2017
    39
    @shierji 意思是用虚拟机吗?
    linnn2
    linnn2
    OP
    Jun 30, 2017
    40
    @shihira 可能还是需要时间吧
    linnn2
    linnn2
    OP
    Jun 30, 2017
    41
    @xudzhang 还想享受一下 windows 带来的好处。。
    linnn2
    linnn2
    OP
    Jun 30, 2017
    42
    @Ginson 等到正式版出来再试试
    linnn2
    linnn2
    OP
    Jun 30, 2017
    43
    @ftexplore 我去年的 mac book pro,非顶配,在公司开发的时候感觉性能不够用了。。
    linnn2
    linnn2
    OP
    Jun 30, 2017
    44
    @Kongyuan 同想打游戏,,所以才坚持 win 的。。
    shierji
    shierji
    Jun 30, 2017 via Android
    45
    @linnn2 对啊
    @XiaoFaye 我没跑图形界面 至少是不比那两差的我觉得
    libook
    libook
    Jun 30, 2017 via Android
    46
    何苦用 win。。。
    win+虚拟机+linux 是正解
    yuchenyang1994
    yuchenyang1994
    Jul 1, 2017
    47
    @40huo dejavu sans mono for powerline + mactype 抗锯齿,说实话,我觉得现在搞成这样根本不比 macbook 差到哪里去,mysql 这种东西我都是 docker for windows,现在 linux 子系统基本上已经完全可用的程度了,只需要配套设施跟上就没问题了,现在就两样东西搞不定,一个是文件系统真的有点慢,第二个是 Windows 程序调用子系统的程序,这样你的 ide,编辑器,就能轻松拥有 linux 环境,打游戏编程两不误
    Kongyuan
    Kongyuan
    Jul 5, 2017
    48
    找到一个比较不错的答疑帖: https://msdn.microsoft.com/en-us/commandline/wsl/faq
    ImJoeHs
    ImJoeHs
    Oct 14, 2017
    49
    @Kongyuan
    @yuchenyang1994

    抱歉挖坟了,时隔三个月,现在的 wsl 如何了?
    zede486
    zede486
    Jul 1, 2019
    50
    @ImJoeHs
    新手觉得配置完之后感觉还可以 有个视频讲了怎么让 wsl 在 windows 的文件系统内完成开发
    感觉还行哦
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   904 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 99ms · UTC 20:45 · PVG 04:45 · LAX 12:45 · JFK 15:45
    ♥ Do have faith in what you're doing.