<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Termux-Tutorials on Ivon&#39;s Blog</title>
    <link>https://ivonblog.com/ja-jp/termux-tutorials/</link>
    <description>Recent content in Termux-Tutorials on Ivon&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja-jp</language>
    <managingEditor>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</managingEditor>
    <webMaster>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</webMaster>
    <copyright>Ivon&#39;s Blog（ivonblog.com）の記事はご自由に共有いただけます。引用の際は、記事のURLを明記してください。特に明記されていない限り、すべての記事CC BY-SA 4.0 表示-継承 4.0 国際 ライセンスの下で提供されています。商用利用をご希望の場合は、お問い合わせください。</copyright>
    <lastBuildDate>Mon, 01 Jun 2026 02:00:00 +0800</lastBuildDate><atom:link href="https://ivonblog.com/ja-jp/termux-tutorials/index.xml" rel="self" type="application/rss+xml" />
    <follow_challenge>
      <feedId>56005902658351104</feedId>
      <userId>1132431067563556864</userId>
    </follow_challenge>
    
    
    <item>
      <title>Termux proot-distro使用方法：AndroidスマートフォンにLinuxディストリビューションを入れる</title>
      <link>https://ivonblog.com/ja-jp/posts/termux-proot-distro/</link>
      <pubDate>Mon, 01 Jun 2026 02:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/termux-proot-distro/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;この記事では、proot-distroでLinuxディストリビューションをインストールする方法を説明する。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/how-to-use-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux&lt;/a&gt;はターミナルエミュレーターとして、Root権限なしで&lt;code&gt;proot-distro&lt;/code&gt;ツールを使い、スマートフォン上にLinuxディストリビューションをインストールできる。&lt;/p&gt;&#xA;&lt;p&gt;たとえばUbuntu、Arch Linux、Alpine Linux、Fedora、Debian、openSUSEなどをインストールできる。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;この記事では、proot-distroでLinuxディストリビューションをインストールする方法を説明する。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/how-to-use-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux&lt;/a&gt;はターミナルエミュレーターとして、Root権限なしで&lt;code&gt;proot-distro&lt;/code&gt;ツールを使い、スマートフォン上にLinuxディストリビューションをインストールできる。&lt;/p&gt;&#xA;&lt;p&gt;たとえばUbuntu、Arch Linux、Alpine Linux、Fedora、Debian、openSUSEなどをインストールできる。&lt;/p&gt;&#xA;&lt;p&gt;Sony Xperia 10 VでDebianを実行&lt;/p&gt;&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/termux-proot-distro/images/proot-distro.webp&#34; width=300&gt;&#xA;&lt;p&gt;proot-distroでインストールしたLinuxディストリビューションはテキストインターフェイスのみで、グラフィカルインターフェイスは自分で設定する必要がある。&lt;/p&gt;&#xA;&lt;p&gt;面倒だと感じる場合は、記事末尾に載せた自動化スクリプトを参照してほしい。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. proot &amp;amp; proot-distroとは&#xA;    &lt;div id=&#34;1-proot--proot-distroとは&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-proot--proot-distro%e3%81%a8%e3%81%af&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PCのGNU/Linuxシステムでは、&lt;a href=&#34;https://ja.wikipedia.org/wiki/Chroot&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;chrootコマンド&lt;/a&gt;を使って隔離されたLinux環境を作れる。これはcgroups以前からある、最初期のコンテナ概念だ。chrootコマンドで中へ切り替えると、まるで別のシステムに入ったように見える。たとえばUbuntuでdebootstrapを使ってDebian環境を作り、そのDebian環境を動かす、といった使い方だ。&lt;/p&gt;&#xA;&lt;p&gt;chrootは仮想マシンでもエミュレーターでもない。chrootコンテナ内部はホストとLinuxカーネルを共有し、多くのシステムリソースも共有するためだ。&lt;/p&gt;&#xA;&lt;p&gt;関連記事：&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-chroot-ubuntu/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux chroot Ubuntu&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;しかしchrootには必ずroot権限が必要になる。AndroidのTermux端末には、その代替として&lt;code&gt;proot&lt;/code&gt;パッケージが収録されている。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/proot-me/PRoot/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;PRoot公式サイト&lt;/a&gt;の説明によると、prootはchrootのuserspace実装で、ptraceを使ってシステムコールをエミュレートし、bind mountやbinfmt_miscなどの機能も含む。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/termux-proot-distro/images/proot.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;ptraceを使う関係で、proot上のプログラム実行速度はchrootより必ず遅くなる。しかし、root権限なしでLinux環境を動かせるのが利点だ。&lt;/p&gt;&#xA;&lt;p&gt;chrootと同様に、prootはLinux rootfs（ルートファイルシステム）を用意し、Termuxから偽のLinuxカーネルを読み込ませることで、プログラムに本物のLinux環境で動いていると思わせる。&lt;/p&gt;&#xA;&lt;p&gt;ただし、proot環境はあくまでコンテナであり、完全なLinuxシステムではない点に注意してほしい。&lt;/p&gt;&#xA;&lt;p&gt;なぜTermuxで直接コマンドを実行せず、prootを使うのか？Termux自体に収録されているパッケージは少ない。prootでLinuxシステムをインストールすれば、PC版Linuxのパッケージを活用して特定の目的を達成できる。たとえばTermuxにはずっと「Chromium」が収録されていないが、多くのLinuxディストリビューションでは提供されている。&lt;/p&gt;&#xA;&lt;p&gt;Proot環境でPC向けソフトウェアを実行すること自体は、あまり問題にならない。GIMP、LibreOffice、Firefoxはいずれも正常に実行できる。ただし、&lt;code&gt;systemctl&lt;/code&gt;のシステム管理コマンドは使えない。AndroidにはSystemdがなく、移植も難しいからだ。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Termuxには&lt;code&gt;proot&lt;/code&gt;パッケージが収録されており、proot環境の設定に使える。prootでインストールしたLinuxディストリビューションを、ここでは「Proot Distro」と呼ぶ。&lt;/p&gt;&#xA;&lt;p&gt;prootで入れたLinuxディストリビューションは、せいぜい「コンテナ」(container)であり、仮想マシンのような完全なシステムではない。&lt;/p&gt;&#xA;&lt;p&gt;ただし、「Proot Distro」と「proot-distro」を混同しないこと。後者はツール名だ。&lt;/p&gt;&#xA;&lt;p&gt;prootはLinuxシステムのルートファイルシステムを手動で準備する必要があり、コマンドも複雑なため、Termuxは&lt;code&gt;proot-distro&lt;/code&gt;というラッパースクリプトを提供しています。このスクリプトは、Docker HubからOCIイメージ標準に準拠したLinuxディストリビューションを自動的にダウンロードし、proot関連の環境設定を処理することで、使いやすさを大幅に向上させています。&lt;/p&gt;&#xA;&lt;p&gt;注：proot-distroのバージョン5より前のバージョンでは、Linux環境を実行するためにTermuxが管理するルートファイルシステムをユーザーがダウンロードする必要がありました。バージョン5以降では&lt;a href=&#34;https://github.com/indigo-dc/udocker&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;udocker&lt;/a&gt;の機能が統合され、OCIイメージ標準に準拠したイメージファイルをルートファイルシステムとして直接使用できるようになりました。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. proot-distroコマンドの使い方&#xA;    &lt;div id=&#34;2-proot-distroコマンドの使い方&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-proot-distro%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%81%ae%e4%bd%bf%e3%81%84%e6%96%b9&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Termuxを開き、proot-distroパッケージをインストールする。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install proot-distro&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;次のコマンドで、オンラインにどのディストリビューションがあるか確認する。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro install&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;現在利用可能なディストリビューションには、Alpine Linux、Arch Linux、Debian、Fedora、openSUSE、Ubuntu、および独立したTermux環境である&lt;code&gt;termux-docker&lt;/code&gt;などがあります。その他のLinuxディストリビューションは&lt;a href=&#34;https://hub.docker.com/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Docker Hub&lt;/a&gt; で入手できます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Debianをインストールすると仮定して、次を実行する。最新のDebian Stableをインストールするには、以下のコマンドを実行してください。一部のディストリビューションでは、完全な名前を入力しなくてもOCI Registryを自動的に検出できます。ただし、「not found」と表示される場合は、完全な名前を入力する必要があります。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro install debian&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;ダウンロード後、システムへログインする：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro login debian&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ログイン後はrootアカウントになる。&lt;code&gt;apt update&lt;/code&gt;を入力すれば、パッケージをインストールできるようになる。使い終わったら&lt;code&gt;exit&lt;/code&gt;を入力してシステムから出る。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Proot-distroのグラフィカル環境と音声サーバーを続けて設定しする場合は、&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-proot-distro-debian&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux Proot Debian&lt;/a&gt;を参考に後続設定を行う。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;同じLinuxディストリビューションの複数のインスタンスを実行する必要がある場合は、&lt;code&gt;--name&lt;/code&gt; の後に異なる名前を指定します。例:&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro install debian --name debian-1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro install debian --name debian-2&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;9&#34;&gt;&#xA;&lt;li&gt;prootシステムを削除するコマンド：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro remove debian&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;10&#34;&gt;&#xA;&lt;li&gt;ダウンロード済みrootfsキャッシュを削除する：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro clear-cache&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. proot-distroコマンド引数&#xA;    &lt;div id=&#34;3-proot-distroコマンド引数&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-proot-distro%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e5%bc%95%e6%95%b0&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/termux/proot-distro&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Github説明&lt;/a&gt;を参考に、&lt;code&gt;proot-distro login debian&lt;/code&gt;コマンドの後ろで次の引数を使える。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;--&lt;/code&gt;：ログイン後にコマンドを実行する。たとえば下の&lt;code&gt;--&lt;/code&gt;の後ろの内容は、prootへログインしてsshdを実行するものであり、proot-distroの引数ではない。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro login debian -- /usr/bin/sshd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;&lt;code&gt;--user&lt;/code&gt;：ログインするユーザー&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;--redirect-ports&lt;/code&gt;：低い番号のポートをリダイレクトする。prootの関係で、SSH daemonのように低い番号の22番ポートを使うプログラムでは問題が起きる。このオプションを使うと、SSHのポートは2022（つまりデフォルトポート＋2000）へリダイレクトされる。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;code&gt;--isolated&lt;/code&gt;：&lt;code&gt;/sdcard&lt;/code&gt;、&lt;code&gt;/data/data/com.termux&lt;/code&gt;をproot内部へマウントしない。&lt;/p&gt;&#xA;&lt;p&gt;proot-distroはデフォルトで、スマートフォンの内部ストレージをprootシステムの&lt;code&gt;/sdcard&lt;/code&gt;ディレクトリへbind mountする。つまり、proot Linuxシステム内で&lt;code&gt;rm -rf&lt;/code&gt;を実行すると、スマートフォン側のファイルもまとめて削除できてしまう。&lt;/p&gt;&#xA;&lt;p&gt;さらにTermuxは自身のPATHもproot内部へマウントする。たとえばPythonコマンドを実行するとき、Termux側のバージョンが実行される可能性がある。このオプションを使えば、Pythonコマンド実行時にproot Linux内部のPythonを実行するよう保証できる。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;code&gt;--termux-home&lt;/code&gt;：Termuxのホームディレクトリをproot Linux内部のホームディレクトリへマウントする。そのため、proot-distro内のユーザーのホームディレクトリはTermuxホームディレクトリと共有され、プログラムが生成したファイルはproot-distroの外へ出る。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;--shared-tmp&lt;/code&gt;：Termuxの&lt;code&gt;tmp&lt;/code&gt;ディレクトリをproot Linux内部の&lt;code&gt;tmp&lt;/code&gt;へマウントする。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;--bind path:path&lt;/code&gt;：追加でマウントするパス。形式は&lt;code&gt;&amp;lt;外部パス&amp;gt;:&amp;lt;Proot Linux内部パス&amp;gt;&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;--no-link2symlink&lt;/code&gt;：PRoot link2symlink拡張モジュールを無効化し、prootのハードリンクエミュレーション機能をオフにする。SELinuxがpermissiveまたは無効になっている場合のみ使用できる。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;--no-sysvipc&lt;/code&gt;：PRootのSystem V IPCエミュレーションを無効化する。クラッシュが発生した場合にのみ使う。&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;--no-kill-on-exit&lt;/code&gt;：ログアウト時にすべてのプロセスを終了しない。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. proot-distroをバックアップする方法&#xA;    &lt;div id=&#34;4-proot-distroをバックアップする方法&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-proot-distro%e3%82%92%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-backup-and-restore/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux Backup commands&lt;/a&gt;ではproot-distroはバックアップされないため、別途バックアップが必要だ。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;次のコマンドで、prootシステムを圧縮ファイルとしてスマートフォン内部ストレージへバックアップする。たとえば&lt;code&gt;debian&lt;/code&gt;のファイルをバックアップする場合：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro backup --output storage/shared/debianbackup.tar.gz debian&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;次のコマンドでprootシステムを復元する：&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro restore debianbackup.tar.gz&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;付録：スクリプトでProot Distroを自動インストールする&#xA;    &lt;div id=&#34;付録スクリプトでproot-distroを自動インストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e4%bb%98%e9%8c%b2%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88%e3%81%a7proot-distro%e3%82%92%e8%87%aa%e5%8b%95%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Githubには、Linux＋グラフィカルインターフェイスのインストールをまとめて処理してくれる簡易スクリプトが多くある。通常はコピーして貼り付けるだけでよい。&lt;/p&gt;&#xA;&lt;p&gt;ただし、それらの一部は&lt;code&gt;proot-distro&lt;/code&gt;ではなく、&lt;code&gt;proot&lt;/code&gt;コマンドで直接インストールしている。そのため、そのディストリビューションは本記事で説明した&lt;code&gt;proot-distro&lt;/code&gt;では削除できない可能性がある。&lt;/p&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/termux-proot-distro/featured.webp" />
    </item>
    
    <item>
      <title>Termux：Arch Linuxデスクトップ環境をゼロから構築＋ワンタップ起動スクリプト</title>
      <link>https://ivonblog.com/ja-jp/posts/termux-proot-distro-archlinux/</link>
      <pubDate>Sun, 31 May 2026 17:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/termux-proot-distro-archlinux/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;この記事では、Androidスマホ上でTermuxのproot-distroパッケージを使い、デスクトップ環境付きのArch Linux ARMを手動で設定する方法を説明します。音楽や動画の再生、デスクトップLinux向けアプリの利用もできます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/termux-proot-distro-archlinux/images/Screenshot_20230725-185235_Termux_X11.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;この記事では、Androidスマホ上でTermuxのproot-distroパッケージを使い、デスクトップ環境付きのArch Linux ARMを手動で設定する方法を説明します。音楽や動画の再生、デスクトップLinux向けアプリの利用もできます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/termux-proot-distro-archlinux/images/Screenshot_20230725-185235_Termux_X11.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Arch Linuxはシンプルさを重視するLinuxディストリビューションで、ユーザーが必要に応じてシステムを組み上げる方針なので、インストール作業ではコマンドを手入力します。Arch Linux ARMは、本家Arch Linux（x86アーキテクチャ中心）の派生版です。x86版にある一部パッケージはARM側で見つからない場合がありますが、AURは同じように利用できます。&lt;/p&gt;&#xA;&lt;p&gt;この記事ではArch Linuxを手動でインストールする方法を紹介します。手動設定が面倒な場合は、ワンタップインストール用スクリプトの&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-proot-distro&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;安裝Termux Proot-distro&lt;/a&gt;を使ってください。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. 事前準備&#xA;    &lt;div id=&#34;1-事前準備&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-%e4%ba%8b%e5%89%8d%e6%ba%96%e5%82%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Arch Linuxを動かすには、スマホに最低4GB RAM、グラフィカル環境では最低6GB RAMが必要です。足りないとシステムがクラッシュしやすくなります。&lt;/p&gt;&#xA;&lt;p&gt;ストレージ容量は10GB用意してください。&lt;/p&gt;&#xA;&lt;p&gt;私の端末：小米Poco F1, Lineage OS 20 (Android 13)&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;先にこちらを読んでください：&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/how-to-use-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux基礎教學&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;続いて&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-x11/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux X11&lt;/a&gt;をインストールします&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ハードウェアアクセラレーションを設定します。&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-virglrenderer/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux以virglrenderer達成GPU 3D硬體加速&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. Proot Arch Linux基本システムをインストールする&#xA;    &lt;div id=&#34;2-proot-arch-linux基本システムをインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-proot-arch-linux%e5%9f%ba%e6%9c%ac%e3%82%b7%e3%82%b9%e3%83%86%e3%83%a0%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Termuxを実行中に通知欄を下へスワイプし、&lt;code&gt;ACQUIRE WAKELOCK&lt;/code&gt;を押してバックグラウンドで動き続けるようにします。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;まずproot-distro、PulseAudio、vimをインストールします&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install proot-distro pulseaudio vim&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Arch Linuxをインストールします&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro install archlinux/archlinux：latest&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;ダウンロード後、以下のコマンドでArch Linuxにログインします。&lt;code&gt;--user&lt;/code&gt;パラメータは指定したアカウントでログインすることを表し、ここではrootです。&lt;code&gt;--shared-tmp&lt;/code&gt;はTermuxのtmpディレクトリをproot内部にマウントし、Xサーバーのリソースを共有します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro login archlinux --user root --shared-tmp&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;システムパッケージを更新します。&lt;code&gt;y&lt;/code&gt;を入力して更新を確認します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pacman -Syu&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;Prootシステムを終了するには、&lt;code&gt;exit&lt;/code&gt;を入力してログアウトします。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. Arch Linuxパッケージリポジトリのミラーを変更する&#xA;    &lt;div id=&#34;3-arch-linuxパッケージリポジトリのミラーを変更する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-arch-linux%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e3%83%aa%e3%83%9d%e3%82%b8%e3%83%88%e3%83%aa%e3%81%ae%e3%83%9f%e3%83%a9%e3%83%bc%e3%82%92%e5%a4%89%e6%9b%b4%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;これは任意の手順です。&lt;a href=&#34;https://archlinuxarm.org/about/mirrors&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Arch Linux ARM公式サイト&lt;/a&gt;でミラーを探すと、ダウンロードを高速化できます。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;例として台湾国内のミラーを使います。viで&lt;code&gt;/etc/pacman.d/mirrorlist&lt;/code&gt;を編集します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vi /etc/pacman.d/mirrorlist&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;台湾サーバー&lt;code&gt;Server = http://tw2.mirror.archlinuxarm.org&lt;/code&gt;のコメントアウトを外します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;変更後、もう一度システムを更新します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pacman -Syu&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. 一般ユーザーを追加する&#xA;    &lt;div id=&#34;4-一般ユーザーを追加する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-%e4%b8%80%e8%88%ac%e3%83%a6%e3%83%bc%e3%82%b6%e3%83%bc%e3%82%92%e8%bf%bd%e5%8a%a0%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;rootパスワードを変更します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;passwd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;一般ユーザー&lt;code&gt;user&lt;/code&gt;を追加し、&lt;code&gt;wheel&lt;/code&gt;グループに追加してからパスワードを変更します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pacman -S sudo vim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;useradd -m -g users -G wheel,audio,video,storage -s /bin/bash user&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;passwd user&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;一般ユーザーアカウントに管理者権限を付与します。&lt;code&gt;/etc/sudoers&lt;/code&gt;を編集します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim /etc/sudoers&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# `root ALL=(ALL) ALL`の次の行に以下を追加します:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;user &lt;span class=&#34;nv&#34;&gt;ALL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=(&lt;/span&gt;ALL&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; ALL&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;続いて&lt;code&gt;user&lt;/code&gt;アカウントでログインします。以後はrootではなく、一般ユーザーアカウントでシステムにログインします。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;su user&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;5. デスクトップ環境とよく使うツールをインストールする&#xA;    &lt;div id=&#34;5-デスクトップ環境とよく使うツールをインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#5-%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0%e5%a2%83%e3%81%a8%e3%82%88%e3%81%8f%e4%bd%bf%e3%81%86%e3%83%84%e3%83%bc%e3%83%ab%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Firefox、中国語フォント、SSHをインストールします&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S vim firefox networkmanager xorg xorg-server pulseaudio noto-fonts-cjk git openssh fakeroot base-devel&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;AUR Helperとしてyayをインストールします。ビルドに少し時間がかかります&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S --needed git base-devel &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; git clone https://aur.archlinux.org/yay.git &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; yay &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; makepkg -si&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;vimで&lt;code&gt;/etc/makepkg.conf&lt;/code&gt;を編集し、&lt;code&gt;MAKEFLAGS=&amp;quot;-j2&amp;quot;&lt;/code&gt;のコメントアウトを外します。さらに&lt;code&gt;-j&lt;/code&gt;の後ろの数字をスマホのCPUコア数の2倍に変更すると、AURパッケージのビルドを高速化できます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;次にデスクトップ環境をインストールします。現在TermuxではGNOMEデスクトップを起動できず、KDEはややリソースを食いすぎます。ここでは軽量で実用的なXFCE4を入れます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S xfce4 xfce4-goodies lightdm&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;6. タイムゾーン、中国語、入力メソッドを設定する&#xA;    &lt;div id=&#34;6-タイムゾーン中国語入力メソッドを設定する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#6-%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%be%e3%83%bc%e3%83%b3%e4%b8%ad%e5%9b%bd%e8%aa%9e%e5%85%a5%e5%8a%9b%e3%83%a1%e3%82%bd%e3%83%83%e3%83%89%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Termux X11はスマホのキーボードから直接文字入力できますが、外付けキーボードを使う場合は中国語入力メソッドのインストールが必要です。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;systemdがないため、シンボリックリンクでタイムゾーンを台湾・台北に設定します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;vimで&lt;code&gt;/etc/hostname&lt;/code&gt;と&lt;code&gt;/etc/hosts&lt;/code&gt;を編集し、ホスト名を付けて&lt;code&gt;localhost&lt;/code&gt;を置き換えます&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;vimで&lt;code&gt;/etc/locale.gen&lt;/code&gt;ファイルを編集し、&lt;code&gt;zh_TW.UTF-8&lt;/code&gt;のコメントアウトを外します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;その後、ロケール設定ファイルを生成します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo locale-gen&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;LANG=zh_TW.UTF-8&amp;#34;&lt;/span&gt; &amp;gt;&amp;gt; /etc/locale.conf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;それでも中国語が表示されない場合は、&lt;code&gt;~/.profile&lt;/code&gt;に以下のパラメータを追加します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LANG&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_CTYPE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_NUMERIC&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_TIME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_COLLATE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_MONETARY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_MESSAGES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_PAPER&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_NAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_ADDRESS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_TELEPHONE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_MEASUREMENT&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_IDENTIFICATION&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;zh_TW.UTF-8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;LC_ALL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;Fcitx5と新酷音をインストールします&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S fcitx5-config-qt fcitx5-chewing fcitx5-qt fcitx5-gtk fcitx5-chinese-addons&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;vimで&lt;code&gt;~/.profile&lt;/code&gt;を編集し、以下を追加します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fcitx5 &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GTK_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;QT_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;XMODIFIERS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;@im&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;SDL_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;fcitx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GLFW_IM_MODULE&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ibus&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;8&#34;&gt;&#xA;&lt;li&gt;次回Prootへログインしたら、アプリケーション一覧からFcitx5を起動します。右上のシステムトレイにあるキーボードアイコンを右クリックし、新酷音入力メソッドを追加します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;7. 手動でデスクトップ環境に入る方法&#xA;    &lt;div id=&#34;7-手動でデスクトップ環境に入る方法&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#7-%e6%89%8b%e5%8b%95%e3%81%a7%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0%e5%a2%83%e3%81%ab%e5%85%a5%e3%82%8b%e6%96%b9%e6%b3%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;この節は仕組みを理解するためのものです。知る必要がなければ次の節へ進んでください。&lt;/p&gt;&#xA;&lt;p&gt;インストール完了後、Termuxを終了してアプリを再起動します。&lt;/p&gt;&#xA;&lt;p&gt;以後Arch Linuxへログインする手順は以下の通りです。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Termuxを再起動します。Termux X11を開き、バックグラウンドで開いたままにします。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;次にTermuxへ戻り、PulseAudio、Termux X11、virgl serverを起動します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulseaudio --start --exit-idle-time&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pacmd load-module module-native-protocol-tcp auth-ip-acl&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;127.0.0.1 auth-anonymous&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DISPLAY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;:0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;termux-x11 :0 &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;virgl_test_server_android &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Arch Linuxにログインします。ここでは一般アカウント&lt;code&gt;user&lt;/code&gt;でログインする点に注意してください&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro login archlinux --user user --shared-tmp&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;PulseAudio、Fcitx5、XFCE4デスクトップ環境を順に起動します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DISPLAY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;:0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PULSE_SERVER&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;tcp:127.0.0.1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fcitx5 &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dbus-launch --exit-with-session startxfce4 &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;Termux X11の画面に切り替えると、デスクトップ環境が表示されるはずです。Termux X11のフローティングウィンドウをタップし、権限を取り消すと全画面になります。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;8. ワンタップ起動用デスクトップ環境スクリプトを設定する&#xA;    &lt;div id=&#34;8-ワンタップ起動用デスクトップ環境スクリプトを設定する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#8-%e3%83%af%e3%83%b3%e3%82%bf%e3%83%83%e3%83%97%e8%b5%b7%e5%8b%95%e7%94%a8%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0%e5%a2%83%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Termux＋Termux X11＋virglserverの起動手順をワンタップで実行し、デスクトップ環境を自動起動します。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://f-droid.org/packages/com.termux.widget/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux Widget&lt;/a&gt;をインストールします&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;システム設定を開き、Termuxに「他のアプリの上に重ねて表示」を許可します&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/termux-proot-distro-archlinux/images/Screenshot_20230725-175105.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Termuxを開き直し、以下のコマンドでショートカットを作成します（proot-distro内ではありません）&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir .shortcuts&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim .shortcuts/startproot_arch.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;以下の内容を入力します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 古いプロセスをすべて終了&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;killall -9 termux-x11 pulseaudio virgl_test_server_android termux-wake-lock&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Termux X11を起動&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;am start --user &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; -n com.termux.x11/com.termux.x11.MainActivity&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;XDG_RUNTIME_DIR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;${&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;TMPDIR&lt;/span&gt;&lt;span class=&#34;si&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;termux-x11 :0 -ac &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sleep &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# PulseAudioを起動&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulseaudio --start --exit-idle-time&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pacmd load-module module-native-protocol-tcp auth-ip-acl&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;127.0.0.1 auth-anonymous&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# GPUアクセラレーション用virglserverを起動&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;virgl_test_server_android &lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# proot Arch Linuxにログインし、PulseAudio、Fcitx5、デスクトップ環境を起動&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro login archlinux --user user --shared-tmp -- bash -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1; dbus-launch --exit-with-session startxfce4&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;実行権限を付与します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x .shortcuts/startproot_arch.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;スマホのホーム画面でウィジェットを追加し、Termux Widgetを選択すると、先ほど作成したショートカットが一覧に表示されます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;ボタンをタップすると、Termuxが自動で開いてデスクトップへログインします。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;参考資料&#xA;    &lt;div id=&#34;参考資料&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%82%e8%80%83%e8%b3%87%e6%96%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-proot-distro/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux Proot-distro Tips&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/termux/proot-distro&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Proot-distro on Github&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.archlinux.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Arch Linux Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/termux-proot-distro-archlinux/featured.webp" />
    </item>
    
    <item>
      <title>TermuxでpKVMを使いQEMU仮想マシンを高速化する</title>
      <link>https://ivonblog.com/ja-jp/posts/termux-qemu-system-tensor-linux/</link>
      <pubDate>Tue, 23 Dec 2025 11:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/termux-qemu-system-tensor-linux/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;私は&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-qemu-system-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;TermuxでQEMUを動かしてLinux仮想マシンをインストールする&lt;/a&gt;で、Androidスマホ上でTermuxを使って仮想マシンを動かす問題について書きました。結論は、とにかく遅いです。&lt;/p&gt;&#xA;&lt;p&gt;KVMがない場合は、すべてソフトウェアエミュレーションに頼ることになります。その結果、20年前のWindows XPシステムくらいしか動かせず、現代的なOSは到底まともに動きません。&lt;/p&gt;&#xA;&lt;p&gt;Google Tensorプロセッサを搭載したスマホでは、Android 15以降にpKVMが導入されました。これはAVFフレームワークの下層でサポートされている技術です。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;私は&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-qemu-system-linux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;TermuxでQEMUを動かしてLinux仮想マシンをインストールする&lt;/a&gt;で、Androidスマホ上でTermuxを使って仮想マシンを動かす問題について書きました。結論は、とにかく遅いです。&lt;/p&gt;&#xA;&lt;p&gt;KVMがない場合は、すべてソフトウェアエミュレーションに頼ることになります。その結果、20年前のWindows XPシステムくらいしか動かせず、現代的なOSは到底まともに動きません。&lt;/p&gt;&#xA;&lt;p&gt;Google Tensorプロセッサを搭載したスマホでは、Android 15以降にpKVMが導入されました。これはAVFフレームワークの下層でサポートされている技術です。&lt;/p&gt;&#xA;&lt;p&gt;現時点では、Android 16の実験的なDebian Linux Terminalを除き、一般のAPPはpKVMへアクセスできません。pKVMを有効化するにはRoot権限が必要です。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. パッケージをインストールする&#xA;    &lt;div id=&#34;1-パッケージをインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-%e3%83%91%e3%83%83%e3%82%b1%e3%83%bc%e3%82%b8%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;KVMアクセラレーションがあるなら、同じアーキテクチャの仮想マシンを実行するべきです。Termux開発者によると、この&lt;code&gt;qemu-system-aarch64-headless&lt;/code&gt;パッケージを使うことで、pKVMで高速化された仮想マシンを利用できます。&lt;/p&gt;&#xA;&lt;p&gt;以下のパッケージをインストールします。ARMアーキテクチャのマシンでは、UEFIを有効にするのがよいです。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install qemu-system-aarch64-headless qemu-utils qemu-common ovmf sudo&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;グラフィカル環境にはVirt Managerがなく、Libvirtサービスもおそらく動かないので、&lt;a href=&#34;github.com/gujjwal00/avnc&#34; &gt;AVNC&lt;/a&gt;を使って仮想マシンの画面へアクセスするしかありません。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. TermuxでLinux仮想マシンを作成する&#xA;    &lt;div id=&#34;2-termuxでlinux仮想マシンを作成する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-termux%e3%81%a7linux%e4%bb%ae%e6%83%b3%e3%83%9e%e3%82%b7%e3%83%b3%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ubuntu.com/download/server/arm&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Ubuntu ARM&lt;/a&gt;のISOをダウンロードし、Termuxのホームディレクトリに置きます&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;KVMが存在することを確認します&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ls /dev/kvm&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;仮想ディスクを作成します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;qemu-img create -f qcow2 ubuntu.qcow2 32G&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;UEFIを保存するファイルを作成します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;truncate -s 64m varstore.img&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;truncate -s 64m efi.img&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;dd &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$PREFIX&lt;/span&gt;/share/qemu/edk2-aarch64-code.fd &lt;span class=&#34;nv&#34;&gt;of&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;efi.img &lt;span class=&#34;nv&#34;&gt;conv&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;notrunc&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;起動スクリプトを追加します&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;touch startubuntu.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x  startubuntu.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim startubuntu.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;内容は以下のとおりです&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;qemu-system-aarch64 -M virt &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-enable-kvm  &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-drive &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;pflash,format&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raw,file&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;efi.img&amp;#34;&lt;/span&gt;,readonly &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-drive &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;pflash,format&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;raw,file&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;varstore.img&amp;#34;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-smp &lt;span class=&#34;nv&#34;&gt;cpus&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-m &lt;span class=&#34;m&#34;&gt;1024&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-cpu host &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-nographic &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-netdev user,id&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;n1,hostfwd&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;tcp::2222-:22 -device virtio-net,netdev&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;n1 &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-drive &lt;span class=&#34;nv&#34;&gt;file&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ubuntu.qcow2 &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-boot d &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-vnc :0 &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-cdrom ubuntu-24.04.3-live-server-arm64.iso&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;実行時にはsudoを付けます。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo ./startubuntu.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;うまくいけば、AVNCで&lt;code&gt;localhost:59000&lt;/code&gt;を開いて仮想マシンの画面を見られます。&lt;/p&gt;&#xA;&lt;p&gt;奇妙なことに、KVMを有効にしなければ起動できますが、有効にすると&lt;code&gt;qemu-system-aarch64: Failed to put registers after init: Invalid argument&lt;/code&gt;エラーに遭遇します。&lt;/p&gt;&#xA;&lt;p&gt;chrootに切り替えて、その中でKVMを動かせば、成功率が上がるかもしれません。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;参考資料&#xA;    &lt;div id=&#34;参考資料&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%82%e8%80%83%e8%b3%87%e6%96%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/termux/comments/169lzsf/running_a_pkvm_in_termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;running a pKVM in Termux? - Reddit&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://www.reddit.com/r/termux/comments/1fa6w9w/running_linux_vm_on_pixel_7/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt; Running Linux VM on pixel 7 - Reddit&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      
    </item>
    
    <item>
      <title>Androidに新しく追加されたDebian Linux Terminalは、必ずしもTermuxキラーにはならない</title>
      <link>https://ivonblog.com/ja-jp/posts/termux-vs-android-linux-terminal/</link>
      <pubDate>Fri, 12 Dec 2025 11:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/termux-vs-android-linux-terminal/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Android 16のLinuxターミナルは、必ずしもTermuxキラーにはならない。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/how-to-use-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux&lt;/a&gt;は、オープンソースソフトウェア愛好者たちが開発しているAndroidターミナルAPPで、独自のパッケージリポジトリを持っている。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/android-linux-terminal/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Pixelスマホ上のDebian Terminal&lt;/a&gt;を触ってみて、現時点ではこの結論に至った。これはAVFフレームワークを使ってDebian環境を実行し、ChromeOS crosvmに似た技術を使っている。Androidから隔離された、環境としては完全な仮想マシンで、SystemdやDockerを実行できる。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Android 16のLinuxターミナルは、必ずしもTermuxキラーにはならない。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/how-to-use-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux&lt;/a&gt;は、オープンソースソフトウェア愛好者たちが開発しているAndroidターミナルAPPで、独自のパッケージリポジトリを持っている。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/android-linux-terminal/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Pixelスマホ上のDebian Terminal&lt;/a&gt;を触ってみて、現時点ではこの結論に至った。これはAVFフレームワークを使ってDebian環境を実行し、ChromeOS crosvmに似た技術を使っている。Androidから隔離された、環境としては完全な仮想マシンで、SystemdやDockerを実行できる。&lt;/p&gt;&#xA;&lt;p&gt;ただし、起動には少し時間がかかる。さらに仮想マシンとホストの隔離により、性能低下も発生する。&lt;/p&gt;&#xA;&lt;p&gt;GPUアクセラレーションの実現は可能かもしれないが、効率はTermuxより大きく高くなるわけではないだろう。LinuxのWaylandウィンドウをAndroidコンポジタ上に表示する問題も処理しなければならない。&lt;/p&gt;&#xA;&lt;p&gt;単にCLIプログラムを動かしたいだけなら、Termuxのほうがシンプルで効率がよい。仮想化という層がないからだ。すべてのパッケージはARM64向けにコンパイルされており、急にSSHリモート接続を開きたい場合も、Termuxの起動が最速だ。&lt;/p&gt;&#xA;&lt;p&gt;TermuxのGPUアクセラレーションにはTurnipとVriGLも使える。&lt;/p&gt;&#xA;&lt;p&gt;より根本的な違いは、両者の技術アーキテクチャがまったく異なることにある。TermuxはあくまでAndroidネイティブアプリで、userspaceのプログラム環境を作り、ARM64のELFバイナリを直接実行しているだけであり、本当の意味での仮想化は一切ない。ほぼネイティブに近い性能でファイルシステムへアクセスでき、Androidシステムが提供するリソースも直接利用できる。そのため起動時間が速く、I/Oレイテンシが低く、CLIツールを起動する体験が非常によい。&lt;/p&gt;&#xA;&lt;p&gt;一方、Android 16 Linuxターミナルは別の道を取っている。現在の設計を見る限り、完全なpKVM仮想化 + VirtIOインターフェースを使う方式だ。そのため、起動のたびに実際にはLinux仮想マシンをブートしており、I/OはすべてVirtIOを通る。GPUのグラフィック処理では guest → host → Android SurfaceFlinger という長いデータ経路を扱う必要がある。仮想マシンがホスト側のハードウェアインターフェース（camera、USB、GPU）を使いたい場合も、追加の変換層が必要になるか、そもそもアクセスが禁止される。この完全な隔離はもちろん安全だが、その代償として「タップしてすぐ開き、数秒でshellに入る」体験は期待しにくい。&lt;/p&gt;&#xA;&lt;p&gt;性能面では、Python scripts、SSH、git、中小規模コードのコンパイルなど、CLIプログラムを動かすだけなら、おそらくTermuxのほうが速い。Androidカーネルと直接やり取りしており、仮想化 overhead がないからだ。GPUアクセラレーションも同様で、TermuxはTurnip/VirGLを通じてAndroidのOpenGLとVulkanアクセラレーションを利用する。かなりhackyではあるが、少なくとも動くし、仮想化層を迂回するぶんレイテンシも低い。&lt;/p&gt;&#xA;&lt;p&gt;安全性の面では、Linux仮想マシンの客観的な優位性は明らかだ。Termuxがどれだけサンドボックスで隔離されていても、本質的にはAndroid APP層で動いており、攻撃面は一般的なAPPと大きく変わらない。一方AVFはハードウェアレベルの隔離で、さらにpKVMにより仮想マシンのDMA権限、メモリ可視性、利用可能な peripheral を制限できる。これは企業、タブレット、教育市場にはかなり役立つはずだ。&lt;/p&gt;&#xA;&lt;p&gt;このLinuxターミナルは、どちらかといえばAndroidタブレットをChromeOS化していくための布石だと思う。AVFの技術により、ARMプロセッサ上の仮想化へ統一されたインターフェースを提供できる。&lt;/p&gt;&#xA;</content:encoded>
      
    </item>
    
    <item>
      <title>AndroidスマホでPythonを書く：Termux Python開発環境の構築</title>
      <link>https://ivonblog.com/ja-jp/posts/termux-python/</link>
      <pubDate>Sat, 12 Apr 2025 17:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/termux-python/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Androidスマートフォンアプリ「Termux」でPythonプログラムを書く方法と、Ivon個人の経験を少し共有します。&lt;/p&gt;&#xA;&lt;p&gt;AndroidスマートフォンでPythonを書くためのアプリは、使いにくいものが少なくありません。純pythonで書かれたパッケージしかインストールできず、wheelに出くわすと止まってしまいます。おそらく目的は、本格的なPython開発環境を作ることではなく、Duolingoのように初心者が練習する場に近いのでしょう。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Androidスマートフォンアプリ「Termux」でPythonプログラムを書く方法と、Ivon個人の経験を少し共有します。&lt;/p&gt;&#xA;&lt;p&gt;AndroidスマートフォンでPythonを書くためのアプリは、使いにくいものが少なくありません。純pythonで書かれたパッケージしかインストールできず、wheelに出くわすと止まってしまいます。おそらく目的は、本格的なPython開発環境を作ることではなく、Duolingoのように初心者が練習する場に近いのでしょう。&lt;/p&gt;&#xA;&lt;p&gt;その中で、Termuxだけは進化を続けています。&lt;code&gt;pip install&lt;/code&gt;は今でも通常のLinux環境と100%同じようには動きませんが、Termux専用にコンパイルされたパッケージは増えています。Termuxが提供するPythonパッケージを使えば、簡単な&#xA;Pythonプログラムを動かし、スマートフォン内のファイルを処理できます。Root権限は不要です。&lt;/p&gt;&#xA;&lt;p&gt;たとえば、pipでPillowをインストールし、写真のEXIF情報を一括処理する小さなプログラムを書くことができます。スマートフォンのDCIMフォルダ内の全写真を読み込み、EXIF情報に基づいて写真上に日付を印字し、別のフォルダへ出力します。（このプログラムは実際に使えます。&lt;a href=&#34;https://gist.github.com/ivon852/7cfa3e3e4f56ee8d52eec1124d9be028&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ソースコード&lt;/a&gt;はこちら）&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/termux-python/images/2.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&lt;p&gt;また、Pythonで書かれたterm-imageを使い、スマートフォン内の画像をターミナルに表示することもできます。&#xA;&lt;img src=&#34;https://static.ivonblog.com/posts/termux-python/images/1.webp&#34; width=300&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. テキストだけか、グラフィカル画面か？&#xA;    &lt;div id=&#34;1-テキストだけかグラフィカル画面か&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e3%81%a0%e3%81%91%e3%81%8b%e3%82%b0%e3%83%a9%e3%83%95%e3%82%a3%e3%82%ab%e3%83%ab%e7%94%bb%e9%9d%a2%e3%81%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Termuxは標準ではテキスト画面のターミナルエミュレータです。Pythonプログラムを実行するにはコマンドを入力します。Termux X11を使えばグラフィカル画面も動かせますが、本当に必要でしょうか？&lt;/p&gt;&#xA;&lt;p&gt;テキスト中心のPythonプログラムは、数値計算、星印の出力、ファイルの一括処理、ファイルのダウンロードなど、プレーンテキストの内容だけを出力します。テキスト画面でプログラムを書くには、VimまたはEmacsで編集する方法を覚える必要があります。これはテキストエディタの操作を練習するよい機会です。&lt;/p&gt;&#xA;&lt;p&gt;グラフィカル画面なら、ウィンドウ表示やグラフ描画が必要なPythonプログラムを動かせます。グラフィカル画面でコードを書く選択肢は多く、VS CodeやJupyter Notebookもありますが、スマートフォンのリソースをより多く消費します。&lt;/p&gt;&#xA;&lt;p&gt;グラフィカル画面は必須ではありません。小さなプログラムを書くだけなら、IDEを使う必要はなく、Vimで十分です。&lt;/p&gt;&#xA;&lt;p&gt;この記事ではテキスト環境を中心に、グラフィカル環境を次点として扱います。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. TermuxでPythonを動かすか、proot-distroで動かすか？&#xA;    &lt;div id=&#34;2-termuxでpythonを動かすかproot-distroで動かすか&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-termux%e3%81%a7python%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99%e3%81%8bproot-distro%e3%81%a7%e5%8b%95%e3%81%8b%e3%81%99%e3%81%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;PythonはTermuxで直接動かすことも、&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-proot-distro/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;proot-distroでDebian環境を作成&lt;/a&gt;してからその中で動かすこともできます。&lt;/p&gt;&#xA;&lt;p&gt;この2つは何が違うのでしょうか。TermuxのPythonパッケージはTermux環境向けにコンパイルされたもので、ネイティブ性能で動作します。ただしTermuxは標準的なLinux環境ではないため、一部のPythonパッケージは使えないことがあります。&lt;/p&gt;&#xA;&lt;p&gt;一方proot-distroはLinuxシステムに近い環境なので、その中でPythonをインストールすると互換性がよくなります。またDebianのパッケージリポジトリには既製のPythonパッケージが多く、pip wheelに依存しなくて済みます。ただしproot-distroの実行性能は遅くなります。&lt;/p&gt;&#xA;&lt;p&gt;この記事ではTermux環境を中心にします。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. TermuxにPythonをインストールする方法&#xA;    &lt;div id=&#34;3-termuxにpythonをインストールする方法&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-termux%e3%81%abpython%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b%e6%96%b9%e6%b3%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/how-to-use-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux&lt;/a&gt;をインストールします。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Pythonとpipをインストールします。Python-venvモジュールも含まれます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install python3 python-pip&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Pythonのバージョンを確認します。執筆時点では3.12のはずです。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 --version&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;Pythonパッケージの実行ファイルの完全なパスは&lt;code&gt;$PREFIX/usr/bin/python3&lt;/code&gt;です。&lt;/p&gt;&#xA;&lt;p&gt;pip installしたパッケージは&lt;code&gt;$PREFIX/lib/python3.x&lt;/code&gt;にインストールされます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://wiki.termux.com/wiki/Python&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux Wikiの情報&lt;/a&gt;によると、Termuxはローリングリリースなので、&lt;code&gt;pkg upgrade&lt;/code&gt;で更新するとPythonも必ず一緒にアップグレードされます。Pythonが次のメジャーバージョンへ上がった後は、pip installしたパッケージを手動で再インストールする必要があります。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. Pythonバージョンを切り替える&#xA;    &lt;div id=&#34;4-pythonバージョンを切り替える&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-python%e3%83%90%e3%83%bc%e3%82%b8%e3%83%a7%e3%83%b3%e3%82%92%e5%88%87%e3%82%8a%e6%9b%bf%e3%81%88%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Termuxはローリングリリース方式のため、最新バージョンのPythonパッケージだけを提供します。パスは&lt;code&gt;$PREFIX/usr/bin/python3&lt;/code&gt;です。pip installでインストールしたパッケージも、上記Pythonのバージョンに対応します。&lt;/p&gt;&#xA;&lt;p&gt;ではPythonバージョンをどう切り替えるのでしょうか。Pythonバージョン管理ツール「uv」にはTermuxパッケージがありますが、機能は正常ではありません。Anacondaをインストールするつもりなら、Termuxへ直接入れるのは難しく、proot-distro内に入れる必要があります。&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/android-termux-anaconda/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux proot-distroにAnacondaをインストール&lt;/a&gt;を参照してください。&lt;/p&gt;&#xA;&lt;p&gt;残る方法は、&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-tur-repo/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;TUR Repo&lt;/a&gt;が提供する古いPythonを使うことです。Termuxのメインリポジトリでは古いPythonを提供できないため、TUR Repoがその不足を補います。&lt;/p&gt;&#xA;&lt;p&gt;たとえば現在のバージョンがPython 3.12で、古いPython 3.9が必要なら、TUR Repoからインストールします。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install tur-repo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg search python3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install python3.9&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;インストール後は、次のパスで実行してください：&lt;code&gt;$PREFIX/usr/bin/python3.9&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;たとえば&lt;code&gt;python3 main.py&lt;/code&gt;は&lt;code&gt;python3.9 main.py&lt;/code&gt;になります。&lt;/p&gt;&#xA;&lt;p&gt;特定バージョンのPythonパッケージをインストールするには、&lt;code&gt;python3.9 -m pip install &amp;lt;套件名稱&amp;gt;&lt;/code&gt;を使います。&lt;/p&gt;&#xA;&lt;p&gt;異なるバージョンの仮想環境を作成する場合は、&lt;code&gt;python3.9 venv -m venv&lt;/code&gt;を使います。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;5. pip installのコツ&#xA;    &lt;div id=&#34;5-pip-installのコツ&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#5-pip-install%e3%81%ae%e3%82%b3%e3%83%84&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;通常、Pythonの外部モジュールを使うには、pip installでパッケージをインストールしてから、Pythonプログラム内でモジュールをimportします。&lt;/p&gt;&#xA;&lt;p&gt;Pythonパッケージをインストールするとき、Termuxのリポジトリにパッケージ化されたもの（通常は&lt;code&gt;python-*&lt;/code&gt;で始まる）があるなら、&lt;code&gt;pkg install&lt;/code&gt;でTermuxリポジトリからインストールします。それで無理なら&lt;code&gt;pip install&lt;/code&gt;を使います。&lt;/p&gt;&#xA;&lt;p&gt;Termux環境はPCのLinux環境と完全には同じではないため、pip installではwheelのコンパイルが必要なパッケージで失敗することがあります。そのためTermux開発者がパッケージ化した版を使うのがおすすめです。&lt;/p&gt;&#xA;&lt;p&gt;たとえばPillowパッケージはTermuxのリポジトリからインストールできます。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install python-pillow&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;古いバージョンのPillowが必要な場合だけ、pip installでのインストールを検討します。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;nv&#34;&gt;pillow&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;9.5.0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;6. VimとPythonプラグインをインストール&#xA;    &lt;div id=&#34;6-vimとpythonプラグインをインストール&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#6-vim%e3%81%a8python%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;テキストエディタVimを、Python編集に適した環境にします。&lt;/p&gt;&#xA;&lt;p&gt;Vimをインストールします。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install vim&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;Vimの基本操作はネットで検索してください。Termuxは画面上に多くのショートカットキーを表示しており、Vimでの入力操作には十分です。&lt;/p&gt;&#xA;&lt;p&gt;Vim本体には非常に基本的なコードハイライト機能しかなく、Pythonプログラムの編集には少し物足りないかもしれません。そのためプラグインを入れて機能を補強します。&lt;/p&gt;&#xA;&lt;p&gt;Vimのプラグインは非常に多いです。どれを入れるべきでしょうか。Real Pythonの &lt;a href=&#34;https://realpython.com/vim-and-python-a-match-made-in-heaven/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;VIM and Python – A Match Made in Heaven&lt;/a&gt; という記事は、とても詳しく説明していると思います。記事内で触れられているVundleパッケージマネージャーも、Termux環境にインストールできます。&lt;/p&gt;&#xA;&lt;p&gt;ただしYouCompleteMeの自動補完システムを使うには、いくつかpatchを当てる必要があります。&lt;a href=&#34;https://gist.github.com/micjabbour/ef6181f9a2cf17f90a5744fcf909438a&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;How to install YouCompleteMe on Termux by micjabbour&lt;/a&gt;を参照してください。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;7. 基本的なPythonコマンドライン実行方法&#xA;    &lt;div id=&#34;7-基本的なpythonコマンドライン実行方法&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#7-%e5%9f%ba%e6%9c%ac%e7%9a%84%e3%81%aapython%e3%82%b3%e3%83%9e%e3%83%b3%e3%83%89%e3%83%a9%e3%82%a4%e3%83%b3%e5%ae%9f%e8%a1%8c%e6%96%b9%e6%b3%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;簡単なPythonプログラムを書き、コマンドで実行して結果を出力する方法を紹介します。&lt;/p&gt;&#xA;&lt;p&gt;Pythonプログラムがファイルへ書き込む必要がある場合、Termuxのパスの書き方を理解する必要があります。&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-file-management/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termuxファイル管理&lt;/a&gt;を参照してください。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;プロジェクトディレクトリを作成し、使用するPythonプログラムを同じディレクトリにまとめることをおすすめします。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir project1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; project1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;（任意）ここでPython仮想環境を作成し、システムパッケージから隔離します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 -m venv venv&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ./venv/bin/activate&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Pythonプログラムファイルを作成します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;touch main.py&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;Vimでそのファイルを編集します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim main.py&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;簡単なHello Worldコードを入力します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Hello World!&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;プログラムを実行します。結果が出力されるはずです。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 main.py&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;8. グラフィカルIDEでPythonを書く&#xA;    &lt;div id=&#34;8-グラフィカルideでpythonを書く&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#8-%e3%82%b0%e3%83%a9%e3%83%95%e3%82%a3%e3%82%ab%e3%83%abide%e3%81%a7python%e3%82%92%e6%9b%b8%e3%81%8f&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ここでの操作にはキーボードとマウスを推奨します。&lt;/p&gt;&#xA;&lt;p&gt;グラフィカルIDEでプログラムを書けば、コマンド入力の手間を省けます。&lt;/p&gt;&#xA;&lt;p&gt;グラフィカルIDEといえば、多くの人はVS Codeを思い浮かべるでしょう。残念ながら、Termuxには&lt;code&gt;code-server&lt;/code&gt;パッケージしかなく、デスクトップ版VS Codeはありません。&lt;/p&gt;&#xA;&lt;p&gt;Termuxは&lt;code&gt;code-server&lt;/code&gt;パッケージを提供しており、スマートフォンのブラウザでWeb版VS Codeを動かせます。ただ、どうせグラフィカル画面を使うなら、Termux X11で完全なXサーバーを動かすほうがよいと思います。そうすればVS Codeを開けるだけでなく、PythonプログラムがPyQTでウィンドウを描画することもできます。&lt;/p&gt;&#xA;&lt;p&gt;Termuxにはデスクトップ版VS Codeが収録されていないため、&lt;a href=&#34;https://ivonblog.com/posts/ja-jp/visual-studio-code-termux/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;proot-distro内にVS Codeをインストール&lt;/a&gt;してからグラフィカル画面を起動するのがおすすめです。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;9. proot-distro内でPythonを使う際の注意&#xA;    &lt;div id=&#34;9-proot-distro内でpythonを使う際の注意&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#9-proot-distro%e5%86%85%e3%81%a7python%e3%82%92%e4%bd%bf%e3%81%86%e9%9a%9b%e3%81%ae%e6%b3%a8%e6%84%8f&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;proot-distro login&lt;/code&gt;コマンドを実行すると、Termuxは自身のPATHも一緒にマウントします。そのためpythonコマンドを実行したとき、コンテナ内の版ではなくTermux側の版が実行されることがあります。&lt;/p&gt;&#xA;&lt;p&gt;どう確認するのでしょうか。&lt;code&gt;which python&lt;/code&gt;と&lt;code&gt;which python3&lt;/code&gt;でPythonのパスを確認します。&lt;code&gt;/usr/bin/python3&lt;/code&gt;でなければ、Termux側の版を実行しています。&lt;/p&gt;&#xA;&lt;p&gt;この問題を解決するには、proot-distro内の&lt;code&gt;~/.bashrc&lt;/code&gt;に次の内容を追加します。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;python&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/bin/python3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;python3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/bin/python3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;pip&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/bin/pip&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;alias&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;pip3&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/bin/pip3&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/termux-python/featured.webp" />
    </item>
    
    <item>
      <title>TermuxのXFCEデスクトップでproot-distro内のX11 GUIアプリを起動する</title>
      <link>https://ivonblog.com/ja-jp/posts/termux-desktop-with-proot-distro/</link>
      <pubDate>Fri, 11 Apr 2025 01:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/termux-desktop-with-proot-distro/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Allow apps in proot-distro to draw windows on XFCE desktop in Termux. Integrate X11 GUI apps in proot-distro with Termux host desktop environment.&lt;/p&gt;&#xA;&lt;p&gt;デフォルトでは、TermuxのネイティブパッケージでXFCEデスクトップ環境を動かし、X11のネットワーク透過性を使って、proot-distro内のX11プログラムのウィンドウをXFCEデスクトップ上に表示させます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/termux-desktop-with-proot-distro/images/tt.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;この画像はTermuxとproot-distro環境が同時に動作している様子を示しています。XFCEデスクトップはTermuxで直接動作し、LibreOfficeはproot-distro内から起動しています&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Allow apps in proot-distro to draw windows on XFCE desktop in Termux. Integrate X11 GUI apps in proot-distro with Termux host desktop environment.&lt;/p&gt;&#xA;&lt;p&gt;デフォルトでは、TermuxのネイティブパッケージでXFCEデスクトップ環境を動かし、X11のネットワーク透過性を使って、proot-distro内のX11プログラムのウィンドウをXFCEデスクトップ上に表示させます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/termux-desktop-with-proot-distro/images/tt.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;この画像はTermuxとproot-distro環境が同時に動作している様子を示しています。XFCEデスクトップはTermuxで直接動作し、LibreOfficeはproot-distro内から起動しています&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;ここでネイティブのXFCEプログラムを動かす側を、ひとまずTermuxホストと呼ぶことにします。proot-distroは自然にコンテナ側です。この流れは以下のようになります。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://ivonblog.com/en-us/posts/termux-desktop-with-proot-distro/images/diagram-en-us.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    width=&#34;1024&#34;&#xA;      height=&#34;942&#34;&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;この使い方は、Linuxデスクトップのコンテナツール&lt;a href=&#34;https://ivonblog.com/posts/distrobox-usage/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Distrobox&lt;/a&gt;に少し似ています。Docker内のX11 GUIプログラムをホストのデスクトップに表示できる、というものです。&lt;/p&gt;&#xA;&lt;p&gt;proot-distro内から直接XFCEを起動すればいいのでは、なぜTermuxのXFCEパッケージを使うのか、と思うかもしれません。&lt;/p&gt;&#xA;&lt;p&gt;理由は速度です。proot内のプロセスはptraceでエミュレートされるため、Termux向けにネイティブコンパイルされたプログラムよりもそもそも遅くなります。今ではTermuxのパッケージも増えており、Chromiumブラウザまであります（TUR Repoに収録）。そのため今後は、proot-distroでデスクトップ環境を動かして主客転倒させる必要は徐々に減るでしょう。よく使うプログラムの大半をTermuxネイティブ版で実行できるなら、proot-distroを常用する必要はありません。必要な時だけproot-distroを起動し、Debianリポジトリにしかないプログラムを動かせばよいのです。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. Termuxにデスクトップ環境をインストールする&#xA;    &lt;div id=&#34;1-termuxにデスクトップ環境をインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-termux%e3%81%ab%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e7%92%b0%e5%a2%83%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-desktop-environment/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;TermuxにXFCE4デスクトップをインストールする&lt;/a&gt;を参照してください。グラフィック表示の方法は、Termux X11でもVNCでも構いません。&lt;/p&gt;&#xA;&lt;p&gt;ここではさらに、XクライアントがXサーバーへ接続する権限を制御するためのパッケージを追加します。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install xorg-xhost&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;Termuxのデスクトップ環境を起動できるかテストします。&lt;/p&gt;&#xA;&lt;p&gt;また、XFCEのファイルマネージャーを開き、&lt;code&gt;storage/shared&lt;/code&gt;ディレクトリを開けば、Android内部ストレージのファイルを読み込めます。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. proot-distroを設定する&#xA;    &lt;div id=&#34;2-proot-distroを設定する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-proot-distro%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;私は&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-proot-distro-debian/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;proot Debian&lt;/a&gt;をインストールしました。&lt;/p&gt;&#xA;&lt;p&gt;一般ユーザーを追加し、proot-distro内で日本語化を設定することをおすすめします。&lt;/p&gt;&#xA;&lt;p&gt;Termuxには&lt;code&gt;locales&lt;/code&gt;パッケージがなく、日本語のロケールを設定できません。&lt;/p&gt;&#xA;&lt;p&gt;proot-distro内には、たとえばLibreOfficeのようなGUIプログラムもインストールしておきます。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install libreoffice&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. Termuxデスクトップからproot-distro内のプログラムを起動する&#xA;    &lt;div id=&#34;3-termuxデスクトップからproot-distro内のプログラムを起動する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-termux%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e3%81%8b%e3%82%89proot-distro%e5%86%85%e3%81%ae%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%a0%e3%82%92%e8%b5%b7%e5%8b%95%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;まず&lt;code&gt;xhost&lt;/code&gt;を実行し、proot-distro内のプログラムがTermuxデスクトップのXサーバーにウィンドウを描画できるよう許可します。prootのプロセスはTermux userによって起動されるため、&lt;code&gt;whoami&lt;/code&gt;コマンドで現在のユーザー名を渡し、このユーザーの接続を許可します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;xhost +SI:localuser:&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;whoami&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;proot-distroにログインします。Xサーバーリソースを共有するため、必ず&lt;code&gt;--shared-tmp&lt;/code&gt;を使います。さらに&lt;code&gt;--termux-home&lt;/code&gt;を付けてTermuxのホームディレクトリもマウントします（proot内のプログラムにファイルを散らかされたくない場合は、マウントしなくても構いません）。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro login debian --user user --shared-tmp --termux-home&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;&lt;code&gt;DISPLAY&lt;/code&gt;環境変数を指定します。値はTermux Xサーバーのアドレスで、通常は&lt;code&gt;:0&lt;/code&gt;です。その後、LibreOfficeなどのプログラムを実行します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;DISPLAY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;:0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;libreoffice&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;するとLibreOfficeのウィンドウが起動します。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/termux-desktop-with-proot-distro/images/Screenshot_20250411_005538.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Termuxデスクトップ上のファイルは、LibreOfficeのウィンドウへ直接ドラッグして開けます。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;ただしLibreOfficeからファイル選択ダイアログを開く場合、デフォルトではproot-distro内のディレクトリしか見えません。上でTermuxのホームディレクトリをマウントしているため、proot-distro内のユーザーのホームディレクトリ&lt;code&gt;/home&lt;/code&gt;はTermuxのホームディレクトリと共有された状態になります。&lt;/p&gt;&#xA;&lt;p&gt;また、&lt;code&gt;/sdcard&lt;/code&gt;からAndroid内部ストレージのディレクトリを読み込むこともできます。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. TermuxデスクトップにGUIショートカットを追加する&#xA;    &lt;div id=&#34;4-termuxデスクトップにguiショートカットを追加する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-termux%e3%83%87%e3%82%b9%e3%82%af%e3%83%88%e3%83%83%e3%83%97%e3%81%abgui%e3%82%b7%e3%83%a7%e3%83%bc%e3%83%88%e3%82%ab%e3%83%83%e3%83%88%e3%82%92%e8%bf%bd%e5%8a%a0%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Desktop Entryにしておけば、手動でproot-distroにログインしてコマンドを打つ必要がなくなります。&lt;/p&gt;&#xA;&lt;p&gt;XFCEにはDesktop Entryをすばやく作成する方法があります。デスクトップで右クリック → Create Launcher を選びます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/termux-desktop-with-proot-distro/images/Screenshot_20250411_005027.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Command欄に以下のコマンドを入力します。Debian prootへログインし、bashでLibreOfficeを起動します。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;proot-distro login debian  --shared-tmp -- bash -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;DISPLAY=:1 libreoffice&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;p&gt;アイコンファイルは任意のディレクトリの画像を選べますが、私は元のものを使います。Iconをクリックし、Image Filesを選び、ファイル選択ダイアログでパスに&lt;code&gt;/data/data/com.termux/files/var/lib/proot-distro/installed-rootfs/debian/usr/share/icons/hicolor/&lt;/code&gt;を入力します。するとTermux proot-distro内のアイコンファイルを見つけられます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/termux-desktop-with-proot-distro/images/Screenshot_20250411_005253.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;保存してダブルクリックすれば、LibreOfficeが直接起動します。他のプログラムも同じ要領で設定できます。&lt;/p&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/termux-desktop-with-proot-distro/featured.webp" />
    </item>
    
    <item>
      <title>VNCでTermuxのLinuxデスクトップへリモート接続する方法</title>
      <link>https://ivonblog.com/ja-jp/posts/vncserver-termux/</link>
      <pubDate>Thu, 10 Apr 2025 01:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/vncserver-termux/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;この記事では、VNCサーバーを設定して、TermuxのLinuxシステムデスクトップへアクセスする方法を説明します。prootまたはchrootでインストールしたLinuxシステムに適用できます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/vncserver-termux/images/IMG_0357.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;この記事では、VNCサーバーを設定して、TermuxのLinuxシステムデスクトップへアクセスする方法を説明します。prootまたはchrootでインストールしたLinuxシステムに適用できます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/vncserver-termux/images/IMG_0357.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;TermuxはAndroidスマートフォンでLinuxを動かせます。環境を整えた後は、デスクトップ（グラフィカル環境）への接続方法を考える必要があります。TermuxのLinuxシステムデスクトップへ接続するには、&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-x11/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux X11&lt;/a&gt;、&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/android-xserver-xsdl/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;XSDL&lt;/a&gt;、VNCの3つの方法があります。&lt;/p&gt;&#xA;&lt;p&gt;前者2つはスマートフォン上でXサーバーを動かす方法です。後者はリモートデスクトップの考え方で、スマートフォン上でVNCサーバーを動かし、仮想Xvncサーバーを起動してから、VNCクライアントで接続します。このVNCクライアントはローカルでも、別のPC上のクライアントでもかまいません。&lt;/p&gt;&#xA;&lt;p&gt;グラフィック性能でいえば、XサーバーはVNCより優れており、3Dハードウェアアクセラレーションも実現しやすいです。&lt;/p&gt;&#xA;&lt;p&gt;昔私がTermuxを学び始めた頃は、多くの人がVNCを使っていました。しかしTermux X11が成熟するにつれて、私はVNCを徐々に使わなくなりました。&lt;/p&gt;&#xA;&lt;p&gt;3つとも同じスマートフォン上で動かす場合、どれもlocalhostなので遅延の問題はありません。VNCはXサーバーに比べ、実際のところ性能面の利点がほとんどありません。&lt;/p&gt;&#xA;&lt;p&gt;VNCの強みは、別のPCからリモートアクセスできることです。SSH Xサーバーforwardingの方法と比べ、VNCは画質を下げて帯域幅を減らせますし、headlessで起動することもできます。リモートで表示するときに性能上の利点が出てきます。&lt;/p&gt;&#xA;&lt;p&gt;そのためVNCは「PCからスマートフォンのTermuxデスクトップへ接続する」場面に向いています。小さな画面を見つめながら必死にコマンドを打つのは嫌ですよね。テキストだけのSSHアクセスに加えて、グラフィカルなVNCはよい選択肢です。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/vncserver-termux/images/IMG_0360.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;VNCとTermux X11の2つの方法は共存できます。おそらく互いに影響しません。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. VNCクライアントを選ぶ&#xA;    &lt;div id=&#34;1-vncクライアントを選ぶ&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-vnc%e3%82%af%e3%83%a9%e3%82%a4%e3%82%a2%e3%83%b3%e3%83%88%e3%82%92%e9%81%b8%e3%81%b6&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;スマートフォンでは&lt;a href=&#34;https://github.com/gujjwal00/avnc&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;AVNC&lt;/a&gt;または&lt;a href=&#34;https://www.realvnc.com/en/connect/download/viewer/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;RealVNC Viewer&lt;/a&gt;をおすすめします。後者は機能が多いですが、プロプライエタリソフトウェアです。&lt;/p&gt;&#xA;&lt;p&gt;PCでは&lt;a href=&#34;https://remmina.org/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Remmina&lt;/a&gt;をおすすめします。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. VNCサーバーを設定する&#xA;    &lt;div id=&#34;2-vncサーバーを設定する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-vnc%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%82%92%e8%a8%ad%e5%ae%9a%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;次のどちらかを選びます。&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;Termuxで直接VNCサーバーを動かす&#xA;    &lt;div id=&#34;termuxで直接vncサーバーを動かす&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#termux%e3%81%a7%e7%9b%b4%e6%8e%a5vnc%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;実際にはproot-distroは不要です。Termux自体がネイティブのVNCサーバーパッケージを提供しています。ただし、proot-distro内のLinuxディストリビューションのデスクトップを開きたい場合は、この方法を使わないでください。&lt;/p&gt;&#xA;&lt;p&gt;また、Termuxに収録されているデスクトップ環境パッケージはproot-distroほど豊富ではありません。現時点で最も完成度が高いのはXFCEです。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Termuxに&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-desktop-environment/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;XFCEデスクトップをインストール&lt;/a&gt;します。ただしTermux X11はインストールしません。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;TigerVNCのパッケージをインストールします。執筆時点のバージョンは1.13.0です。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install tigervnc&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;VNCサーバーのパスワードを設定します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vncpasswd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;VNCサーバー起動後に実行するプログラムを追加します。&lt;code&gt;~/.vnc/xstartup&lt;/code&gt;を編集します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir ~/.vnc/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim ~/.vnc/xstartup&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;次の内容を入力します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;unset&lt;/span&gt; SESSION_MANAGER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;unset&lt;/span&gt; DBUS_SESSION_BUS_ADRESS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# PulseAudio音声サーバーを起動。音声はTermuxから出力される&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulseaudio --start --exit-idle-time&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pacmd load-module module-native-protocol-tcp auth-ip-acl&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;127.0.0.1 auth-anonymous&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# デスクトップ環境を実行。ここではXFCE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;exec&lt;/span&gt; startxfce4&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;xstartupに実行権限を付与します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x ~/.vnc/xstartup&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;VNCサーバーの設定ファイルを定義します。&lt;code&gt;~/.vnc/tigervnc.conf&lt;/code&gt;を編集します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim ~/.vnc/tigervnc.conf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;8&#34;&gt;&#xA;&lt;li&gt;次の内容を入力します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 現在のセッションはXFCE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$session&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;xfce-session&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 解像度。高いほど帯域幅を多く使う&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$geometry&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1920x1080&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ビット深度。値は8/16/24/32で、数字が大きいほど画質はよいが帯域幅を消費する&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$depth&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;32&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 外部ネットワークから接続できるようにする&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$localhost&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;no&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;proot-distro内でVNCサーバーを動かす&#xA;    &lt;div id=&#34;proot-distro内でvncサーバーを動かす&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#proot-distro%e5%86%85%e3%81%a7vnc%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%82%92%e5%8b%95%e3%81%8b%e3%81%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;先に&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-proot-distro-debian/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Debian&lt;/a&gt;などのTermux proot-distroをインストールしてください。続いてproot-distro内にデスクトップ環境をインストールします。最もリソースを食わないのはXFCEですが、KDE Plasmaを試してもかまいません。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;proot-distroにログインし、現在rootではなく一般ユーザーであることを確認します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;whoami&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# rootの場合は su &amp;#34;ユーザー名&amp;#34; と入力して一般ユーザーへ切り替える&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;TigerVNCのパッケージをインストールします。現在のバージョンは1.13.0です。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install tigervnc-standalone-server tigervnc-xorg-extension&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;VNCサーバーのパスワードを設定します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vncpasswd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;VNCサーバー起動後に実行するプログラムを追加します。&lt;code&gt;~/.vnc/xstartup&lt;/code&gt;を編集します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir ~/.vnc/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim ~/.vnc/xstartup&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;次の内容を入力します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;unset&lt;/span&gt; SESSION_MANAGER&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;unset&lt;/span&gt; DBUS_SESSION_BUS_ADRESS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# PulseAudio音声サーバーを起動。音声はTermuxから出力される&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PULSE_SERVER&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;127.0.0.1 &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; pulseaudio --start --disable-shm&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; --exit-idle-time&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-1&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# デスクトップ環境を実行。ここではXFCE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;exec&lt;/span&gt; startxfce4&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;6&#34;&gt;&#xA;&lt;li&gt;xstartupに実行権限を付与します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x ~/.vnc/xstartup&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;VNCサーバーの設定ファイルを定義します。&lt;code&gt;~/.vnc/tigervnc.conf&lt;/code&gt;を編集します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim ~/.vnc/tigervnc.conf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;8&#34;&gt;&#xA;&lt;li&gt;次の内容を入力します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 現在のセッションはXFCE&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$session&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;xfce-session&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 解像度。高いほど帯域幅を多く使う&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$geometry&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;1920x1080&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ビット深度。値は8/16/24/32で、数字が大きいほど画質はよいが帯域幅を消費する&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$depth&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;32&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 外部ネットワークから接続できるようにする&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$localhost&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;no&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. VNCサーバーへ接続する&#xA;    &lt;div id=&#34;3-vncサーバーへ接続する&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-vnc%e3%82%b5%e3%83%bc%e3%83%90%e3%83%bc%e3%81%b8%e6%8e%a5%e7%b6%9a%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Termuxで&lt;code&gt;tigervncserver&lt;/code&gt;または&lt;code&gt;vncserver&lt;/code&gt;コマンドを入力し、VNCサーバーを起動します。画面に出力されるポート番号を確認します。通常は1から始まります。VNCサーバーのポートは5900から数えるため、この場合のポートは5901です。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/vncserver-termux/images/Screenshot_20231104-223649.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;ローカル接続&#xA;    &lt;div id=&#34;ローカル接続&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e3%83%ad%e3%83%bc%e3%82%ab%e3%83%ab%e6%8e%a5%e7%b6%9a&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;ローカル接続するには、スマートフォンでAVNCアプリを開き、ホスト接続を追加します。アドレスに&lt;code&gt;localhost&lt;/code&gt;、ポートに&lt;code&gt;5901&lt;/code&gt;を入力します。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/vncserver-termux/images/Screenshot_20231104-223726.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;AVNCの操作では、左側のボタンをタップしてタッチパッドモードに切り替えるのがおすすめです。Linuxデスクトップの文字が小さすぎる場合は、解像度を下げるか、そのデスクトップ環境の設定でDPIを調整してください。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/vncserver-termux/images/Screenshot_20231104-223934.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;VNCサーバー接続を終了した後は、Termuxに戻ってサーバーを停止してください。そうしないと、次回起動時に新しいポートで動いてしまいます。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vncserver -kill :1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h3 class=&#34;relative group&#34;&gt;PCからリモート接続&#xA;    &lt;div id=&#34;pcからリモート接続&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pc%e3%81%8b%e3%82%89%e3%83%aa%e3%83%a2%e3%83%bc%e3%83%88%e6%8e%a5%e7%b6%9a&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h3&gt;&#xA;&lt;p&gt;まずスマートフォンとPCを同じWi-Fiネットワークに接続します。&lt;/p&gt;&#xA;&lt;p&gt;Termuxで&lt;code&gt;sudo apt install net-tools &amp;amp; ifconfig&lt;/code&gt;コマンドを実行してスマートフォンのローカルIPを取得し、Wlanの行を確認します。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/vncserver-termux/images/Screenshot_20231104-224647.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;次にPCのReminnaのアドレス欄をVNCに切り替え、&lt;code&gt;スマートフォンIP:5901&lt;/code&gt;を入力して接続します。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/vncserver-termux/images/Screenshot_20231104_230813.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Reminnaでは左側のボタンを押して、リモートデスクトップのサイズに合わせられます。入力方式はリモート側のものしか使えませんが、両側のクリップボードは自動で同期されます。&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/vncserver-termux/images/Screenshot_20231104_230608.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;VNCサーバー接続を終了した後は、Termuxに戻ってサーバーを停止してください。そうしないと、次回起動時に新しいポートで動いてしまいます。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vncserver -kill :1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;関連記事&#xA;    &lt;div id=&#34;関連記事&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e9%96%a2%e9%80%a3%e8%a8%98%e4%ba%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-x11/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux X11の使い方&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/android-xserver-xsdl/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;XSDLの使い方&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/vncserver-termux/featured.webp" />
    </item>
    
    <item>
      <title>スマホをPCとして使う：iPad &#43; Android Termuxでデスクトップ版Linuxソフトを動かす</title>
      <link>https://ivonblog.com/ja-jp/posts/android-termux-as-linux-desktop-ipad-as-client/</link>
      <pubDate>Thu, 21 Nov 2024 21:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/android-termux-as-linux-desktop-ipad-as-client/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;iPad is too limited, Android is too tiny. So why not combine then together?&lt;/p&gt;&#xA;&lt;p&gt;Android + Termux Proot Debian + KasmVNC + iPadのSafariを使い、デスクトップ版ソフトを動かせるモバイル作業環境を構築します。&lt;/p&gt;&#xA;&lt;p&gt;iPadでできないことは、Androidスマホにやらせましょう！&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;iPad is too limited, Android is too tiny. So why not combine then together?&lt;/p&gt;&#xA;&lt;p&gt;Android + Termux Proot Debian + KasmVNC + iPadのSafariを使い、デスクトップ版ソフトを動かせるモバイル作業環境を構築します。&lt;/p&gt;&#xA;&lt;p&gt;iPadでできないことは、Androidスマホにやらせましょう！&lt;/p&gt;&#xA;&lt;p&gt;Termux Prootを通してAndroidスマホをPCのように使い、Linuxデスクトップソフトを実行し、それをiPadから操作します。&lt;/p&gt;&#xA;&lt;p&gt;iPadからAndroid上のLinuxコンテナへリモート接続して操作します。iPadでできないことは、Androidスマホにやらせましょう！&#xA;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/android-termux-as-linux-desktop-ipad-as-client/images/joplin.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;Joplinでノート整理&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;figure&gt;&#xA;  &lt;img&#xA;    class=&#34;my-0 rounded-md&#34;&#xA;    loading=&#34;lazy&#34;&#xA;    decoding=&#34;async&#34;&#xA;    fetchpriority=&#34;low&#34;&#xA;    alt=&#34;&#34;&#xA;    src=&#34;https://static.ivonblog.com/posts/android-termux-as-linux-desktop-ipad-as-client/images/vscode.webp&#34;&#xA;    onerror=&#34;this.onerror=null;this.src=&#39;https://ivonblog.com/images/unable-to-load-the-image-pepe.webp&#39;&#34;&#xA;    &gt;&lt;figcaption&gt;Visual Studio Codeでpygameを起動&lt;/figcaption&gt;&lt;/figure&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;タイトルの意味が分からない？私がやりたいのは、こういう利用シーンです。&#xA;&#xA;&#xA;&#xA;&#xA;&lt;div style=&#34;position: relative; padding-bottom: 56.25%; overflow: hidden;&#34;&gt;&#xA;    &lt;iframe style=&#34;position: absolute; width: 100%; height: 100%;&#34;&#xA;        src=&#34;http://www.youtube.com/embed/voHH5BnVe0M&#34; allowfullscreen frameborder=&#34;0&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/iframe&gt;&#xA;&lt;/div&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. 動機&#xA;    &lt;div id=&#34;1-動機&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-%e5%8b%95%e6%a9%9f&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;私の現在のモバイル作業環境はAndroidスマホとiPadの組み合わせです。別々のエコシステムではありますが、LocalSendのような自由ソフトウェアのおかげで、両者は案外うまく共存しています。Androidスマホはバッテリー容量が大きいので、iPadに6時間ほどテザリングしても電池切れにはならなさそうです。&lt;/p&gt;&#xA;&lt;p&gt;これらはすべて、iPadでデスクトップ版ソフトを動かすためです。ソフトによってはデスクトップ版は非常によくできているのに、モバイル版に移植されると一気に貧弱になります。自由ソフトウェアでもプロプライエタリソフトウェアでも同じです。&lt;/p&gt;&#xA;&lt;p&gt;たとえばノートアプリのJoplin。iPad版JoplinはiPhone版を拡大しただけのようなもので、機能がかなり簡素です。ノートの関係グラフなど、デスクトップ版の機能がまだ多く移植されていません。ノートを扱うときにいつも手足を縛られる感じがあり、多くの作業はPCを開かないと処理できません。そこで、どうやってデスクトップ版Joplinを動かすか考え始めました。&lt;/p&gt;&#xA;&lt;p&gt;iPadを売ってSurfaceに乗り換える？考えたことはあります。ただ、足に合わない靴に合わせるために足を削るようなことはしたくないので、AndroidスマホのTermuxを使うことにしました。Termuxならroot不要でLinuxデスクトップ環境のコンテナを動かせますし、VNC経由でiPadからアクセスできます。&lt;/p&gt;&#xA;&lt;p&gt;以前、&lt;a href=&#34;https://ivonblog.com/posts/scrcpy-for-ios/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Scrcpy&lt;/a&gt;や&lt;a href=&#34;https://ivonblog.com/posts/rustdesk-remote-control-phone-from-another-phone/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Rustdesk&lt;/a&gt;でAndroidを大画面へミラーリングする方法を紹介しました。しかし、私が必要としているのはAndroid画面全体ではありません。Linuxだけで十分です。VNCサーバーをヘッドレスで動かせば、AndroidのRAMが十分ある限りバックグラウンドで簡単にはkillされません。Linuxプログラムが動いている間も、Androidスマホ自体は普通に使えます。&lt;/p&gt;&#xA;&lt;p&gt;iPadのネットワークはAndroidから共有しているため、リモートデスクトップのローカル接続の遅延は小さいです。iPadはAndroidのLinuxコンテナ用の画面になります。&lt;/p&gt;&#xA;&lt;p&gt;選べるなら、Androidスマホの代わりにRaspberry Piを使うべきでしょう。私は以前、&lt;a href=&#34;https://ivonblog.com/posts/ipad-raspberrypi-usb-c-connection/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Raspberry PiとiPadを組み合わせる使い方&lt;/a&gt;について書きました。Raspberry PiはI/Oが比較的揃っており、本体サイズも持ち運びに向いています。ただ、スマホに大容量バッテリーと強力なプロセッサがあるなら、その場で活用しない手はありません。たとえば私のSony Xperia 10 Vの性能はiPad Air 6の3分の1程度ですが、テザリングしても発熱せず、バッテリー持ちも非常に長い。なら少し酷使してLinuxを動かしてみよう、というわけです。&lt;/p&gt;&#xA;&lt;p&gt;え、それは少し本末転倒ではないか、ですって？iPadはあれほど高性能なのに、ただのリモートデスクトップクライアントとして使い、本来担当すべき重い処理を全部Android側に押し付けるのか？仕方ありません。iOSはiSH Shellを動かすだけでも重く、仮想マシンもなかなか開放されません。だからAndroidが遅くても、動かせるものはiPadより多様で、iPadよりPCらしく使えます。Androidを酷使して電池がなくなったら、今度はiPad側からType-Cで充電すればよいのです。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. 設定手順&#xA;    &lt;div id=&#34;2-設定手順&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-%e8%a8%ad%e5%ae%9a%e6%89%8b%e9%a0%86&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;ログイン手順を簡単にするため、私はKasmVNCのWeb VNCサーバー方式を採用しました。そのためiPad側にアプリを用意する必要はなく、ブラウザだけでログインできます。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/ja-jp/posts/termux-proot-distro-debian/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux Proot Debian&lt;/a&gt;を設定し、XFCEデスクトップをインストールする&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ivonblog.com/posts/kasmvnc-setup&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;ARM64アーキテクチャのKasmVNCパッケージ&lt;/a&gt;をインストールする&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;KasmVNCサーバーを起動し、指示に従ってユーザーを追加し、XFCEを使うよう設定する&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vncserver&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;KasmVNCサーバーを起動する&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vncserver&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;テザリングを有効にして、ネットワークをiPadへ共有する&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;AndroidのローカルIPを取得する&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ifconfig&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;7&#34;&gt;&#xA;&lt;li&gt;iPadのSafariで&lt;code&gt;https://手機區域IP:8444&lt;/code&gt;を入力し、アカウントでログインすれば接続できる&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;3. TermuxのLinuxにソフトウェアをインストールする&#xA;    &lt;div id=&#34;3-termuxのlinuxにソフトウェアをインストールする&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#3-termux%e3%81%aelinux%e3%81%ab%e3%82%bd%e3%83%95%e3%83%88%e3%82%a6%e3%82%a7%e3%82%a2%e3%82%92%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab%e3%81%99%e3%82%8b&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;大半の自由ソフトウェアにはARM64版パッケージがあるので、APTでインストールすればよいです。&lt;/p&gt;&#xA;&lt;p&gt;Joplinについては、&lt;a href=&#34;https://github.com/leaguecn/joplin-arm64-build&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;leaguecnがビルドしたdebパッケージ&lt;/a&gt;を使っています。ちょうど志を同じくする人がいて、その人もAndroidでデスクトップ版Joplinを動かしていました！&lt;/p&gt;&#xA;&lt;p&gt;ChromiumベースのソフトウェアをProot内で起動するときは、&lt;code&gt;/usr/share/applications/*.desktop&lt;/code&gt;のExec==項目を編集し、&lt;code&gt;--no-sandbox&lt;/code&gt;パラメータを追加しないと起動できません。Visual Studio Codeも同じです。&lt;/p&gt;&#xA;&lt;p&gt;iPadOSのAssistiveTouchの白いボタンでタッチパッドをシミュレートできますが、それでもLinuxデスクトップを操作するならBluetoothキーボードを接続することをおすすめします。&lt;/p&gt;&#xA;&lt;p&gt;KasmVNCではiOSの入力方式を使って中国語を入力できますが、あまり安定しません。そのため私はTermuxコンテナ内にFcitx5入力をインストールしています。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;4. まだ解決していない問題&#xA;    &lt;div id=&#34;4-まだ解決していない問題&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#4-%e3%81%be%e3%81%a0%e8%a7%a3%e6%b1%ba%e3%81%97%e3%81%a6%e3%81%84%e3%81%aa%e3%81%84%e5%95%8f%e9%a1%8c&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Linuxデスクトップの音声をiPadへストリーミングできません。KasmVNCだけでは実現できません。iOSにはPulseAudioサーバーがないため、音はAndroid側のTermuxから出すしかありません。ただ、外出先でむやみに音楽を流すこともないでしょうし、イヤホンを接続すれば解決です。&lt;/p&gt;&#xA;&lt;p&gt;VNCの描画効率がよくない問題については、KasmVNCはすでに現代的な技術向けに再設計されたサーバーです。少なくともTigerVNCより品質はよいので、あまり高望みはしないことにします。&lt;/p&gt;&#xA;&lt;p&gt;ここで検討に値する案はあります。iPadでXサーバーを動かし、X11 Forwarding経由でLinuxコンテナの画面を投影する方法です。Termux X11の使い方に似ていますが、リモートになるだけです。ただ、App Storeで唯一のX Serverアプリである&lt;a href=&#34;https://apps.apple.com/tw/app/mocha-x11/id1440418243&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Mocha X11&lt;/a&gt;は高いんですよね&amp;hellip;それに試用版で試したところ、VirGL 3Dアクセラレーションに問題がありました。&lt;/p&gt;&#xA;</content:encoded>
      <media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/ja-jp/posts/android-termux-as-linux-desktop-ipad-as-client/featured.webp" />
    </item>
    
    <item>
      <title>Termux-servicesとTermux:Bootで自動起動サービスを管理する</title>
      <link>https://ivonblog.com/ja-jp/posts/termux-services/</link>
      <pubDate>Mon, 18 Nov 2024 06:00:00 +0800</pubDate>
      <author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author>
      <guid>https://ivonblog.com/ja-jp/posts/termux-services/</guid>
      
      <description>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Manage auto-startup services in Termux.&lt;/p&gt;&#xA;&lt;p&gt;ここでは2つのTermux拡張機能を紹介します。1つ目はTermux-servicesで、Termuxアプリを起動した後のサービスを管理します。2つ目はTermux:Bootで、Androidの起動後にTermuxのサービスを自動起動するよう設定します。&lt;/p&gt;</description>
      <content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;&#xA;&lt;p&gt;Manage auto-startup services in Termux.&lt;/p&gt;&#xA;&lt;p&gt;ここでは2つのTermux拡張機能を紹介します。1つ目はTermux-servicesで、Termuxアプリを起動した後のサービスを管理します。2つ目はTermux:Bootで、Androidの起動後にTermuxのサービスを自動起動するよう設定します。&lt;/p&gt;&#xA;&lt;p&gt;なぜTermux-servicesが必要なのでしょうか。&lt;/p&gt;&#xA;&lt;p&gt;Termuxでサービスを起動・停止したい、アプリを開いた後にサービスを自動起動したい。しかしTermuxにはSystemdがありません。自動起動したいサービスを&lt;code&gt;~/.bashrc&lt;/code&gt;や&lt;code&gt;~/.profile&lt;/code&gt;に書き込み、停止したいときはプロセスを探して&lt;code&gt;kill&lt;/code&gt;コマンドで止めるしかないのでしょうか。&lt;/p&gt;&#xA;&lt;p&gt;こういう時にTermux-servicesは便利なツールになります。&lt;/p&gt;&#xA;&lt;p&gt;Termux-servicesを使うと、一連のコマンドでサービスの実行を制御でき、自由にサービスを起動・停止できます。常駐プログラム（daemon）を必要とするソフトウェアには特に便利です。たとえば&lt;code&gt;sshd&lt;/code&gt;、&lt;code&gt;apache2&lt;/code&gt;、&lt;code&gt;bitcoin&lt;/code&gt;などはTermux-services経由で、Termuxアプリを開いた後に自動起動できます。&lt;/p&gt;&#xA;&lt;p&gt;Termux-servicesは「runit」を使ってシステムサービスを管理します。runitは非常にシンプルなinitサービスマネージャーで、現在これを採用しているLinuxディストリビューションは少数です。runitを使うLinuxディストリビューションといえば、有名なのはArtix LinuxとVoid Linuxあたりでしょう。&lt;/p&gt;&#xA;&lt;p&gt;まずTermux-serviceの使い方を紹介し、その後でTermux: Bootの使い方を説明します。&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;1. Termux-servicesの自動起動&#xA;    &lt;div id=&#34;1-termux-servicesの自動起動&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#1-termux-services%e3%81%ae%e8%87%aa%e5%8b%95%e8%b5%b7%e5%8b%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Termux-servicesパッケージをインストールします。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pkg install termux-services&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Termuxは一部のパッケージをインストールする際、runitのサービスファイルも一緒にインストールします。すべてのサービスファイルは&lt;code&gt;$PREFIX/var/service/sv&lt;/code&gt;にあります。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;たとえば&lt;code&gt;openssh&lt;/code&gt;パッケージをインストールすると、Termux-servicesはSSHDのサービスファイルを自動で用意します。&lt;code&gt;$PREFIX/var/service/sv/sshd/run&lt;/code&gt;はサービス起動後に実行するコマンドを定義し、&lt;code&gt;$PREFIX/var/service/sv/sshd/down&lt;/code&gt;はサービス停止後に実行するコマンドを定義します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;SSHDサービスを起動・停止するには、以下のコマンドを使います。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 起動&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sv up sshd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 停止&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sv down sshd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# アプリ起動後に自動起動&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sv-enable sshd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# アプリ起動後の自動起動を解除&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sv-disable sshd&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;5&#34;&gt;&#xA;&lt;li&gt;同じ要領で、Termux起動後に他のプログラムを実行したい場合は、サービスファイルを作成します。スクリプトを書く際は&lt;a href=&#34;https://smarden.org/runit/runscripts&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;runit公式のテンプレート&lt;/a&gt;を参照してください。ここでは自作スクリプトを実行する例を示します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 内容を編集&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;echo &amp;#39;Hello world&amp;#39; &amp;#34;&lt;/span&gt;&amp;gt;&amp;gt; ~/run.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x ~/run.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# サービスファイルを追加&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim &lt;span class=&#34;nv&#34;&gt;$PREFIX&lt;/span&gt;/var/service/sv/myscript/run&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 以下を記入：&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bash ~/run.sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Termuxアプリ起動後に自動起動するよう設定&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sv-enable myscript&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;2. Termux:Bootで起動時に自動起動&#xA;    &lt;div id=&#34;2-termuxbootで起動時に自動起動&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#2-termuxboot%e3%81%a7%e8%b5%b7%e5%8b%95%e6%99%82%e3%81%ab%e8%87%aa%e5%8b%95%e8%b5%b7%e5%8b%95&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Termux:Bootは、Androidシステムが起動した後に、あなたが書いたスクリプトを自動で実行します。&lt;/p&gt;&#xA;&lt;p&gt;実はTermux-serviceと組み合わせなくても使えます。Termux:BootはTermuxを呼び出して任意のコマンドを実行できます。ただ、システムサービスは集中管理した方がよいと思います。つまり構成としては、まずTermux-servicesで実行したいサービスを追加し、その後Termux:BootでTermuxを自動起動します。そうすれば、自分で書いたサービスもすべて一緒に起動します。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Termux: Boot APKをインストールします。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;アイコンをタップして一度起動します。これで起動後に自動起動するようになります。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Termuxでディレクトリを作成し、起動時スクリプトを追加します。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mkdir -p ~/.termux/boot/&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim ~/.termux/boot/run.sh&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;以下の内容を記入し、起動後にrunitのすべての自動起動サービスを実行するよう設定します。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;div class=&#34;highlight-wrapper&#34;&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/data/data/com.termux/files/usr/bin/sh&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;termux-wake-lock&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;. &lt;span class=&#34;nv&#34;&gt;$PREFIX&lt;/span&gt;/etc/profile&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;参考資料&#xA;    &lt;div id=&#34;参考資料&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#%e5%8f%82%e8%80%83%e8%b3%87%e6%96%99&#34; aria-label=&#34;アンカー&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://blog.csdn.net/YiBYiH/article/details/127294017&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux-services - Termux Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.termux.com/wiki/Termux:Boot&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Termux:Boot&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://wiki.artixlinux.org/Main/Runit&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;Main / runit - Artix Wiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</content:encoded>
      
    </item>
    
  </channel>
</rss>
