LoginSignup
9
5

More than 1 year has passed since last update.

SteamDeckで開発環境構築、ROSをインストールできた

Posted at

はじめに

ゲームのためsteamdeckを購入したが、ゲームだけするのはもったいないので
開発とゲーム両立できるの環境構築方法を探して
最終はdistroboxを利用して、steamOS readonlyの状態でロボット開発環境を作った

例えばSteamDeckでgazebo

もしくはコントローラーとしてロボットをコントロール

1.事前準備

steammボタンを押して、「電源」で「デスクトップに切り替え」を選択デスクトップモデルに入れ
左下のapplicationでkonsoleを探す、これではdeckのterminal
Screenshot_20221230_174116.png

passwd命令で新暗号を作成

passwd

1.1SSHサーバー(選択)

手元でbluetooth keyboardない人にオススメ

サーバー起動:

sudo systemctl start sshd

起動以降、パソコンから繋がって、commandの入力はやすくなる
パソコンでのssh client、オススメのはVS CodeとMOBAXTERM
image.png

2.Ubuntuコンテナを作る

直接steamOSでread onlyをoffして、ROSをインストールできた人もありますが
この操作は極めに不安定である、steamOS更新するときシステムが壊れる例もある

image.png

まだsteamOSはArch Linuxなので、無事にROSインストール成功しても、続き問題が起こる可能性がある
だからもっと簡単、安全の方法では、steamOSでUbuntuコンテナを作る、コンテナ中で開発環境を構築

Screenshot_20221230_151925.png

2.1 distroboxをインストール

distroboxは簡単で任意linuxコンテナを作るのツール、windowsでのWSLみたい
これを利用してUbuntuコンテナを作る
steamdeckでインストールの手順参考は:

terlminal中で入力

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --prefix ~/.local 
curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local 

環境変数を~/.bashrcに入れる

#distrobox
export PATH=$HOME/.local/bin:$PATH
export PATH=$HOME/.local/podman/bin:$PATH
xhost +si:localuser:$USER 

image.png

sourceもしくは新しいterminalを起動

source ~/.bashrc

2.2 コンテナ作成

もうUbuntu 20.04コンテナを作ったので、こちらは18.04を作る

distrobox create -i ubuntu:18.04

image.png

秒でコンテナを作た

コンテナに入れる方法はterminal中で

distrobox enter ubuntu-18-04

image.png

もしくはapplication中で直接開ける
Screenshot_20221230_184706.png

2.3注意点:

コンテナに入れるとき複数のerror出たが
image.png
原因はコンテナとコンテナ、コンテナとsteamOSが同じファイルシステムを共有
~/.bashrcも含めて共有したので、コンテナ0ための環境変数はコンテナ1もしくsteamOSでerrorになった
でも一応問題にはならないらしいので、無視すればよい

そしてコンテナをアンインストールしたいの場合
まずはコンテナを停止

distrobox stop ubuntu-18-04

そしてアンインストール

distrobox rm ubuntu-18-04

image.png

3.ROSをインストール

Ubuntuコンテナで普通のインストール手順にすればよい

こちらはUbuntu 20.04コンテナ、ROS noeticインストール中は何のエラーも出てない
要注意のはコンテナは軽量化のため、多くのデフォルトパッケージがインストールされていない
例え:git,pip,vim......など

インストール中でたまにパッケージがない原因で失敗、対応のパッケージをapt-getでインストールすればよい。
例えばROSインストール最初の

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

こちら lsb_releaseなしで失敗したので

sudo apt-get install lsb-release

インストールしたら無事になる

ROSに関する環境変数ついては、ファイルシステムはsteamOS共有するため
同じ~/.bashrcで記入
image.png

9
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
5