1. 45
  1.  

  2. 4

    I’m so excited for this. WSL is great, but I’ve gone through four or five different third-party console applications and none of them have been quite as good as my favorite terminal emulators from Linux-land; I just want a bare-bones, good-looking window, and most Windows consoles only give me one or the other (who wants two toolbars full of icons on a console?!). Here’s hoping Microsoft delivers!

    1. 6

      Ditto. cmder comes closest, but a good shell can’t hide the underlying suck that is the Windows CONSOLE in all its MSDOS compatible glory.

      1. 2

        I’ve enjoyed using mintty with WSL. It’s been able to handle most of my cases well (fancy colors/italics/relatively low latency).

        1. 1

          Yes but can it handle cutting and pasting huge multi-page blocks of text without falling on its face?

          1. 3

            I regularly cut multiple page log outputs (stdout), and paste large chuncks of text into vim. I’ve not experienced any problems.

            1. 2

              That sounds like an XY problem. If you need something like that you should probably be using a file input, or redirecting the clipboard to standard input, or writing a script. I’m not excusing slow terminals but there is just not a good use case that I can think of, where pasting a big chunk into terminal is the best way to do it.

              1. 1

                I agree totally, this is a particularly sub optimal workflow which I have no choice but to use. We’re working to get away from it but for now we’re stuck.

                1. 2

                  Why not a windows equivalent of pbcopy on MacOS? You can pipe anything to it and it goes straight into your C&P buffer.

        2. 3

          Alacritty worked great for me, and it is the same terminal emulator as everywhere

          1. 5

            I had no idea alacritty worked on Windows! That’s what I use on Linux and I love it. Thank you thank you myfreeweb :)

        3. 5

          Maybe it’s just my naive preconceptions, but reading

          We have connected with so many command-line users who LOVE to customize their terminals and command-line applications.

          just feels very wrong from a corporation like Microsoft. The reason probably is that this portrayal of a “community” around a utility, a product basically, has a close to zero chance to be an authentic gesture from your loving OS-Patron (as if that were even the question), than being the result of a cold, statistical survey on how to emotionally engage consumers to consume optimally.

          But on the other hand, what else is there left for them to do?

          1. 9

            The reason probably is that this portrayal of a “community” […] has a close to zero chance to be an authentic gesture […] than being the result of a cold, statistical survey on how to emotionally engage consumers to consume optimally.

            I think your cynicism is unfounded and unhelpful. There is a community, and this is a big deal. People have wanted a modern, functional terminal for a long time. I know it’s still cool to hate on Microsoft in many places, but my observations are that the engineers in the company care a lot about contributing to community, and that management wants to do the right thing.

            1. 6

              There might be a user base, but I am highly sceptical (although I also could be wrong) that this is a “community” of people enthusiastic and engaged in it’s very idea of the terminal. And this really isn’t generic hate of Microsoft (although I still don’t trust them), but rather a distaste of corporate “over-friendly-ness”, regardless of their intentions.

              1. 1

                Then douse your skepticism with the pure fresh water of statistics!

                For example, this video from the Windows Developer group on Windows Terminal, released 4 days ago has seven hundred and thirty eight thousand views.

                In what universe does that not count as a community?

              2. 3

                I agree, and reading this I think there’s a lesson here for all of us. We need to zoom out and try to be mindful of the fact that people’s needs, wants, preferences and limitations vary a LOT, and so does our ability to be aware of every community or body of users that exists.

                I spoke with a gent yesterday who worked at a company that specialized in selling virtualized DEC Alpha/Tru64 and VMS environments. They have a LOT of customers!

                We all get so hooked into our own little corner of the world that we make the mistake of thinking that corner is the entirety of the world, and it just isn’t.

                As I said elsewhere, Windows Terminal will be a big deal for me because I use WSL in a work context for impermeable reasons I won’t go into again here, where having a ‘real’ terminal emulator will be a massive quality of life improvement.

                1. 2

                  Yet all I see is another attempt at “Embrace Extend Extinguish”.

                  How long will it take before we see some command line tools which will require this terminal emulator to actually run?

                  I’ve been using bash on CygWin whenever I needed some terminal and user land tools on windows and I’m not intending to switch over from something that’s been around for decades, to something new that has only been around for less than a decade. The same goes for WSL.

                  1. 5

                    Yet all I see is another attempt at “Embrace Extend Extinguish”.

                    ¯\_(ツ)_/¯ See what you want to see. That may have been how things were done in the Ballmer era, but we’re a long ways past that now.

                    1. 3

                      You expect people to just brush over everything they’ve done and are doing and just “move on” and trust them? They did a complete 180 in the last couple of years, you can’t expect people to not be skeptical of them. I don’t believe they have good attention, time will tell. I disagree with all the unethical ways they collect data.

                      1. 2

                        That may have been how things were done in the Ballmer era, but we’re a long ways past that now.

                        Are we? I don’t think so. I see a terminal emulator with extra features like embedded pictures in the text output, without specifications and proper documentations. To me this is the entire office EEE debacle all over again but with a terminal.

                        1. 4

                          What specifications does a Windows terminal demand? What on earth are they even meant to be extinguishing? It’s a terminal, not some core part of WSL2 or whatever else people are trying to connect this to. When they released PowerShell were they EEEing themselves?! How is this different?

                          1. 2

                            See: Embrace, extend, and extinguish - Strategy

                            Note the careful wording used:

                            Embrace: Development of software substantially compatible with a competing product, or implementing a public standard.

                            A terminal emulator can be considered a public standard. This terminal is an implementation of that standard.

                            Extend: Addition and promotion of features not supported by the competing product or part of the standard, creating interoperability problems for customers who try to use the ‘simple’ standard.

                            Extinguish: When extensions become a de facto standard because of their dominant market share, they marginalize competitors that do not or cannot support the new extensions.

                            Integration with ssh, PowerShell, Ubuntu on WSL, emoji’s and icons are all promotional features which are not widely supported by the competition. The competition can’t even support them, because a terminal in text-mode on a UNIX-system simply does not have the capability of rendering bitmap graphics until some kind of window-manager is launched.

                            What specifications does a Windows terminal demand?

                            First: It’s not a “Windows Terminal”. We already have plenty of those. It’s a POSIX-compatible terminal with various extensions that cannot be supported on the other platforms. And it’s running on Windows: A platform which throughout it’s entire history, has been used and abused to gain a monopoly marketshare.

                            What on earth are they even meant to be extinguishing? It’s a terminal, not some core part of WSL2 or whatever else people are trying to connect this to.

                            It’s an attack on the whole UNIX-like opensource ecosystem which shows that the spirit of Ballmer is still very much alive: Ballmer: ‘Linux is a cancer’ - The Register

                            When they released PowerShell were they EEEing themselves?! How is this different?

                            This is different from PowerShell in the sense that PowerShell was never meant to be a terminal that could run UNIX-like tools. PowerShell’s main addition was that it opened up commandline access to a lot of the internals of Windows which were previously inaccessible through an easily scriptable commandline interface.

                            1. 1

                              “The competition can’t even support them, because a terminal in text-mode on a UNIX-system simply does not have the capability of rendering bitmap graphics until some kind of window-manager is launched.” “ It’s a POSIX-compatible terminal with various extensions that cannot be supported on the other platforms. “

                              These are good arguments for them potentially doing an EEE strategy. Gotta wonder what the actual risk is, though, if terminal use is so different between Windows and Linux platforms. Anyone intending on using Linux would just use a subset that works on both. If they don’t, they might not care about Linux compatibility. That would mostly be common in Windows shops. I’m curious what attack strategy you think they’ll do in the terminal that would convert more free Linux boxes into paid Windows boxes.

                              1. 2

                                The attack strategy is simple: They are betting on the lazyness of software developers.

                                Suppose one of the Windows-only tools finds its way into one of the scripts powering one of the company’s products and sits there for about 3 years. Most of the time that is long enough for all the developers who’ve worked on it, to leave the company.

                                When that happens it will be to hard or costly to fix those scripts and management will be forced to make the decision: “Just run our product on Windows”.

                                I’ll have to admit that I’ve just made this example up, but I am basing it on an example similar to this:

                                #include <stdio.h>
                                
                                int main() {
                                    int i = 1;
                                    int j = 2;
                                    
                                    printf("i=%d\n", i);
                                    printf("j=%d\n"); // Notice the missing parameter here!
                                }
                                

                                If you compile this with gcc, it will fly in your face and tell you to fix your code. However if you compile this with a recent version of Visual Studio, you will discover that it happily compiles this into a working binary. It even fixes the missing parameter!

                                In the past I’ve “inherited” a C++ application which should in theory be compiling on just about every OS. In reality this was infeasible because of all kinds of minute errors, like the one demonstrated above, which had slipped into the code due to the “extra and out of spec functionality” Microsoft had provided the developers with.

                                You can call me a sadist or whatever you like, but I think that developers deserve a good whipping if they make errors like this. Doubly so if they then rely on the “extra functionalities” provided by their tools of choice.

                                So having seen this, it’s not hard for me to imagine how this brand new terminal will lead to all kinds of “convenient accidents” which will lead to many pieces of software only being compilable and runnable on Windows boxes. It’s EEE in one of it’s purest forms.

                                1. 5

                                  If you compile this with gcc, it will fly in your face and tell you to fix your code. However if you compile this with a recent version of Visual Studio, you will discover that it happily compiles this into a working binary. It even fixes the missing parameter!

                                  This simply isn’t true, and the reality is the opposite of what you are claiming, as you can verify yourself: by default gcc will compile this without warnings, whereas MSVC (and clang) will warn.

                                  1. 1

                                    Unfortunately, you are right, and I am dumping this only from memory and I am unable to share parts of the code base I was working on at that time… So I have no other hard proofs available.

                                    That doesn’t change my argument though. Allthough I have to admit that I’m genuinely surprised that gcc accepts this example.

                                  2. 2

                                    Interesting. Yeah, I could see subtle incompatibilities adding up overtime.

                          2. 1

                            Oh no, they’re still just as evil. They just adapted to the new market. They may or may not be doing less of EEE. I haven’t tracked that. They did use corrupt, patent law to suck billions of dollars out of Android ecosystem despite not contributing jack to it. Selling a polished ReactOS to enterprises probably would get you sued. People in Microsoft and articles like this said they started laying off lots of their QA people with more vulnerabilities, crashes, and data losses coming in future as result. They also have plenty of spyware they’re putting in the new versions of Windows. Plus, never forget their incentive structure means that the next CEO might do even more bad things.

                            Microsoft isn’t to be trusted now or ever in the future. All deals done with them should have an escape plan: portable software, data in open formats, and easy moves to another platform in worst case. With the costs of that, probably better to just do business with a more ethical company in the first place. On open platforms where possible. :)

                            Bonus: There’s actually a good example in your space. Github, not Microsoft’s offering, was the wise choice. Oh the irony of Github becoming Microsoft anyway.

                          3. 1

                            It’s very easy to write code that works on Cygwin and doesn’t work on Linux, so I’m not sure how this is any worse.

                            1. 3

                              Cygwin is a hack. This is an official, supported offering by Microsoft. Tons of people will use it in places where folks hoped to convert people away from Windows. Everything they do might also become legacy systems that, if there’s a lock-in risk here, add to the transition cost of switching that ensures lock-in. Cygwin probably could never do that.

                            2. 1

                              Nah, they won’t extinguish their own golden goose. Have you seen how much money they’re making with Azure? It ain’t chump change!

                          4. 2

                            Do you use WSL? If you don’t, you won’t understand the context.

                            Picture an environment where they replaced the blazing fast Ferrari like UNIX terminal handling routines with a Model T.

                            That’s what this is meant to fix AFAICT.

                            1. 1

                              No I never have, nor plan to. But I don’t understand why me commenting about their peculiar style of writing/engagement is related to their technical product, which I am not trying to downplay.

                              1. 1

                                You’re right. Pardon me.

                              2. 1

                                But users of msys or cygwin have had a satisfactory terminal forever in mintty. So it’s not like there’s never been an option.

                                1. 3

                                  There hasn’t been a better alternative part of Windows itself, though. Not everyone uses msys or cygwin, especially Windows-only developers.

                              3. 2

                                There’s always been communities around Microsoft products, esp developers and admins. It follows naturally with the combination of its humongous market and fact that people in Microsoft shops will want better experiences. They build helpful tools, share code, share tips, and so on like anywhere else. Entire sites were dedicated to Windows FOSS. Many of them also use UNIX/Linux on the side and/or in the same organization for different apps/services.

                                Why does it surprise you that some chunk of Microsoft’s customers wanted a terminal with benefits of Nix terminals? Or that the company that made PowerShell, responding to market demand, would respond to market demand again for terminal improvements? I think it’s in their rational self interest to hook developers up with a good terminal much like it was to make Linux apps easier to run on Windows. Win win long as one is careful to not let Windows, esp any incompatibilities in Microsoft’s versions, to become a dependency. That avoids EEE. ;)

                                1. 1

                                  This person is hired and talk in the name of the Microsoft Empire because it serve its interest well, such as actually LOVEing to customize its interest well.

                                  If MS learns that involving people from the outside into its project then it is a good thing, but I deeply agree that we should not fool ourself thinking Microsoft does something else than aiming for more market shares.

                                  It is the aim of any company of that size, even if it might feature honesty down the stream (the actual person writing the article).

                                  1. 3

                                    Yes that’s her job as a PM. Specifically they have open sourced this terminal. You talk about promotion and then jump to accuse them of the lack of bringing outsiders into the project.

                                    If you take a look at the contributions from the outside in under a week, I’d say outside involvement has already taken root. They’ve also been talking to developers directly (I’ve had a couple times where I’ve been invited to schedule time with them to discuss their development plans and I have no special relationship with Microsoft or the team).

                                    It seems like Microsoft has changed but there will be a balance to keep. As long as Azure keeps growing, Windows probably has less pressure to monetize and control every aspect of the platform. The reality seems less about them being generous and more about their business model shifting their focus. No altruistic leaning is needed to understand why Microsoft is suddenly interested in open source and continuing their interest engaging developers (this is how enterprise adoption stick so well, even if you weren’t part of that camp; I wasn’t and didn’t understand until I talked to folks that were).

                                    https://github.com/microsoft/Terminal

                                    1. 1

                                      The big, hard-to-change streams of revenue for Windows come from both lock-in to Windows-specific features and marketing Windows to companies that want their supplier to be around long time with big ecosystem. Microsoft has realized that open sourcing things that tie into their paid platforms usually can’t hurt those sales. They might even help them since the companies will be less likely to switch. They might even buy more Microsoft apps, hosting, or whatever. The community projects also bring them the business benefits of F/OSS and a PR boost.

                                      What’s not to like in this approach for a greedy company trying to make its numbers go up in a highly-competitive, changing market that features lots of F/OSS? ;)