LoginSignup
5
9

More than 5 years have passed since last update.

TermuxとBluetoothキーボードでPC禁止を回避する

Last updated at Posted at 2018-03-16

人事「情報漏洩防止のためにノートPCは持ち込み禁止です。もちろん寮でも禁止です。」
新入社員「ええ~っ!!!」
人事「スマホ、タブレットならいいです。」
新入社員「なんじゃそれ」

用意するもの

  • スマホ or タブレット
  • Bluetoothキーボード

Hacker's keyboardというアプリを使えばソフトウェアキーボードでもできるそうですが、ソフトウェアキーボードでプログラミングするのは現実的ではありません。

使用するアプリ

今回はTermuxというターミナルエミュレータを使います。
https://play.google.com/store/apps/details?id=com.termux&hl=ja

Termuxのメリット

  • aptでパッケージが管理できる。
  • ドキュメントがそこそこ落ちている。
  • アップデートが新しい。
  • vimがデフォルトで使える。

他には「Android Terminal Emulater」というものがあるそうです。古いバージョンのAndroidはこちらしか対応していませんが、アップデートも2015年で止まっているようです。

環境構築

ストレージにアクセスできるようにする

インストールした時点では、権限の問題でTermuxからAndroidのstorageにアクセスすることはできません。そのため、アクセスできるようにするには設定が必要になります。

とはいえ全く難しいことではなく、termux-setup-storageと唱えるだけです。するとTermuxにファイルアクセスを許可するかAndroidからプロンプトが出るので、許可するとホームディレクトリにstorageというディレクトリができ、その下にリンクが張られます。

ホーム直下に置きたい場合は、普通のリンクとして扱えばいいだけなので、mvで移動しましょう。

パッケージ群

全部aptでできます。デフォルトでvimが使えますが、Emacs派の人はEmacsもインストールできます。

clangコンパイラ

Termuxでは現在gccが使えません。代わりにllvmとclangを使います。
apt install libllvm clang

Cのソースファイルのコンパイルはgccではなくclangとします。
clang mysrc.c

C++の場合はclang++とします。
clang++ mysrc.cpp

Python

Python本体はaptでインストールでき、pipも使えます。しかしライブラリの整備が結構面倒です。pythonのライブラリはCでビルドするものも多いので、上述のclangのインストールが必要です。

NumPy

インストールに7分くらいかかります。
pip install numpy

matplotlib

libpngとfreetypeがいります。またfreetypeはpkg-configがないとmatplotlibをインストールできません。

apt install libpng-dev freetype-dev pkg-config
pip install matplotlib

問題点

  • GCCが使えない。ゆえにfortranは使えない。
  • Emacsが重い。起動に5秒以上かかる。
  • Emacsでは日本語が使えない。
  • ファイルストレージ上ではファイルを実行できない。chmod u+xができない。
  • ハードウェアキーではバックスラッシュが打てない。ゆえに改行記号などはその都度ソフトキーを出して打たなければならない。

とはいえSSHが使えるので、最悪VPSでも借りてSSHでやりましょう。

参考サイト

Termux-setup-storage
https://wiki.termux.com/wiki/Termux-setup-storage

freetype cannot be found by build #3029
https://github.com/matplotlib/matplotlib/issues/3029

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9