WSLは基本的には開発者向けにCUI環境を提供しており、
X Serverを動作させることで簡易的なGUIアプリも立ち上げ可能ではありますが、
WSL2の環境で gnomeのデスクトップ環境をフルで立ち上げるのは結構難しいです。
試行錯誤の結果、意外とすんなり動作することが分かったので
備忘録として設定手順を残しておきます。
WSL2は非常に便利で、もはや離れられない程お世話になっておりますが、
大きな問題点の1つとして systemedが利用できない点が挙げられます。
Linuxシステムでは起動直後に全てのプロセスのfork元となる pid 1 のinitが立ち上がります。
Redhat系を中心とするモダンなディストリビューションではinitプログラムとして
systemedが pid 1で起動し、各種デーモンやシェルを起動してシステムを利用可能な状態にしてくれます。
一方、WSL2の環境では initとして Microsoftが用意した最低限の機能を持つ
カスタム init が起動するようになっており、 systemedは無効になっています。
このため systemedに依存したデーモンやその管理ツールが動作しません。
systemctl などが使えなずサーバの立ち上げ方に困ることはよくあると思います。
gnomeもsystemedに依存しているため、単に gnomeのデスクトップ環境を導入しても
起動に失敗してしまいます。
環境
- Windows 10 Pro ver 20H2
- WSL2
- fedora remix @ Store ( fedora 33 までupgrade 済み)
- X410 (X server)
Pengwin導入後、今までになくWindowsと仲良くなってます笑
メインのデスクトップマシンはFedoraが動いていますが、
ノートPCはすべてWindows10に移行して満足度はかなり高いです。
Windowsで開発していると、Linuxアレルギーの人からも
開発環境について尋ねられる機会も増えたので
せっかくですし開発環境の構築方法を一通り書いておきます。
C,C++ / C#(dotnet) / node.js / Python / ruby … などなどの開発に
利用できるある程度コンパクトで取り回しのいい設定方法です。
使用する環境は以下の通り
- Windows 10 (Pro / 19H1)
- Ubuntu / WSL( version 1)
- VSCode
今回はWSL環境下にPythonの開発環境を導入して、ホストのWindows側に導入した
VSCodeからソースコードの編集、デバッグ実行を行えるように設定します。
Pythonのインストール方法にはいくつかの方法がありますが
今回は Pyenvを用いたオーソドックスな方法を使用します。
本記事は
前回 の続きです。
前回は、Windows10のWSL機能を有効化、Ubuntu on WSL を導入しました。
今回は開発環境の構築を始めます。
先日 Linux kernel 4.16がアナウンスされました。
Spectre/Meltdownの対応が一段落ついたバージョンということで
さっさと更新していきたいところだったのですが少々問題が発生しました。
現行のNvidiaのビデオカードドライバ (ver390.48)が動作、コンパイル不能で
不用意にアップデートするとX/waylandが立ち上がらなくなります。
Spectre/Meltdownの対応初期から報告されていたみたいですがなぜか治っていない
みたいですね…。
ドライバ側にパッチを当てることで動作するようなので
そのメモです。