UserLAnd でタブレットから SSH を使用

ラップトップが欲しいけど新しく購入するのは勿体ないことです。筆者は CyanogenMod (Android 6 と同じ) のタブレットをもちます。SSH を使用すればタブレット経由でデスクトップ PC を操作できます。これで CLI に限られるものの、ラップトップと同じことができます。

1. 使用機器

PC
Open BSD を導入した PC
タブレット
CyanogenMod を導入したタブレット (普通の Android でも同じ)
鍵盤
USB Type-A の鍵盤
USB Type-A・B 変換アダプター
タブレットが USB Type-B のみ対応だから鍵盤の接続に変換アダプターが必要です。

2. タブレットに導入したソフト

すべて F-Droid から導入できます。導入したら、IME を Hacker's keyboard に設定してタブレットに鍵盤を接続します。

UserLAnd
Android で Linux ディストロを使用可能にします。
Hacker's keyboard
いくつか試した Android 用 IME の中で一番 SSH との相性が良いと感じました。

3. UserLAnd の初期設定

UserLAnd を使用する前に、Linux ディストロの選択が必要です。筆者は「Alpine」を選択しました。ユーザー名とパスワードとは入力しやすい物を設定します。接続方法は「SSH」にします。

設定が終つたら Alpine のセッションを始めます。パスワードを入力して Alpine にログインします。初めは SSH が無いから apk で OpenSSH を導入します。

PC を予め起動して、Alpine から SSH で PC に接続します。

5. SSH を便利に使用するために

tmux を使用すれば SSH や CLI がより便利になります。SSH の接続が切れてもセッションを復元できるし、タブレットをやめて PC に直接ログインした時に、タブレットで作成したセッションを PC で再開できます。

セッションを新規作成する
$ tmux
作成したセッションにアタッチする
$ tmux attach

CLI に日本語を入力したい時は、Android 側の IMEよりも PC 側の IME を SSH 経由で使用する方が快適になります。そのためには PC 側で「uim-fep」を使用します。

uim-fep の使用方法は次の通りです。

uim の 導入 (OpenBSDの場合)
$ pkg_add uim
「~/.uim」を設定する (例です)
$ nvim ~/.uim
(define default-im-name 'anthy-utf8)
(define-key anthy-on-key? '("<Control>o" generic-on-key?))
(define-key anthy-off-key? '("<Control>o" "escape" generic-off-key?))
uim-fep を起動する (IME が有効になる)
$ uim-fep
uim-fep と同時に tmux を起動する
$ uim-fep -etmux
uim-fep と同時に tmux のセッションにアタッチする
$ uim-fep -etmux attach

uim-fep を起動すると IME が有効になります。上記の ~/.uim の記述により、「Alt + o」で日本語入力と直接入力とを切替できます。uim-fep を終了するには「exit」または「Ctrl + D」を入力します。

Alpine にログインするたびに SSH コマンドを入力するのが面倒な時は Alpine側の ~/.profile にコマンドを記入して、「chmod +x ~/.profile」とします。これで Alpine にログインしたら勝手に SSH が起動します。

以上

タブレットは持ち運べて便利ですが Android などのタブレット用 OS はあまり好きではありません。SSH を経由すれば、タブレット側の OS が何であれ PC 側の OS を使用できます。

附加情報