みなさん、こんにちは。
ノートパソコンを持ち歩くのは重いし起動が遅くて苦痛なので、Androidタブレットをかわりに使いたいと思ったことはありませんか?もしあなたが開発者なら、Android タブレットが Linux 化できたら理想ですよね?
そんな方のために、今回はTermuxを利用したDebian(xfce4デスクトップ)の構築手順をご紹介します。
はじめに
Android タブレットは携帯性が高く、外出先でも作業ができる魅力があります。
しかし、標準のAndroid環境では開発ツールが限られるため、自由度の高い開発環境は手に入れられません。しかし、DebianのようなLinux環境を導入すれば、より自由度の高い作業が可能になります。
今回の記事では、F-DroidからTermuxをインストールし、プロセス管理の調整やxfce4によるGUIデスクトップ、xrdpによるリモートアクセス、さらにVSCodeでのコーディング環境の整備まで、一連の流れを解説します。
1. TermuxとDebianの準備
Termuxのインストール
- F-DroidからTermuxを入手
最新のTermuxはF-Droidからインストール可能です。Google Play版はサポートが薄い場合があるため、F-Droidの公式パッケージをおすすめします。
Debian環境の構築
Termux内でDebianを動作させるには、proot-distro
を利用します。Termuxを起動後、以下の手順でインストールとログインを実施してください。
pkg update && pkg upgrade
pkg install proot-distro
proot-distro install debian
proot-distro login debian
Debian環境に入ったら、まずはパッケージリストの更新とアップグレードを実施しましょう。
apt update && apt upgrade
2. xfce4デスクトップのインストール
Androidタブレットは性能面ではPCに及ばないため、軽量なデスクトップ環境を用意する必要があります。今回は、軽量かつ高機能なxfce4を利用して快適なデスクトップ環境を整えます。以下のコマンドでxfce4と関連ツール群(xfce4-goodies)をインストールします。
apt install xfce4 xfce4-goodies
3. Phantom Processes(ファントムプロセス)の無効化
Android12以降はバックグラウンドプロセスのCPU使用率が高い場合、不要なプロセスを自動終了させる仕組みが働きます。これによりTermuxが予期せず終了してしまう恐れがあるため、以下の対策を行います。
- バッテリー最適化の設定
Androidの設定アプリから「バッテリー」または「電池最適化」の項目を開き、Termuxを対象外に設定してください。 - ファントムプロセスの無効化
Androidのバージョンによって無効化の方法が異なります。
少し面倒な作業となってしまいますが、How to disable the phantom processes killing? を参考にしてファントムプロセスを無効化してください。
4. xrdpによるリモートデスクトップの設定
Termuxのウィンドウ内ではデスクトップ環境が使用できないので、リモートからxfce4デスクトップにアクセスできるように、xrdpを導入します。
xrdpのインストール
Debian環境内で以下のコマンドを実行します。
apt install xrdp
xfce4セッションの設定
xrdpの起動スクリプト(/etc/xrdp/startwm.sh
)を編集して、xfce4が起動するように設定します。下記は一例です。
#!/bin/sh
if [ -r /etc/profile ]; then
. /etc/profile
fi
# ログアウト時に残るPIDファイルのクリーンアップ
rm -f /var/run/xrdp/*pid
# xfce4セッションの起動
startxfce4
セキュリティやシステム管理の観点から、rootユーザーではなく一般ユーザーを作成し、そのユーザーの.bashrc
などに起動スクリプトを追加しておくと安心です。
日本語キーボードの場合、GUIのキーボード設定でレイアウトの再設定もお忘れなく。
5. Visual Studio Code (VSCode) の導入
開発環境として人気のVSCodeも、Debian環境にインストールしておくと便利です。ここでは、Microsoft公式の.debパッケージを利用した手順を紹介します。
リポジトリの設定とインストール
apt install wget gpg
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
apt update
apt install code
起動オプションの設定
Android環境では、VSCodeを起動する際に --no-sandbox
オプションが必要な場合があります。以下のスクリプトを作成し、VSCodeの起動を簡略化しましょう。
echo "code --no-sandbox" > ~/start-vscode.sh
chmod +x ~/start-vscode.sh
6. RDPクライアントからの接続
最後に、Android側でRDPクライアント(例:Microsoft Remote DesktopやRD Client)を利用して、Debian上のxfce4デスクトップへリモートアクセスします。
- xrdpサービスの起動
Debian環境内で以下のコマンドを実行してxrdpを起動します。service xrdp start
- RDPクライアント設定
RDPクライアントにTermux上のDebianのIPアドレス(もしくはローカルホストとポートフォワーディングの設定)と、標準の3389ポートを指定して接続します。接続後、xfce4デスクトップが表示されれば成功です。
※ Androidタブレットの性能によっては、GUI環境よりもCUI環境の方が快適に動作する可能性があります。私はHelio G99のAndroidタブレットを使用していますが、xfce4デスクトップを常用することはあきらめ、もっぱらCUIで使用しています。
まとめ
今回は、Androidタブレット上でTermuxを利用してDebian環境を構築し、xfce4によるGUIデスクトップ、xrdpによるリモートアクセス、さらにVSCodeを導入するまでの手順を解説しました。
これにより、場所を問わず、タブレット一台で本格的な開発環境を整えることが可能となります。
ただし、私自身の環境でしか動作検証していませんので、各工程で不具合が発生した場合は、ログや公式ドキュメントを参考にしながら、各自が必要な設定を調整してください。
また、タブレットに十分な性能がなければ、GUIデスクトップをあきらめ、CUIを選択する決断も必要かも。
それでは、Androidタブレットを活用して、快適なLinuxライフを!