トホホな疑問(49) Termux、「普通に」使うための試行錯誤の結果

Joseph Halfmoon

普段だと2日や3日電池が持つスマホなのですが、このところ減りが速いです。時間があるとTermuxいじっているから。なんといってもタッチキーでLinuxするにはいろいろ障害あり、記号キーは多いは、CTRLナンチャラ、METAナンチャラにファンクションキー。どうする?

※「トホホな疑問」投稿順Indexはこちら

Termux:API

まず、トホホな件を一件解決。$PREFIX/bin/ ディレクトリ内に大量の

termux-ナンチャラ

という名前のコマンドあり。幾つかはインストール後直ぐにお世話になっているのですが、幾つかは動きませんでした。なぜ?と思っていたら

Termux:APIというものをインストールしないと動かないものがある

TermuxインストールしたらAPIも使えるのだと勝手に思い込んでました。本体とは別にインストールする必要があったようです。解説ページは以下に。

Termux:API

インストールは2段構えです。

    1. Android側へのAPKのインストール
    2. Termux側での termux-apiのインストール

Android側のシステム(TermuxもAndoridスマホの上で走っているわけなんですが)にアクセスするためにAndroid側にもTermux:APIのAPKを入れておかないと、です。

Termux上でのパッケージのインストール

初期、無意識に apt を使っていくつかソフトをインストールしてしまいましたが、ドキュメントを良く読んだら非推奨でした。

pkg ツールを使え

ということみたいです。pkg ツールの中で apt を呼び出しているみたいですが、pkg ツールは apt を呼ぶ前にダウンロード先のレポジトリを確認したりいろいろ設定をしてくれているみたいです。

Termux:APIでバッテリ残量を確認

Termux:APIのインストールができたので、termux-battery-status コマンドでスマホのバッテリ残量を確認してみました。こんな感じ。

batteryStatus

なお、結果を返してくる Termux:API のコマンドは上記のように JSON 形式で結果を返してくるようです。

タッチキーボードとの激闘の末、Midnight Commander導入

パソコンから ssh でスマホにモグリこんでいるときにはパソコンのキーボードなので不便を感じないのですが、いざスマホ単体でLinuxしようとするとやたら記号キーを押さないとならないは、CTRLナンチャラ、ALTナンチャラなどキーシーケンスが目白押しです。正直、スマホのタッチパネルに追いつけていない年寄りには苦痛。そこで、導入したのが Midnight Commander であります。

昔なつかしいキャラクタ・ベースの「ファイラー」です。DOS上のノートン・コマンダー風、といったら分かる人は皆年寄り?Gnu版のノートン・コマンダーですかね。WindowsのExploreに「相当する」感じ。公式サイトは以下に。

http://midnight-commander.org/

上記の公式サイトには書きかけのドキュメントしかなく、調べたところでは以下のサイトの方が説明充実しています。

Midnight Commander

なお、公式のウエブサイト上にはちゃんとしたドキュメントが無いのですが、mc(Midnight Commander)を起動して、Helpを開くと以下のような充実したHelpが出てまいります。

mcHELP

mcの導入により、冒頭のアイキャッチ画像のようにタッチキーボードあたりは3段構えとなります。

    1. 一番下、Gboard(記号キー入力しやすいモードにしてある)
    2. 真ん中、TermuxのExtra Keys Row、上記では入力しずらいCTRLキーなど
    3. 一番上、Midnight Commanderのファンクションキーのガイド

Midnight Commanderは、

    • カーソルキーで、ファイルやディレクトリを選択
    • ファンクションキーでアクション(中身を見るとか、EDITする、COPYするなど)

というのが基本的な使い方です。

ファンクションキーを多用するのだけれど、スマホにはありまっせん。でもTermuxの中の人はよく考えてくれていて2通りの方法が用意されています。

    • 音量ボリュームボタンのUpを押しながら数字を押すとその番号のファンクションキーになる(0はF10)
    • ESCキーを押してから数字を押すとその番号のファンクションキーになる(0はF10)

上のやり方だと両手を使ってしまうのですが、下なら簡単です。タッチキーボードの説明はこちら

mc は普通に起動すると背景色付きにとてもカラフルなのですが、年寄りには文字が視認しずらかったので

mc -b

として「白黒モード(色なしモード)」で使っています。また、通常は、画面を横に2分割して左右モードで起動しますが、スマホ画面が縦に長いので、縦分割の上下モードで動かしております。

ファイルの中身を確認するならQuick Viewモード

まだTermuxのことが良く分かっていないので、アチコチの設定ファイルなどを見て回りながら、こそこそ設定など直しています。そんなときにお役立ちなのがQuick Viewです。通常は2面をCopy元とCopy先という感じでともにディレクトリ表示ですが、Quick View(CTRL-x のあとq)では1面はディレクトリ表示、もう一面は指定ファイルの中身の表示(バイナリでも可)となります。こんな感じ。

mcQuickView

ディレクトリ面で適当にファイルを見て行って、これだ、となったらF4キーを押せば(実際にはESCキーおしてから4キー)編集できます。

なお、編集のデフォルトは mceditというミッドナイトコマンダー専用のエディタ(DOS風)です。環境変数 EDITORにお好みのエディタを記すれば変更可能であります。

忘却力に対抗するならUser Menu

CUIで辛いのは忘却力。年寄りは コマンドを忘れるは、オプション引数を忘れるは、いざ走らせようとしてもHelpみている時間が長くなります。そんなこともミッドナイトコマンダーは救ってくれます。User Menuという機能です。F2を押すと現れるもの。よく使う機能を登録しておいて走らせられます。

これが良く出来ているのは、

    • Local そのディレクトリをブラウズしているときに使われるメニュー
    • User そのUserのデフォルトメニュー

と2段構えになっていることであります。ビルド関係のディレクトリであればビルド用などメニューを使い分けられます。

以下はほんのちょっとシステムのデフォルトメニューの改造を始めたメニューです。これに登録しておけば忘却力に対抗でき、また、一文字だけでスクリプトを走らせることも可能。

mcUserMenu

バッテリの持ちとバックグラウンド実行

Termuxへsshしていて、なんか反応しないなと思うとスマホが「寝ている」ことがあります。スマホ的には電池の持ちが大事だし。しかし、Linux的には画面をいじっていなくても巨大配列を計算しいるのかも。知らんけど。

そういう制御のために wake lock と unlockという機能が用意されてました。おすすめでは、bashの起動スクリプトに wake lock を入れておき、ログアウト時の御片付けスクリプトに unlock 入れておけば Termux上でbashが動いている間眠らないぜ(当然電気食うけれど)ということ。

お勧めには従わず、必要なときに手動で lock / unlock することにしてみました。mcのユーザメニューに早速登録。

トホホな疑問(48) Termux、pkg-configでMagick++呼ぶcppをビルド へ戻る

トホホな疑問(50) Dual MOSFETの特性が揃っていると思い込んでいたケド違った へ進む