Skip to content

Utrzymywanie dystrybucji WSL w działaniu ​

Wielu użytkowników dopiero zaczynających przygodę z WSL2 spotyka "zagadkę": Linux jest zainstalowany, ale dlaczego po zamknięciu terminala po chwili "automatycznie się wyłącza"? Dlaczego nie może działać bez przerwy?

Ten artykuł najpierw opisze to zjawisko, następnie wyjaśni, dlaczego Microsoft zaprojektował WSL w ten sposób, a na końcu pokaże, jak uruchomić dystrybucję Linuksa w trybie keep-alive (utrzymywania w działaniu) za pomocą WSL Dashboard.

1. Stan obecny: po zamknięciu terminala Linux szybko wyłącza się automatycznie ​

Czy doświadczyłeś poniższej sytuacji?

  1. Otwierasz terminal którejś dystrybucji Linuksa i Linux uruchamia się automatycznie, bez konieczności wykonywania jakichkolwiek poleceń;
  2. Po zamknięciu okna terminala Linux nie działa dalej — po około 60 sekundach zostaje automatycznie wyłączony;
  3. Ponowne otwarcie terminala powoduje automatyczne uruchomienie Linuksa — i tak w kółko.

NOTE

Domyślny "limit czasu bezczynności" (idle timeout) w WSL2 wynosi około 60 sekund: gdy w dystrybucji nie działa żaden proces (np. po zamknięciu wszystkich terminali), maszyna wirtualna WSL wyłącza się automatycznie, aby zwolnić zasoby systemowe, takie jak pamięć.

Takie zachowanie jest domyślnym projektem WSL2 — to ani usterka, ani błąd.

2. Dlaczego Microsoft zaprojektował WSL w ten sposób? ​

2.1 WSL2 to w istocie lekka maszyna wirtualna ​

WSL2 uruchamia pełne jądro Linuksa w lekkiej maszynie wirtualnej Hyper-V (utility VM). Każda działająca dystrybucja realnie zajmuje zasoby pamięci. Gdyby wszystkie dystrybucje stale pracowały w tle, a jedna maszyna uruchamiała jednocześnie kilka dystrybucji, na próżno marnowałoby się kilkaset MB, a nawet kilka GB pamięci, spowalniając cały system.

2.2 Filozofia przydzielania zasobów na żądanie ​

Filozofia projektowa systemu Windows to "przydzielaj zasoby na żądanie, niewykorzystane — zwalniaj":

  • Dla większości użytkowników: otwarcie terminala = potrzebuję Linuksa; zamknięcie terminala = na razie nie potrzebuję;
  • Tylko nieliczni użytkownicy potrzebują Linuksa działającego 7×24 godziny bez przerwy.

Dlatego WSL stosuje strategię "uruchom na żądanie, zatrzymaj przy bezczynności", dzięki której pamięć i inne zasoby automatycznie wracają do systemu, gdy nie są potrzebne.

2.3 Analogia: gaś światło, wychodząc z pokoju ​

Automatyczne wyłączanie WSL przy bezczynności jest jak gaszenie światła przy wyjściu z pokoju: oszczędza energię i jest bardziej efektywne. Jednak dla osób, które "potrzebują, aby światło paliło się cały czas", to uciążliwość — i właśnie stąd bierze się potrzeba keep-alive.

TIP

Jeśli potrzebujesz, aby Linux działał stale (np. do wdrażania usług, uruchamiania zaplanowanych zadań, stawiania serwera deweloperskiego itp.), przeczytaj następny rozdział i użyj WSL Dashboard, aby utrzymać dystrybucję w działaniu.

3. Uruchamianie Linuksa z keep-alive za pomocą WSL Dashboard ​

WSL Dashboard oferuje dwa proste sposoby, aby Twoja dystrybucja Linuksa działała bez przerwy.

Sposób 1: Kliknij przycisk "Uruchom" ​

Na liście "Zainstalowane dystrybucje Linuksa" w WSL Dashboard:

  1. Znajdź dystrybucję, którą chcesz utrzymywać w działaniu;
  2. Kliknij przycisk "Uruchom" w wierszu tej dystrybucji.

Po kliknięciu dystrybucja natychmiast się budzi i działa bez przerwy; dopóki sam jej nie zatrzymasz, nie zostanie automatycznie wyłączona z powodu bezczynności. Ten sposób sprawdza się w scenariuszach tymczasowego keep-alive, gdy potrzebujesz, aby Linux działał "teraz".

Sposób 2: Zaznacz "Automatycznie uruchamiaj tę dystrybucję przy starcie systemu Windows." ​

Na liście "Zainstalowane dystrybucje Linuksa" w WSL Dashboard:

  1. Kliknij przycisk "Ustawienia" w wierszu wybranej dystrybucji, aby otworzyć okno ustawień;
  2. W oknie zaznacz "Automatycznie uruchamiaj tę dystrybucję przy starcie systemu Windows.";
  3. Zapisz ustawienia.

Po zaznaczeniu dystrybucja będzie automatycznie uruchamiana przy każdym starcie/logowaniu do systemu Windows, bez żadnych ręcznych czynności — "działa od razu po starcie". Ten sposób sprawdza się w scenariuszach, w których Linux musi być online przez długi czas (np. serwer deweloperski, usługi działające stale).

TIP

  • Tylko tymczasowa potrzeba → użyj Sposobu 1 (kliknij "Uruchom");
  • Potrzeba długotrwałego działania online → użyj Sposobu 2 (zaznacz "Automatycznie uruchamiaj tę dystrybucję przy starcie systemu Windows.").