|
||
2022年4月9日 | ||
Windowsの環境をチェックします。以下の条件に当てはまる背祖であることが必要です。とは言っても、筆者は8年前に買った薄型のノートPCでも動きましたので、大抵は動くのかもしれません。
|
||
|
||
2022年4月9日 |
||
ますば、WSL (Windows Subsystem for Linux) 2 backendをインストールします 。WSLは、仮想化技術を使って、Windowsとは別にLinuxを動かすものです。WSLを紹介するサイトによっては、手作業で仮想環境を設定する必要があるとの記載がありますが、筆者の経験ではWSLのインストール時に仮想環境も有効化される様で、特にコマンドを打たなくてもインストールだけでWSLが動きました。WSLが動くとUbuntuというLinuxが起動されます。 | ||
インストールはコマンドプロンプトかPowerShellで実施します。コマンドプロンプトの場合、まずコマンドプロンプトを起動する際にadministratorモードで起動します。右上の例のように、コマンドプロンプトは[スタート]->[Windowsシステムツール]で見つかりますが、コマンドプロンプトのアイコン上で右クリックし[その他]->[管理者として実行]で起動すればadministratorモードになります。 | ||
そこで、右図の様に"wsl --install"と打てはインストールが始まります。 | ||
Windowsを再起動すると、Ubuntuが自動的に立ち上がり、インストールが継続されます。 最後にLinuxのユーザ名とパスワードの指定を求められます。小文字だけの様なので、小文字で適当な文字列を打ち込むとユーザ名になります。筆者の場合は"harry"としましたので、この後に出てくる事例ではコマンドプロンプトにharryが出てきます。 余談ですが、WSLのファイルをWindowsから参照するときは、エクスプローラーで、"\\wsl$"というフォルダを参照します。フォルダのパスを書く場所に\\wsl$と打ち込んでEnterキーを押すと、下図の様にWSLのルートディレクトリが参照できます。 |
||
また、WSLではWindowsとUbuntuは、仮想ネットワークでつながれています。windowsとUbuntuは、別々のIPアドレスを持っています。Ubuntuから見たWindowsのIPアドレスはUbuntuで以下のコマンドを打つことによりわかります。 | ||
cat /etc/resolv.conf | ||
harry@MSI:~$ cat /etc/resolv.conf # This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf: # [network] # generateResolvConf = false nameserver 172.18.80.1 harry@MSI:~$ |
||
この様に、nameserverの右側(下線部)がWindowsのIPアドレスです。この例では、172.27.144.1です。 また、Ubuntu側のIPアドレスは、以下のコマンドでわかります。 |
||
ip addr | ||
harry@MSI:~$ ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 1e:c9:76:d4:09:47 brd ff:ff:ff:ff:ff:ff 3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 62:34:a4:ff:9b:34 brd ff:ff:ff:ff:ff:ff 4: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000 link/ipip 0.0.0.0 brd 0.0.0.0 5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000 link/sit 0.0.0.0 brd 0.0.0.0 6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:bb:72:01 brd ff:ff:ff:ff:ff:ff inet 172.18.88.46/20 brd 172.18.95.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::215:5dff:febb:7201/64 scope link valid_lft forever preferred_lft forever harry@MSI:~$ |
||
"eth0"の中の"inet"の行の一つ目のIPアドレス(下線部)がUbuntuのIPアドレスです。この例では、172.18.88.46です。但し、windowsからubuntu側のプログラムをアクセスする際には、IPアドレスを気にする必要はなく、"localhost"と記述すると、Windowsが自動的に処理して、Ubuntu上のアプリケーションにもアクセスしてくれます。したがって、あたかも同じOS上で動いているかのようにアクセスする事が出来ます。この処理はwindows側からUbuntu側にアクセスする際にだけ適用され、逆にUbuntu側からWindows側をアクセスする際には適用されませんので、Ubuntuからアクセスする際には、IPアドレスを明記する必要があります。尚、これらのIPアドレスはPCを再起動すると変わってしまいます。 |