bibi/src/userland.html

98 行
4.9 KiB
HTML

<title>UserLAnd でタブレットから SSH を使用 - 美々蝶々</title>
<h1>UserLAnd でタブレットから SSH を使用</h1>
<ul>
<li>2022-12-25 たかし</li>
<li>最終更新日: 2023-10-29 (陰暦09月15日)</li>
<li>スクリーンショットを追加したい</li>
<li><strong>これを書いた後で中古のラップトップを購入した</strong></li>
</ul>
<h2></h2>
<p>ラップトップが欲しいけど新しく購入するのは勿体ないことです。筆者は CyanogenMod (Android 6 と同じ) のタブレットをもちます。SSH を使用すればタブレット経由でデスクトップ PC を操作できます。これで CLI に限られるものの、ラップトップと同じことができます。</p>
<ul>
<li>SSH 経由の X11 は不便だつた</li>
</ul>
<h2>1. 使用機器</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>2. タブレットに導入したソフト</h2>
<p>すべて <a href="https://f-droid.org/">F-Droid</a> から導入できます。導入したら、IME を Hacker's keyboard に設定してタブレットに鍵盤を接続します。</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>3. 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>tmux を使用すれば SSH や CLI がより便利になります。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>CLI に日本語を入力したい時は、Android 側の IMEよりも PC 側の IME を SSH 経由で使用する方が快適になります。そのためには PC 側で「<a href="./uim-fep.html">uim-fep</a>」を使用します。</p>
<p>uim-fep の使用方法は次の通りです。</p>
<dl>
<dt>uim の 導入 (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>