M2 MacBook AirでROS2やります。
環境
- M2 MacBook Air
- VMware Fusion
- Ubuntu Server for ARM
- ROS2 Humble
VMware Fusionを入手する
VMware StoreからVMware Fusion Player Personalを入手します。
[個人利用]をクリックします。
下記に飛ばされます。
Customer Connect
アカウントを作り個人利用のプロダクトキーを入手します。
Ubunutu Server for ARM
ARMの場合は一度serverをinstallしてaptでdesktopにします。
仮想環境の設定
CPU : 4 core
MEM : 8192MB
SSD : 100GB
install Ubuntu
Try Install
[English]
[Continue without updating]
[English US] [English US] [Done]
[Ubuntu Server] [Done]
[Done]
Proxy address : “”
name : jn
server name : svr
username : jn
[Reboot Now]
CDを切断します。切断しないとUbuntuが起動してくれません。
rebootするとcloud initのところで止まります。Enterで進みます。Enterで進むとIDとPasswordの入力に進みます。
install ubuntu-desktop
$ sudo apt update
$ sudo apt install ubuntu-desktop
firefoxもinstallされます。十分速いです。
自分は一度sudo apt install ubuntu-desktopに失敗していましたのでやり直しました。
Settings for Ubuntu
[Displays] > [Resolution]
1920 x 1200
(Macの方はVMwareを全画面にする)
[Privacy] > [Screen]
15 minutes
[Appearance]
Top Left
Tiny
Settings for VMware
[Virtual Machine] > [Settings] > [Display]
Full Screen : Stretch the virtual machine in the screen
この設定をしないとfull screenを切り替えて戻ると設定した解像度が無かったことにされます。
こっちの方が自分は見やすいので下記の設定をします。
[Vertual Machine] > [Settings] > [Display]
Use full resolution : uncheck
Terminal on Ubuntu
Terminal
Preferences
Terminal bell : uncheck
Use colors from : uncheck
Built-in : White on black
設定
.inputrc
.bashrc
.vimrc
ROS2
下記の準備は全て必要です。
準備が完了したら、下記でcolcon以外がinstallされます。
$ sudo apt install ros-humble-desktop-full
下記でcolconがinstallされます。
$ sudo apt install ros-dev-tools
これでRVizもGazeboも全部入ります。問題なく動作します。
$ ros2 run rviz2 rviz2
$ ros2 launch ros_gz_sim gz_sim.launch.py
まとめ
僕が以前にJetsonやってたときはUbuntu on ARMは本当に大変でした。16.04とか18.04の時代。
22.04を2024に使っているので、色々なところで議論されてた問題が大体解決されているようです。
手間を取らされたのはsudo apt install ubuntu-desktopだけでした。
installのprogressが20%で暫く止まったけど完了はして、でもfirefoxが入ってなくて、tracker-extractも起動時にerrorを頻繁に出力したことくらいです。
installしなおしで解決しました。
tracker-extractは作成できた環境でもたまにerrorを出力します。systemctlの良い勉強の題材と思うのでそのうち直します。
sudo apt remove tracker-extractすればいいと言う人もいるみたいですがubuntu-desktopなんかも削除します。
systemctl –user stopで止まってくれるけどsystemctl –user disableで無効になってくれない。なので皆さんmaskしているわけですね。
このfirefoxはsudo snap install firefoxでinstallしたものと同じはずです。これは良くないとする人もいますが、快適に動作しているので気にしないことにします。
chrome使うならbuildが必要のようです。
ROS2がARMで快適に動く時代になりました。colcon buildが速いです。
MacとUbuntu Server on VMware FusionのあいだのCopy & Pasteはできないみたいです。(2024.03.01)
自分が欲しいのはviで編集している内容のみなのでMacのTerminalからsshで入ってCopy & Pasteしてます。これはこれで便利。
Ubuntu側でip aで172.XXX.YYY.ZZZを表示させてssh 172.XXX.YYY.ZZZで入るだけです。
追記
login画面でuserを選択したときにのみ選択できるようになると思われるwaylandとxorgの切り替えでxorgにします。
念の為。
$ sudo apt update
これ重要。
$ sudo apt install open-vm-tools-desktop
再起動。
$ reboot
好きな人はこちら。
$ shutdown -r now
これでMacとUbuntu Server on VMware FusionのあいだのCopy & Pasteができるようになります。
効率が違いすぎる。
Ubuntuの中のFirefoxからcopyするときはCtrl + ‘c’です。
Ubuntuの中のTerminalからcopyするときはShift + Ctrl + ‘c’です。
Macの中のVisual Studio CodeにpasteするときはCommand + ‘v’です。
逆も同様です。あまり逆はやらないかな。