2021年度後学期 金沢工業大学 ロボティクス学科 専門実験(ロボット制御)では,授業中に配布するUbuntuu20.04インストール済みのUSBメモリを使って実際のロボットで実習しますが,課題等は各人のノートPCにWSLとUbuntu20.04をインストールしてシミュレータ上で実習します.なお,ロボットプログラミングⅡを履修している学生は,この作業は必要ありません.
- 参考リンク
- 環 境
- Windows10 (64ビット版、バージョン2004, ビルド19041以上)
- BIOSでIntel Virtualization Technology (Intel VT-x)を有効にする。デフォルトで有効になっている場合は多いので、うまく動作しないときに確認しましょう。
- 準 備
- Windows10のバージョン確認.WSLを使うためにはWindows10が次の条件を満足する必要がある。
- バージョン2004以降
- ビルド19041以降
- バージョンの確認方法
- スタート→設定→バージョン情報→Windowsの仕様で確認する。
- 条件を満足していない場合は以下のリンクのWindows 10 May 2020 Update [今すぐアップデート]をクリックする。
- Windows10のバージョン確認.WSLを使うためにはWindows10が次の条件を満足する必要がある。
- WSLのインストール
- スタート→Windows PowerShell→Windows PowerShell(右マウスボタンで「管理者として実行する」を選択して)する.
- タスクバーに下図の右端に示す盾のアイコンが現れる.のでクリックする.
「このアプリがデバイスに変更を加えることを許可しますか」と聞かれるので,「はい」をクリックしてPowerShellを管理者権限で起動する. - 次のコマンドをPowerShellで実行(コピペしてEnterキーを押す)するだけでインストールが終わってしまう.ネットワーク環境によるが,私の環境では1分ぐらいでインストールが終了した.
wsl --install -d Ubuntu-20.04
- WSLを有効化するためにコンピュータを再起動する.
- Ubuntu20.04の設定とアプリのインストール
- VcXsrv Window X サーバーのインストール
- WSLはグラフィカルなインタフェース(GUI)が使えないので、X Windowシステムを別にインストールしなければならない。ここでは、VcXsrv(無償)をインストールする。以下のウェブサイトに行き、下図の赤で囲った[Download]をクリックする。2021年10月8日現在のバージョンは1.20.9.0。
- https://sourceforge.net/projects/vcxsrv/
- ダウンロードしたexeファイルをダブルクリックする。次のウインドウが開くので「Next」をクリックする。
- インストールするフォルダーを聞かれるので、デフォルトのまま「Install」をクリックする。
- セットアップが終わったら「Close」をクリックしてインストールを終了する。
- Xサーバーの起動
- デスクトップにできたXLaunchアイコンをダブルクリックする。
- Select display settingsのウインドウになるのでデフォルトのまま「次へ(N)」をクリックする。
- Select how to start clientのウインドウになるので、デフオルトのまま「次へ(N)」をクリックする。
- Extra Settingsのウインドウになるので 以下の図のようにClipboard、Primary Selection、Disable access controlにチェックを入れ、Native openglのチェックを外して「次へ」をクリックする。Additional parameters for VcXsrvは入力しなくてもよい。
- Finish configurationウインドウになるので、「Save configuration」をクリックして設定ファイルをデスクトップにconfig.xlaunch保存してから「完了」をクリックする。次回からはデスクトップのconfig.xlaunchアイコンをダブルクリックする。そうすると再度設定する必要はなく設定済みのXが起動する。
- ファイアウォールなどを設定している場合は、次の図のように「Windowsセキュリティの重要な警告」というウインドウが開くので、「アクセスを許可する」をクリックする。
- デスクトップにできたXLaunchアイコンをダブルクリックする。
- Ubuntuの設定
- [スタートメニュー]→[Ubuntu 20.04 LTS]からUbuntuのターミナル(以下、端末とよぶ)を起動する。
- タスクバーにピン留めするかデスクトップにショートカットを作っておくと便利。
- 起動した端末で以下のコマンドを実行し、必要なパッケージをインストールする。なお、$はコマンド入力の合図を示すプロンプトを表しているので入20力しない。
- $
sudo apt install -y language-pack-ja
- $
sudo update-locale LANG=ja_JP.UTF-8
- $
sudo apt install -y git gedit emacs
$ sudo apt install -y vim build-essential pkg-config firefox dbus
- $
- 環境変数の設定
- 以下の5行を.bashrcの最後にエディタを使い追加し保存する.この設定により,LinuxのウインドウアプリケーションとGazeboが起動するようになる。nanoエディタで保存する方法はこのリンクを参照して欲しい。
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
export ROS_MASTER_URI=http://localhost:11311
export ROS_HOSTNAME=localhost
export LIBGL_ALWAYS_INDIRECT=""
export GAZEBO_IP=127.0.0.1
- 追加しただけではすぐ有効にならないので、次のコマンドを実行して設定を反映する。
$ source ~/.bashrc
- 以下の5行を.bashrcの最後にエディタを使い追加し保存する.この設定により,LinuxのウインドウアプリケーションとGazeboが起動するようになる。nanoエディタで保存する方法はこのリンクを参照して欲しい。
- 確認
- ウインドウアプリケーションが起動するか確認しましょう。
- Ubuntuで標準のウェブブラウザfirefoxを起動してみましょう。Ubuntu端末を起動して次のコマンドを実行してください。うまくfirefoxのウインドウが開けば成功です。お疲れ様!
- $ firefox &
- エラーがでる場合は次のエラー対処法をご覧ください。
- [スタートメニュー]→[Ubuntu 20.04 LTS]からUbuntuのターミナル(以下、端末とよぶ)を起動する。
- エラーの対処法
- firefoxなどのアプリが開かない
- デスクトップに作ったXサーバーアプリVcXsrvのショートカットをダブルクリックして起動する。
- ~/.bashrcに以下の行が含まれているか確認してなければ、geditやnanoなどのエディタを使って最後の行の後に追加する。
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0
- 端末で次のコマンドを実行する。
- $ source ~/.bashrc
- WSLバージョン確認
- Ubuntu20.04のWSLがバージョン2になっているかWindows PowerShellを管理者権限で起動して次のコマンドで確認する。
wsl -l -v
- 以下のように表示されていればOK。
PS C:\WINDOWS\system32> wsl -l -v
NAME STATE VERSION
* Ubuntu-20.04 Running 2
Ubuntu Stopped 1 - Ubuntu-20.04がVERSION 1になっていたら、Windows PowerShellで次のコマンドによりVERSION 2へ変換する。変換に数分かかる。変換が終了したら上のコマンドで確認する。
wsl --set-version Ubuntu-20.04 2
- Ubuntu20.04のWSLがバージョン2になっているかWindows PowerShellを管理者権限で起動して次のコマンドで確認する。
- firefoxなどのアプリが開かない
終わり
コメント