文書の過去の版を表示しています。
目次
LserLAnd
Android に install 可能な Linux 環境です。 PC の Linux Distribution と同等のものが利用できます。
- 2020/06/19 現在: Alpine, Arch, Debian, Kali, Ubuntu
通常のアプリとして簡単にインストールできます。root 不要。 Console は SSH 経由でアクセスします。 GUI は VNC もしくは X Server XSDL を利用します。
Bluetooth Keyboard 、 Bluetooth Mouse を使うと PC のように使えます。Oculus Go / Quest ではマウスの代わりにモーションコントローラを使います。
古い端末では動かない場合もあります。install し一見動くものの動作が不安定な場合もあり。試して動作した機種 ↓
Device | Android | SoC | CPU | RAM | ROM | SSH/VNC | XSDL | KeyLayout変更 |
---|---|---|---|---|---|---|---|---|
ASUS ZenFone AR ZS571KL | Android 7.0 | Snapdragon 821 | arm64 2+2 | 8GB | 128GB | Y | Y | Y |
Google Nexus 5X | Android 8.1 | Snapdragon 808 | arm64 2+4 | 2GB | 16GB | Y | Y | Y |
Essential Phone PH-1 | Android 10.0 | Snapdragon 835 | arm64 4+4 | 4GB | 128GB | Y | - | Y |
Google Pixel 3 | Android 10.0 | Snapdragon 845 | arm64 4+4 | 4GB | 128GB | Y | - | Y |
Oculus Quest | Android 7.1 | Snapdragon 835 | arm64 4+4 | 4GB | 128GB | Y | - | Y |
Oculus Go | Android 7.1 | Snapdragon 821 | arm64 2+2 | 3GB | 32GB | Y1) | - | Y |
ASUS Chromebook Flip C101PA | Android 7.1 | Rockchip RK3399 | arm64 2+4 | 4GB | 16GB | Y | - | - |
ASUS ZenFone 3 Max ZC553KL | Android 8.1 | Snapdragon 430 | arm64 4+4 | 3GB | 32GB | Y | - | |
Huawei P30 Lite | Android 10.0 | Kirin 710 | arm64 4+4 | 4GB | 64GB | Y | - | Y |
Huawei MediaPad M5 Lite | Android 9.0 | Kirin 710 | arm64 4+4 | 4GB | 64GB | Y | - | Y |
- SD card 上にファイルシステムを作れないので、できるだけ内蔵ストレージが大きめの機種を使うことをお勧めします。
基本的な使い方
Install 方法
- UserLAnd のアプリを install します
- 任意の Linux Distribution を選択
- User 名と Password の入力
- SSH, VNC, XSDL の選択 (あとから変更可能です)
- VNC, XSDL 選択時は初回のみ Google Play に飛ぶ。bVNC Free (VNC) / XServer XSDL の install
- install 後、もう一度 UserLAnd を起動して Distribution 名を再びタップ
- Android 10 では XSDL を選択することができません。
- 2019/01/18 現在: 新しいバージョンでは Connect Bot が不要になりました。
開始方法
- UserLAnd アプリを起動して、Distribution 名をタッチ
- Install 時の選択に従い SSH Terminal, bVNC Free, XSDL の何れかに切り替わります。
しばらく待っても画面が切り替わらないときは、一旦 UserLAnd アプリを終了させてからもう一度起動してください。
停止方法
- UserLAnd アプリを起動して、起動中の Distribution 名を長押し
- Stop App を選択。
- その後 UserLAnd アプリ自体を終了する。
SSH / VNC / XSDL の切り替え
アプリの Distribution 名を長押しすると設定を変えることができます。先に Stop App しておく必要があります。
- SSH / VNC / XSDL の切り替え手順
- Distribution 名を長押し → Stop App
- 止まらないときは一度 UserLAnd アプリを終了しもう一度 Stop App
- Distribution 名長押し → App Info
- 接続方法を選択する
- SSH = 内蔵の Terminal で接続
- VNC = bVNC Free で接続
- XSDL = XServer XSDL で接続
設定等のメモ
日本語化&日本語入力対応化
2020/06/19 21:25 | |
2020/06/21 17:47 |
XSDL 利用時の日本語設定の仕方は VNC と同じです。
VNC の画面解像度を変更する方法
インストールすると ~/.vncrc が自動で作られます。書き換えることで解像度の変更が可能です。
$geometry = "1280x720";
ハイエンドスマートフォンの場合等倍ピクセルだと画面が小さすぎて操作できなくなる可能性があります。 1280×720 あたりがおすすめです。 画面比率に応じて調節してください。
例: 解像度対応表
Device | Native | 768p | 720p |
---|---|---|---|
Google Pixel 3 | 2160×1080 | 1536×768 | 1440×720 |
ASUS ZenFone AR ZS571KL | 2560×1440 | 1366×768 | 1280×720 |
Essential Phone PH-1 | 2560×1312(2423×1312) | 1418×768 | 1330×720 |
Huawei P30 Lite | 2132×1080 | 1536×768 | 1412×720 |
SSH 経由のアクセス
- port 2022
SSH を選択している場合は普通に sshd (dropbear) が動いています。PC など他のマシンからもアクセス可能です。port 番号が 2022 なので注意。
$ ssh -p 2022 <AndroidDeviceIP> -l <UserName>
VNC/XSDL mode 時に SSH Server を起動する
$ sudo /support/startSSHServer.sh
Android ストレージへのアクセス方法
- /storage/internal にファイルを転送すると、Android の「ファイル」アプリからアクセスできるようになります。
- 「ファイル」アプリを使って他のアプリや外部とデータのやりとりを行うことができます。
- /storage は UserLAnd 内の複数の Unix Distribution で共有されます。
- Android 10 よりセキュリティが強化されて仕様が変わりました
- 従来の共有の内部ストレージ (/sdcard) は直接アクセスできず、storage はローカルな領域となります。
- 他のソフトなど外部とのやり取りは Android の「ファイル」アプリを使う必要があります。
- Termux では「ファイル」アプリから Termux 側の Home ディレクトリに直接アクセスできますが UserLAnd はできません。
- ファイルシステムには proot によるシミュレートされたメタファイルが付加されているためです。
自分自身への adb 接続
(1) PC に接続して、端末の adb mode を tcpip に変更
PC に予め Android SDK (adb command) を入れておく必要あり。 PC に USB 接続して、PC 側でコマンドを打つ “adb tcpip 5555”。
(2) Android (UserLAnd) 側での操作
$ sudo apt install android-tools-adb $ adb devices
これで自分自身が「emulator-5554」として認識されている。
ブラウザ
Firefox
- Ubuntu/Debian の場合は firefox-esr を install します。
Chromium
--no-sandbox を指定すれば Chromium Browser が動きます。Debian, Ubuntu 両方で確認しました。
Debian の場合
$ sudo apt install chromium $ chromium --no-sandbox
Ubuntu の場合
$ sudo apt install chromium-browser $ chromium-browser --no-sandbox
Android の併用
Android 7 以降なら画面分割機能が使えるので、Android のブラウザを併用する方法もあります。 速度も早く確実です。
複数のストレージの併用
UserLAnd の “Filesystems” tab でストレージを管理することができます。 同じ Distribution でも複数のストレージ領域をもたせることが可能です。
- Filesystems Tab に切り替える
- 右上の「+」から追加
- 一番下の “Filesystem:” で、Distribution を選択
- 右上の FD アイコンで保存
- Sessions Tab に切り替える
- 右上の「+」から追加
- Filesystem: を上で作ったものに切り替え
- Service Type: を任意に選択する (SSH or VNC)
- 右上の FD アイコンで保存
他の Distribution ストレージへのアクセス
実際のファイルは /data/data/tech.ula/files 以下にあります。
- /data/data/tech.ula/files/1
Filesystem を作るごとに、1~ の番号フォルダが作られていきます。 例えば最初に作ったのが Ubuntu で User name が “dench” なら、下記のように実パスでもアクセスできます。
$ cd /data/data/tech.ula/files/1/home/dench
同じように、他の Distribution の領域にもアクセスできます。 例えば、二番目に作ったのが Debian で User name が “hyper” なら、次のようになります。
$ cd /data/data/tech.ula/files/2/home/hyper
もし設定を変えて起動しなくなっても、他の動いている Distribution からアクセスしてファイルを書き換えることが可能です。 ただし .proot-meta-files.* や .proot.l2s.* 等のメタファイルに矛盾する修正はやめた方が良いでしょう。
PC の X11 server への接続
PC 側で X11 server が動いている場合、UserLAnd の X client (terminal 等) を直接 PC で操作することができます。
- 予め UserLAnd 上で ssh server を起動しておく。
- PC 上で X11 server を起動 (Windows の場合は X410 や VcXsrv 等)
- WSL 上の Linux (Ubuntu, Debian 等) で x11-server-utils を install しておく。
- PC 側で下記のように実行
$ sudo apt install x11-server-utils $ export DISPLAY=localhost:0.0 $ xhost +<AndroidIPAddress> $ ssh -Y <AndroidIPAddress> -p 2022 $ xterm
Windows の場合は、WSL + X11 server の併用をお勧めします。