The state of Ubuntu on Windows



  • It's a beta in a fast ring Windows preview build. It shows. 1/10 would not recommend.

    Exhibit 1: I hope you like ed

    Exhibit 2: even /dev/null is broken

    root@localhost:~# file /dev/null
    /dev/null: ERROR: invalid mode 00
    

    Exhibit 3: what's an interoperability?

    PS C:\Users\badpa> echo 2 | Bash -c 'wc -c'
    Error: 0x80070057
    PS C:\Users\badpa> Bash -c "echo $(echo 2) | wc -c"
    2
    

    Exhibit 4: literally the first thing I did

    PS C:\Users\badpa> Bash
    root@localhost:/mnt/c/Users/badpa# ls
    ls: cannot access Application Data: Input/output error
    ls: cannot access Cookies: Input/output error
    ls: cannot access Local Settings: Input/output error
    ls: cannot access Menu Start: Input/output error
    ls: cannot access Mijn documenten: Input/output error
    ls: cannot access NetHood: Input/output error
    ls: cannot access Netwerkprinteromgeving: Input/output error
    ls: cannot access Recent: Input/output error
    ls: cannot access SendTo: Input/output error
    ls: cannot access Sjablonen: Input/output error
    AppData
    Application Data
    ...
    

    Exhibit 5: where are my files?

    root@localhost:~# ls /mnt/c/Users/badpa/AppData/Local/lxss/rootfs/root
    root@localhost:~# pwd
    /root
    root@localhost:~# ls -a | wc -l
    10
    

    Basically the only way to make this useful would be to manage and get an ssh daemon running on both sides of the system, so that programs have a way to exchange bytes and talk to each other. This is in no way better than running your own VM, just a lot more broken. Given how broken UoW is, this is not trivial.



  • @bp_ I knew they just reinvented virtualization in a lousy way.

    Besides, modern Linux infrastructure is far more than a shell. Custom services that are a breeze in all unixes, are a royal pain in the ass on windows. Do they port systemd as well?



  • @bp_ Also, Cygwin sucked, but this is outright atrocity. They'd better invest in making Cygwin suck less.



  • @bp_ So normal Ubuntu then ⭐undefined



  • @wft The only real problem with cygwin is that there's not a lot of software in its repos. I'm otherwise a satisfied customer.



  • More seriously though - it's a preview from a developer branch. It's not going to work perfectly.

    We know that there are some rough edges and that some things will break! Do not expect every Bash script and tool that you run will work perfectly



  • @bp_ also, abysmal locale support last when I looked at it. Actually, all iconv/Unicode/console related stuff was amazingly broken in funny ways. Maybe they have fixed it now, given console in Windows is less of a shit now than it was.

    What it would also benefit from would be some libasound compatibility layer so programs using ALSA can be ported with minimum effort.



  • @loopback0 you know, not that broken. They should really vet it before releasing, otherwise it looks and feels like a bad April fools joke.


  • kills Dumbledore

    @wft said in The state of Ubuntu on Windows:

    modern Linux infrastructure is far more than a shell

    Citation needed



  • @wft cygwin runs by default in some sort of putty
    window that knows how to make the terminal work properly.

    I suspect most of the problems with Windows' terminal emulation actually go down to /n vs /r/n though.


  • BINNED

    @bp_ I wish that was true. I had a bright idea of writing a terminal emulator once. It took me 20 minutes of reading the kind of madness that happens in there to completely and utterly banish the thought from my mind forever.

    Basically, somewhere in the bowels of it all, behind your fish shell showing bouncing emoji, there is a piece of code trying its damned hardest to translate it to some Chulhu-forsaken terminal standard from 1970s.



  • @Onyx oh I know. See also the homepage of mosh.

    “ISO 2022 locking escape sequences oh flying spaghetti monster please kill me now.”
    — actual USENIX peer review from the Mosh paper.


  • BINNED

    @bp_ I have no idea what a "locking escape sequence" is, and, for once, I shall revel in my ignorance.



  • @wft said in The state of Ubuntu on Windows:

    @bp_ also, abysmal locale support last when I looked at it. Actually, all iconv/Unicode/console related stuff was amazingly broken in funny ways. Maybe they have fixed it now, given console in Windows is less of a shit now than it was.

    What it would also benefit from would be some libasound compatibility layer so programs using ALSA can be ported with minimum effort.

    Since as Michael Kaplan mentioned years ago, the Windows console does not process Unicode correctly because of compatibility problems. I'm not surprised if in the end they can't get all the LC_* environment settings work properly in console input/output.

    Btw, seems www.siao2.com is currently out of service. Let's hope it's really just be out of service temporarily.



  • Once I read a bit into the limitations of this bash for windows thing, my enthusiasm evaporated. No services. No running Windows programs from within the shell. Separate directory structure.

    As usual, Microsoft has the correct idea, but then implements it in the most stupid half-assed way imaginable. See also: package management, Windows 8.1 start button.

    IMO cygwin and msys2 will remain a better option for many months to come. That's assuming MS will even keep improving this thing and won't just abandon it like so many other projects.



  • @cartman82 You know, Linux + Wine is far, far better in terms of integration and even actual compatibility than this knocked-together abomination from hell. What the actual fuck, I remember running coLinux back in the day when AMD64 was only starting to make news headlines, and it was very much like this, except that it was a lot less buggy.



  • @cartman82 Also, you can't do symlinks. Which kind of kills my use case for this.



  • Second, while you’ll be able to run native Bash and many Linux command-line tools on Windows, it’s important to note that this is a developer toolset to help you write and build all your code for all your scenarios and platforms. This is not a server platform upon which you will host websites, run server infrastructure, etc. For running production workloads on Ubuntu, we have some great solutions using Azure, Hyper-V, and Docker, and we have great tooling for developing containerized apps within Windows using Docker Tools for Visual Studio, Visual Studio Code and yo docker.
    Third, note that Bash and Linux tools cannot interact with Windows applications and tools, and vice-versa. So you won’t be able to run Notepad from Bash, or run Ruby in Bash from PowerShell.

    Considering the highlighted, why would you expect to launch a Windows application from the Linux tools? That doesn't fit their use case.



  • @Jaloopa said in The state of Ubuntu on Windows:

    Citation needed

    One can have a fully working bash on Windows for ages in multiple flavors (Msys, Cygwin). Doesn't make Windows a Unix.
    Again, Linux is not a fucking shell. I can run explorer.exe in Wine, it doesn't make Linux Windows.



  • @bp_ would you mind linking to how to install, or give some quick pointers? I installed a redstone iso on fast build to virtualbox and couldn't find the ubuntuness.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.