128 comments

[ 3.6 ms ] story [ 175 ms ] thread
So the main differentiator is a prettier terminal window relative to microsoft console?
And apparently being able to add new features without "breaking the world"
But even their own example was UI related, I wonder if this is just a way for them to fork "window console" to allow modern UI.
Raymond Chen had a good explanation for why the've been very hesitant to modernise cmd.exe but I can't seem to find it.
I'm interested in case you or someone else finds it. :)
In this blogpost I found a possible reference to it: https://devblogs.microsoft.com/oldnewthing/20060427-21/?p=31...

Saying "shipping a new command shell". Unfortunately the URL gives me a 403.

Is it me or does that last bit seem weirdly passive aggressive
The last part of my comment? :O surely wasn't intentional if do :)
They probably meant the last line of the post you linked.

> So good luck with your replacement command shell. I hope you figure out how to run batch files.

Yep, seems passive aggressive

Yup, that makes more sense :)
(comment deleted)
Wow, so much marketing voodoo for a text terminal!
That’s because the understand the value of developer mindshare. Billions on Github and they haven’t wrecked it (yet), Linux layers on Windows, .Net open sourced. The lack of nice terminal options (please don’t say ConEmu is nice, it’s functional, not the same thing) was certainly a factor.

They’re chipping away at each little thing that holds devs away and making sure the world knows it.

> They’re chipping away at each little thing that holds devs away and making sure the world knows it.

It's worth keeping in mind why, it's to get developers interested in their proprietary platforms. These are the embrace and extend steps.

Let me know when they switch to GPL licenses and can't pull the extinguish step.

How long till somebody goes through and ports it to Linux I wonder. Then Microsoft maintains the port turning it into the most powerful cross platform terminal emulator somehow. Also Mac please. But I am likely getting ahead of myself.
Why bother? Between tmux and much better window managers along with a myriad of terminal emulators this doesn't seem to offer much.
Windows consoles have an obsolete architecture, it wouldn't make sense. Even this new app and subsystem components has to pull a lot of tricks to stay compatible with the old world.
Who on earth would want that? People who have only ever used Microsoft products?
People who want cross platform tooling like a cross platform editor
Will content in the terminal re-render when the window is resized or will it be like Putty where only new content fills the whole window (annoying)?
I did control-f resize and couldn't see anything in the article or video. I assume we can drag to resize, that is my only real wish.... they have to do it right?
Given that the existing terminals for Windows range from archaic (Console, PowerShell) to mediocre (ConEmu, Cmder), this move makes total sense.

I’m excited to use the new terminal with WSL2 - maybe it will come close to iTerm2 with Docker.

Hyper, Terminus, Alacritty, and Fluent Terminal are all excellent.

Also Powershell is a shell not a terminal and it's awesome.

I'm a huge fan of Terminus for Windows (and I use Hyper on Mac) -- great alternatives to the usual: https://eugeny.github.io/terminus/
Hyper 3 Canary works a lot better on Windows than 2 did if you feel like trying it.
Thanks! I've been away from my Windows machine for 2 months; I'm eager to try Hyper 3 when I'm back.
BTW Cmder IS ConEmu. Specifically it's CE set up with Git and Clink which is command completition.

Last time I checked ConEmu still lacked horizontal scrolling, so it looks ugly when the text gets word wrapped.

Let me guess... there's gonna be telemetry in it?
It's open source, go find out yourself rather than guessing.

https://github.com/Microsoft/Terminal

Even in the worse case, people could fork it and distribute a telemetry-free version.

Here is an example, a telemetry-free distribution of VSCode: https://github.com/VSCodium/vscodium

Kudos to Microsoft for making the new Terminal open source (and here's hoping that it doesn't phone home with any private information!)

That doesn't answer the question. There is no telemetry in the vscode codebase but it does get included for the release builds. Same with chromium/chrome.
As someone else replied, yes it does actually answer the question:

https://github.com/Microsoft/Terminal/blob/master/src/termin...

My question was rhetorical. The problem I’m trying to highlight is how the F is it ok for a terminal to be spying on you, and what kind of justification do they have for collecting this data (it’s not like there’s much useful info to collect here - it’s a terminal with very few features).
Fair point, you can't be sure that's the only telemetry getting included though, as per the precedent set by code/chrome.
This looks great. I've tried many of the other terminal options on Windows (ConEmu, Cmdr, Hyper, etc) and none have been great and always found myself resorting back to the plain old command prompt.
I used ConEmu for years. Splitting the console and tabs are awesome.
Alacritty is pretty great, especially if you enable use of the new ConPTY API (needs Windows 19H1)
Good on them for making CMD more modern.

But I'm not a fan of the ligatures they've shown in the video / screenshots. This was discussed on HN recently after this article got posted: https://practicaltypography.com/ligatures-in-programming-fon...

Luckily, the font seems to just be an option and not something forced on you.

CMD hasn't really been touched, though the console subsystem has, and now terminal-esq functionality debuts.
I noticed DOSKey seems to be default in recent versions of command.com.
Cmd.exe you mean? Believe that functionality has been around for a while.
(comment deleted)
This is about terminal (think xterm, iterm2 etc.), not about shell like cmd or powershell or bash or zsh or whatever.
The terminal adds support for ligatures, in the sense that the rendering capability is now there, but you can use a shell/editor without them.
I have to hand it to Microsoft. WSL 2, Windows Terminal, and Edge based on Chromium. Microsoft really is doing some fantastic work for their users.

Meanwhile, macOS will get new emojis in 10.15.

UIKit in macOS 10.15 too, so a bunch more Mac apps will be available to users.
macOS already has a great terminal app. Microsoft is just playing catch up on really old features.
The need was already satisfied by ConEmu (with clink) and similar terminal alternatives on Windows for people like me that care enough about these features; this is just Microsoft making it part of the core system for a more integrated experience under their control.
As a previous user of ConEmu / Cmder I'd like to agree with you, but they are so inferior to a well set-up terminal+shell on Mac or Linux. I mean, without a great shell, what good is the terminal?
Installing git-bash with the option of adding the linux utilities to the path is more than enough for me (so one gets linux-like grep, find, etc)
Hardly playing catch up here. They've much surpassed anything Apple has done in recent years, in both software AND hardware.

Also, I don't recall macOS terminal being open source.

https://github.com/microsoft/terminal

We’ve had decent terminals on Linux since something like 1997 at least. I’ve never seen a good one on windows. Perhaps this is it. I would call being 22 years behind playing catch-up.

How has Microsoft surpassed Apple in hardware when Apple’s main product is a phone and Microsoft doesn’t even make a phone?

> ’ve had decent terminals on Linux since something like 1997 at least.

Agree, one of many reasons why I prefer Linux.

> I’ve never seen a good one on windows. Perhaps this is it.

There is cmder, which IMO was not only usable but also pleasant (looked nice, tab completion, history).

> How has Microsoft surpassed Apple in hardware when Apple’s main product is a phone and Microsoft doesn’t even make a phone?

It is a bit unfair to suddenly stop considering Apples laptops just today, again IMO.

They’ve botched the laptops but they’re small potatoes compared to the iPhone business.
I am the first critic of the MacBook Pro issues, but saying Apple botched their laptops is a bit rich. Keyboards apart, they’re still impressive machines.
What about them do you find impressive? I thought they also had issues with thermal throttling.
"It is a bit unfair to suddenly stop considering Apples laptops just today, again IMO."

Ive and Newson are more interested in making useless aesthetic baubles for the Gulfstream V set than utilitarian devices for work.

https://www.cnn.com/style/article/jony-ive-diamond-ring-soth...

In general I just get the impression that the top executives at Apple treat the Mac as their neglected red-headed stepchild which they'd like to throw down a well at the first opportunity.

You may like Microsoft products more, but look at the things they’ve been doing for the past few years. Offering OS upgrades for free, adding multiple desktops, adding a terminal that isn’t a pile of trash, embracing open source, making a chrome-like browser, adding the WSL. It’s all saying “we can do what Mac and Linux do”. Quite literally in the case of the WSL.

I’m not complaining about any of these updates btw, I just think bringing in a comparison to Mac about terminals doesn’t make much sense

Surpassed in every way huh? How’s that preloaded bejeweled app treating you? Still loving all that telemetry?

MacOS + brew + iterm2 and ZSH make it the best developer setup

As a fellow macOS, brew, iTerm2, and zsh user, I agree that this is an amazing setup. Telemetry sucks ass for sure, but AFAIK it can at least mostly be disabled (albeit with some work, but I think most of that is probably automated today). With WSL, you can still install brew and zsh. iTerm2 is amazing, and I doubt that Windows Terminal supports everything iTerm2 does, but that's not a huge thing.

As long as WSL v2 has better filesystem perf, it'll be pretty great.

Well except you're not allowed to run MacOS on a laptop with a real keyboard.

(To be quite honest I agree - but Apple doesn't make any hardware of interest to me to run MacOS on).

Yeah I will give you that. The apple keyboard that comes with the Macs is a cluster for sure. But... while Apple has done more for the industry in my opinion to force the other manufacturers to move their hardware to a higher build quality profile etc., the OS is still what I find the most compelling -- mostly because I am all in on Apple services (iMessage, iCloud, keychain, etc.) and things often look more appealing on the Mac (yeah I spend most of my time in the terminal but I do like things that look good -- high DPI on linux is almost there just not quite there yet imo). Basically it comes down to productivity and for me it's on a Mac, that keyboard be damned.*

I use an external Magic Keyboard 2 without the 10-key as it fits on top of the keyboard of my MacBook as if it should have been the keyboard all this time. But it was an expensive keyboard and not a suggestion I would give many people -- the keyboard should just work.

Fair enough. I didn't want to live with the loss of the Fn keys as much as anything. But my decision to jump the Apple ship was also partly economic, and if not for that additional pressure I'm not sure what I would have done.

So after a long time having been OS X-exclusive, for the past year I've used both Windows 10 and Linux. I've really been equally happy and frustrated with each - all 3 of the majors have their strengths and weaknesses. I think OS X overall has the balance I prefer, but it's by a far smaller margin than I would have thought, say, 5 years ago.

And there I agree with you, too. Laptops really have come a long way in build quality and usability.

I want a new MacBook but will likely wait until my late model top-of-the-line 2013 MacBook Pro dies and buy the Arm based ones they're rumored to release because I simply can't afford a 3k+ laptop now.

Even if some folks do not care about absolute monetary price, there can be other hurdles. For example, for corporate purchases, there are countries where you have per item limit, up until which you can expense your purchases into given year, or above which you must depreciate the item.

In my country, Apple computers moved into the must depreciate for 4 years territory, which is simply unacceptable to corporate buyers there (as depreciated asset, it the paperwork is more involved, and therefore needs additional time and expenses). Meanwhile, Lenovo or Dell sales know how to make the price right, so everybody is satisfied.

My 2015 rMBP was 1 EUR below this limit. I don't know what to replace it with, if needed.

Amortisation burocracy is not that complicated. 4 book records and one additional document per year, well under £1 in labour and paper. Source:my dad is a former accountant
Here, it is 2 records at purchase (purchase+asset creation) per item, 1 every month (depreciation) per item, plus 1 yearly (accounting for deferred tax assets). Then some at the end of the period (reconciliation of the deferred tax, asset retirement). The period has to be tracked per each item. Each asset has to have its asset card and a tag.

For machinery and buildings, OK. But for a laptop, that maybe barely survives it's depreciation period? Well, no. Folks have other things to do than paperwork for laptops.

The entire point of the asset depreciation is, that the state wants the tax money as soon as possible, and shift your deductibles into future. What you want, is to shift as much as possible of your deductibles into the current year (and it is cash out in this year, after all). I and many others don't see why small, relatively quickly consumable items like laptops should be handled the way big assets are, and the sales at other vendors understand that very well.

If you are a small company with external accountant, it will be significantly more than 1 EUR in labor and paper.

>Well except you're not allowed to run MacOS on a laptop with a real keyboard.

I use the keyboard that came with my 2001 Mac Cube. You can't get a more real keyboard than that.

I read that for a moment as you claiming the Cube as your laptop (cool: definitely, but laptop: no). But I see what you mean now.
macOS has as much or more telemetry than Windows 10. macOS is (somewhat) better at keeping the telemetry opt-in by default, but there's still nearly as much telemetry top down. Both developers are trying to make their products better by watching user interaction statistics. If you want to tin foil hat about telemetry, macOS isn't the answer either, you should move to a more paranoid Linux distro.

(At this point Windows 10 offers more ways than macOS to transparently see all the telemetry by turning on and using the Diagnostic Data Viewer, and through many pages of Privacy information documentation on Microsoft websites.)

The telemetry on OS X is anonymous, opt-in, and can be disabled entirely in much fewer (like, a fraction) steps than on W10. W10 puts advertisements by default into the core OS experience. This is not even a close contest from a privacy standpoint.
The telemetry on Windows is anonymous unless opt-in (to various Insiders groups), and while it is more steps to opt-out that's because it is more granular, which is a strongly beneficial middle ground if you wish to pick and choose which telemetry you'd like to provide (so as to impact product decisions of products you trust).

macOS and iOS have as many in-box first, second, and third party apps in the out-of-box experience as Windows 10, have similar "advertisements" of suggested apps in the app store and search (Siri suggestions), areas which are similarly "core OS experience". Everything is far more alike than it is different between Apple's operating systems and Windows right now, even if you don't see it.

Microsoft does not _permit_ Home and Pro Windows users to opt-out of their telemetry. There is no supported way to do it, you need to either manually hack through the registry and task scheduler or use a third-party tool like Shutup10 to turn it off.
Pro has the same opt-out support as Enterprise today. Things that needed hacks to opt-out of have been fixed in the last few years with Windows 10 and have opt-out settings. (Each release has only tried to get better at telemetry options, because Microsoft actually is listening to the feedback and does seem to care about privacy.)

The telemetry that Home is not allowed to opt-out of are the same bits of telemetry that Windows did not allow opting out of nearly at all in versions of Windows 10 prior to 10. (Especially, Windows Error Reporting has been opt-in by default in Windows since XP.)

When I was a Mac user, everyone was using iTerm.
My primary work is iOS, I can tell you that at our shop most new people find iTerm and switch over pretty quickly.

Personally, I need my OhMyZSH config to make sense of all the git stuff I deal with.

All I wanted since Snow Leopard is improved stability and updated unix tools. Perhaps window snapping.
Mojave has been rock solid for me.

Early versions of OS/X were dire, I remember being able to consistently crash a machine just by unplugging a USB stick.

It would be nice if the unix tools were updated but you need to blame GPL 3 for that rather than Apple.

> but you need to blame GPL 3 for that rather than Apple

Do you? I am not trying to be snide here, but WSL seems to show that you can effectively include GPL3 userland in a proprietary system. WSL provides full interoperability with the native Windows system and NTFS filesystem on Windows 10. The next version will even include the Linux kernel.

If Microsoft can ship an experience as part of the OS that includes these applications in userland, why can Apple not?

That is an interesting point, I wonder who is wrong in their interpretation of the license.
And only if Windows would stop spying on me would I give this more than a passing glance.

How can I be expected to trust a computer/OS that I can't fully configure.

FFS, why didn't they also provide a binary download? I don't want to download it and build it...
Because it isn't ready for general consumption, yet.

Case in point: I compiled it quite easily and it crashes on launch. Not ready for widespread use, yet.

Maybe it only works on the Windows Insider builds right now. Or it did not like your GPU.

Hopefully it will also work on the Windows 10 LTSB builds when released.

Make sure you enable developer mode in the Windows Store settings, and then deploy the CascadiaPackage app (set as start-up project + F5 in VS, not sure off-hand how to do it from the command prompt.) That fixed it for me.
its interesting how long its taking for MS to do command-line well and linux to do the gui well. after decades you would think each could be considered a solved problem, at least given that they are solved by their respective OSes, yet there has not been the convergence you might expect
Happy to see it's not another Electron based terminal
(comment deleted)
transparency at last -- i hope its customizable
Great! Now if we could just switch the path separator over to /
Let's make that a setting and call it a day. Seems easy enough?
A bunch of early Microsoft folks were also Unix users and preferred using / as a directory separator but IBM insisted on using / for command-line switches, forcing use of \ as the separator.

This was a late-breaking change and for a few versions of DOS you could set SWITCHAR=- in CONFIG.SYS to get the Unix behavior. When set "dir /s C:\whatever" becomes "dir -s c:/whatever".

You can literally blame IBM for this divergence. Without them pitching a fit about it DOS/Windows would have had the same switch syntax and path separators as Unix.

You can type / and it works in Powershell.

I've been using Unix for 20 years, switch to pwsh 2 years ago, never typed backslash ever.

Powershell is considerably slower than cmd. Does that not bother you?
It starts under 1s without modules. That is enough fast and still infinitely distant feature-wise of cmd.exe. You can make it go over 1m+ if you have a lot of modules to load, particularly with method of writing modules where you put functions into separate files (and no SSD) and/or some specific cmdlets in the profile. It can even be worst then that in particular environment - for instance within VSCode some of my scripts can take several minutes loading (while being otherwise instant).

In other words, you can balance your environment for speed vs features.

I believe Pwsh will get considerably faster in the future given that optimizing it will pay out on nano server which currently boots faster then PowerShell is loaded in it afterwards (which rly sux).

It takes 1600ms to open a tab with my full large profile. Yes that's annoying.

bash requires scraping everything and is inherently brittle as a result, which has always bothered me much more.

Didn't that work since...I don't know, at least 90s?
If someone wants an app idea (which might now be possible since Windows Terminal is open source & DirectX based)...

I've been looking for a Windows replacement to Cathode [1], a macOS app that makes the terminal look like a CRT monitor. Not just the colour scheme & font, but with screen jitter, image persistence & glow, static, scanlines and even sound effects sampled from old computers. For the times I have to use a terminal, it really makes me smile & enjoy the work.

Linux has Cool Retro Term which is similar, and there have been efforts to port that to Windows that have failed. I could probably run Cool Retro Term under WSL2, but Windows deserves something native.

It seems more likely that an indie developer might be able to fork Terminal & create their own than Microsoft building this in. (As much as I like the idea of Windows having a Fruity IIe terminal theme built-in.)

Cathode charges $5 which is much too cheap - I'd pay $20 easily (maybe more) for something that brightens up my work day the way Cathode does.

[1] http://www.secretgeometry.com/apps/cathode/

This is great. I recently shifted to woking more with windows/WSL after much frustration with mac. However the terminal experience was not great. The electron based options where not fast enough, default WSL shell was comparably fast to iTerm but did not even have basic tabs. Microsoft is really doing a lot of good and exciting stuff nowadays.
Trying to build from it requires VS + 16GB of build tools... what in the world.
I think you can install msbuild + tools without VS. No doubt still pretty big though. More than I can be arsed with just for this purpose. Will have to wait for the release.
They really need to step up their VS-less developer tools (which mostly means packaging & documentation).
I haven't seen Alacritty mentioned yet as an existing alternative for built-in terminals. It's modern, configurable and really fast (thanks to GPU acceleration and possibly Rust). I've enjoyed using it with W10 native OpenSSH.

https://github.com/jwilm/alacritty

No tabs though (deliberately). You'll need to add a tabbing window manager to add them.
What tabbing Window managers are there for Windows? In terms of desktop replacements I only know Cairo (but that doesn't touch windows).
I think a truly cross-platform "tabbed" solution is Alacritty + tmux. I use iTerm with macOS for now, though.
Everyone who wants this but prefers not downloading 16 Gigabytes of Visual Studio to build this should have a look at Fluent Terminal [1], which can be installed through chocolatey and in my opinion even looks a little better (might not have all of the features, though).

I've been using it for a while and have been very happy with it and have for all that time wished that they would just adopt it as a default app. Oh look :-)

[1]: https://github.com/felixse/FluentTerminal

OMG did anybody look at that video?! It's like the marketing video for a new iphone. Never thought I'd see such a video for a terminal program!