Category Archives: WSL

VMwareのゲストのWindows10にWSL2のubuntuがインストールできない

Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.

このエラーはゲストのvmxに以下の設定を記述する。

Error: 0xc03a001a The requested operation could not be completed due to a virtual disk system limitation. Virtual hard disk files must be uncompressed and unencrypted and must not be sparse.

ubuntuをインストールするフォルダがntfs圧縮されているとインストールできない。以下のフォルダの圧縮を解除する。

WSLとVcXsrvでLinuxのGUIをインストール

前提条件

Windows 10 64bit

WSLをインストール

アプリケーションの機能の追加でWindows System For Linuxをインストール。
WSLをインストール

インストールできたらstoreを起動してubuntuで検索してubuntuをインストールする。

ubuntuを最新にしておく

ミラーの設定

aptのソースを変更してjpミラーにする。以下のコマンドを実行

アップデート

ターミナル変更

デフォルトのターミナルはバッファがなくて使いづらいので変更。ターミナルとは文字だけが表示されているあのウインドウのこと。昔は1つのメインフレームに多くの端末が接続されていて、それをターミナルと読んだ。メインフレームにはモニターはないか使わない。ここではWSLで動くubuntuがメインフレームみたいなものでそれに接続し表示するものをターミナルと読んでいる。

minttyを使う。ここからwsltty-3.0.1.2-install.exeをダウンロード。警告が出るが構わず実行。デスクトップに’WSL Terminal’が出るのでこれを起動するとubuntuに接続したminttyが起動する。

FirefoxやVSCodeを動かしてみる

LinuxでのGUIの扱いはやや複雑でモニターを持っているマシンをXサーバーといい、プログラム実行はクライアントで行い表示はXサーバーで行う仕組みになっている。WSLの場合はGUI機能はないと思うので、Windows側でXサーバーを動かしてプログラムはWSLで動かすことになる。

Windows側のXサーバーのインストール

ここではVcXsrcを使う。vcxsrv-64.1.20.1.4.installer.exeをダウンロードしてインストールした。

VcXsrvの起動

インストールするとデスクトップに’XLaunch’というショートカットができるので起動。ダイアログが表示されるが全部デフォルトで進むとタスクバーにXのアイコンがでて起動が完了した。

ubuntuにFirefoxをインストール

Firefox起動

WSLで起動したFirefox

DISPLAY環境変数にXサーバーを指定することで起動が行える。実際に表示しているのは上で起動したVcXsrv

ubuntuにVSCodeをインストール

直リンインストール

このdebはインストールするとaptソースも書き換えてくれるようなので、次からはaptでアップデートできる。上のコマンドは最新のaptではsudo apt install aaa.debでもいいらしい。

ない場合はhttps://code.visualstudio.com/docs/setup/linuxからdebファイルをダウンロードしてubuntuにもってくる。あるいは上で起動したFirefoxからダウンロードする。ubuntu側からは/mntからNTFSにアクセスできる。

VSCode起動

VSCodeはWindowsでインストールして、それを使ってくれとのこと、ubuntuからでも起動できるから、とのことだがスルー

WSLでVSCodeを起動

日本語フォントのインストール

日本語が表示できないので以下でインストールしてみる。なお日本語入力はスルーする。

これでもタイトルバーだけは文字化けするがこれはVcXsrv側の問題だと思うのでここではスルー。

(注)ここからはやらないほうがいいかもしれない。VcXsrvがおかしくなってfirefoxが起動できなくなった。

gnome-terminalをインストール

ubuntuデスクトップではdbusという設定サーバが見たいのが動いている。これはWindowsのレジストリのように機能していると思うがこれがないとgnome-terminal等のgnome関連のアプリが動かないので、まずはdbusをインストールして設定する。

WSLの終了

ubuntuのshutdownコマンドは効かないので、Windows側でサービスLxssManagerを終了する。管理者コマンドプロンプトで以下を入力

このサービスは自動で起動するように設定されてるようなので、WSLの起動には問題ない。

未整理情報