メインコンテンツへスキップ

スマホでX serverを動かす、Termux + XSDLの使い方

·
カテゴリー スマートフォン Termuxチュートリアル
タグ X Window
目次

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 の使い方
#

  1. TermuxでProotディストリビューションをインストールする。例えば私はArch Linuxを入れている。

  2. XSDL APPをダウンロードし、起動してこの画面が出るまで待つ:

  3. Prootディストリビューションにログインする:

proot-distro login archlinux
  1. ここではXFCEデスクトップを起動するので、以下のコマンドを入力する:
export DISPLAY=localhost:0

# Termux ProotでPulseAudioをすでに設定済みなら、この行は不要
export PULSE_SERVER=tcp:localhost:4713

xfce4-session &
  1. XSDL APPを開くとXFCEデスクトップが表示される。仮想マウスが出て、2本指タップで右クリック、2本指スクロールで画面スクロール、長押しでドラッグできる。戻るボタンを押すとスマホのキーボードを呼び出せる。

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

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

関連記事


最後までお読みいただきありがとうございます。本サイトでは公開コメント欄を設けていません。私はソーシャルな反応やアクセス数を追い求めるためではなく、自分の考えを誠実に探求するために文章を書いています。記事を丁寧にお読みいただいたうえで、ご感想やご意見をお寄せいただければ幸いです。誤字・誤り・技術的な問題などを見つけた場合、またはフィードバックを共有したい場合は、Aboutページに記載しているメールアドレスまでお気軽にご連絡ください。