け い ざ ん の D I Y 工 房
●Chromebook に Linux install
2022.03.13
いつのまにか ASUS Chromebook C302で Linuxが使用可能になっていました。
これは、うれしい。
ただしまだ supportされていない機能があります。
1. cameraは supportされていません。
2. Android Deviceは USB経由で supportされていますが、他の Deviceは
supportされていません。
Android Emulaterは supportされていません。
3. HardWare acceleration (GPU, 動画 decordを含む)は
supportされていません。
4. ChromeVoxは Default Terminal APPでは supportされていますが
他の Linux APPでは supportされていません。
早速 Chromebookに Linuxの導入をします。
「設定」⇒「詳細設定」⇒「デベロッパー」⇒「Linux開発環境」⇒「ON」を
clickします。
User名登録画面が出てきます。Defaultは Chromebookの User名が入っています。
変更しなくてよければ、この名称で Linuxを installします。
Linuxは Debian です。
installが終わったら確認します。
Chromebook Linux
【Chromebook Linux 環境】
Software Debian (bullseye)
OS type x86_64 GNU/Linux
Virsion ver.11
python ver 3.9.2 (system)
gccやnanoも入っていなかったので installしておきます。
$ sudo apt-get install gcc
$ sudo apt-get install nano
python関係も installしておきます。
$ sudo apt-get install python3-pip python3-numpy python3-scipy python3-matplotlib
次に仮想環境を作成して、openCVと Tensorflowを installします。
【pyenv の install】
$ cd /home
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install -y git openssl libssl-dev libbz2-dev libreadline-dev libsqlite3-dev
$ git clone https://github.com/pyenv/pyenv.git /home/.pyenv
installが終わったら、home/pi配下の .bashrcに下記4行を追加します。
$ cd /home/ta
$ ls -l -a
$ sudo nano .bashrc
.bashrc
export PYENV_ROOT="HOME/.pyenv"
export PATH="/home/.pyenv/bin:/home/ta/.pyenv/shims:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
【仮想環境に py36 Directory 作成】
Main環境で準備作業。
$ cd /home/ta
$ mkdir Virtual ・・・・仮想環境 Directory作成
$ cd Virtual
$ pyenv versions ・・・Main環境の現状 Version
*system
$ python -V
python 3.9.2
Main環境に python-3.6.15を installして local設定します。
$ cd /home/ta/Virtual
$ pyenv install 3.6.15
$ pyenv local 3.6.15
Main環境を python-3.6.15に local固定した状態で venvで py36という
Directoryを作成して python3.6.15環境を構築します。
$ cd /home/ta/Virtual
$ python3 -m venv py36 ・・・py36 Directory作成
仮想環境に入って openCVと Tensorflowを installします。
$ cd /home/ta/Virtual/py36
$ . bin/activate
(py36)$ pyenv install 3.6.15
(py36)$ pyenv local 3.6.15
(py36)$ pyenv versions
(py36)$ *python 3.6.15
【openCV-python install】
$ cd /home/ta/Virtual/py36
$ . bin/activate
(py36)$ pip --default-timeout=1000 install opencv-python==4.5.4.60
$ pip list
opencv-python 4.5.4.60
【Tensorflow install】
$ pip install tensorflow==2.6.0
$ pip list
tensorflow 2.6.0
【Chromebookの SSH Server 設定】
Windowsの tera termから接続できる様に Chromebookの SSH設定をします。
Chromebookの Linux側は SSHの portを 1024~65535の間しか設定できません。
一般的に使用している 22が使えません。これは不便です。
しかたなく Chromebookの port設定画面から 10022に設定しました。
Linux側に戻って設定
$ cd /etc/ssh
$ sudo nano sshd_config
port 10022 ・・・追加
#AddressFamily any
↓
AddressFamily any
ListenAddress 0.0.0.0 ・・・こちらでもOK
#PasswordAuthentication yes
↓
PasswordAuthentication yes
ctl+Oで保存して ctl+X で終了します。
次に Passwordの設定をします。
$ passwd:
$ retype passwd:
Passwordは8桁を2回keyinをします。
Cursorは動きませんが入力されています
SSHが有効になっているか確認します。
$ sudo systemctl status ssh
まだ failになっていますので、有効に設定変更します。
$ sudo systemctl enable ssh
これで SSHが有効になりました。
sudo systemctl status ssh
【Windowsから Chromebook接続】
Windows側から tera termを起動して接続を試みます。
tera termの接続先 hostは、Chromebookの IP Addressを確認して
192.168.1.11をいれます。
Portは Chromebook側に設定した 10022を入れます。
「接続」を実行してErrorが出た場合。
「無効な Hostです」→ host名や IP Addressが間違って相手にされていない。
「接続が拒否されました」 → sshd_configの設定がもれているか他の設定もれ。
接続拒否の場合は、hosts, ufw の設定を確認する。sshd_config再確認。
hostsに host IP address追加
$ cd /etc
$ sudo nano hosts
192.168.1.11 asus ・・・Chromebook Linux側 host名
Fire Wallに port 10022を追加
$ cd /etc/ufw/applications.d
$ sudo nano openssh-server
[openssh]
port=22/tcp
port=1022/tcp ・・・追加
tera termの 接続Errorがなくなると Windowsと Chromebookが接続できて
User名と Password入力画面になります。
user名は Linux install時に決めた User名称を入力します。
passwordは登録した8桁の passwordを入力します。
正常に接続できると command prompt画面になります。
Chromebook Linux起動後の画面
ASUS Chrome bookのページはこちら ⇒ ASUS Chrome book C302CA