bibi/src/userland.html

93 行
4.9 KiB
HTML

<title>UserLAnd でタブレットから SSH を使用 - 美々蝶々</title>
<h1>UserLAnd でタブレットから SSH を使用</h1>
<ul>
<li>2022-12-25 たかし</li>
<li>最終更新日: 2022-12-31</li>
<li>書きかけ。スクリーンショットを追加したい。</li>
</ul>
<h2>1. 初めに</h2>
<p>ノートPCが欲しいけど新しく購入するのは勿体ないです。でも、わたしには CyanogenMod (Android 6 と同じ) のタブレットがあります。SSH を使用すればタブレット経由でデスクトップPCを操作できます。これでノートPCと同じになります。CLIだけですが。</p>
<h2>2. 使用した機器</h2>
<dl>
<dt>PC</dt>
<dd>Open BSD をインストールしたPCです。</dd>
<dt>タブレット</dt>
<dd>CyanogenMod をインストールしたタブレットです(普通の Android でも同じです)。</dd>
<dt>キーボード</dt>
<dd>USB Type-A のキーボードです。</dd>
<dt>USB Type-A・B 変換アダプター</dt>
<dd>タブレットが USB Type-B のみ対応だからキーボードの接続に変換アダプターが必要です。</dd>
</dl>
<h2>3. タブレットにインストールしたソフト</h2>
<p>全て <a href="https://f-droid.org/">F-Droid</a> からインストールできます。インストールしたら、IME を Hacker's keyboard に設定してタブレットに USB キーボードを接続します。</p>
<dl>
<dt><a href="https://f-droid.org/en/packages/tech.ula/">UserLAnd</a></dt>
<dd>Android で Linux ディストロを使用可能にします。</dd>
<dt><a href="https://f-droid.org/en/packages/org.pocketworkstation.pckeyboard/">Hacker's keyboard</a></dt>
<dd>いくつか試した Android用 IME の中で一番 SSH との相性が良いです。</dd>
</dl>
<h2>4. UserLAnd の初期設定</h2>
<p>UserLAnd を使用する前に、Linux ディストロの選択が必要です。わたしは「Alpine」を選択しました。ユーザー名とパスワードとは入力し易い物を設定します。接続方法は「SSH」にします。</p>
<p>設定が終つたら Alpine のセッションを始めます。パスワードを入力して Alpine にログインします。初めは SSH が無いから apk で OpenSSH をインストールします。</p>
<ul>
<li><samp>$ <kbd>apk add openssh</kbd></samp></li>
</ul>
<p>PCを予め起動して、Alpine から SSH で PC に接続します。</p>
<ul>
<li><samp>$ <kbd>ssh myname@192.168.1.###</kbd></samp></li>
</ul>
<h2>5. SSH を便利に使用するために</h2>
<p>SSH を使用するなら tmux が便利です。SSH の接続が切れてもセッションを復元できるし、タブレットをやめてPCに直接ログインした時に、タブレットで作成したセッションをPCで再開できます。</p>
<dl>
<dt>セッションを新規作成する</dt>
<dd><samp>$ <kbd>tmux</kbd></samp></dd>
<dt>作成したセッションにアタッチする</dt>
<dd><samp>$ <kbd>tmux attach</kbd></samp></dd>
</dl>
<p>Android の IME で SSH に日本語を入力するのは不便です。むしろPC側の IME を、SSH 経由で使用する方が簡単です。そのために「uim-fep」を使用します。</p>
<p>uim-fep の使用方法は次の通りです。<a href="./uim-fep.html">uim-fep について</a>は、別の記事で解説しました。</p>
<dl>
<dt>インストール (OpenBSDの場合)</dt>
<dd><samp>$ <kbd>pkg_add uim</kbd></samp></dd>
<dt>「~/.uim」を設定する(例です)</dt>
<dd><samp>$ <kbd>nvim ~/.uim</kbd><br>
(define default-im-name 'anthy-utf8)<br>
(define-key anthy-on-key? '(&quot;&lt;Control&gt;o&quot; generic-on-key?))<br>
(define-key anthy-off-key? '(&quot;&lt;Control&gt;o&quot; &quot;escape&quot; generic-off-key?))</samp></dd>
<dt>uim-fep を起動する(IME が有効になる)</dt>
<dd><samp>$ <kbd>uim-fep</kbd></samp></dd>
<dt>uim-fep と同時に tmux を起動する</dt>
<dd><samp>$ <kbd>uim-fep -etmux</kbd></samp></dd>
<dt>uim-fep と同時に tmux のセッションにアタッチする</dt>
<dd><samp>$ <kbd>uim-fep -etmux attach</kbd></samp></dd>
</dl>
<p>uim-fep を起動すると IME が有効になります。上記の ~/.uim の記述により、「<kbd>Alt + o</kbd>」で日本語入力と直接入力とを切替できます。uim-fep を終了するには「<kbd>exit</kbd>」または「<kbd>Ctrl + D</kbd>」を入力します。</p>
<p>Alpine にログインするたびに SSH コマンドを入力するのが面倒な時は Alpine側の ~/.profile にコマンドを記入して、「<kbd>chmod +x ~/.profile</kbd>」とします。これで Alpine にログインしたら勝手に SSH が起動します。</p>
<h2>以上</h2>
<p>タブレットは持ち運べて便利ですが Android などのタブレット用OS はイマイチでした。SSH なら、タブレット側のOSが何であれ、PC側のOSを使用できるから良いですね。</p>