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

1. 初めに

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

2. 使用した機器

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

3. タブレットにインストールしたソフト

全て F-Droid からインストールできます。インストールしたら、IME を Hacker's keyboard に設定してタブレットに USB キーボードを接続します。

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

4. UserLAnd の初期設定

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

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

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

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

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

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

Android の IME で SSH に日本語を入力するのは不便です。むしろPC側の IME を、SSH 経由で使用する方が簡単です。そのために「uim-fep」を使用します。

uim-fep の使用方法は次の通りです。uim-fep については、別の記事で解説しました。

インストール (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を使用できるから良いですね。