TermuxでLinux Prootディストリビューションをインストールした後、次に悩むのはデスクトップをどう表示するかだ。もっとも簡単な方法はVNCサーバーで、現在はTermux X11でXWaylandを動かす方法もある。
ただ、実はかなり前から"XServer XSDL"というAPPが存在していた。これはAndroidスマホ上でXサーバーを実行できるAPPだ。

1. XSDLのメリット#
XSDLはVNCより性能がよく、Termux X11より安定している。さらにTermux Prootだけでなく、chroot方式のLinux Deployとも組み合わせて使える。
XSDLにはPulseAudioの音声再生機能も内蔵されているので、音を出すためにTermuxへ依存する必要がない。
XSDL自体が独立したXサーバーなので、プログラム側でTermux X11のコードに合わせた統合をしなくても、その上にグラフィカル環境を表示できる。
また、Xサーバーそのものなので、理論上はX11 Forwardingもできる。同じネットワーク上にあるLinux PCのXサーバー画面をスマホへ転送し、別種のリモートデスクトップとして使うことも可能だ。
XSDL唯一の欠点はGPUアクセラレーションがないことだ。Termux X11は少なくとも一部のOpenGLに対応しているため、XSDLでのゲーム性能はかなり低く、せいぜいブラウザで動画を見る程度になる。
つまりXSDLは、VNCとTermux X11の中間にある折衷案といえる。
2. XSDL + Termux の使い方#
TermuxでProotディストリビューションをインストールする。例えば私はArch Linuxを入れている。
XSDL APPをダウンロードし、起動してこの画面が出るまで待つ:

Prootディストリビューションにログインする:
proot-distro login archlinux- ここではXFCEデスクトップを起動するので、以下のコマンドを入力する:
export DISPLAY=localhost:0
# Termux ProotでPulseAudioをすでに設定済みなら、この行は不要
export PULSE_SERVER=tcp:localhost:4713
xfce4-session &XSDL APPを開くとXFCEデスクトップが表示される。仮想マウスが出て、2本指タップで右クリック、2本指スクロールで画面スクロール、長押しでドラッグできる。戻るボタンを押すとスマホのキーボードを呼び出せる。

PulseAudio serverを設定していれば、音声も正常に再生できる。

終了するときはXSDL APPを閉じる。Termuxへ戻るとXサーバーは自動で停止する。

