Newsletter 365tipů můžete číst zdarma. Placené předplatné je dobrovolná podpora, která pomáhá webu pokračovat.
Podpořit 365tipů

TIP#2350: Jak ve WSL pod Windows používat grafické aplikace?

Docela dobrá věc, pokud se vám to podaří rozchodit. WSL 2 (v jedničce to nejde není možné), tedy Linux ve Windows, je ta nejsnazší část. Můžete na to jít třeba tak, že si prostě z Microsoft Store nainstalujete Ubuntu. Získáte tím shell, tedy příkazovou řádku Ubuntu. 

Ta ale neumí spustit grafické aplikace (třeba Gimp, ehm). Ale nic tomu teoreticky nebrání, abyste to ještě posunuli trochu dál.

Především, do Windows si přidejte VcXsrv Windows X Server (jiné možnosti: GWSL jako velmi užitečná nadstavba nad VcXsrv, či Xming) .

Ten poskytne grafické rozhraní k spouštění aplikací ve WSL. Pak ho spusťte a aktivujte Disable access control a uložte si konfiguraci, abyste příště mohli spouštět přes konfigurační soubor a nemuseli znovu nastavovat. Hned na počátku je vhodné zvolit MultiWindows a NoClient. A displej si můžete nastavit napevno na “1”. 

Nezapomeňte ve Firewall ve WIndows povolit Private networks, such as my home or work network

TIP: Software pro Linux, bez kterého se neobejdete. Tedy, určitě, teoreticky.

Ujistěte se, že ve WSL máte openssh. Třeba tak, že ho odstraníte a nainstalujete:

sudo apt-get remove  openssh-server
sudo apt-get install openssh-server
sudo service ssh --full-restart

Ve WSL “skoro” nemusíte nic extra  jiného dělat, jen to asi bude chtít restartnout (znovu spustit) terminál a zkusit nějakou grafickou aplikaci. Nezkoušejte rovnou GIMP, on totiž aktuálně poněkud padá, ale můžete si pořídit x11-apps

sudo apt install x11-apps

Kde najdete xeyes nebo třeba xcalc – těmi snadno ověříte, jestli “to” funguje.

TIP: Awesome WSL – Windows Subsystem for Linux je velmi užitečná kolekce informací a věcí pro WSL.

Hodit se také může awesome-command-line-apps

A zdejší Aplikace pro Linux, pro které nebudete potřebovat GUI, prostě jenom terminal

Můžete narazit na protesty, které budou psát něco o tom, že se nejde připojit na displej. Což je většinou dáno tím, že proměnná DISPLAY není správně nastavena. 

Můžete to zkusit opravit ručně na :1 pokud jste si již dříve nastavili jedničku ve VcXsrv

export DISPLAY=127.0.0.1:1 

nebo může stačit (opět případně podle čísla co máte ve VcXsrv)

export DISPLAY=:0

Případně, můžete zkusit spustit následující

echo "export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):" >> ~/.bashrc
export LIBGL_ALWAYS_INDIRECT=1