====== Instalace Ubuntu na Windows 10/11 + WSL ====== V předmětu PRPA využíváme vývojové prostřední Linuxu, které přináší mnohé výhody oproti základní Windows konzoli. Operační systém Windows 10/11 umožňuje instalaci subsystému pro Linux, díky kterému získáme konzoli stejnou jako v systému Ubuntu. Poté je možné spouštět a instalovat programy přes Windows stejně pohodlně přes příkazový řádek. ===== Postup instalace ===== Obrázkový návod lze nalézt zde: - [[https://ubuntu.com/tutorials/install-ubuntu-on-wsl2-on-windows-11-with-gui-support#1-overview]] - Následně doinstalujte balíčky ze sekce **Instalace potřebných balíčků** Popřípadě použijte následující návod: ==== 1. Povolení vývojářského režimu ve Windows ==== K intalaci tohoto podsystému je nejdříve potřeba aktivovat vývojářský režim v nastavení. Do vyhledávání stačí napsat "Nastavení pro vývojáře" (EN: Developer Settings) a poté zaškrtnout políčko pod kolonkou Vývojářský režim (EN: Developer Mode). {{ :courses:b0b99prpa:tutorials:vyvojar.png?400 |{{vyvojar.png}} Po zaškrtnutí vyskočí ve Windows Update balíček, který se nainstaluje a je potřeba restartovat počítač. ==== 2. Aktivace subsystému ==== Po restartování počítače je potřeba zapnout funkci subsystému pro Linux. Ve vyhledávání vyhledáme "Funkce systému Windows" (EN: Turn Windows features on or off). Zde zaškrtneme políčka "Subsystém Windows pro Linux" (EN: Windows Subsystem for Linux) společně s "Platforma virtuálního počítače" (EN: Virtual Machine Platform) a potvrdíme stisknutím OK. Systém nás poté vyzve k dalšímu restartu, popř. proveďte restart sami. {{ :courses:b0b99prpa:tutorials:win_features.jpg?400 |}} === Nastavení WSL na verzi 2 === - Spustit PowerShell jako správce - Nastavit defaultní verzi WSL na 2 pomocí příkazu wsl --set-default-version 2 ==== 3. Instalace Ubuntu ==== Nyní je počítač připraven pro instalaci. Otevřeme si Microsoft store a zde vyhledáme "Ubuntu". První nalezená aplikace je varianta, kterou potřebujeme. {{ :courses:b0b99prpa:tutorials:store1.png?400 |}} Následně stačí tento produkt nainstalovat. Instalace může chvíli trvat, z důvodu větší velikosti balíčku. {{ :courses:b0b99prpa:tutorials:store2.png?400 |}} Po skončení instalace by již mělo být možné spustit příkazový řádek zadáním "ubuntu" nebo "bash" do vyhledávání Windows. Příkazovému řádku může ještě několik minut trvat než nainstaluje základní balíčky. Poté vás vyzve k vytvoření uživatelského jména a hesla. Heslo se při psaní nezobrazuje v příkazovém řádku, nejedná se o chybu. Heslo si zapamatujte, je potřeba při instalaci doplňků. ===== Instalace potřebných balíčků ===== Po instalci Ubuntu prostředí již stačí nainstalovat vývojové nástroje. To je v prostředí Ubuntu přímočaré použitím příkazu ''%%apt-get%%''. Pro instalaci je však potřeba spustit instalační program ''%%apt-get%%'' s právy adminstrátora (v unix označovaný jako root), což lze snadno prostřednictví příkazu ''%%sudo%%'', který vyžaduje ověření vaší indentity, proto vyžaduje zadání vašeho hesla, které jste zadali při prvním spuštění příkazového řádku. Po nalezení požadovaného balíčku se vás zeptá jestli chcete pokračovat a vyzve k zadání [y/n]. Základní sada vývojových nástrojů používaných na PRP se skládá z kompilátoru ''%%gcc%%'' a kompilátoru ''%%clang%%'', nástroje pro řízení překladu ''%%make%%'' a pomocné utility pro zobrazení adresářové struktury ''%%tree%%''. Instalaci těchto nástroju provedeme přímočaře prostředníctvím příkazu sudo apt-get install gcc clang gdb make tree zip unzip gzip Tj. jako administrátor (''%%sudo%%'') spustíme program ''%%apt-get%%'' po kterém chceme nainstalovat (''%%install%%'') balíčky ''%%gcc%%'', ''%%clang%%'', ''%%make%%'' a ''%%tree%%''. Při první instalaci balíčku se může stát, že instalace skončí chybou. Toto se dá vyřešit zadáním sudo apt-get update. Poté je potřeba znovu zadat instalační příkaz. Volitelně můžete přidávat další užitečné balíčky, například: sudo apt-get install cppcheck ===== Instalace programu Valgrind ===== Na cvičeních i v odevzdávacím systému budeme používat program Valgrind pro kontrolu práce s pamětí (odhaluje špatnou alokaci a skok na základě neicializované proměnné). Instalace probíhá stejně jako u ostatních balíčků. sudo apt-get install valgrind Úspěšnou instalaci balíčku lze ověřit pomocí ''%%--version%%'' (např. ''%%valgrind --version%%''). Všechny příkazy lze zobrazit pomocí ''%%valgrind --help%%'' Příklad práce s valgrind memcheck: {{ :courses:b0b99prpa:tutorials:valgrind.png?400 |}} ===== Práce s konzolí ===== Základní rozdíl v pohybu mezi složkami v počítači mezi Windows a Ubuntu konzolí je ve formátu adresy. Pohyb se uskutečňuje příkazem cd ve formátu cd /mnt/c/Users/Javer/Desktop/../ Kompilace programu probíhá stejně jako ve Windows konzoli:gcc main.c -o main.exe Následné spuštění programu probíhá například příkazem ./main ===== Propojení WSL s VS Code ===== Pro pohodlnější práci s WSL je výhodné doinstalovat plugin do VS Code, který vám Linux propojí s Vaším vývojovým prostředím. K tomu je třeba zprovoznit WSL podle návodů výše včetně jeho prvního spuštění, aby se systém inicializoval. Následně si stáhněte [[https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl|Remote WSL]], který propojí IDE VS Code s WSL. V levém panelu se objeví další položka s nainstalovanými systémy Linuxu, které máte ve Vašem počítači. V něm si vyberte příslušný systém, ve kterém chcete pracovat (nejspíš Ubuntu) a zvolte connect. Následně se spustí další VS Code, který je spojený se subsystémem. Tudíž je třeba doinstalovat znovu veškeré potřebné doplňky do VS Code. Doporučené jsou: * [[https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools|C/C++ extension for VS Code]]