Next: , Previous: , Up: EmacstとAndroid   [Contents][Index]


H.2 Android<でのEmacsの起動

AndroidデバイスでのEmacsのインストールは、ソースコードやパッケージマネージャーを経由しません。別のオペレーティングシステム上でAndroid用にEmacsをコンパイル、そのバイナリーをアーカイブにパッケージングしてからシステムに転送してインストールします。

インストール後にシステムがアプリケーションアイコンをデスクトップ(“ホームスクリーン”とも呼ばれる)に配置します。そのアプリケーションアイコンをクリックすると、Emacsが起動します。

Emacsはスタートアップ中のメッセージをシステムログバッファーに表示します。スタートアップ中にこのバッファーを読み取るためには、別のコンピューターにadbユーティリティー(Android Debug Bridge)が必要になります。

Androidシステムで“USB Debugging(USBデバッグ)”の機能を有効にした後に、adbユーティリティーがインストールされている別のシステムで以下のコマンドをUSB経由で実行すれば、ログを閲覧できます:

$ adb logcat | grep -E "(android_run_debug_thread|[Ee]macs)"

adbユーティリティーがGNU/LinuxあるいはUnixシステムにインストールされていると仮定すると、以下の手順にしたがってデバイスに接続できます。

  1. システム設定アプリケーションの“About”ページで“build version”か“kernel version”を5から7回クリックすることで“developer options(開発者オプション)”を有効にする。
  2. 設定ページ“developer options”をオープンする(設定アプリケーションの“system”ページの下にあるはず)。
  3. “USB debugging”.<をオンに切り替える。
  4. USBケーブルの終端にあるデバイスと、もう一方の終端にあるコンピューターのUSBポートを接続する。
  5. コンピューターでコマンドadb shellを実行する。接続済みデバイスへのアクセス権限をコンピューターにまだ付与していないので失敗、あるいはハングするだろう。
  6. コンピューターからのアクセスを許可するかどうかを尋ねる画面がデバイス上にポップアップされる。

Androidおよびインストールしたadbのバージョンに応じて接続を確立する方法は異なるかもしれない。詳細については公式ドキュメントhttps://developer.android.com/studio/command-line/adbを参照してください。

Emacsが起動したら、非同期シェルコマンド(Emacsからのシェルコマンドの実行を参照)としてコマンドlogcatを実行するだけでログバッファーが表示されるでしょう。

別のAndroidプログラムからemacsclientプログラム(サーバーとしてのEmacsの使用を参照)を開始する方法が存在しないので、すべてのファイルをオープン可能なアプリケーションとして、Emacsがemacsclientのラッパープログラムを提供してシステムに登録します。

ファイルをオープンするプログラムとしてこのラッパーが選択されると、ラッパーがオプション--reuse-frame--timeout=10--no-wait、およびオープンするファイルの名前とともにemacsclientを呼び出します。それが成功するとオープンされているEmacsフレームにフォーカスが移ります。

ラッパーのオープン時にEmacsが実行中でなければ、オープンするファイルを引数としてEmacsを開始します。起動されたEmacsがその後にEmacsサーバーを開始しなければ、その後のラッパーによるファイルのオープンは失敗することに注意してください。

Some files are given to Emacs as “content identifiers” that the system provides access to outside the normal filesystem APIs. Emacs uses pseudo-directories named /content/by-authority and /content/by-authority-named to access those files. Do not make any assumptions about the contents of these directories, or try to open files in it yourself.

この機能はAndroid 4.3以前では提供されていないので、それらのファイルはオープン前に一時ディレクトリーにコピーされます。

普通のテキストファイルに加えて、Emacsはemacsclientラッパーを“org-protocol”リンク(Protocols in The Org Manualを参照)をオープン可能なプログラムとしても登録します。

さらにこのラッパーはmailtoのURIにメールを送信可能なプログラムとしても登録されます。そのようなURLをオープンするために呼び出されると、そのURIを1つ目の引数として関数message-mailtoを呼び出します。この機能はEmacsサーバーがまだ実行されていなければ機能しません。

This page has generated for branch:work/master_4078d0fd3ee9e55c3da219aa6e7788ac6130697b, commit:d18a231220c4a6cb2583dcc09bf39ca635ef043f to check Japanese translation.