Microsoft To Make Windows Terminal the Default Windows 11 Command Line Experience (theverge.com) 113
Microsoft is planning to make its Windows Terminal the default command line experience in Windows 11 next year. From a report: While Windows 11 currently supports setting Windows Terminal as default, the default terminal emulator has always been the Windows Console Host. Microsoft hasn't ever officially supported replacing this console host, meaning that command prompt and PowerShell always open in Windows Console Host. "Over the course of 2022, we are planning to make Windows Terminal the default experience on Windows 11 devices," explains Kayla Cinnamon, a program manager for Windows Terminal at Microsoft. "We will start with the Windows Insider Program and start moving through rings until we reach everyone on Windows 11."
I don't hate Windows Terminal (Score:3)
Don't be hating on notepad! (Score:2)
Most recent update aside, I find when I'm restarting my system, notepad is almost always the app that prevents shutdown. It clearly has pervasive use cases for me, even though I have Notepad++ installed.
Re: (Score:1)
Notepad, notepad++, pspad.
On a Unix it's a screen with many many many nvi instances. That works. On windows I need three different programs and none, individually nor collectively, do the job as well.
I don't know about "windows terminal" so I can't comment on its "experience" except that I hate that terminology. The 'web getting infested by "user experience engineers" didn't improve anything, on the contrary.
cmd.exe wasn't the first, though. command.com was a different "experience" when windowed, IIRC.
O
Re: Don't be hating on notepad! (Score:2)
Get a faster computer. ANSI text coloring is incredibly useful.
I just started using ansicon in DOS boxes a couple of years ago after dealing with monochrome text for 20 years prior. Almost nothing actually uses color but when it does, it's a massive advantage.
Let's play a word game (Score:2)
"windows terminal" - people with knowledge and a higher than average IQ
"experience" - Lowest common denominator window licking idiots.
These two terms don't go together.
Re: (Score:2)
On dos I most never used it. 4dos (on DR-dos, thanks) was what I used most. Others may recognise its rebranding as ndos better. I don't think microsoft ever managed to get close to that. In all those years.
Still exists as TCC, formerly 4NT. And yes, it's still better than anything Microsoft ships even though it's over thirty years old.
Re: (Score:2)
Re: (Score:1)
I'm pretty sure that "notepad is almost always the app that prevents shutdown" is supposed to be a plus in this scenario.
Absolutely correct. (Score:3)
I like Notepad++ just fine... except that when I launch I'm presented with the fleeting ghosts of moments past.
With notepad I'm forced to either deal with it or let it go forever. I appreciate that.
Re: (Score:2)
If you are referring to the default behavior of Notepad++ where it reopens files when the application is launched, this can be toggled off in the application settings. I, too, don't like this feature.
Re: Don't be hating on notepad! (Score:2)
Google for notepad replacer. It'll force windows to use notepad++ always.
Made by binary fortress, the really good dual monitor app which name escapes me.
Sorry I'm on my phone, so no links
Re: (Score:2)
Yes, a very mild positive. And it only took them about 30 years.
Re: (Score:2)
People never got the thing about Notepad. Notepad is MEANT to be barebones. It's not even a program: its a wrap for the native edit control, that it's meant to work even when the system is f**** up. There are other editors available from everywhere for bells and whistles. Even WordPad is included with all its overblow. Notepad is NOT meant to have anything else than what it has. People trying to use Notepad as the next WordStar are just...stupid.
Microsoft screws with stuff for the sake of screwi (Score:4, Insightful)
For example, the PowerShell scripting language is only marginally better than DOS. It's like the worst of Perl, Ruby, and JavaScript had a drunk love child. Why not just extend DOS rather than throw it out and start over with something hardly better? Don't replace something unless the replacement is truly and clearly better, not marginally better. Otherwise we are throwing out our existing tool knowledge and files for no good reason. If you can't find something truly better, then enhance the existing tool/language instead. I can go on about other MS gizmos that did this.
Change it for real progress, not change for change's sake.
(They could also have improved the C# OS api's and IDE for higher-end OS scripting and leave DOS for quick and dirty jobs. C# is a far better language than PowerShell Script.)
Re: (Score:2, Insightful)
Crunchy DOS
cmd.exe interacts with the user through a command-line interface. On Windows, this interface is implemented through the Win32 console. cmd.exe may take advantage of features available to native programs of its own platform.
Windows 11 Terminal
https://devblogs.microsoft.com/commandline/windows-terminal-preview-1-12-release/
By blowing away some legacy support a quantum leap of usablity features can be included. For 99.9% of users the color coding and
Your saying why change the fi
Re: (Score:2)
Re: (Score:2)
Yes, Windows terminal has nothing to do with CMD.exe, other than it is one of the possible interpreters you can run inside of it.
Re: (Score:2)
Oh come on. I assume by "DOS" you mean batch files? Powershell is far from perfect, but its a *vast* improvement over DOS batch files.
Re:Microsoft screws with stuff for the sake of scr (Score:4, Insightful)
I could never get friends with PS. It has bad discoveribility. The command line switches are long and the arguments are cryptic. The output is an excel table where all the important fields are usually hidden.
Re: (Score:2)
I could never get friends with PS. It has bad discoveribility. The command line switches are long and the arguments are cryptic. The output is an excel table where all the important fields are usually hidden.
I agree... however PS was a hell of a lot better than DOS by a long margin despite all of it's many flaws.
Hopefully MS has continued to improve it's CLIs given how many of it's products (and other people's products) are now reliant on it. MS can do things right occasionally like intelisense for SQL, PowershellISE has a kind of intelisense for PS, but like everything else it doesn't work quite right.
Re:Microsoft screws with stuff for the sake of scr (Score:5, Informative)
> It has bad discoveribility. The command line switches are long and the arguments are cryptic. The output is an excel table where all the important fields are usually hidden.
Discoverability: Powershell has *eminent* discoverability. Want to list all available commands? do 'get-command' or (short form alias) 'gcm'. Cannot quite remember the command know that it has something to do with "net"? do 'gcm *net*'. Want help with a command? do 'help gcm' or 'gcm -?'.
Long command line switches: Any switch can be shortened as long as it is unambiguous. The 'ls' command (alias for get-childitem) accepts an '-Exclude' switch. Want to list anything but .ps1 files? do 'ls -e *.ps1'
Table output: Only some types are formatted as tables. Contrary to bash and other *sh, Powershell separates formatting from the output of the command. Which means that *you* control the output. See, in Powershell the cmdlets do only one thing and they do it well. In other words, a command does not *both* retrieve the data/objects *and* format them. In powershell one command retrieves the objects, and another formats them.
Re: (Score:2)
Discoverability: Powershell has *eminent* discoverability. Want to list all available commands? do 'get-command' or (short form alias) 'gcm'. Cannot quite remember the command know that it has something to do with "net"? do 'gcm *net*'. Want help with a command? do 'help gcm' or 'gcm -?'.
Is it at least comparable to something like Fish shell, which had existed for many years? It doesn't seem to me that you can run these help-obtaining commands in the middle of editing the command you want to get a help with, unless you do it from a different terminal. With Fish shell's completions, this for example is not a problem.
The 'ls' command (alias for get-childitem)
Yes, that's very intuitive to me. I'm sure it's very intuitive to many others as well.
Re: (Score:2)
Is it at least comparable to something like Fish shell, which had existed for many years? It doesn't seem to me that you can run these help-obtaining commands in the middle of editing the command you want to get a help with, unless you do it from a different terminal. With Fish shell's completions, this for example is not a problem.
In addition to the ability to list and get documentation for commands, Powershell supports tab-completions of both commands and switches. Because powershell commands carry meta-information about parameters within them, the shell can interrogate any command for its variations and command line switches and use it for tab completion.
Powershell commands (called cmdlets) are constructed so that they instruct the *shell* about which parameters are supported (and their types). It is *the shell* that does the parsi
Re: (Score:2)
Re: (Score:2)
So what am I doing wrong that I only get one completion at a time in Powershell and not a list?
It really depends on the shell host (Powershell separates the runtime and the host. The host may be a simple CLI or a language server within vscode or emacs). Powershell ISE, for instance, will list all available options in a dropdown list.
But in the standard shell, TAB completes a single command, parameter name or parameter value at a time and `ctrl-space` lists available completions and lets you choose which one to complete.
Re: (Score:2)
and `ctrl-space` lists available completions and lets you choose which one to complete.
Aaaaah, THAT is what I needed to know! But whether I'd call this fact "discoverable"...I don't know. Also, I got this after typing <l> <s> <Space> <Ctrl>+<Space> <y>:
Oops, something went wrong. Please report this bug with the details below.
Report on GitHub: https://github.com/lzybkr/PSRe... [github.com]
Last 5 Keys:
l s Space Ctrl+Space y
Exception: System.ArgumentOutOfRange Exception: The value must be greater than or equal to zero and less than the console's buffer size in th
Re: (Score:2)
If you want to auto-complete parameters, then type a dash *before* hitting ctrl+space. That way the powershell host will know that you are only interested in parameter names.
I don't know what type of host process you are running powershell in. It seems that it may have to little buffer space for displaying a large completion list. It works fine in Windows Terminal, ISE or VSCode.
Re: (Score:2)
More information:
It appears that you have indeed run into a current issue: https://github.com/PowerShell/... [github.com]
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
See, in Powershell the cmdlets do only one thing and they do it well. In other words, a command does not *both* retrieve the data/objects *and* format them. In powershell one command retrieves the objects, and another formats them.
Which sounds great until you try it, and find yourself always writing a novel in PS to replicate what would be a haiku in bash.
Re: (Score:2)
Which sounds great until you try it, and find yourself always writing a novel in PS to replicate what would be a haiku in bash.
Want to provide an example?
Re: (Score:2)
If you treat powershell as being more of a programming language (think python) than just a scripting language, then it becomes a lot more useful. I pretty much exclusively use .Net calls with powershell, rarely ever using cmdlets because their performance is usually bad, and you can do basically anything with .Net. The syntax gets wonky in some situations, like calling a generic method:
https://stackoverflow.com/ques... [stackoverflow.com]
Or trying to use closures (aka lambda functions):
https://stackoverflow.com/ques... [stackoverflow.com]
But othe
Re:Microsoft screws with stuff for the sake of scr (Score:5, Insightful)
Excuse me. I programmed a lot of Perl. Powershell does not feel like perl to me, but maybe i am using it wrong.
I programmed a lot of languages and powershell is really good for its purpose.
Re: (Score:2)
Re: (Score:2)
yes, it's feeling more pythonish than perlish
Re: (Score:2)
Well, Python sucks as a command line shell. PowerShell is supposed to do both scripting and be a shell. Consider bash or Korn shell; they are great command line shells, and the scripting is good enough for complex scripting as necessary. Yes, they're not as good at scripting as Python ir Perl or Ruby, but that's where you can use bash+python, bash+perl, etc.
Re: Microsoft screws with stuff for the sake of sc (Score:2)
Re: (Score:3)
Yup, Python and Perl simplified a lot of sh+awk+sed scripts into a single file. However for off-the-cuff scripting at the command line, the sh family can't be beat. Avoid csh like the plague for scripting though, it's got some strange rules and has turned some people into lifelong opponents of shell scripting.
Re: Microsoft screws with stuff for the sake of s (Score:2)
Re: (Score:2)
Yes, it was default login shell a lot, because the original Bourne sh was pretty bare as a command line shell. But if you're putting "#!/bin/csh" at the start of a script then one is in for a lot of hurt. Bash cleaned this up with the niceness of csh with the sane scripting of Bourne shell. The Korn ksh shell also tried to combine the two.
Re: (Score:2)
csh was the default in SunOS 4. In SunOS 5 it was ksh, but later became bash. I can't remember what SCO defaulted to, I want to say sh in Xenix and ksh in Unix but I may be misremembering.
Re: (Score:2)
Bourne shell was basically the original. Csh was BSD's response to Bourne shell's limitations. So if a UNIXen was more AT&T then you got /bin/sh, and if you were lucky they tagged on csh as an option. If your UNIXen was BSD based, you probably got csh, but you still used sh for scripting. Then AT&T finally answered the csh challenge with ksh, but it was proprietry, so you didn't get it unless your Unix was an AT&T version. What happened next was zsh and bash to fix that. Now csh is pretty much
Re: (Score:2)
The default on SunOS at was csh as I recall. It was sh on at least early versions of Solaris, and well here is a reference from the Solaris Advanced User guide from 2010 to back that up.
https://docs.oracle.com/cd/E19... [oracle.com]
Commercial Unixes have always in my experience had god dam awful default shells. If I can't use the up arrow key to get the last command prompt and there is no tab completion it is not fit to be a default shell IMHO
Re: Microsoft screws with stuff for the sake of s (Score:2)
Re: (Score:2)
Bash does have dictionaries...
declare -A animals
animals=( [moo]=cow [woof]=dog)
echo ${animals[moo]}
cow
Re: Microsoft screws with stuff for the sake of s (Score:3)
Apple has convinced probably millions of developers that bash sucks by giving them a version that's like a decade out of date.
Re: (Score:2)
I've done both, and I can't stress enough just how shitty perl is.
Re: Perl (Score:2)
PHP is a better CLI scripting language than Perl. Or Python for that matter.
Re: Perl (Score:2)
No. Any language that you have to escape to not simply echo your code is a terrible CLI language.
PHP is good at templates. That's it.
Re: (Score:1)
> I programmed a lot of Perl. Powershell does not feel like perl to me,
I said the "worst of", not all of.
> I programmed a lot of languages and powershell is really good for its purpose.
Example?
Re: (Score:2)
Totally agree, don't adjust it if it isn't broken. But they have to continually change everything because they think customers won't think their products are new shiny and cool if they don't look different every two years, when in fact customers just want things to stop changing so that they can use them. Could you imagine if every time you went to your garage or tools were in different spots? Because every Microsoft software engineer has a garage like that
Re: (Score:1)
So in this case I've been using windows terminal for the past year or so, and honestly my biggest gripe is it is not supported on windows server. The article fails to also list other quality of life features:
1. Finally have a tabbed UX for multiple console windows
2. You can also define additional console types (for instance I can bring up new tabs for powershell 6, powershell 7, WSL console, standard cmd shell etc)
3. Finally has non broken copy/paste
4. Syntax Highlighting
I won't argue the fact that many of
Re: (Score:3)
You're not supposed to run a graphical terminal on a server, you're supposed to run it on a workstation and use that to access the server remotely over SSH. That's why you don't get gnome-terminal or similar when you perform a server installation of Linux.
Glad to see that MS have finally caught up with this simple concept.
Re: (Score:2)
My goto shell in Windows is cygwin bash these days. I couldn't live on Windows without cygwin. Powershell took me a while to take a liking to: it is more of an admin automation engine than a command line replacement for DOS. Some tasks become easy with PS. The things it is good at, it is good at, being a dos/bash replacement is not one of those things.
Re: (Score:2)
Yes.... nowdays you can I guess use real bash inside WSL... though I haven't weaned myself off cygwin yet.
Re: Microsoft screws with stuff for the sake of sc (Score:2)
You could do that way before WSL. There's a Windows compiled set of tools called something like Windows Unix Tools that included bash and various GNU tools like sh, sed, awk, find, etc.
Re: (Score:2)
Stop your whining. New is always better [youtube.com].
Re: (Score:2)
Re: (Score:1)
What? I still use DOS on Windows 10 and recent servers.
Re: (Score:2)
I can't help but notice that Microsoft has;
Embraced the console by making it an app in Windows in the first place.
Extended the console by adding PowerShell scripting.
And now they are Extinguishing the console.
I say this mostly in jest but this does seem standard operating procedure for Microsoft. :)
Re: (Score:2)
Re: (Score:2)
LOL. And bash wants you to do... rm -rf /
Re: (Score:2)
I think the point of PowerShell is the ability to send commands to COM objects, or services, etc? Not sure, I don't use it, I'm not really a windows guy anymore. But just that ability alone is a huge boost from raw cmd.exe. But from what I have seen of PowerShell it's gotten more inspiration from the mainframe era than from Unix. Maybe it's a not-invented-here syndrome, or a need to not look like a competitor, or a need to have a solution that locks developers and admins into Windows, but PowerShell doe
Re: (Score:2)
I haven't looked deeply at powershell, but at least it has some decent iteration, control structures, functions etc. whereas CMD.exe is one of the worst abortions ever to come out of computer science. Even if one could extend CMD.exe.... why? There's nothing of interest there to extend. It can only barely do more than set environment variables, and execute commands.
Re: (Score:2)
How can a scripting language be better than an operating system/execution environment?
Let me introduce you to Forth. It's a language and an operating system. You might even call it a fourth-generation language.
Re: (Score:3)
Maybe I'm off-base, but in the context of the article, AS/400 Control Language programming also comes to mind (being deeply ingrained in the OS and seemingly oriented towards management task, but still relatively general purpose)
Re: (Score:2)
If someone ever invents a lisp machine with some kind of persistence / object database mechanism built right into the OS, and implements the entire system from top to bottom it will rule the world. No directories, no files, only persistent lisp objects.
Re: Microsoft screws with stuff for the sake of sc (Score:2)
If you don't realize that every version of DOS runs cmd.com as its shell, then it's probably you who doesn't know what you're talking about.
Honest Question (Score:1)
Of course it does! (Score:2)
And this can be googled in seconds. It is an optional feature which requires a click to enable.
Re: (Score:2)
Re: (Score:2)
Never in my life would I have imagined a command line tool needs to be "enabled".
There is good reason for not enabling telnet by default. Telnet is inherently insecure due to lack of encryption. Specifically, anytime you log in to a device using telnet, you are sending your password across the network as plain text, which can be captured by someone else running a packet sniffer.
What Microsoft should be doing is providing a secure alternative to telnet, such as ssh. Luckily one can download a good ssh client for Windows [putty.org] without much hassle.
Re:Of course it does! (Score:4, Interesting)
What Microsoft should be doing is providing a secure alternative to telnet, such as ssh.
Like the ssh client that is included in Windows 10, and enabled by default since circa 2018, with an equivalent command line interface experience to telnet.
Re: (Score:2)
That's a good reason not to enable the telnet *server* by default...
But the client is extremely useful for troubleshooting since you can telnet to any address/port combination and check quickly wether you get a connection, or if the connection is refused or times out etc.
Re: (Score:2)
It probably says it doesn't exist because it doesn't exist until it is enabled?
Re: (Score:2)
Re: (Score:1)
Re: (Score:1, Insightful)
> I don't know how anyone is able to be productive with that OS.
And yet over 90% of the world uses Windows on their desktop and has for 20+ years and remains productive. Maybe your problem is a bit closer to home my friend.
Re: (Score:1)
And yet over 90% of the world uses Windows on their desktop
For that small minority of 'the world' that actually has a desktop. Most have nothing or a feature phone.
For that small fraction of people that use a desktop for other than standard 'productivity apps', maybe 10% do anything which might require command line access of any kind. For system administration or software development. Out of this small group, there is a huge productivity spread between the top 10% and the rest. Maybe an order of magnitude or two. The majority just get by with cut and paste from St
Re: (Score:2)
Re:Honest Question (Score:4, Funny)
You too? Welcome to the club. Shall I send you a copy of our newsletter?
Re: Honest Question (Score:2)
I know emacs users who would probably code rings around your Visual Studio IDE .NET development.
Everything's just macros. Hits a few characters with nothing appearing on the screen, then BAM, a class appears out of the ether.
It's all about your workflow.
Re:Honest Question (Score:4, Funny)
My aunt complained to me that her email hadn't worked since Windows 8 came out. And what a disaster the Windows 8 update was. I agreed to take a look and she handed me an ipad.
Re: (Score:2)
I'd be surprised if Linux even has telnet anymore. Useful tools like nslookup are no longer included.
Re: (Score:3)
Re: (Score:2)
nslookup -> dig on many distros.
Re: (Score:2)
nslookup has been warning that it is deprecated and to use dig or host instead for ages.
Re: (Score:2)
Since there are dozens of Linux distros, you should mention what you're talking about... nothing wrong with a bare bones distro as the starting point to adding more stuff.
Re: (Score:1)
> Does Windows 11 come with telnet?
Yes, but it's not the 1980s anymore, so it's not enabled by default, because encouraging use of something as insecure as Telnet by default in this day and age would be really, really dumb. It does however come with a built in SSH client by default, like any modern OS and as used by people who understand why no one uses Telnet anymore.
For what it's worth, out of curiosity I actually just checked my MacBook, it's not available on that by default either with the same error
Re: Honest Question (Score:3)
telnet is used to establish TCP connections for text-based protocols, which is 99% of the Internet.
Very few people use it for the telnet protocol.
Re: (Score:3)
I agree, I'm usually reaching for telnet and finding it not there. I think most people these days use some combination of ping and/or curl to figure out if something is there. But it's not quite the same as telnet. But nobody, but nobody actually uses telnet anymore for it's real purpose... to remote to another machine, thus it has mostly disappeared.
So far so good (Score:2)
Re: (Score:2)
Is it ... (Score:2)
Sticking to ConEmu (Score:2)
I'll stick to ConEmu, thank you very much.
Still a subpar terminal by Linux standards.
Pissing in the sandbox (Score:2)
So after kicking everyone out of their sandbox they want to tell all the other kids how to play.
After looking at default browser stuff, it's pretty clear where this is going.
Beyond the GUI... (Score:2)
So... the CLI is being replaced with a CLE? Even command prompts are not immune from this "experience" marketing nonsense?
Re: (Score:1)
You can select the shell via Windows Terminal: PowerShell, cmd, and various Linux shells with WSL
Re: (Score:2)
Perhaps consider: ExtraTerm
It is an open source Terminal that works on practically any version of Windows. Included functionality: a terminal multiplexer, adjustable size of each multiplexed terminal instance, but also allows you to use it with CMD, PowerShell and (if WSL is active) Bash...in any combination you desire.
Install it or run it as a PortableApp, your choice.
The bad thing about it? Electron-based. If that is no concern to you, you could have had a terminal environment on every Windows version for