Windows 11-bèta maakt gebruik van Windows Terminal als opdrachtpromptalternatief

Microsoft heeft een nieuwe Insider Preview van Windows 11 vrijgegeven in het Dev Channel. De opvallendste wijziging daarin is dat de standaard commandlinetool nu is gewijzigd naar Windows Terminal. Command Prompt en PowerShell blijven wel bestaan.

De wijzigingen zitten in Windows 11 Insider Preview Build 25188. Microsoft heeft die inmiddels uitgebracht. In die build wordt Windows Terminal de defaultterminal voor het besturingssysteem. Dat betekent volgens het bedrijf dat alle applicaties die zich via de commandline openen, zoals via de opdrachtprompt, voortaan via Terminal draaien. De opdrachtprompt en PowerShell blijven wel beschikbaar in het besturingssysteem. Gebruikers kunnen via de instellingen wijzigen dat ze Command Prompt in plaats van Terminal willen blijven gebruiken. Microsoft zegt dat Windows Terminal wel minimaal versie 1.15 moet zijn. Microsoft kondigde die wijziging in december al aan, maar voert die nu pas door in de bèta.

Build 25188 heeft nog andere wijzigingen. Zo zijn er nieuwe toetsenbordinstellingen voor wie op aanraakschermen werkt. Gebruikers kunnen beter bepalen wanneer dat toetsenbord op het scherm wel en niet verschijnt, bijvoorbeeld als een gebruiker geen toetsenbord aansluit. De build heeft daarnaast veel bugfixes, zoals een fix voor de Verkenner die in sommige gevallen crashte. Microsoft zegt in de releasenotes ook dat het is begonnen met het tonen van advertenties in de zoekresultaten van de Store.

Windows Terminal

Door Tijs Hofmans

Nieuwscoördinator

25-08-2022 • 16:21

89

Submitter: TheVivaldi

Reacties (89)

89
86
28
3
0
47
Wijzig sortering
De Windows Terminal is hier een alternatief van 'conhost.exe', dit is het programma dat de 'klassieke' ervarving geeft. CMD en PowerShell zijn shells, die worden niet 'vervangen', die blijven gewoon bestaan, en kunnen gewoon worden gebruikt in Windows Terminal.

Als je dus in de Windows 11 Beta, direct cmd.exe opstart, krijg je die dus in een Windows Terminal venster, zonder 'conhost.exe'.
.oisyn Moderator Devschuur® @flnhst25 augustus 2022 16:59
En bovendien was de default terminal te wijzigen sinds de initiele release van Windows 11 :)
Ik begrijp dit niet zo goed,

Ik draai al de release van windows 11 sinds die uitkwam ,

En terminal was altijd de default console host ter vervanging van cmd of powershell.

Ik zie plots overal "oud" nieuws weer op de proppen verschijnen.

Ben ik misschien plots in een andere dimensie wakker geworden of wat voor zever verkoopt men tegenwoordig al niet ?
.oisyn Moderator Devschuur® @Van Kaate26 augustus 2022 19:38
Vziw is het niet de default. Een aantal maanden terug had ik een nieuwe pc op kantoor, met win11, en toen heb ik de default geloof ik aangepast. Wat volgens mij wel zo is is dat je standaard een terminal snelkoppeling hebt staan in de taakbalk. Maar als je een willekeurige console app startte (zoals cmd.exe) dan opende dat in de oude conhost.
ter vervanging van cmd of powershell.
Terminal is niet de vervanging van CMD of PowerShell, het is de vervanging van conhost.exe. CMD en PowerShell zijn gewoon console applicaties die binnen een terminal draaien :)

[Reactie gewijzigd door .oisyn op 23 juli 2024 06:59]

Ik zie dat er heel veel verwarring ontstaat wat nu het verschil is tussen conhost, powershell, cmd of Windows Terminal. Microsoft heeft daar een reeks van interessante blogs over gepost. Zeker eens waard om te lezen!

https://devblogs.microsof...ommand-line-backgrounder/
Waarom Powershell nog laten bestaan? CMD is leuk voor de wat simpelere meuk en wat DOS compatibility, en Terminal kan dan de geavanceerde dingen doen die je nu in Powershell kan doen.

Edit: dankzij reactie hieronder snap ik het pas.

[Reactie gewijzigd door rickboy333 op 23 juli 2024 06:59]

Ik snap je reactie niet helemaal. Powershell is een shell. Windows Terminal is een grafische terminal emulator voor windows.

Totaal verschillende programma’s

Als iemand die Terminal gebruikt trouwens. aub zsm mogelijk maken om tabs uit het originele window te slepen om een nieuwe te maken en tabs tussen windows te verslepen. Erg frustrerend

[Reactie gewijzigd door youridv1 op 23 juli 2024 06:59]

Windows Terminal is geen emulator. Daar heeft het niks mee te maken.
Het is een schil om cmd.exe en powershell.exe en Azure Shell heen.
Met tabbladen en als je Linux WSL installeert zelfs bash. En je kunt het helemaal customizen.
Check dit https://youtu.be/lu__oGZVT98
ik gebruik windows terminal dagelijks, maar bedankt voor de video
.oisyn Moderator Devschuur® @Jackb0125 augustus 2022 22:14
Windows Terminal is geen emulator.
A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture.
Windows Terminal is wel een emulator; het emuleert de oude hardware tekstuele displays.
Het is een schil om cmd.exe en powershell.exe en Azure Shell heen.
Niet helemaal. Het is een applicatie die de terminal invoet en uitvoer van élke console applicatie verzorgt, dat hoevel niet per se shells te zijn, en die shells zijn ook maar gewoon console apps.

[Reactie gewijzigd door .oisyn op 23 juli 2024 06:59]

Gebruikt die niet gewoon bash of zsh ?
Die verwarring leeft ook bij @TijsZonderH volgens mij. Het is de klassieke "conhost" of "console host" die nog blijft bestaan. Powershell en CMD staan er inderdaad los van.

Zie ook: https://docs.microsoft.com/en-us/windows/console/definitions

[Reactie gewijzigd door Sebazzz op 23 juli 2024 06:59]

Dat dus, nu begrijp ik het pas.
Wat is geen emulatie sinds de DOS 80x25 con: ?
Ik snap je reactie niet helemaal. Powershell is een shell. Windows Terminal is een grafische terminal emulator voor windows.
Ik kan het me wel voorstellen hoor. Die dingen hebben ook allemaal een .exe file en herinner me dat ze met powershell met dat blauwe kleurtje kwamen aanzetten terwijl cmd zwart was. Ik vind het zelf ook wel verwarrend wanneer iemand over terminal, console, CLI of shell spreekt, zeker omdat de definities soms dwars door elkaar heen lopen en 'men' ze ook niet uniform gebruikt.

Voor mij is bijvoorbeeld:
terminal = apparaat waarmee je een computer bedient. Kan fysiek zijn, kan ook softwarematig (terminal emulator zoals iTerm, Quake, etc.) .
CLI = De tekst interface, Kan zo'n terminal emulator zijn, kan ook gewoon de text interface van DOS zijn.
Shell = Schil die opdrachten interpreteert voor je besturingssysteem. Kan vanuit CLI, kan ook vanuit grafische interface zijn.

Maar daar is vast niet iedereen het mee eens.

[Reactie gewijzigd door PrimusIP op 23 juli 2024 06:59]

Powershell is de scripting taal en collectie van commando's die je onder de motorkap van Windows Terminal kan gebruiken
Nee. Powershell is gewoon een shell interpreter en scripting taaltje. Windows Terminal is slechts een GUI. Niks "onder de motorkap" Windows Terminal kan Powershell, CMD, bash, WSL en ga zo maar door draaien. Alle shell interpreters die je kunt vinden.

[Reactie gewijzigd door youridv1 op 23 juli 2024 06:59]

.oisyn Moderator Devschuur® @Justin001725 augustus 2022 17:13
Nee, Powershell is net als CMD gewoon een shell die een bepaalde input accepteert en uitvoert. Windows Terminal is een terminal emulator die de keyboard toetsaanslagen aan het draaiende programma geeft en de uitvoer weer op het scherm tovert. Een windows console applicatie (zoals CMD of PowerShell, maar feitelijk iedere app die het console subsysteem gebruikt) draait náást de console host (dus de oude conhost.exe of het nieuwe Windows Terminal)

[Reactie gewijzigd door .oisyn op 23 juli 2024 06:59]

Huh? Windows Terminal draait ooit gewoon PowerShell?

Het huidige "powershell" prompt is hetzelfde systeem als command prompt maar dan met wit-op-blauwe tekst en powershell als interpreter in plaats van cmd.exe. Dit is een terminal emulator die zowel PowerShell als CMD als WSL prompts doet.

Als ze de powershell-binary weggooien sterft zo'n beetje elk script dat van powershell afhankelijk is, en dat zijn er veel.
Nooit gebruikt, maar kun je niet gewoon alles wat aangeroepen wordt doorverwijzen naar macro's of aliassen oid, zoals bij busybox?
.oisyn Moderator Devschuur® @blorf25 augustus 2022 17:12
Nee, Powershell is veel uitgebreider dan dat en je kunt in principe direct .Net objecten ermee aanspreken.
Los van dat de Terminal de schil is om Powershell, CMD en nog vele anderen is. Je kunt Powershell ook niet echt vergelijken met CMD. In dat op zicht is Powershell een evolutie op CMD. Powershell kan hetzelfde als CMD + meer. Je kunt Powershell dus ook prima gebruiken voor 'de wat simpelere meuk en wat DOS compatibility', zoals jij het omschrijft.
Ik krijg indruk dat powelshell tot CMD staat zoal ZSH tot Bash. Klopt dat?
Ik ben niet heel bekend met zsh, maar volgens mij zijn zsh als bash beiden bash/sh-terminals. Maar goed, ik ken zsh niet goed genoeg ervoor. maar vooralsnog zou mijn antwoord nu in elk geval 'nee' zijn. Met cmd vs Powershell geeft Powershell ook allerlei scripting dingen mee, waar je dat in CMD natuurlijk ook wel kan met bijvoorbeeld .bat scripts, maar in Powershell zijn de mogelijkheden uitgebreider, dan kun je zelfs met objecten bijvoorbeeld werken in de scripts.
Bij mij draait alleen een install omdat me die maar 7 euro kostte. Maar op zich hebben ze die terminal aardig goed gedaan, zelfs met ssh erin. Nu nog keyboard-shortcuts om terminals in verschillende maten te openen. En ctrl-d als exit? Niet geprobeerd nog...
Ik ben er ook enorm tevreden over.. gelijk putty de deur uit gedaan. Dit is zoveel handiger om met verschillende terminals gelijk te kunnen werken in een overzichtelijk progamma.
Ondersteund deze SSH nu alles? Aantal jaar terug kreeg ik de ssh tunnel met password + cert niet aan praat met de ingebouwde ssh van windows. Op linux en via Putty ging het wel met dezelfde parameters.. Verder geen tijd aan besteed want was werk en kreeg gedaan wat gedaan moest worden.

Beetje zoals hier gemeld staat: https://docs.microsoft.co...owershell-cmd-wls-or.html

[Reactie gewijzigd door Mr Pingu op 23 juli 2024 06:59]

Password + cert weet ik niet, maar alleen cert om in te loggen op mijn Linux machines werkt prima. Key kan je maken met ssh-keygen en die dan kopiëren vanuit je .ssh map in je user folder naar je Linux machine.
Dit heeft niets met Windows Terminal te maken. Je verwart terminal en shell.
.oisyn Moderator Devschuur® @Mr Pingu25 augustus 2022 17:19
De SSH client en server zijn gebaseerd op OpenSSH. Vooral de SSH server heeft idd wat mankementen, toevallig vorige week nog geprobeerd om op te zetten op een Windows machine. Het gekke is, cert login werkt alleen als je de sshd vanuit je user opstart, en de password login werkt alleen als je de standaard ssh service gebruikt.
Dat heeft met de sshd_config te maken. By default staat daar het volgende in:
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Ik heb dat zelf uitgecomment maar er zal wel een heel goede reden voor zijn.

Edit: ahja, dat was omdat je anders een privilege escalation kan doen zonder UAC.

[Reactie gewijzigd door DataGhost op 23 juli 2024 06:59]

.oisyn Moderator Devschuur® @DataGhost25 augustus 2022 17:57
I know, ik heb er een dag aan besteed om het goed te krijgen ;). Overigens gooit de combinatie met MS account en geen local user ook nog eens roet in het eten; cert logins zijn daarmee gewoon niet goed te krijgen vanuit de service user, lijkt het.
Ondersteund deze SSH nu alles?
Sinds geruime tijd is het - ook in Windows 10 - nu gewoon OpenSSH die tegen LibreSSL aan gecompiled is. Best een toffe en goede stap.
Omdat er ook nog simpelere mensen zijn zoals ik.

[Reactie gewijzigd door vinkjb op 23 juli 2024 06:59]

Als reguliere consument is powershell misschien niet iets wat je dagelijks gebruikt. Als je echter in de IT werkt en in 365 en Azure sferen is dat anders.
Heb toch het idee dat Microsoft wat moeite heeft met "If it ain't broke, don't fix it"
Het punt is nu net dat de huidige conhost wel degelijk broke is: moderne shells kunnen meer dan wat via conhost mogelijk gemaakt kan worden.
Nouja, met W11 ben ik al enorm teleurgesteld in wat gewoon goed was en ze allemaal weer weg hebben gehaald, maar; Het feit dat een ander programma meer kan dan dit programma, maakt het toch niet 'broke'? Het doet toch nog steeds wat het hoort te doen?

Ik vind CMD prima voor wat basic stuff. Die andere zooi is meteen weer een stapje hoger... Niets mis met een wat gelimiteerder programma. Niet wat ik broke zou noemen.
.oisyn Moderator Devschuur® @NoobishPro25 augustus 2022 17:30
Ik vind CMD prima voor wat basic stuff
CMD is ook prima, maar heeft niets te maken met dit artikel. De grafische interface wijzigt, niet de shell die je commando's interpreteert.

En conhost.exe, de oude terminal interface, heeft weldegelijk wat gebreken. Het kan bijvoorbeeld niet alle unicode tekens laten zien, is beperkt tot slechts 16 kleuren. Het renderen van de tekst is ook relatief traag, al zul je daar met dagelijks gebruik weinig van merken :)

[Reactie gewijzigd door .oisyn op 23 juli 2024 06:59]

Je kon niet eens gewoon tekst kopiëren en plakken, wat altijd al kon in Linux. Commando's overtypen zorgt voor veel fouten. Werd er op mijn werkt helemaal gek van, Maarja gelukkig werkte ik vaak met Linux.
.oisyn Moderator Devschuur® @Remzi199325 augustus 2022 18:10
Je kon niet eens gewoon tekst kopiëren en plakken
Uhm, dat kan echt al héél lang. Win2k zeker, daarvoor weet ik het even niet.

Wel was "quick edit mode" standaard gedisabled t/m Windows XP geloof ik. In quick edit mode kun je met je muis gewoon tekst selecteren, met met de rechtermuisknop kopiëren en plakken. Zonder quick edit moet moet je eerst rechts klikken, dan kun je kiezen voor tekst selecteren.

Vanaf windows 10 werkt de standaard ctrl-c/ctrl-v ook gewoon.

[Reactie gewijzigd door .oisyn op 23 juli 2024 06:59]

Oké, maar ik wist dit dus niet en bij mij werkte ctrl c en ctrl v niet eens. Dit werkt overal wel.
Het door jou eerder aangehaalde linux gebruikte van oudsher nooit ctrl + c/v voor terminals. Shift+ins bijvoorbeeld is de standaard om te plakken.
Ja, dat is waar. Alles gaat automatisch voor me.
Internet Explorer 1 kon ook het internet op, dus snap echt niet waarom ze daar nog een vervolg op hebben gemaakt...
De huidige console host heeft bijna geen functies, dus een verbetering is van harte welkom.
conhost is daarentegen wel degelijk broke. behoorlijk broke. Het kan namelijk bijna helemaal niks. Je mag nog net tekst erin plakken vanuit je klembord
Ook Powershell start in deze versie op in Windows Terminal
Je kan Windows Terminal al een tijdje als standaard host instellen. En ja, Powershell en cmd werken gewoon binnen Terminal.
De build heeft daarnaast veel bugfixes, zoals een fix voor de Verkenner die in sommige gevallen crashte.
Verkenner is eindelijk gefikst? Dat werd tijd, de bug (ook aanwezig in vorige versies: 10, 7, XP) dat verkenner deed crashen speelt mij al jaren parten: was je iets aan het kopiëren? ...oh, geen probleem hoor: dan kon je gewoon (bijna) helemaal overnieuw beginnen! :(

Edit: het probleem werd waarschijnlijk veroorzaakt door een foute explorer shell extension?

Maar afijn, deze fix was broodnodig: een vergelijkbare bug zat ook in Lubuntu 18.04, deze was gefikst toen Lubuntu 20.04 uitkwam 8-)

[Reactie gewijzigd door John Stopman op 23 juli 2024 06:59]

Ik gebruik al een tijdje Windows Terminal, dus van mij mag het de default zijn. Copy pasten gaat makkelijker en de tabs die je ook een naampje kan geven zijn handig.
Dus je hebt;
PowerShell
Windows terminal
Command prompt

Wat is verschil/nut daarvan?

Als Windows leek ben ik er niet heel bekend mee
Je moet het meer zo zien. Je hebt Conhost, en Terminal.

Beide zijn terminal applicaties, die een keur aan shells kunnen draaien. Zoals Powershell (meerdere versies), CMD, Bash, en wát je maar meer wil.

Je moet het dus eigenlijk als een hierarchie zien.

Los van de shell, zitten er voor- en nadelen aan diverse terminals. Conhost kan, of je er nou Ubuntu/Bash in zet (al dan niet via WSL), slechts 16 kleuren, en géén unicode weergeven. Terminal heeft die beperkingen niet.

Dan heb je vervolgens ook nog 'embedded shells', zoals Powershell ISE, VSCode, Putty, etc, die al dan niet conhost KUNNEN embedden, en vaak doen. Die kunnen echter ook de nieuwe terminal embedden.
.oisyn Moderator Devschuur® @Umbrah25 augustus 2022 18:06
Beide zijn terminal applicaties, die een keur aan shells kunnen draaien. Zoals Powershell (meerdere versies), CMD, Bash, en wát je maar meer wil.
Daarbij wil ik opmerken dat shells ook maar gewoon console applicaties zijn. Elke console app kan direct in een terminal draaien. En bij Windows 11 is het nu zo dat standaard Windows Terminal word gebruikt voor élke console applicatie.
"Windows Terminal" is de nieuwe terminal app (soms terminal emu) welke voorheen door connhost.exe werd afgehandeld. Vergelijkbaar met xterm, terminator op Linux of iterm2 op Mac

PowerShell (powershell.exe of pwsh.exe) en Command Prompt (cmd.exe) zijn shell apps. Vergelijkbaar met bash of zsh in de Linux wereld.
Powershell en cmd zijn shells waar je taken kunt uitvoeren, terminal is degene die de invoer en uitvoer ervan voor zijn rekening neemt.
Voert zelf niets uit, enkel i/o
Ik denk dat het niet duidelijk is te onderscheiden omdat de Windows GUI een vanzelfsprekend onderdeel van het systeem is. Wat is het venster wat je ziet als je cmd start? Het kan niet alleen maar een shell zijn in de zin van een prompt/loop aangezien de GUI moet zorgen dat er iets in beeld komt... Hebben alle Windows-programma's ook standaard een tekst-uitvoer?

[Reactie gewijzigd door blorf op 23 juli 2024 06:59]

Dat is conhost. Een losse applicatie die cmd en powershell allebei gebruiken als terminal emulator.

Windows Terminal is een moderne conhost, geen nieuwe shell

Of een programma een CLI heeft, wat jij tekstuitvoer noemt, verschilt. Dat ligt aan de developer om te maken.

De GUI is bij windows zeker geen vanzelfsprekend onderdeel van het systeem. Niet meer dan bij linux. Dat de gemiddelde windowsgebruiker geen power user is, dat is wat anders.

[Reactie gewijzigd door youridv1 op 23 juli 2024 06:59]

Dat is waar het vervaagt. Conhost is dan geen terminal-emulator omdat het onderdeel van het systeem is.

In *nix-stijl hebben alle programma's in ieder geval een niet-interactieve tekstuitvoer omdat er geen grafisch scherm hoeft te bestaan. Of daar ook iets te zien is hangt natuurlijk van het programma af en op welke manier het gestart is.
conhost is wel degelijk de emulator. Je kunt cmd gewoon in andere emulatoren draaien. het is een los onderdeel
.oisyn Moderator Devschuur® @blorf26 augustus 2022 21:18
In *nix-stijl hebben alle programma's in ieder geval een niet-interactieve tekstuitvoer omdat er geen grafisch scherm hoeft te bestaan
In Windows heb je een aantal subsystemen, waarvan Console en Windows de bekendste zijn. Welk subsysteem een applicatie gebruikt staat aangegeven ergens in de executable.

Een console applicatie krijgt standaard een terminal emulator om de tekstuele in- en output te verzorgen. Vroeger was dat conhost en dat zat idd ingebakken in het systeem zelf. Terminal escape sequences werden niet standaard begrepen, en in plaats daarvan waren applicaties afhankelijk van de win32 console API om iets meer te doen dan lineaire tekst uit te voeren in een vaste kleur.

Met Win10 kwam er de mogelijkheid om 3rd party "console hosts" te implementeren. Om de oude console applicaties daarmee te laten werken is er zoiets als de 'pseudoconsole' die het resultaat van de oude win32 api functies vertaalt naar ANSI escape sequences en control codes, waarna de terminal emulator dat weer kan interpreteren en kan weergeven op wat voor manier dan ook (deze vertaling werkt overigens niet helemaal perfect, maar voor de meeste command line applicaties is dat geen enkel probleem). Voor nieuwe applicaties wordt sowieso aangeraden om altijd escape sequences te verkiezen boven de oude console API.

Het nadeel van de oude console host is dat hij met een vaste screenbuffer werkt met 16 bits per cell voor het karakter en 8 bits voor de kleur, waardoor hij niet het hele unicode bereik ondersteunt en bovendien maar 16 kleuren voor achtergrond en voorgrond. De applicatie zelf is ook behoorlijk gedateerd. Windows Terminal is daarentegen een stuk moderner, met hardware tekst rendering, het volledige unicode bereik, 24-bits rgb kleuren en tabbladen.

Een app voor het Windows subsysteem krijgt niet standaard een console voor tekstuele in en output, maar kan daar alsnog wel om vragen terwijl het draait.
Alles kan je nu in Windows Terminal draaien en die andere gaan waarschijnlijk (de GUI) langzaam weg. Je kan allerlei soorten shells in Windows Terminal draaien, inclusief Powershell en andere.
Voor de beperkte kennis die ik van Linux heb vind ik deze Windows terminal best wel lijken op de Linux terminal en ook de AppleOS terminal. Maar ja, of dit nu significante wijzigingen zijn vraag ik mij wel een beetje af en het meer een andere look is.

Mijn hoop blijft toch dat er bij de komende grote update eindelijk weer alle functies van de taakbalk terug zijn. Als dat zo is dan denk ik dat ik toch richting Windows 11 ga maar eerst maar eens afwachten op de 1ste berichten als die online staat.
Het is in sommige opzichten slechts een nieuwe look. Maar er zijn wel degelijk dingetjes bij gekomen ivm kopieëren en plakken enzo. conhost is wat beperkt daarin
Toch jammer.

Volgens mij werkt die via die Windows framework (dacht ik) meuk. Er kan (en gaat) teveel mee mis.

Hiernaast worden er allerlei features aan toegevoegd waar sommige mensen op wachten, maar vele ook niet. Waarom kan het niet als extra optioneel ding blijven?

Net als die nieuwe calc, die is ook echt bocht vergeleken met de vorige versie. Start trager op en is niet prettig klein meer te maken maar mega onhandig groot.

Basis Windows features moeten simpel en barebones zijn en blijven naar mijn mening. Als het kan met goede en betrouwbare techniek. Alle extra's en breekbare windows framework programmeer stukjes lekker in de store laten voor wie dat wil.
conhost.exe was echt niet meer werkbaar hoor, daar zat men al een tijdje mee, ik vind persoonlijk eerder dat dit niet snel genoeg kan gaan. Wie gebruikt er nou nog voor z'n lol conhost zelf? En daarbij was het ook zeker niet "goede" techniek, terwijl de Windows Terminal dat wel is.

Op dit item kan niet meer gereageerd worden.