Aktualizováno 9. února: Krátce po vydání článku Microsoft oficiálně oznámil podporu sudo pro Windows. Novinka je k dispozici ve Windows 11 Insider Preview Build 26052 a vyšších. Do stabilních verzí se diostane později.
Už je to osm dlouhých let, co se Microsoft pochlubil, že pracuje na speciální vrstvě pro Windows, díky které budeme moci spouštět linuxové programy.
Na rovinu, drtivé většině běžných uživatelů to tehdy bylo k ničemu (a dodnes je), nicméně propojování obou světů pod nadvládou Nadelly bylo bezesporu ikonické.
Microsoft si před deseti lety prošel coming outem. Nejprve v cloudu a poté i na desktopu třeba skrze linuxovou vrstvu WSL ve Windows
Změna kruzu se totiž nesla v ostrém kontrastu vůči svéráznému Ballmerovi o dekádu dříve, jehož výroky Linux is a cancer byly pověstné, povrchní, nevkusné – prostě ve všech ohledech devadesátkové.
Windows Subsystem for Linux byla revoluce
WSL (Windows Subsystem for Linux) je dnes už zaběhnutým volitelným příslušenstvím Windows, pomáhá vývojářům a správcům, no a skrze další nadstavbu WSA (Windows Subsystem for Android) a možnost spouštění aplikací ze světa Androidu se Microsoft pokusil oslovit i běžné smrtelníky. Nutno podotknout, že v tomto případě spíše nepříliš úspěšně. Žádné terno se z toho totiž zatím nestalo.
Linuxová hra Tux Racer nainstalovaná a spuštěná skrze WSL. Dříve nemyslitelná svatokrádež a dnes něco úplně normálního a dokonce s ikonou v nabídce Start
U vestavěné virtualizace to ale neskončilo a Desítky a posléze Jedenáctky se Linuxu přiblížily ještě v mnoha dalších krocích. Opět, běžný uživatel PC si jich nevšimne a nejspíše je ani neocení, ale je dobré, že tu jsou a že se ve vzduchu i díky tomu stále vznáší vize univerzálního a přenosného operačního systému, respektive jeho rozhraní POSIX – Portable Operating System Interface.
Právě díky němu se v některých aspektech Linux tolik podobá macOS, protože oba vycházejí z unixového/posixového světa, zatímco Windows jdou vlastní cestou.
Windows 11 budou umět unixové sudo
Jedním z příkladů je třeba příkaz sudo, který se jak na Ubuntu, tak na macOS a mnoha dalších Unix-like systémech používá zpravidla k tomu, abychom vykonali nějaký povel, který potřebuje administrátorská práva.
Sudo na Raspberry Pi. K příkazu reboot potřebuji práva, a tak si je vyžádám povelem sudo
Windows nic takového nemají, a tak pokud potřebuje správce nebo vývojář pracovat třeba v příkazové řádce jako administrátor, musí ji samotnou spustit s patřičnými právy.
V testovacích sestaveních Windows 11 se objevila možnost aktivace příkazu sudo
To se ale nyní změní, v testovacích verzích Windows 11 Insider Preview Build 26052 a vyšších je už totiž podpora, která sudo zpřístupní. Správce pak jedním příkazem otevře třeba poznámkový blok s právy administrátora příkazem:
Sudo ve Windows
Stejně jako na linuxových systémech a stejně jako na macOS.
Přibližování PowerShellu Linuxu pomocí hromady aliasů
Přibližování posixovému rozhraní probíhá i v PowerShellu – moderní příkazové řádce pro Windows, která se zvláště v grafické aplikaci Terminal hravě vyrovná svým konkurentům z Linuxu a macOS. Ne, na Windows fakt nemáme pouze prehistorický a zbytečný program cmd.exe, kterému se všichni smějí.
Protože je PowerShell zároveň multiplatformní a protože jej využívají programátoři a ajťáci všeho druhu, kteří často pracují i na macOS a Linuxu, snaží se jim Microsoft vyjít vstříc pomocí aliasů.
Aliasy jsou přezdívky – zkratky – původních příkazů PowerShellu, které jsou delší než cesta z Prahy do Brna po D1 během první zimní kalamity.
Kdybyste chtěli v PowerShellu stáhnout třeba textový soubor s denním kurzem ČNB, musíte vyťukat tento příkaz:
Delší příkaz než cesta z Prahy do Brna
Ano, jistě, ten hlasitý smích Linuxářů, kteří na to samé přece mají curl a wget, slyším až do třetího patra naší redakce, nicméně právě proto máme i my na Windows stručnější zkratku iwr pro tentýž příkaz:
Alias iwr; dříve PowerShell podporoval i linuxovou zkratku wget
A protože je PowerShell multiplatformní, dříve dokonce nabízel i alias wget, takže uživatel Windows mohl stáhnout soubor stejným povelem jako na Linuxu a dalších Unix-like operačních systémech. Později ale Microsoft tento alias zrušil. Je to velká škoda.
Unixové příkazy ls, cat aj. fungují i na Windows
Pak je tu ale celá řada dalších povelů z PowerShellu, díky nimž se může chovat příkazová řádka na Windows podobně jako na Linuxu a macOS.
Pamětníci DOSu vědí, že k vypsání obsahu adresáře slouží příkaz dir. A ano, dir straší i v cmd.exe – oné staré příkazové řádce z dob uhlí a páry. V posixových systémech se naopak používá ls, no a stejný příkaz (alias) samozřejmě podporuje i PowerShell.
I na Windows máme cat a hromadu dalších příkazů známých spíše z linuxového světa
Stejně tak i na Windows můžeme použít třeba příkaz cat pro vypsání souboru – třeba právě čerstvě staženého kurzovního lístku –, mv pro přesun souborů a rm pro jejich mazání. Aliasů jsou desítky.
A ano, funguje i oddělovač adresářů / namísto ve Windows obvyklého \ a také vlnka ~ jako alias pro cestu do domácího adresáře:
Ano, i toto samozřejmě funguje
Už nějaký pátek máme ve Windows také ssh
Nakonec si Redmond ze světa Linuxu vypůjčil i jeden klíčový a velmi oblíbený program. Windows už nějaký pátek obsahují klient ssh se vším všudy – terminálové a zabezpečené připojení ke vzdáleným počítačům, které je na Linuxu aspol. alfou a omegou každého správce.
Součástí Windows je dnes standardní ssh klient, jak ho známe z linuxového světa
Čili prosím, ssh klient ve Windows se chová úplně stejně jako na Linuxu a PuTTY už dávno není třeba.
Stále jen kosmetické přiblížování, ale díky za něj
Jistě, sudo, pár aliasů z PowerShellu, integrovaný ssh klient a WSL rozhodně nedělají z Windows 11 POSIX-kompatibilní operační systém, ale jsou to drobné střípky, jejichž postupným přidáváním se snad jednou alespoň trošku přiblížíme tomu, co je naopak normou na poli webových prohlížečů.
Tedy aplikační kompatibility, kdy webový program A běží jak v Chromu, tak ve Firefoxu, jak na Windows, tak na macOS, no a my všichni to považujeme za zcela normální, samozřejmé a přirozené.
Pokud to platí na webu, mělo by to platit i na klasických desktopových operačních systémech. Fakt, že si teď hromada lidí poklepala na čelo a už už by mi chtěla napsat, že to je fakt hodně naivní představa, protože to a tamto, je pouze dokladem toho, že tu máme jeden letitý technologický dluh.