
Windows gets a new terminal - MikusR
https://techcrunch.com/2019/05/06/windows-gets-a-new-terminal/
======
ChuckMcM
_“elevate the command-line user experience on Windows.”_

If I were an engineer in Apple's OSX group I would see this as the horde
amassing an army on the border. Bit by bit, Microsoft is going down the
checklist of why someone would use a Macbook pro rather than a Windows laptop
for their daily driver and erasing the advantage (or at least mitigating it to
the best of their ability).

This will never convert the die hard OSX fans to use Windows laptops, like the
OSX features could never convince die hard Windows users to use Macbook Pros,
but the real prize here is the large bulk of users who aren't die hard Apple
or Windows fans and just want to get their job done on one laptop reliably.

Apple's latest earnings report re-iterates that they aren't investing in the
Macbook Pro or OSX in any meaningful way. Microsoft's success with the Surface
Pro series against the Macbook Pro has shown that good electrical engineering
can be bought and if the software is good enough, it can remove the last
objections to the Windows laptops.

I see Linux as a big loser here too as the opportunity for a Linux desktop,
_for the bulk of the users_ , recedes further into the distance with two
capable, and _supported_ , offerings from larger players to choose from.

I've got one of everything it seems, and I had a Macbook Pro as my daily
driver starting at Google in 2006 through my exit from IBM at 2015. I bought a
SurfaceBook when they announced them for the drawing experience and laptop
that had more capability than my Macbook Pro. I then tag teamed between them
until I got the Surface Pro 4 with the same drawing experience, but lighter
than a Macbook Air and with WSL and a third party X server a decent Linux/UNIX
like development environment.

I still haven't replaced my Macbook from 2015 with the various things that
Apple has thrown out there, the keyboard issue, the track bar issue, the lack
of drawing, the lack of any compelling reason to upgrade. I still use it for
Xcode for the iPad app I am doing in my spare time but use it less and less.

The new terminal will make it easier to not use the Macbook. If Microsoft
starts bundling an Xserver for the occasional windows app it would make it
even easier to stay on their platform.

I can't tell if Apple sees this as a threat to their business, or just doesn't
care anymore about that part of the business and so they are willing to cede
it to Windows as the "portable" development environment supported by an
enterprise vendor.

~~~
jtr_47
I don't see this as a threat to any Unix like operating system. In my 20+
years in IT, Microsoft has had many years to perfect their command line
experience, but never did. They have a long way to go in terms of Unix like
features that are part of the command line ecosystem of Unix land.

When I can do this in windows (unix command line): cat somefile.txt | sort |
uniq > output.txt, then it'll become a threat. Otherwise, Microsoft should
fork a version of GNU/Linux and port all of their apps and GUI. They need to
stop trying, they had their chance but may never achieve equality when it
comes to the Windows Vs. Unix/GNU-Linux command line.

This is my opinion and observation.

Peace

~~~
com2kid
> cat somefile.txt | sort | uniq > output.txt,

in cmd.exe

type somefile.txt | sort /unique > output.txt

or in powershell

type file.txt | sort -unique

Powershell is obscenely powerful, it is equal to anything Bash can do plus:

1\. It sends objects instead of streams, so instead of relying on fixed width
output and string splitting, you can specify which column(s) of output you
want from a tool directly

2\. It can pull data from all sources of sources, including databases, WMI,
COM sources and more.

3\. Fully plugged into automation for servers, rich auto-complete, and a
native ecosystem that is designed to all work together.

4\. It can call into .NET libraries

But even cmd.exe can handle outputting text and sorting it!

~~~
novaleaf
my problem with powershell is that cmd.exe based workflows are not compatable,
and it's workflows are sufficiently different from bash/cmd to make me avoid
learning it. Why spend a few days learning pwsh if I can just use cmd now and
move on to my next task.

~~~
dublin
Because even though you _can_ do most things in cmd, it's just never been a
very good tool? CMD is a bad tool that we learned to use b/c we had no choice
(w/o loading an add-on scripting env of some kind). PowerShell has a learning
curve, and I've delayed learning it for many years, but now is the time to do
it, esp now that it's open-sourced and available on more and more Linux
distros...

------
chrisdfrey
From [https://venturebeat.com/2019/05/06/microsoft-windows-
termina...](https://venturebeat.com/2019/05/06/microsoft-windows-terminal-
wsl-2-coming-june/) :

"WSL 2 will also support running Linux Docker containers natively, so that VMs
are no longer required."

Great news!

~~~
madspindel
"Windows Subsystem for Linux 2 (WSL 2) is the next version of WSL and is based
on a Linux 4.19 kernel shipping in Windows"

Unfortunately the link
[https://aka.ms/build2019kernelannounce](https://aka.ms/build2019kernelannounce)
doesn't seem to work for me.

~~~
stefan_
Does that mean they are giving up on the syscall emulation thing?

The whole thing of WSL was it that contained no Linux kernel at all.

~~~
naikrovek
It means the opposite.

Today, Linux Docker containers on Windows rely on a VM running on Hyper-V.

Tomorrow (by which I mean "in the future," or "June 2019" or whatever the
announcement says) Linux Docker containers on Windows will run natively,
without the Linux VM crutch. I am assuming that it will use the emulated
syscalls the same way that WSL runs today.

~~~
temac
Not sure about that, except if their phrasing is astonishingly poor, which is
of course possible. I mean, in my book "Linux 4.19 kernel shipping in Windows"
means a Linux kernel shipping in Windows, and that would need Hyper-V (Linux
is trademarked btw, MS can't just pretend that they ship a Linux kernel if
they don't). At the same time, I really hope that this is not the case and
that it actually means that they are targeting a syscall compatibility with
Linux version 4.19; because I'm certainly not gonna give up my third party VMs
for some work, so if WSL is rebased on Hyper-V that means bye-bye WSL for me.

~~~
naikrovek
Rewriting WSL to suddenly require a VM would be a HUGE leap backwards and I
can't see that being the solution chosen. It doesn't make sense.

Adding the appropriate things to WSL to make Docker for Windows no longer
require the Moby VM, or to support Linux Docker within the WSL environment
without modification, is an approach that makes much more sense to me.

~~~
mattnewport
It appears that is what they have done though:
[https://devblogs.microsoft.com/commandline/shipping-a-
linux-...](https://devblogs.microsoft.com/commandline/shipping-a-linux-kernel-
with-windows/)

~~~
naikrovek
Show me where in that article it says that a VM is required. Am I interpreting
you incorrectly?

~~~
mattnewport
This article was linked from another article which I guess is where I saw the
VM info:

> _WSL 2 uses the latest and greatest in virtualization technology to run its
> Linux kernel inside of a lightweight utility virtual machine (VM). However,
> WSL 2 will NOT be a traditional VM experience._

[https://devblogs.microsoft.com/commandline/announcing-
wsl-2/](https://devblogs.microsoft.com/commandline/announcing-wsl-2/)

------
knd775
It is about time that Windows got a better console. As someone who regularly
jumps between macOS, Linux, and Windows, the current console is a uniquely
poor experience

~~~
briffle
Just making copy/paste work the way it does in EVERY other ms application
would exponentially increase the usability of the current command prompt.

~~~
zadjii
This is a hard problem for commandline applications unfortunately. Think about
pasting text with Ctrl+V. Lots of existing commandline applications bind
particular actions to Ctrl+V - should the terminal application always eat the
Ctrl+V keypress to handle pasting?

This is why we added support to optionally set Ctrl+Shift+V as the paste
keybinding in conhost.

Fortunately, the Windows Terminal doesn't have a lot of the legacy to maintain
like conhost does, so it'll support setting paste to whatever keybinging you
like :)

~~~
amyjess
I don't even care about Ctrl+V. I just want the ability to right-click on
selected text and bring up a menu with 'Copy', 'Paste', and maybe a few other
operations on it.

No Windows terminal I've ever seen has the ability to do this.

Edit: Note that I haven't used the new terminal yet, so if it supports an
actual right-click menu, than bravo!

~~~
zadjii
Oh, you want an actual right-click menu? I honestly don't think I've ever
heard that _specific_ request before.

Fortunately, the Windows Terminal doesn't have any existing back-compat we
have to support, so that's definitely a setting we can add to it :)

~~~
einr
_Oh, you want an actual right-click menu? I honestly don 't think I've ever
heard that _specific_ request before._

You have _never heard_ that people might want to use functionality that has
worked on all editable text in the entire rest of the operating system since
Windows 95?

~~~
zadjii
No, people have not specifically made that request to our team in the last 4
years we've owned the console. We get feature requests all the time, but I
certainly haven't heard this version before.

Feel free to file it over at
[https://github.com/Microsoft/Terminal](https://github.com/Microsoft/Terminal),
and we'll triage as appropriate

------
zadjii
Hey so I'm a developer on the Windows Console/Terminal team - I can answer any
questions people might have :)

~~~
snailmailman
My biggest issue with the windows terminal is my programs pausing without me
noticing. Took me forever to figure out disabling “quick edit” fixes this-
apparently programs just pause completely if you have text selected? Something
I keep managing to do on accident without noticing. There is almost no
indication, other than the fact my loading bar froze or my program appears to
be stuck.

Disabling quick edit helps, but now I can’t select text _at all_.

Is this behavior changed in the new terminal?

~~~
zadjii
Ironically, this is actually a behavior lots of developers _do_ want.

The new Terminal fortunately gives us much more flexibility for customizing
it's behavior with user settings, so we'll be able to support either pausing
output or not, depending on what the user prefers.

~~~
OJFord
Lots of people want to select text as a trigger to pause the foreground
process?

I'm not sure which side is misrepresented, but it sounds mad from the outside!

~~~
Doxin
Having your selection reset because another line got added to the log you're
tail-ing is maddening, having the output pause while you're selecting is
convenient --though it probably should have a timeout or some such.

~~~
OJFord
Ah - I scroll up to avoid that (and have my term set not to auto return to new
line).

------
zenlot
A bit off topic, but how does one use Windows 10 now without sacrificing on
speed / resources? Recently purchased Lenovo E480 and E585, they all come with
stock Windows 10, so before getting Linux in, I've tested it and it is
basically unusable: disk/cpu usage is constantly jumping between 80-95%, fans
are always turned on producing a lot of noise. Is this common to all laptops
with Windows or just Lenovo?

~~~
mceachen
It's Windows, but Lenovo bloatware doesn't help.

I've never really used Windows as a daily driver until I had to do cross-
platform development for PhotoStructure[1]. My windows box is a recent XPS 15
with an m.2 SSD and core i7. My Mac is a 10 year old 17" MBP. My linux box is
the cheapest core i5 I could get 2 years ago with an mSATA SSD (not m.2).

Here's this morning's CI job timings (running the same 2K tests that exercise
a reasonable mixture of CPU, process management, and disk I/O):

Windows 10 (XPS 15):

    
    
      2384 passing (2m)
      Done in 134.95s.
    

Mac (10 year old MBP on 10.11):

    
    
      2365 passing (2m)
      Done in 108.12s.
    

Ubuntu (i5, LTS 18.04):

    
    
      2365 passing (1m)
      Done in 74.16s.
    
    

I'd suggest backing up your HD, making a USB stick with OEM Windows 10, and
reinstalling just Windows (with no Lenovo bloatware):
[https://support.microsoft.com/en-
us/help/4000735/windows-10-...](https://support.microsoft.com/en-
us/help/4000735/windows-10-reinstall)

[1] [https://blog.photostructure.com/introducing-
photostructure/](https://blog.photostructure.com/introducing-photostructure/)

~~~
Goz3rr
Just saying i5 or i7 is kind of meaningless, because it can be anything
between a laptop dual core to a desktop octa core these days.

What's in the 19 additional tests Windows is running? Is the Linux box a
laptop as well? I'm personally having trouble believing the Core 2 Duo in your
MBP outperforms a modern i7, even after potential Windows overhead.

~~~
mceachen
> Just saying i5 or i7 is kind of meaningless

Yeah, agreed, but these are single-core tests and even the max clock speed of
intel chips doesn't seem to correlate exactly with performance. Here's more
CPU details, though:

My XPS 15 is HT 4-core Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz.

The MBP is [https://apple-history.com/mbp_17_mid_10](https://apple-
history.com/mbp_17_mid_10). HT dual-core i5 ("Arrandale") @ 2.53 GHz. It's
slow AF.

The ubuntu box is HT dual-core Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz

> What's in the 19 additional tests Windows is running?

The 19 additional tests are windows-specific path validation unit tests, and
take ~10ms total.

> Is the Linux box a laptop as well?

No, it's on a 3 year old cheapo mini ITX mobo.

> I'm personally having trouble believing

Me too. I've nuked and paved this box a couple times, thinking it was bad
interactions with cygwin or MSYS or minGW. CPU bound stuff (like ffmpeg
transcoding) is closer across windows and linux, but opening files and forking
processes on Windows is just hella slow (even on my desktop windows machines).

~~~
TickleSteve
If you're using Cygwin or Msys.... theres your problem. They're notoriously
slow emulations of posix syscalls that don't translate well to Windows.

Fork & fs operations, certainly.... nothing to do with Windows itself.

~~~
masklinn
> Fork & fs operations, certainly.... nothing to do with Windows itself.

Both of these operations are known to be very slow specifically in windows.
The former's the reason why windows has always strongly favored thread-based
concurrency (whereas unices tend to favor process-based concurrency)[0], the
latter is well know of NTFS, it deals especially badly with lots of small
files.

[0] even excluding making the entire thing blowing its gasket as Bruce Dawson
triggers with appalling regularity, in fact in one of his posts he
specifically notes in the introduction that windows is notorious for its slow
file and process operations:
[https://randomascii.wordpress.com/2018/10/15/making-
windows-...](https://randomascii.wordpress.com/2018/10/15/making-windows-
slower-part-2-process-creation/)

------
hota_mazi
I've been developing on both MacBook Pro's and Windows laptops for 15+ years
now, on a daily basis, and I can confidently say that Windows laptops are
superior to MacBook Pro's for development in every way.

Cost... well, not much to say there. You can get more powerful Windows laptops
for 2/3rd, sometimes half the price of what a MBP costs.

MBP's latest generation is a regression in keyboard and toolbar. Not just the
keys and their travel, but even simple things such as where the arrow keys are
located are a nightmare for me, even after two years of using a MBP on a daily
basis. And of course, there are no keypads in the Apple world, which I really
enjoy having to move around (page down/page up/line end/line
beginning/etc...).

Windows' many consoles and bash compatibility have caught up to MacOS. Even if
you don't use the bash subsystem, you can download a console today and use
bash + git + ssh in a matter of minutes. Even my dotfiles are now shared by
Windows and MacOS with no problems.

Connectors... oh boy. I have to carry a huge hub with my MBP at all times just
so I can connect my laptop to screens, or phones for charging or development,
or head phones, or...

I could go on and on. Bottom line is I always dread having to use my MBP these
days while I look forward to my Windows machine.

~~~
m_mueller
I've also switched but up to now Mac Terminal is still far superior to
anything I can find on Windows, including much touted 3rd party emulators like
cmder/conemu. Keybindings, scrolling, tabbing, drag and drop, copy/pasting and
colors just work incredibly well out of the box on Mac, even in Linux land I
don't know of a terminal emulator that good. I have high hopes in this new
windows terminal.

Other things that are still better on MacOS compared to Windows: Keybinding
consistency, system settings, PDF handling, system/app config system, backups
and restores, migration assistant, system search. Its file system is also
better for many small files. But still, for me the tradeoff is worth it
because I can't stand butterfly keyboards, they are _that_ bad.

~~~
OJFord
Really? In what regards?

Everyone I've ever seen using macOS doesn't use Terminal.app - iTerm is
popular, I use Alacritty.

What Linux term isn't faster, if nothing else, than Terminal.app?

~~~
m_mueller
See, speed was never my issue - terminal is plenty fast enough as I tend to
not output more than I can mentally process. What matters to me is consistency
of function and ease of use. And I pointed out pretty much all the reasons why
for me Terminal was best. I never tried anything else on MacOS because I
didn't have any need. Another thing I didn't mention is security - MacOS comes
with integrated Keychain out of the box. Even Linux servers are still annoying
in that regard with ssh-agent, as it doesn't unlock Keychain with SSO. On
Windows I just gave up and use password-less id files on an encrypted drive.

------
nixpulvis
The Alacritty terminal
([https://github.com/jwilm/alacritty/](https://github.com/jwilm/alacritty/))
project landed Windows support somewhat recently, and is now generally the
fastest, cross-platform terminal emulator out there. Written in Rust, and GPU
accelerated.

I'm not personally a heavy Windows user, but the advantage of a single
terminal on all systems is really huge to me.

The most notable feature listed in this article to me is that it too will have
"GPU-accelerated text rending".

~~~
zamadatix
Alacritty's claims of performance (latency or throughput) are somewhat
dubious. It'll be interesting to see the two compared.

The Windows port is still (naturally) rough around the edges. I think it'll
get smoothed out when they switch the backend to conpty though.

------
michaelbuckbee
This is really welcome news as getting a decent terminal has been a real
sticking point in my move from OS X to Windows. I settled on Terminus [1]
(defaulting into WSL) and that works ok, but still not to the level of OSX
Terminal or iTerm. Another option people seem to like is Hyper [2], but I had
mixed success and it felt sluggish.

1 - [https://eugeny.github.io/terminus/](https://eugeny.github.io/terminus/)

2 - [https://hyper.is/](https://hyper.is/)

~~~
hbosch
Have you tried cmder? [https://cmder.net/](https://cmder.net/)

Cmder works great for me because from Windows, my main use cases are 1) git
and 2) SSH into my linux server. I don't do almost anything local, besides
some web stuff. Cmder has helped me with that, when I'm not on my Mac.

~~~
mceachen
If you find cmder not to your liking, realize it's just a repackaging of
[https://conemu.github.io/](https://conemu.github.io/) and Clink with a nice
looking stylesheet. You might like vanilla ConEmu better (I did).

------
tootie
PowerShell has been more usable than Linux or OSX shells for quite a while. It
has tab completion for not just commands, but flags and arguments. And the
home and end keys work.

And every dev I know that has to deal with Windows still uses CMD instead.

~~~
eropple
PowerShell having _standardized_ tab completion of flags/arguments is really
nice, but it's worth noting that both bash and zsh support pluggable
completion. It's one's choice of tools, and the lack of completion therein,
that's the real sticking point. Home/end work on every machine I own, though I
know that some machines (some Macs, specifically) have issues unless they're
configured in the terminal emulator.

(I try to use PowerShell when on Windows. I genuinely like it--just kinda wish
it was a little easier to write-on-the-fly, it's very verbose and typey and
Tab is just far enough away to cause some wrist strain. ;) )

~~~
timvisee
Yet I still can't figure out where to put tab completion files for custom
binaries

~~~
eropple
You can't? I've never done it but I'm pretty sure I know this: in bash, you
can get it from pkg-config. If you aren't using pkg-config, you're kind of
swimming upstream in the first place, but CentOS and Fedora (the only distro I
use, but I think Ubuntu uses the same) look at /etc/bash_completion.d.

In zsh, it's just $FPATH. Your canonical location can also be gotten from pkg-
config.

This seems very googleable. Doubly so if you're doing the right thing
and...using pkg-config.

(Please use pkg-config. Thank you for coming to my TED talk.)

------
ktpsns
Slightly OT: The linked Techcrunch article has a header image
([https://techcrunch.com/wp-
content/uploads/2019/05/GettyImage...](https://techcrunch.com/wp-
content/uploads/2019/05/GettyImages-985008060.jpg?w=1390&crop=1)) which
exploits the ambiguity in the English word "terminal". This was probaly funny
for the writer, but is almost never a good idea, since the image makes no more
sense as soon as you switch languages.

Here is an even more weird example for non-native speakers: Having a piece of
wood as an icon for a log reader. "Log" in english also means a piece of wood.
This vocabulary is probably largely unknown by most non-native-level speakers,
so the icon creates only confusion. [Make a google image search for "log icon"
to see examples w/o context]

~~~
supercasio
> This was probaly funny for the writer, but is almost never a good idea,
> since the image makes no more sense as soon as you switch languages

He is writing in English why should he be preoccupied if it does not make
sense in other languages. There are many English expressions that have no
exact translations. Should writers avoid using these expressions too?

Also, as a curiosity, terminal has the same ambiguity in Brazilian Portuguese

------
nickjj
If anyone is curious what development is like on WSL v1 right now, it's
actually not bad at all, but the changes proposed look great with v2.

For example, right now (with v1) you can totally use a WSL terminal of choice
and run your dev environment using tmux and terminal Vim (running in WSL) and
have a fantastic experience. Then wire up Docker for Windows so that your
Docker CLI in WSL connects seamlessly to it. I've been doing this for quite
some time for full time development and it's rock solid.

Really looking for v2 with native Docker support and better I/O performance.

------
dazhbog
I switched from MacOS to Windows 10 recently and I have to say all my code and
deploy scripts worked exactly the same way in WSL.

Essentially I installed Dropbox and git, loaded the bashrc in WSL with some
aliases and after that, the workflow was exactly the same as it was on my
MacOS. Heck, even the node_modules synced from the Mac via Dropbox, so for
most things I didn't have to even re-install with npm.

The terminals right now in Win10 are crap (Cmder and the likes are not bad,
but nowhere near iterm2 and the Linux options) so Microsoft is really stepping
up their game here.

~~~
majkinetor
Conemu is awesome terminal, its like tmux but supports GUI too (not that I use
it). Cmder uses it so you must know it.

Don't miss linux terminals really with it, any of them.

------
petters
This is great! The article mentions a preview; where is that? In the store?

~~~
zadjii
Stay tuned - It'll be in the Store soon(tm)

~~~
petters
Great! Should I watch the blog for the announcement?

~~~
zadjii
Yea, that'll probably be where we announce when we do ship the first versions.

I'd also pay attention to Rajesh Jha's keynote later today, when the Windows
Terminal is officially announced. I think that'll have even more information
you'll find relevant.

~~~
zadjii
The big annouce I mentioned above is that the source code is available open-
source, at
[https://github.com/Microsoft/Terminal](https://github.com/Microsoft/Terminal)

If you'd like to skip ahead before real previews are available, you could
always compile from source :)

------
mey
Blog from this team
[https://devblogs.microsoft.com/commandline/](https://devblogs.microsoft.com/commandline/)

This one covers the under the hood work that needed to be done
[https://devblogs.microsoft.com/commandline/windows-
command-l...](https://devblogs.microsoft.com/commandline/windows-command-line-
introducing-the-windows-pseudo-console-conpty/)

------
fivesixzero
There have been some good quality of life enhancements over the last few
years[1] but this looks like it’ll be a big step in the huge shift required in
the ancient “console” subsystem.

I still miss iTerm2 immensely after moving from an all-macOS dev group to an
all-Windows group. Hoping this will help me feel less homesick.

[1]
[https://devblogs.microsoft.com/commandline/](https://devblogs.microsoft.com/commandline/)

~~~
zadjii
Haha, the day our PM Rich started on our team 3 years ago, he brought with him
an entire presentation of ITerm2 features he wanted in the console. Thankfully
now, we're finally getting to them!

------
cannonedhamster
It's nice to see them improving Windows. It's actually making useful
contributions to my workflow. If they could tie in the Windows subsystem for
linux it would be very nice. This seems to be Microsft looking at the software
people are using and making native clones that are better integrated into the
OS. I use ConEmu for this currently and this upgrade seems very similar.

~~~
lsaferite
> Indeed, it seems like the Terminal will essentially become the default
> environment for PowerShell, Command Prompt and Windows Subsystem for Linux
> users going forward.

From the second paragraph of the article.

------
m0zg
Microsoft, just take iTerm2 on macOS, and do the exact same thing. Splits,
tabs, everything. And then use that for WSL as well. Here, you can fire your
PMs, I told you exactly what you need to do.

~~~
jasonvorhe
You haven't even used their Terminal. How presumptuous to assume that iTerm2
will be better and that just copying it would work out.

iTerm2 is okay for people who want to customize their tools, but in terms of
usability and performance, Terminal.app is a much better option.

~~~
m0zg
This is Microsoft, so out of the gate the right assumption to make is that it
will be much worse than iTerm2 which has matured to a very polished state over
the past decade.

------
pizza
The terminal appears to be here, btw:
[https://github.com/Microsoft/Terminal](https://github.com/Microsoft/Terminal)

------
apetresc
Has the video of the Build talk been posted yet? I know it's only been a few
hours, but I don't even know where to look to check. (YouTube? The Build site?
Channel9?)

------
ankitbko
An official packag is not available but if someone needs to give it a try
without going through pain of building it themselves, heres the link -
[https://www.reddit.com/r/programming/comments/bltm2e/the_new...](https://www.reddit.com/r/programming/comments/bltm2e/the_new_windows_terminal_youtube_promo/emrljnz/?utm_medium=android_app&utm_source=share)

------
namelosw
Microsoft is really changing fast, it seems.

In developers experience perspective, this is really a good start.

It's really painful to work with Windows+.Net stack currently. For example,
most of the windows menus don't let you search for an entry, like searching
for a table among hundreds in SQL server management studio, or just find an
entry in group policy, etc. Or just copy pasting with PowerShell. Tools other
than Visual Studio looks super blurred on high DPI screen.

~~~
majkinetor
> most of the windows menus don't let you search for an entry,

This has nothing to do with MS. I am surprised you mentioned this since it is
the norm that apps do not have this on all mainstream OS'es. I hate it too,
but that is how it is almost everywhere. That is one of the MAIN reasons I
prefer Visual Studio Code - CTRL + P and type anything in the menu item name
to get the fuzzy search (plus that item is now first on the CTRL+P list next
time). Vim has this too, via plugins tho.

> Like searching for a table among hundreds in SQL server management studio

Yeah, the same thing. I recommend dbeaver which, again, has fuzzy search on
table names.

Windows+.NET stack is how you make it, the fact that people use MS stack
mostly is not MS fault. I personally know .NET project manager and he doesn't
use "the stack" but Vim and friends.

------
tapanjk
> because everything these days needs to support emojis

Not the onion.

~~~
iamcurious
Everything but hackernews it seems.

~~~
oblio
HN doesn't? Are you sure? Let me test:

Edit: Snap, it ate my thinking emoji :-(

On a more serious note, I'm not sure we're losing much by not having them. I
kind of resort to smileys, anyway.

~~~
zadjii
As much as you and I don't care for emoji, there's a non-zero population of
developers that _do_ use emoji on a daily basis. In fact, it's one of our top
5 most requested features on our UserVoice page.

I certainly don't care for them in my terminal output, but I live to serve :P

------
JoelMcCracken
Don’t get me wrong, I am very anti MS. But this is probably the only feature I
have heard of that I remember being remotely excited about.

------
feihcsim
unrelated but i couldnt help but notice - is that screencap
([https://techcrunch.com/wp-content/uploads/2019/05/Screen-
Sho...](https://techcrunch.com/wp-content/uploads/2019/05/Screen-
Shot-2019-05-03-at-5.58.24-PM.png)) using the Windows Sets feature?

~~~
zadjii
Nope! The new Terminal supports tabs, all by itself :)

------
majkinetor
Too bad microsoft didn't fix UAC yet to be more like sudo.

UAC is serious BS, designers should be ashamed. Make sudo please.

~~~
zadjii
Actually we spent MONTHS debating the pros and cons of adding a sudo on
Windows.

Curiously, Windows is more secure than linux because it _doesn't_ have a sudo.

In Windows, any application can set messages to another window at the same
integrity level with SendMessage/PostMessage.

If you had a `sudo` on windows, you could have a medium-IL terminal window
which is talking to a high-IL process (running with the hypothetical sudo),
and any other medium-il process could drive the console, effectively creating
an escalation of privilege attack vector.

Its very much by design.

~~~
majkinetor
There are solutions to that, like IPC with some systemic "sudo server".

> Curiously, Windows is more secure than linux because it _doesn't_ have a
> sudo.

Seriously, even if so, and I really much doubt it couldn't be fixed, its case
where too much security is bad for your choices. Majority of Windows devs
disable UAC, honestly. Like, almost all of them ? Because its unusable and
that Windows sudoers file variant named compatibility something something is
just unusable too.

I keep telling my 100+ IT guys (mostly devs), do not disable UAC, its good to
know that something requires elevation (even tho it sucks but there are
bearable powershell sudo scripts) and you will certainly have to make it on
the build server later anyway. But they hate it with passion. I learned to
accept the terror.

There are horde of people asking questions on how to disable startup UAC
screen for many tools (one example: everything search engine). What I do now
is use task scheduler (like many others) to overcome it.

------
Damogran6
Because soon your password must include Uppercase, Lowercase, a number, a
symbol, and two emoji.

------
jackfoxy
The full announcement from Microsoft
[https://devblogs.microsoft.com/commandline/introducing-
windo...](https://devblogs.microsoft.com/commandline/introducing-windows-
terminal/)

------
arestifo
Does anybody know the name of the font they are using in the new terminal?
Looks sweet

~~~
zadjii
_a font has no name_ :P

We actually haven't named the font yet, it's also still in prodution

~~~
arestifo
Do you plan to open source it eventually?

------
syn0byte
unaffiliated plug for mintty

[https://mintty.github.io/](https://mintty.github.io/)

Also; Cygwin, XWin and a real copy of XTerm/Gnome-Terminal/etc can give you
the entire capabilities of a native terminal. Including weird hacks like w3m's
image previews.

[https://blog.z3bra.org/2014/01/images-in-
terminal.html](https://blog.z3bra.org/2014/01/images-in-terminal.html)

The "downside" is native windows console apps will have a bad time with these
terminal emulators.

------
mtw
The public repo is here
[https://github.com/microsoft/terminal](https://github.com/microsoft/terminal)
for those who want to try

------
wnevets
Maybe I'll finally stop using git bash/mintty for everything

------
jackewiehose
Thanks to cygwin I have a great terminal (bash mintty) for years.

Why is cygwin so unpopular?

I know, sometimes it's too slow but besides that I don't understand the
aversion I encountered.

~~~
Someone1234
> Why is cygwin so unpopular?

It is a very leaky abstraction. Instead of just running Linux on Windows, they
instead opted to half-compile binaries and then require a bunch of Windows
specific configuration changes as a direct result.

The whole goal of Cygwin is where the problem starts: It is a POSIX layer for
Windows that happens to reproduce Linux APIs. So now you aren't using it like
Linux, or Windows, since it is neither and it is both.

Devil's advocate: Cygwin made a lot of sense with less powerful hardware since
it is more efficient. But with the benefit of 2019 hardware there's no need to
settle, and instead you can just run a full Linux kernel alongside Windows and
get "good enough" results to be productive.

~~~
jackewiehose
Half-recompiled binaries? They don't compile from source?

> It is a POSIX layer for Windows that happens to reproduce Linux APIs. So now
> you aren't using it like Linux, or Windows, since it is neither and it is
> both.

I don't know what you mean by "using it like linux or windows". The reason I'm
using cygwin is that I can use windows-desktop (rudimentary) like I use linux-
desktop. With a lot of GNU-Tools and a proper terminal emulator.

~~~
Someone1234
Cygwin executables are compiled to Windows binary (PE) format but target POSIX
and UNIX kernel APIs. In other words they're half Windows and half UNIX, and
can run on neither natively.

That means configuration files and some tools need to specifically target
Cygwin and often source code needs specific changes/patches/flags to be
compiled into Cygwin's compatible format.

Nobody said Cygwin didn't work. I am just explaining to you why it is
unpopular and why it is a leaky abstraction.

~~~
jackewiehose
> Cygwin executables are compiled to Windows binary (PE) format but target
> POSIX and UNIX kernel APIs. In other words they're half Windows and half
> UNIX, and can run on neither natively.

I don't think those are the right words. It's compiled to native windows
binaries so it runs natively. The difference (I know of) between a "normal"
Windows-EXE file and one from cygwin is, the latter is linked to cygwin.dll.

------
basetop
If you have to use windows, I'd suggest ConEmu.

------
RMPR
What will happen to cmd and powershell then ?

~~~
dragonwriter
This is a replacement for conhost which is a level down from cmd/ps, which
will still be used on top of it

~~~
zadjii
This is the correct answer.

Whatever shell you want to use, you can still use just the same in the new
Terminal

------
emehrkay
Proper copy and paste?

~~~
oblio
It has supported that for a while: [https://www.laptopmag.com/articles/how-to-
windows-10-command...](https://www.laptopmag.com/articles/how-to-
windows-10-command-prompt-copy)

~~~
emehrkay
This is good to know. I would have never figured this out or thought that it
was an option

------
max76
Is anyone getting deja vu with the powershell announcement?

~~~
pfranz
PowerShell is a huge step forward compared to Cmd.exe. I wouldn't mind another
step forward even if that means there are now three binaries. What's your
concern? The only one I see is that people still seem to mostly use Cmd.exe,
but I feel like a lot of that is the execution behavior of PS1 files (in
addition to familiarity and compatibility).

~~~
zadjii
Fortunately you'll be able to use the new Terminal with whatever shell you
like - cmd.exe, Powershell, Powershell Core, or WSL (and whatever linux shell
you prefer)>

------
salutonmundo
_First thought_ : maybe this one will be semi-usable?

------
781
There is a picture showing color theming:

[https://46c4ts1tskv22sdav81j9c69-wpengine.netdna-
ssl.com/wp-...](https://46c4ts1tskv22sdav81j9c69-wpengine.netdna-ssl.com/wp-
content/uploads/prod/sites/3/2019/05/e49e64b0984af8dd8cb4ca45eaeb4e8a.png)

------
mtw
I don't get it, does it support Unix commands as well as traditional Windows
line commands in the same tab? Is there a description or product
specifications?

~~~
fivesixzero
This is related to the underlying console/terminal system in Windows 10, which
should be shell agnostic. The same infrastructure is used by PowerShell, the
Windows command prompt, and WSL for instance - all are just different shells
that use their own implementations of the console subsystem.

~~~
mtw
Hmm I was not asking what this is, I was asking what they do specifically now?
where's the official announcement?

~~~
zadjii
The official announcement is coming later today in Rajesh Jha's keynote. It
seems the media embargo ended before the keynote happened ¯\\_(ツ)_/¯

------
bassman9000
_The new terminal will feature faster GPU-accelerated text rending and “emoji-
rich” fonts, because everything these days needs to support emojis, and those
will sure help lighten up the command-line user experience._

Wat

~~~
zadjii
As much as you and I don't care for emoji, there's a non-zero population of
developers that _do_ use emoji on a daily basis. In fact, it's one of our top
5 most requested features on our UserVoice page.

------
Theodores
Does this fall under the category of:

Those who do not understand UNIX are condemned to reinvent it, poorly. --
Henry Spencer, programmer

I look forward to the day Windows is a wrapper around a linux sub-system. The
convergence is what I hope for.

~~~
zadjii
I wouldn't say so. I'd say that we understand well that the original Windows
Console was sub-par, and we're working hard to provide solid enhancements to
it, without breaking existing Windows commandline applications.

You are familiar with the Windows Subsystem for Linux, right? It's really
quite good for running linux tools on Windows, and they have other big
announcements at the conference today.

~~~
apetresc
I sure hope GPU access for things like OpenCL/CUDA are on that list :)

------
mixmastamyk
Interesting, I once tried to promote the idea of a new terminal system/app for
Windows, but their devs poo-poo'd it on github. Ya know with DirectX and
(modern) Unicode front and center. One that bypasses the obsolete design
decisions made in the original console, in favor of the Unix design.

Instead they had been shoehorning stuff into the old one, which has been
making old legacy users angry due to regressions.

So, what does this announcement mean? They have changed course? Or is it more
lipstick on a pig?

~~~
MagicPropmaker
This is a major internal architecture change. It simply wasn’t possible to
write a proper console before. That’s why you weren’t met with enthusiasm for
your idea.

~~~
nnq
> a major internal architecture change. It simply wasn’t possible to write a
> proper console before.

Really curious _why_ this would be so. On Linux there's dozen's of
terminals/consoles. On MacOS quite a few too.

Why would the GUI (which _was_ the biggest pain point) has to have anything to
do with the terminal functionality, except maybe a few keybindings maybe being
impossible to implement. There were 3rd party console alternatives since like
~2000 - only they all had horrible UI/X (but still better than the original
one), but Microsoft could simply have adopted one of them, normalized it's
weird quirks to follow sane conventions, and baked it in as Windows default.

 _I never understood Microsoft 's attitude of "mushing" these and other things
together needlessly._

As a Mac & Linux user now, I can only applaud the idea of keeping things
separate at all levels. Desktop environment separate from os separate from
shells separate from terminal apps etc.. Heck, you often even have the GUIs as
separate applications from the main one in Linux land. Never going back to
Windows! Dis-integration ftw!

~~~
mixmastamyk
It's part backwards-compatibility (historically very important at MS), and
part politics (Ballmer-era shortsightedness).

Anyway, there is a great series on the technical aspects:
[https://blogs.msdn.microsoft.com/commandline/2018/06/20/wind...](https://blogs.msdn.microsoft.com/commandline/2018/06/20/windows-
command-line-backgrounder/)

~~~
nnq
Yeah, I guess the `backwards-compatibility (historically very important at
MS)` thing is the root cause for most of the things I _violently dislike_
about the MS platform...

But I get the biz reasoning behind it... dropping backwards-compatibility
would mean embracing the fact that software is made to be perpetually re-
compiled, modified, re-written. And in an ecosystem embracing these values,
closed-source software is automatically at a disadvantage vs. even slightly-
worse-but-open-source alternatives.

I find it funny that we care so much about backwards-compatibility in
_software_ , but we completely ignore any semblance of it in _hardware_ ,
where it could actually make a difference w.r.t. climate-change, toxic-
chemical pollutions, preventing planned obsolescence etc. :) I mean, if there
is any area where actively encouraging "planned obsolescence" in the form of
less backwards-compatibility would be _good_ , it would be in software.

Anyway, this is getting offtopic, but just wanted to say that different value
systems produce different technologies... even something as boring as a
terminal.

~~~
MagicPropmaker
Intel cares deeply about backwards compatibility in hardware and it's worked
well for them.

And of course, Microsoft is currently the most valuable company.

------
LeicaLatte
Good step 0 from Microsoft. Now the community has to bring out a homebrew
equivalent and then maybe I will consider moving to Windows.

~~~
mikepurvis
[https://scoop.sh/](https://scoop.sh/)

[https://chocolatey.org/](https://chocolatey.org/)

~~~
CivBase
Can anyone speak to their experience with either of these? I used choco a few
years ago, but eventually gave up because there was very little official
support by the developers of most of the packages and choco package updates
usually lagged behind official releases. I see choco more often now, though.
Have things improved?

~~~
Sujan
I use scoop on my current installation, it works well enough.

Autoupdates of e.g. Firefox will mess with version numbers a lot. Many apps
can't handle being run from a shortcut to a `current` folder that symlinks to
a version folder, which means if you want to pin any of those to your task bar
you will have to update that shortcut with every update.

------
diebir
I think in the US for the most part nobody cares much about Windows anymore.
For the consumer Apple simply provides a better experience, for developers the
Windows is in the past. Microsoft products are essentially the budget option,
AKA "poor people use it". It could be different in other parts of the world
where the "budget" part is essential. At my last 2 jobs (7+ years) I did not
use or see any Windows machines around. Not even sure what it looks like these
days anymore.

~~~
zadjii
[http://gs.statcounter.com/os-market-share/desktop/united-
sta...](http://gs.statcounter.com/os-market-share/desktop/united-states-of-
america)

Seems to suggest that ~70% of the US still uses Windows as their primary
desktop environment, so you might have a very particular selection bias.

