にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2020年01月04日

Android業務用タフタブレット FZ-B2 UserLAnd インストール その1

UserLAnd2.jpg

この前買ったAndroidタブタブレットのFZ-B2に
最新Chroot(proot)環境のUserLAndをインストールしてみました。
のでその記録をブログに残します。
GUI環境が一見面倒臭そうに見えますが
変更点はTWMをコメントアウトしてstartlxdeなどを
追加するだけです。
簡単なので是非使ってみましょう。

●UserLAndとは
UserLAndとはAndroid上でLinuxディストリビューションを
動かすためのchroot環境(proot)の一つで、
GNU Root系列やDebian Norootの改良版です。

長所として、最新の環境をサポートしている所と
様々なOS環境をコンテナ形式に複数作る事ができる点にあります。
同時に複数のOSを起動することは出来ませんが、
Debian NorootやGNU Rootなど他のアプリと平行して
同時に使うことは一応可能です。
特徴としては、

・No need to root your device.
・Use a built-in terminal to access your favorite shells.
・Easily connect to VNC sessions for a graphical experience.
・Easy setup for several common Linux distributions, like Ubuntu and Debian.
・Easy setup for several common Linux applications, like Octave and Firefox.
・A way to experiment and learn Linux and other common software tools from the palm of your hand.

という事でRootを取らないで使える事と
SSHターミナル、VNC、XSDLが使える事と
Ubuntu、Debian、Alpine、Arch、Kariや各種アプリがサポート
欠点としては、
Debian Norootと違って全自動ではないので、
自分で環境設定しないといけない所でしょうか。
別に全然難しくありません。
先駆者の日本語の参考サイト様に感謝して是非使いましょう。

https://www.webcyou.com/?p=9476
https://wlog.flatlib.jp/item/1866
https://dench.flatlib.jp/linux/userland
https://qiita.com/ttaka/items/c7371a44f49e2f8ac588
http://digital-life.seesaa.net/article/467450052.html
https://yamadablog.web.fc2.com/articles/20/index.html

で上の参考サイトを読みながら試してみたのですが、
どうみても再現できないw
どうやらUserLAndの仕様が少しづつ変わっている様です。
このブログを書いた時点では最新ですが、
将来には内容が変わっている可能性がありますので
ご理解を願います。

●Debian Noroot VS UserLAnd
過去のDebian Norootを使っていた事がある人にとって
UserLAndは何が違うのかが、気になると思います。
個人的に思った事を書いてみます。

Debian NorootとUserLAndの違いは

・Debian Noroot:
  32bitのみ、
  全自動設定、
  Debian Jessieのみでサポート切れ、
  WMはXFCE4、
  Android7.1.2まで対応
・UserLAnd:
  32bit or 64bitのみ(多分Kernelのunameを見てる?)
  手動設定、
  各種ディストリ、アプリ最新版
  原因不明のバグで動かないアプリ沢山、
  UbuntuやArch、Alpine、Debianなども対応
  SSHやVNCやXSDLなど複数のUI対応
  Android10まで対応
  Multilib非対応

Multilib対応していないのでWineが非常に苦しい
32bitのWindowsアプリが64bit環境でライブラリの関係で動作しません。
あとはブラウザとか結構アプリ死んでます。
Debianは比較的マシですがArchとかは問題あり
探せば沢山問題点がありそうです。
情報の集約と対処方の蓄積が重要になりそうです。
細かい内容はGithubにしか書いていないので
そちらを読む必要があります。

https://github.com/CypherpunkArmory/UserLAnd

●FZ-B2とは?
ついでに新しく購入しましたFZ-B2Dのご紹介。
Android6.0です。
Cherry-Trailのインテルタブレットで2016年製。
スペックは旧式ですが、高耐久性が非常に優れていて
耐衝撃性、防塵、防水で壊れません。
7インチ液晶が割れるリスクが低いので持ち運んで使っています。
コストパフォーマンスは低いです。
UEFIは起動しますが、セキュアブートが解除出来ないのに加え
Ubuntuとかでも署名解除出来ないエラーが出て起動しません。
ACアダプタは普通のLet's Noteと同じ16V3A相当で共通です。
USBで給電は出来ません。
Androidだけでは使い勝手が面白くないので
各種chroot環境でLinux導入しています。


●UserLAndのインストール
あると便利なもの

・USBかBluetoothキーボード
 ⇒ソフトウェアキーボードがSSH以外では使えないです。
  一応Android画面下の左向き三角1を押して戻る画面にすると
  キーボードマークが表示されますが、UserLAndの画面がズレます。
  Debianなどでxvkbdが安定して使えていますので
  Linuxを起動した後にxvkbdを入れる事を推奨します。

GoogleアプリストアからまずUserLAndをインストールします。
ホーム画面にアイコンが出てきますので
それをタップするとアプリが立ち上がります。
それぞれのディストリに慣れていなければ
まずアプリの挙動が比較的安定している
Debianを最初にテストする事を推奨します。

その後にディストリのアイコンをタップすると
SSHかVNCかXSDLかを選択して(アプリを別で入れれば特に何でも良い)
chroot形式で自動にインストールされます。
もしVNCやXSDLが入っていなければ
アプリストアのHPに飛ばされるので一緒に入れましょう。

アプリを起動したら一回落とします。
でUserLAndのホーム画面の下側真ん中の「Sessions」を
「Apps Sessions」に登録されているはず
なので長押しすると「Edit」って出てくるので
それをタップすると「Service Type」が出てくるので
まずsshにして右上の四角マークをタップすると保存されます。
で再びアイコンをタップして起動します。

するとターミナルとソフトウェアキーボードが出てくるはずなので、
パスワードを入力してログインし、
必要なアプリをここからapt install (アプリ名)で自分で入れますw
そうです環境設定は自分で行う必要があるんです。
そこまで親切ではありません。

XFCE4とかLXDEとか日本語フォント、日本語IMSなどなど。
ここらへんは普通のDebianと同じなので割愛します。

で、XSDLかVNCで起動しますが、
先程と同じ様に「Edit」から切り替えますが、
何故かTWMが自動で立ち上がります。
コマンドで端末からstartlxdeを入れてもTWMのままですw
そうですDISPLAY:0が既にTWMに占拠されていてバッティングしているんですw
EXPORT出来ないんですw

参考サイトさんの場合、
EXPORTとかtcshを入れて、とか書いてありますが
そんな事は全く関係ありませんでした。
結構悩みましたがTWMを止めてLXDEなどを起動するだけでした。
こちらのサイト様が正しかったです。ありがとうございました。

https://wlog.flatlib.jp/item/1866
 
じゃあ設定ファイルがどこにあるのか?というと
/support/startXSDLServerStep2.sh
にありましてこのファイルをnanoとかテキストエディタで書き直します。

nano support/startXSDLServerStep2.sh

でTWMの行を#でコメントアウトします。
その後にLXDEやXFCE4を起動させます。
この画像の感じで。

UserLAnd1.jpg

例えば

startxlxde &
とか
startxfce4 &

などで起動できるはずです。
後はそのまま起動時にスクリプトを勝手に実行してWMが立ち上がります。

●トラブル事例
・XSDLで端末しか表示されません。
⇒見えませんがTWMが起動してDISPLAY:0を占拠しています。
 スクリプトでTWMをコメントアウトしましょう。
・UserLAnd側でAndroidのソフトウェアキーボードが表示されません。
⇒仕様です。
 例えばDebian側でxvkbdを使いましょう。
 sudo apt install xvkbd
・日本語化されていないんだけど
⇒通常のディストリの日本語化と同じ手段で出来ます。
 参考サイトを見てみましょう。
・VNC使えますか?
⇒仮想デスクトップを使う時はVNCでも良いです。
・Gnomeは?
⇒今の所動きません
・x86のタブレットですけどWineでアプリが起動しません。
⇒ライブラリの関係でmulitlib対応です。
 32bitのWineは32bitのWindowsアプリしか動きません。
 64bitのWineは64bitのWindowsアプリしか動きません。
 インストールは可能ですがライブラリエラーが出て動きません。
・ブラウザ他が真っ黒か真っ白で表示されません。
⇒仕様です。
 原因がつかめていませんが、Githubで確認しましょう。
 対処方法が書いてある場合もあります。
 Googleアプリストアに書いても無駄です。
・シャットダウンしないんだけど
⇒そのままアプリを落としましょう。
・Debian NorootとUserLAndを複数起動していますけど
⇒別のchrootというかコンテナなので多分大丈夫?
・Android9、10でXSDLで起動出来ません。
⇒仕様です。開発者さんがあえて起動できない様に変更しています。
 とりあえずVNCを使って下さい。
 そのうち直るはずだと思いますが・・・
・ArchでAURが使えないんですけど
⇒仕様です。makepkgなど動かないらしいです。


●どんなアプリを使おう?
まずはLibreOffice
そしてPythonなど開発環境、機械学習
Webサーバやクライアント
Arduinoや電子工作
ゲーム
出来ればx86のタブレットでWine、Steamクライアント



●まとめ
昔はchroot環境はARMのCPUが弱くて
非常に負荷がかかりましたが、最近のスマホタブレットは
CPUの性能も良くメモリも多いので
Linuxディストリ側の方が軽くて負担にならなくなりました。
なのでマルチOS環境を作っても
問題なく遊べます。
大変よい時代になりました。

ただしアプリが起動しないバグが大量にあり、
UserLAnd開発者でも対応が後手に回っています。
あとは手動でスクリプトを直さないとTWMが
勝手に起動されるのは簡単ですが慣れが必要です。
とは言えLinuxディストリが簡単に起動して
敷居が殆無くなりました。
是非使ってみましょう。
マルチOS環境で。
posted by kapper at 21:24 | Comment(0) | FZ-B2
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ