<?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>Ubuntu Touch on Ivon's Blog</title><link>https://ivonblog.com/en-us/tags/ubuntu-touch/</link><description>Recent content in Ubuntu Touch on Ivon's Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</managingEditor><webMaster>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</webMaster><copyright>You are welcome to share articles from Ivon's blog (ivonblog.com). Please cite the source article URL when sharing. All article content is licensed under a Creative Commons Attribution-ShareAlike 4.0 license, unless otherwise stated. For commercial use, please contact me first.</copyright><lastBuildDate>Fri, 28 Mar 2025 13:00:00 +0800</lastBuildDate><atom:link href="https://ivonblog.com/en-us/tags/ubuntu-touch/index.xml" rel="self" type="application/rss+xml"/><follow_challenge><feedId>56005902658351104</feedId><userId>1132431067563556864</userId></follow_challenge><item><title>How to Run Linux on a Phone: A Few Ways to Try It</title><link>https://ivonblog.com/en-us/posts/how-to-run-linux-on-the-phones/</link><pubDate>Fri, 28 Mar 2025 13:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/how-to-run-linux-on-the-phones/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;!--類別：導航文--&gt;
&lt;p&gt;Want to install Linux on a phone and run desktop programs? Strictly speaking, those are two different ideas. After a long stretch of trying this stuff myself, Ivon put together this article to share the results.&lt;/p&gt;
&lt;p&gt;With today&amp;rsquo;s technology, there are two main ways to run Linux on a phone:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use an app to emulate a Linux environment&lt;/li&gt;
&lt;li&gt;Delete the phone&amp;rsquo;s operating system and flash it with a real Linux system&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Let&amp;rsquo;s first look at the pros and cons of these two methods. At the end, we will also discuss option 3: buying a real Linux phone.&lt;/p&gt;</description><content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;!--類別：導航文--&gt;
&lt;p&gt;Want to install Linux on a phone and run desktop programs? Strictly speaking, those are two different ideas. After a long stretch of trying this stuff myself, Ivon put together this article to share the results.&lt;/p&gt;
&lt;p&gt;With today&amp;rsquo;s technology, there are two main ways to run Linux on a phone:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Use an app to emulate a Linux environment&lt;/li&gt;
&lt;li&gt;Delete the phone&amp;rsquo;s operating system and flash it with a real Linux system&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Let&amp;rsquo;s first look at the pros and cons of these two methods. At the end, we will also discuss option 3: buying a real Linux phone.&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. Use an App to Emulate a Linux Environment
 &lt;div id="1-use-an-app-to-emulate-a-linux-environment" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-use-an-app-to-emulate-a-linux-environment" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;By &amp;ldquo;emulate,&amp;rdquo; I mean using an app to emulate a Linux system environment, mostly as an auxiliary tool. The upside is that almost every phone can install one. The downside is that what you can do is limited. Running terminal commands is fine, but containerization and virtualization are basically out.&lt;/p&gt;
&lt;p&gt;Emulating a Linux environment with an app does not require root or jailbreaking, so it works for most devices. How Linux fits into your life is up to you, but starting with apps like Termux is a decent entry point. You might even get a taste of the free and open source software spirit. Once you are ready, then go play with Linux phones.&lt;/p&gt;

&lt;h3 class="relative group"&gt;Android
 &lt;div id="android" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#android" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;This includes Android phones and Android tablets, but not ChromeOS.&lt;/p&gt;

&lt;h4 class="relative group"&gt;Termux
 &lt;div id="termux" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#termux" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Related article: &lt;a href="https://ivonblog.com/en-us/posts/how-to-use-termux/" target="_blank" rel="noreferrer"&gt;Termux usage guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Termux works on most Android phones and supports Android 7 and later. It does not require root.&lt;/p&gt;
&lt;p&gt;Termux is not a virtual machine. It provides a Linux-like environment and then tries to run programs with native performance. Termux also provides &lt;code&gt;proot-distro&lt;/code&gt; (using &lt;code&gt;ptrace&lt;/code&gt; to emulate chroot functionality) for installing Linux distributions. Combined with Termux X11, it can run the X Window System and Linux graphical programs, then use VirGL to achieve 3D graphics acceleration.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/termux.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Running Linux graphical programs on Android through Termux&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;But even if you use &lt;code&gt;proot-distro&lt;/code&gt; to install another Linux distribution container, that system is still constrained by Android, and it is hard to access hardware-level operations.&lt;/p&gt;
&lt;p&gt;Termux is more of an auxiliary tool that mixes into the Android ecosystem. In this kind of Linux environment, you can write small Python, Java, or C++ programs, run office software, and play some little Linux games. Since Termux can access some Android system files, batch-converting videos with &lt;code&gt;ffmpeg&lt;/code&gt; also works.&lt;/p&gt;
&lt;p&gt;If the phone has root access, installing a Linux container with chroot and pairing it with Busybox lets you do a bit more.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Related article: &lt;a href="https://ivonblog.com/en-us/posts/termux-chroot-ubuntu/" target="_blank" rel="noreferrer"&gt;Create a chroot Ubuntu environment on a phone with Termux, no Linux Deploy needed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;But chroot is still limited by Android&amp;rsquo;s trimmed-down Linux kernel. For example, Android kernels generally lack the cgroups kernel modules, so Docker still will not run. chroot is better suited for doing some system modification work together with Magisk.&lt;/p&gt;

&lt;h4 class="relative group"&gt;QEMU
 &lt;div id="qemu" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#qemu" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;p&gt;The options here are more limited and not as versatile as Termux.&lt;/p&gt;
&lt;p&gt;The emulator software &amp;ldquo;QEMU&amp;rdquo; has Android ports. Termux includes QEMU packages, and some people have made standalone apps, including &lt;a href="https://github.com/limboemu/limbo" target="_blank" rel="noreferrer"&gt;Limbo PC Emulator&lt;/a&gt; and &lt;a href="https://github.com/xoureldeen/Vectras-VM-Android" target="_blank" rel="noreferrer"&gt;Vectras VM&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Related article: &lt;a href="https://ivonblog.com/en-us/posts/termux-qemu-system-linux/" target="_blank" rel="noreferrer"&gt;Run an x86_64 Ubuntu virtual machine on a phone with QEMU&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What about using QEMU to run an ARM Linux virtual machine? Sorry, most Android phones do not have the KVM kernel module, so VM performance is miserable. Even at the time of writing, with 2025 flagship phones, they are only good enough for Windows XP or a text-only Linux VM.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/qemu.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;An Ubuntu virtual machine running on an Android phone through QEMU&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Google Pixel phones are the exception. Pixel phones with Tensor processors support pKVM virtualization, so Limbo PC Emulator runs very quickly, even Windows 11 ARM. You need this custom Limbo build: &lt;a href="https://github.com/wasdwasd0105/limbo_tensor" target="_blank" rel="noreferrer"&gt;Limbo For Tensor-based devices&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In addition, Google Pixel phones running Android 16 or later can run Linux virtual machines through the AVF framework. See: &lt;a href="https://www.theregister.com/2025/03/13/android_15_linux_debian_terminal/" target="_blank" rel="noreferrer"&gt;Google slips built-in terminal, Debian Linux VM into Android 15 March feature drop&lt;/a&gt;&lt;/p&gt;

&lt;h3 class="relative group"&gt;iOS
 &lt;div id="ios" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ios" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;This includes iPhone, iPad, and iPod touch devices.&lt;/p&gt;

&lt;h4 class="relative group"&gt;iSH Shell
 &lt;div id="ish-shell" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ish-shell" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Related article: &lt;a href="https://ivonblog.com/posts/ios-ish-shell/" target="_blank" rel="noreferrer"&gt;iSH Shell usage guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;iSH Shell on iOS is an app that emulates 32-bit Alpine Linux. Its text-only interface is suitable for running some Python scripts and serving as an SSH client.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/ishshell.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Running simple terminal programs on an iPad with iSH Shell&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Because iSH&amp;rsquo;s filesystem can be opened with the Files app, you can drop files into the Linux environment for processing, such as batch-converting photos with ImageMagick. In that sense, iSH is similar to Termux on Android: a Linux environment mixed into the iOS ecosystem.&lt;/p&gt;
&lt;p&gt;The downside is that iSH Shell is a plain x86 emulator. It is only compatible with 32-bit packages, and some instruction sets are not implemented yet, so some programs may fail.&lt;/p&gt;

&lt;h4 class="relative group"&gt;UTM
 &lt;div id="utm" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#utm" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Related article: &lt;a href="https://ivonblog.com/posts/utm-app-ios/" target="_blank" rel="noreferrer"&gt;UTM usage guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;UTM is virtual machine software. With JIT acceleration enabled, or virtualization enabled after jailbreaking, it can run VMs for other systems at high performance. It is especially suitable for iPad.&lt;/p&gt;
&lt;p&gt;Combined with Apple&amp;rsquo;s obnoxiously strong processor performance, high-end iPads with M-series chips have already been proven capable of handling Windows 11 ARM. Linux, naturally, is not a problem.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/utm.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Running an Alpine Linux virtual machine on an iPad with UTM and sharing a folder with the host&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The downside is that Apple only allows the unaccelerated &amp;ldquo;UTM SE&amp;rdquo; on the App Store. That version of UTM even struggles with Windows XP. The normal version of UTM must be sideloaded. Whether you use JIT acceleration or jailbreak to enable virtualization, the setup process is tedious and not very practical.&lt;/p&gt;

&lt;h2 class="relative group"&gt;2. Flash the Phone with a Real Linux System
 &lt;div id="2-flash-the-phone-with-a-real-linux-system" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-flash-the-phone-with-a-real-linux-system" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Even after jailbreaking, iOS devices cannot be flashed with other systems, except for the special case of &lt;a href="https://github.com/corellium/projectsandcastle" target="_blank" rel="noreferrer"&gt;Project Sandcastle&lt;/a&gt; on the iPhone 7. What about relatively open Android devices? In reality, there are not that many Android phones that can be flashed with Linux either.&lt;/p&gt;
&lt;p&gt;The Linux systems discussed here do not include Android. That includes LineageOS, GrapheneOS, ClayxOS, and similar systems. They are Android variants, not Linux in the sense used here. Some people will ask: does Android not count as Linux? It does, and also does not. Android uses the Linux kernel, but its architecture is very different from desktop GNU/Linux. The &amp;ldquo;real Linux phone systems&amp;rdquo; discussed below are designed more like desktop GNU/Linux systems, not Google&amp;rsquo;s heavily modified result. A shorter way to say it: these systems keep the root user available by default, instead of removing it Android-style.&lt;/p&gt;
&lt;p&gt;So what choices are there for phone Linux systems? Right now, there are more than a dozen &amp;ldquo;real Linux phone system&amp;rdquo; distributions outside of Android. The two strongest players are &amp;ldquo;Ubuntu Touch&amp;rdquo; and &amp;ldquo;postmarketOS.&amp;rdquo; These two Linux distributions support the largest number of phones and have been ported to many Android devices.&lt;/p&gt;
&lt;p&gt;You need to buy a phone suitable for flashing. Even if a phone has many Android ROMs available, that does not mean it can be turned into Linux. Want to know which phones are suitable? Check the postmarketOS Wiki and Ubuntu touch Wiki.&lt;/p&gt;

&lt;h3 class="relative group"&gt;Ubuntu touch
 &lt;div id="ubuntu-touch" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#ubuntu-touch" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Related article: &lt;a href="https://ivonblog.com/en-us/posts/ubuntu-touch-ubports-installer/" target="_blank" rel="noreferrer"&gt;Ubuntu touch installation guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ubuntu touch appeared the earliest, back in 2014. It was originally supposed to push further into phones, then after a few years its parent company Canonical abandoned it and it became maintained by the open source community.&lt;/p&gt;
&lt;p&gt;Ubuntu touch has its own desktop environment, with a fairly complete UI design and even Chinese input methods. As a feature-phone-style system, it passes. Ubuntu touch&amp;rsquo;s system partition is read-only like Android&amp;rsquo;s. Even if you access it with root privileges, the next OTA update will overwrite your changes. To run desktop Linux programs, you need to enable an LXC container and install them there.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/ubuntutouch.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;A Redmi Note 5 running Ubuntu touch&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Ubuntu touch developed a porting method based on Halium, which mixes in Android drivers and trades away some free software purity for compatibility. Because of this, Ubuntu touch has better compatibility with Android phone hardware and is easier to port.&lt;/p&gt;
&lt;p&gt;It supports running Android apps through Waydroid.&lt;/p&gt;

&lt;h3 class="relative group"&gt;postmarketOS
 &lt;div id="postmarketos" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#postmarketos" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Related article: &lt;a href="https://ivonblog.com/en-us/posts/postmarketos-general-installation/" target="_blank" rel="noreferrer"&gt;postmarketOS installation guide&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;postmarketOS, which appeared around 2019, is more like a desktop GNU/Linux distribution. Its graphics stack uses Wayland or X11, and you can freely choose the desktop environment you want. The system partition is yours to modify, and if performance is good enough, Docker and virtual machines are fair game too.&lt;/p&gt;
&lt;p&gt;postmarketOS emphasizes that ported devices must use the latest mainline Linux kernel, and drivers should use open source versions as much as possible. It gave up Ubuntu Touch&amp;rsquo;s Halium-style compromise and took the real GNU/Linux phone route.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/postmarketos.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;A Xiaomi Poco F1 running postmarketOS&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Maybe because postmarketOS is more free than Ubuntu touch, &amp;ldquo;Linux phone apps&amp;rdquo; actually have room to exist. The GNOME and KDE communities have successively developed apps and SDKs that adapt to different screen sizes, letting developers reuse existing GTK and Qt technologies to build Linux phone apps.&lt;/p&gt;
&lt;p&gt;It supports running Android apps through Waydroid.&lt;/p&gt;

&lt;h2 class="relative group"&gt;3. Buy a Real Linux Phone
 &lt;div id="3-buy-a-real-linux-phone" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3-buy-a-real-linux-phone" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Besides flashing an Android phone into Linux, you can also buy a phone that ships with Linux from the factory. Since dedicated development teams maintain them, they avoid many of the problems you run into when flashing Linux onto Android hardware. Their hardware is usually fairly open too, so you can freely install other Linux distributions maintained by community members.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/how-to-run-linux-on-the-phones/images/pinephone.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;A PinePhone playing video&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;That said, these Linux phones may not be more usable than Android, and the price-to-performance ratio is not great. They are for users willing to get their hands dirty. Real Linux phones look powerful, but the ecosystem is still immature. At the moment, they can mostly satisfy calling and web browsing, and users need a strong tinkering spirit to stick with them. Open source may slowly fill the ecosystem gaps, but people who use Linux phones should have at least some command-line literacy.&lt;/p&gt;
&lt;p&gt;Currently, phones that ship with Linux instead of Android include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FuriLabs FLX1 (2024), ships with FuriOS, based on Debian.&lt;/li&gt;
&lt;li&gt;Purism Liberty Phone (2023), ships with PureOS, based on Debian&lt;/li&gt;
&lt;li&gt;Purism Librem 5 (2020), ships with PureOS, based on Debian&lt;/li&gt;
&lt;li&gt;Pine64 PinePhone Pro (2022), ships with Manjaro, can install more than a dozen other distributions&lt;/li&gt;
&lt;li&gt;Pine64 PinePhone (2020), ships with Manjaro, can install more than a dozen other distributions&lt;/li&gt;
&lt;li&gt;Volla Phone (2020), ships with Ubuntu touch&lt;/li&gt;
&lt;li&gt;Fxtec Pro1X (2020), ships with Ubuntu touch&lt;/li&gt;
&lt;/ul&gt;</content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/how-to-run-linux-on-the-phones/featured.webp"/></item><item><title>Ubuntu Touch Tips</title><link>https://ivonblog.com/en-us/posts/ubuntu-touch-tips/</link><pubDate>Sun, 28 Apr 2024 11:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/ubuntu-touch-tips/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;After installing the system with &lt;a href="https://ivonblog.com/en-us/posts/ubuntu-touch-ubports-installer" target="_blank" rel="noreferrer"&gt;Ubuntu Touch Installer&lt;/a&gt;, it is time to learn a few operating tips.&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. Gesture controls
 &lt;div id="1-gesture-controls" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-gesture-controls" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Ubuntu Touch uses this gesture logic: swipe inward from the right edge and pause to enter the multitasking view. Swipe right to switch to the previous app. Swipe left to return to the home screen.&lt;/p&gt;
&lt;img src="https://static.ivonblog.com/posts/ubuntu-touch-tips/images/AffGowc.webp" width=200&gt;
&lt;p&gt;Pull down from the top of the screen to open the status bar.
&lt;img src="https://static.ivonblog.com/posts/ubuntu-touch-tips/images/fGKVZFo.webp" width=200&gt;&lt;/p&gt;
&lt;p&gt;Press the power button to lock the phone.
&lt;img src="https://static.ivonblog.com/posts/ubuntu-touch-tips/images/a27evfK.webp" width=200&gt;&lt;/p&gt;
&lt;p&gt;Swipe inward from the left edge of the screen to open the app menu.&lt;/p&gt;</description><content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;After installing the system with &lt;a href="https://ivonblog.com/en-us/posts/ubuntu-touch-ubports-installer" target="_blank" rel="noreferrer"&gt;Ubuntu Touch Installer&lt;/a&gt;, it is time to learn a few operating tips.&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. Gesture controls
 &lt;div id="1-gesture-controls" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-gesture-controls" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Ubuntu Touch uses this gesture logic: swipe inward from the right edge and pause to enter the multitasking view. Swipe right to switch to the previous app. Swipe left to return to the home screen.&lt;/p&gt;
&lt;img src="https://static.ivonblog.com/posts/ubuntu-touch-tips/images/AffGowc.webp" width=200&gt;
&lt;p&gt;Pull down from the top of the screen to open the status bar.
&lt;img src="https://static.ivonblog.com/posts/ubuntu-touch-tips/images/fGKVZFo.webp" width=200&gt;&lt;/p&gt;
&lt;p&gt;Press the power button to lock the phone.
&lt;img src="https://static.ivonblog.com/posts/ubuntu-touch-tips/images/a27evfK.webp" width=200&gt;&lt;/p&gt;
&lt;p&gt;Swipe inward from the left edge of the screen to open the app menu.&lt;/p&gt;
&lt;p&gt;Long-press an app in the app list to enter split-screen mode. Only some apps support this.&lt;/p&gt;

&lt;h2 class="relative group"&gt;2. Ways to install apps on Ubuntu Touch
 &lt;div id="2-ways-to-install-apps-on-ubuntu-touch" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-ways-to-install-apps-on-ubuntu-touch" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Ubuntu Touch includes common software such as a browser, camera, file manager, and terminal. For apps, I recommend downloading them from Open Store.&lt;/p&gt;
&lt;p&gt;Ubuntu Touch does have a terminal, but I do not recommend using APT to install packages. It can break the system, and the next OTA update may overwrite your changes anyway.&lt;/p&gt;
&lt;p&gt;That leaves only a few software sources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open Store: &lt;a href="https://open-store.io/" target="_blank" rel="noreferrer"&gt;Open Store&lt;/a&gt; lists native apps. There really are not many native apps, though, and plenty of them are HTML5 webpages wearing an app costume.&lt;/li&gt;
&lt;li&gt;Libertine: See the &lt;a href="https://docs.ubports.com/en/latest/userguide/dailyuse/libertine.html" target="_blank" rel="noreferrer"&gt;official user manual&lt;/a&gt;. It uses chroot or LXC to create a desktop Ubuntu container. The container version corresponds to the Ubuntu Touch system version, currently Ubuntu 20.04.&lt;/li&gt;
&lt;li&gt;Ubuntu Snap: Install desktop software using the &lt;a href="https://ivonblog.com/posts/linux-snap-introduction/" target="_blank" rel="noreferrer"&gt;Snap format&lt;/a&gt; that Canonical keeps pushing. Ubuntu Touch needs &lt;a href="https://github.com/fredldotme/snapz0r" target="_blank" rel="noreferrer"&gt;snapz0r&lt;/a&gt; to enable Snap support.&lt;/li&gt;
&lt;li&gt;Waydroid: Uses LXC to run Android apps, and Android apps inside the container can access the Ubuntu Touch camera. See the &lt;a href="https://docs.ubports.com/en/latest/userguide/dailyuse/waydroid.html" target="_blank" rel="noreferrer"&gt;official user manual&lt;/a&gt;. You can use the built-in Open Store on Ubuntu Touch to download &lt;a href="https://open-store.io/app/waydroidhelper.aaronhafer" target="_blank" rel="noreferrer"&gt;Waydroid Helper APP&lt;/a&gt;, and it will install a LineageOS image without GAPPS for you.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you want to use Linux desktop software, first enable &amp;ldquo;Desktop mode&amp;rdquo; in system settings, then create a container with Libertine and install desktop Linux programs inside it. Ubuntu Touch uses Mir as its display protocol, not Wayland, and programs inside Libertine run under XMir.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Notes on using the terminal in Ubuntu Touch
 &lt;div id="notes-on-using-the-terminal-in-ubuntu-touch" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#notes-on-using-the-terminal-in-ubuntu-touch" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The Ubuntu Touch system is read-only by default. If you want to install packages with APT, the following commands can disable read-only mode. However, casually running &lt;code&gt;apt upgrade&lt;/code&gt; on system packages can easily make the phone fail to boot. Yes, the terminal gives you power. It also gives you paperwork.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Still effective after reboot&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo touch /userdata/.writable_image
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Current session only&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo mount -o remount,rw /&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;APT is not recommended, but you can still run systemd-related commands and use command-line programs.&lt;/p&gt;
&lt;p&gt;Also, some Ubuntu Touch phones modified from Android devices can still transfer files over MTP when connected to a computer.&lt;/p&gt;</content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/ubuntu-touch-tips/featured.webp"/></item><item><title>Several Desktop Environments for Linux Touchscreen Devices</title><link>https://ivonblog.com/en-us/posts/linux-mobile-desktop-environments/</link><pubDate>Wed, 31 Jan 2024 03:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/linux-mobile-desktop-environments/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;!--類別：導航文--&gt;
&lt;p&gt;Desktop envrionments &amp;amp; Interfaces for Linux mobile devices.&lt;/p&gt;
&lt;p&gt;I wanted to find suitable desktop environment packages for Linux touchscreen devices, so this article sorts through active projects from the open source community over the last few years. This should give you an idea of which interfaces are available on mobile Linux.&lt;/p&gt;
&lt;p&gt;Here, “touchscreen devices” includes phones, tablets, and convertible laptops. In other words, mobile devices.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Why Not Use Existing Desktop Environments?
 &lt;div id="why-not-use-existing-desktop-environments" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-not-use-existing-desktop-environments" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Desktop Linux has more than 20 desktop environments, and most of them are still designed mainly for keyboard and mouse input.&lt;/p&gt;</description><content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;!--類別：導航文--&gt;
&lt;p&gt;Desktop envrionments &amp;amp; Interfaces for Linux mobile devices.&lt;/p&gt;
&lt;p&gt;I wanted to find suitable desktop environment packages for Linux touchscreen devices, so this article sorts through active projects from the open source community over the last few years. This should give you an idea of which interfaces are available on mobile Linux.&lt;/p&gt;
&lt;p&gt;Here, “touchscreen devices” includes phones, tablets, and convertible laptops. In other words, mobile devices.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Why Not Use Existing Desktop Environments?
 &lt;div id="why-not-use-existing-desktop-environments" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#why-not-use-existing-desktop-environments" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Desktop Linux has more than 20 desktop environments, and most of them are still designed mainly for keyboard and mouse input.&lt;/p&gt;
&lt;p&gt;Among the many options, XFCE4 and LXQT can barely adapt to touch devices after manual layout tweaking.&lt;/p&gt;
&lt;p&gt;GNOME and KDE Plasma have “tablet modes,” but they are still not enough.&lt;/p&gt;
&lt;p&gt;So it is necessary to use desktop environments designed specifically for touch devices. The desktop environments discussed here focus on touchscreen devices, but they also work on large-screen systems. App layouts automatically adapt to screen size.&lt;/p&gt;

&lt;h2 class="relative group"&gt;How Do You Install Desktop Environment Packages?
 &lt;div id="how-do-you-install-desktop-environment-packages" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-do-you-install-desktop-environment-packages" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://ivonblog.com/posts/en-us/posts/linux-mobile-distros" target="_blank" rel="noreferrer"&gt;Linux distros designed for phones&lt;/a&gt;, such as postmarketOS, Arch Linux ARM, Manjaro ARM, Mobian, Drodian, openSUSE Mobile, and Fedora Mobility, should all package the desktop environments mentioned in this article, allowing users to switch freely.&lt;/p&gt;
&lt;p&gt;Ubuntu touch cannot freely install system interfaces because the system is read-only.&lt;/p&gt;
&lt;p&gt;I do not recommend Android users install Termux just to try these. These desktop environments are not meant to run inside a container.&lt;/p&gt;
&lt;p&gt;If the system supports installing a Display Manager, you can switch between multiple desktop environments from the login screen. For example: &lt;a href="https://ivonblog.com/en-us/posts/postmarketos-multiple-des/" target="_blank" rel="noreferrer"&gt;installing multiple desktop environments on postmarketOS&lt;/a&gt;&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. Phosh
 &lt;div id="1-phosh" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-phosh" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/phosh.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: Purism&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://gitlab.gnome.org/World/Phosh/phosh" target="_blank" rel="noreferrer"&gt;World / Phosh / phosh - GitLab - GNOME&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Led by Purism and shipped on its Librem 5 phone. It uses the GNOME stack, but its Wayland compositor is based on wlroots instead of Mutter.&lt;/p&gt;
&lt;p&gt;The input method only supports the English Squeekboard, and the keyboard can be summoned globally.&lt;/p&gt;
&lt;p&gt;Phosh also provides a &lt;code&gt;scale-to-fit&lt;/code&gt; command that can force desktop applications to scale down for small screens.&lt;/p&gt;
&lt;p&gt;When a phone is connected to an external monitor, Phosh transforms into a desktop mode with controls similar to desktop GNOME.&lt;/p&gt;
&lt;p&gt;Although the feature set is simple, I personally think it is the most stable desktop environment here. Animations are smooth and response time is quick.&lt;/p&gt;

&lt;h2 class="relative group"&gt;2. KDE Plasma Mobile
 &lt;div id="2-kde-plasma-mobile" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-kde-plasma-mobile" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/plasma-mobile.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: 9to5Linux&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://invent.kde.org/plasma/plasma-mobile" target="_blank" rel="noreferrer"&gt;Plasma / Plasma Mobile · GitLab&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One of the KDE community’s projects, it redesigns KDE Plasama into a phone interface layout. Reportedly, it shares more than 70% of its code with the desktop version, and the Wayland compositor is of course Kwin.&lt;/p&gt;
&lt;p&gt;It supports Chinese touch input through Maliit Keyboard. The KDE community has also developed a set of companion apps for phones.&lt;/p&gt;
&lt;p&gt;The interface layout is closer to Android’s stock launcher. Although it inherits the desktop version’s high degree of customization, it is not particularly stable.&lt;/p&gt;

&lt;h2 class="relative group"&gt;3. SXMO - Simple X Mobile
 &lt;div id="3-sxmo---simple-x-mobile" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3-sxmo---simple-x-mobile" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/sxmo.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: TuxPhones&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://sxmo.org/source" target="_blank" rel="noreferrer"&gt;Sxmo Source Repositories&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This project brings the interaction model of dwm and Sway to phones, aiming to build the leanest and most customizable system possible.&lt;/p&gt;
&lt;p&gt;Users can choose X or Wayland as the display protocol.&lt;/p&gt;
&lt;p&gt;Here, SSH is a first-class citizen. It includes many configurable files so you can customize gestures and hardware button shortcuts to perform all kinds of operations. There is no Chinese touch input method.&lt;/p&gt;
&lt;p&gt;It is not very intuitive to use. If you do not want to spend time configuring a pile of knobs, do not use this one.&lt;/p&gt;

&lt;h2 class="relative group"&gt;4. GNOME Shell for Mobile
 &lt;div id="4-gnome-shell-for-mobile" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#4-gnome-shell-for-mobile" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/gnome-shell-mobile.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: GNOME Shell &amp;amp; Mutter - GNOME Blog&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://gitlab.gnome.org/verdre/gnome-shell/-/tree/mobile-shell" target="_blank" rel="noreferrer"&gt;Files · mobile-shell · Jonas Dreßler / gnome-shell - GitLab&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is not officially developed by GNOME. It is an experimental fork, and it uses Mutter as the compositor.&lt;/p&gt;
&lt;p&gt;The controls are similar to Phosh, but it is closer to original GNOME than Phosh is.&lt;/p&gt;

&lt;h2 class="relative group"&gt;5. Lomiri
 &lt;div id="5-lomiri" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#5-lomiri" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/linux-mobile-desktop-environments/images/lomiri.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;figcaption&gt;Image source: AbhiFxTech&lt;/figcaption&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Source repository: &lt;a href="https://gitlab.com/ubports/development/core/lomiri" target="_blank" rel="noreferrer"&gt;UBports / Development / Core / lomiri - GitLab&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Lomiri was formerly known as Unity 8, and it keeps the classic Ubuntu-style left-side taskbar design. Its Wayland compositor is Mir.&lt;/p&gt;
&lt;p&gt;It used to be led by Canonical and is now maintained by the Ubports community. Although it is old, it has the most complete interface design of the bunch, with full Chinese localization support and a set of companion applications.&lt;/p&gt;
&lt;p&gt;It was originally the UI exclusive to Ubuntu touch, but other Linux distros can use it now too.&lt;/p&gt;
&lt;p&gt;It supports Chinese touch input through Maliit Keyboard.&lt;/p&gt;</content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/linux-mobile-desktop-environments/featured.webp"/></item><item><title>Ubuntu Touch Installer: Download and Use UBports Installer</title><link>https://ivonblog.com/en-us/posts/ubuntu-touch-ubports-installer/</link><pubDate>Mon, 22 Aug 2022 04:25:46 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/ubuntu-touch-ubports-installer/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Ubuntu Touch is a Linux mobile operating system for phones. It was originally developed by Canonical, Ubuntu&amp;rsquo;s parent company, and is now maintained by the UBports Foundation.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/ubuntu-touch-ubports-installer/images/11358614.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Its strengths are a more polished interface, multilingual support, and input methods for different languages. The desktop environment is Lomiri (Unity 8), and the system is based on Ubuntu 20.04.&lt;/p&gt;
&lt;p&gt;UBports is currently focused on porting Ubuntu Touch to older Android phones. Some models use the Halium Project compatibility layer to work around hardware issues, but they may not be able to run the latest mainline Linux kernel.&lt;/p&gt;</description><content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Ubuntu Touch is a Linux mobile operating system for phones. It was originally developed by Canonical, Ubuntu&amp;rsquo;s parent company, and is now maintained by the UBports Foundation.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/ubuntu-touch-ubports-installer/images/11358614.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Its strengths are a more polished interface, multilingual support, and input methods for different languages. The desktop environment is Lomiri (Unity 8), and the system is based on Ubuntu 20.04.&lt;/p&gt;
&lt;p&gt;UBports is currently focused on porting Ubuntu Touch to older Android phones. Some models use the Halium Project compatibility layer to work around hardware issues, but they may not be able to run the latest mainline Linux kernel.&lt;/p&gt;
&lt;p&gt;To simplify installation, any device listed on the &lt;a href="https://devices.ubuntu-touch.io/" target="_blank" rel="noreferrer"&gt;official supported devices list&lt;/a&gt; can be flashed using the official UBports Installer.&lt;/p&gt;
&lt;p&gt;By comparison, if a device only has an unofficial port, you have to manually flash the stock Android firmware and Ubuntu Touch package provided by the port author.&lt;/p&gt;
&lt;p&gt;In the example below, my phone is an officially supported Xiaomi Pocophone F1, and the computer is running Ubuntu 20.04.&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. Install UBports Installer
 &lt;div id="1-install-ubports-installer" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-install-ubports-installer" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Download the installer from the &lt;a href="https://devices.ubuntu-touch.io/installer/" target="_blank" rel="noreferrer"&gt;official website&lt;/a&gt;. It supports Linux, Windows, and MacOS.&lt;/p&gt;
&lt;p&gt;On Ubuntu 20.04 or later, you can install it directly with Snap:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo snap install ubports-installer&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;2. Flash Ubuntu Touch
 &lt;div id="2-flash-ubuntu-touch" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-flash-ubuntu-touch" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Reboot the phone into fastboot and connect it to the computer.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;UBports Installer should automatically detect the device. Follow the on-screen instructions, and it will start downloading the installation package.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/ubuntu-touch-ubports-installer/images/j1sjOot.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After flashing, you may need to manually reboot into Recovery. Keep following the on-screen instructions and wait for it to finish.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/ubuntu-touch-ubports-installer/images/6kGXsz7.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After the phone reboots, installation is complete.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 class="relative group"&gt;3. Post-install tweaks
 &lt;div id="3-post-install-tweaks" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3-post-install-tweaks" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;See &lt;a href="http://ivonblog.com/en-us/posts/ubuntu-touch-tips" target="_blank" rel="noreferrer"&gt;Ubuntu Touch tips&lt;/a&gt;.&lt;/p&gt;

&lt;h2 class="relative group"&gt;4. Further reading
 &lt;div id="4-further-reading" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#4-further-reading" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ubuntu-touch.io/" target="_blank" rel="noreferrer"&gt;Ubuntu Touch official website&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://forums.ubports.com/" target="_blank" rel="noreferrer"&gt;Ubuntu Touch forum&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/ubuntu-touch-ubports-installer/featured.webp"/></item><item><title>First Look at Ubuntu Touch: Redmi Note 5 + Android Dual Boot</title><link>https://ivonblog.com/en-us/posts/redmi-note5-ubuntu-touch/</link><pubDate>Thu, 04 Nov 2021 18:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/redmi-note5-ubuntu-touch/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Ubuntu Touch aims to bring Linux to phones as a mobile operating system.&lt;/p&gt;
&lt;p&gt;After Canonical abandoned Ubuntu Touch, the Ubports community took over maintenance. Around 20 devices are officially supported, and they provide a one-click installer.&lt;/p&gt;
&lt;img src="https://i.imgur.com/jcWAoGl.png" width=200&gt;
&lt;p&gt;This Redmi Note 5 is not officially supported. It uses technology from the Halium Project, can coexist with Android, and can even install an Android emulator.&lt;/p&gt;
&lt;p&gt;Redmi Note 5 + Ubuntu touch test items:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WIFI&lt;/li&gt;
&lt;li&gt;Bluetooth&lt;/li&gt;
&lt;li&gt;4G network&lt;/li&gt;
&lt;li&gt;Flashlight&lt;/li&gt;
&lt;li&gt;Screen rotation&lt;/li&gt;
&lt;li&gt;GPS&lt;/li&gt;
&lt;li&gt;Vibration&lt;/li&gt;
&lt;li&gt;Camera&lt;/li&gt;
&lt;li&gt;Audio&lt;/li&gt;
&lt;li&gt;Fingerprint&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;1. Required Tools
 &lt;div id="1-required-tools" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-required-tools" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Phone: Redmi Note 5 (whyred), MIUI 11&lt;/p&gt;</description><content:encoded>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Ubuntu Touch aims to bring Linux to phones as a mobile operating system.&lt;/p&gt;
&lt;p&gt;After Canonical abandoned Ubuntu Touch, the Ubports community took over maintenance. Around 20 devices are officially supported, and they provide a one-click installer.&lt;/p&gt;
&lt;img src="https://i.imgur.com/jcWAoGl.png" width=200&gt;
&lt;p&gt;This Redmi Note 5 is not officially supported. It uses technology from the Halium Project, can coexist with Android, and can even install an Android emulator.&lt;/p&gt;
&lt;p&gt;Redmi Note 5 + Ubuntu touch test items:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;WIFI&lt;/li&gt;
&lt;li&gt;Bluetooth&lt;/li&gt;
&lt;li&gt;4G network&lt;/li&gt;
&lt;li&gt;Flashlight&lt;/li&gt;
&lt;li&gt;Screen rotation&lt;/li&gt;
&lt;li&gt;GPS&lt;/li&gt;
&lt;li&gt;Vibration&lt;/li&gt;
&lt;li&gt;Camera&lt;/li&gt;
&lt;li&gt;Audio&lt;/li&gt;
&lt;li&gt;Fingerprint&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;1. Required Tools
 &lt;div id="1-required-tools" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-required-tools" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Phone: Redmi Note 5 (whyred), MIUI 11&lt;/p&gt;
&lt;p&gt;Recovery: TWRP 3.5.2.&lt;/p&gt;
&lt;p&gt;ROM &amp;amp; halium-boot.img: choose one to download. Each has its own bugs, and none of them pass every test item.&lt;/p&gt;
&lt;p&gt;The version on Github has weird camera and timezone behavior: &lt;a href="https://github.com/Linux-On-Sdm6Series/Linux_manifest/releases" target="_blank" rel="noreferrer"&gt;https://github.com/Linux-On-Sdm6Series/Linux_manifest/releases&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The version built by parasparihar0 on the Ubports forum has no audio: &lt;a href="https://forums.ubports.com/topic/5128/redmi-note-5-pro-whyred" target="_blank" rel="noreferrer"&gt;https://forums.ubports.com/topic/5128/redmi-note-5-pro-whyred&lt;/a&gt;&lt;/p&gt;

&lt;h2 class="relative group"&gt;2. Installation Steps
 &lt;div id="2-installation-steps" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-installation-steps" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Android seems to have partition encryption issues that prevent Ubuntu Touch from booting. If you run into that, you can only format the data partition and then install Ubuntu Touch.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Enter TWRP Recovery and back up the boot partition.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Flash &lt;code&gt;halium-boot.img&lt;/code&gt; to the boot partition.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Flash the Ubuntu Touch system. It will be installed to the /data partition.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Boot into the Ubuntu Touch system.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;After setting the language and region during first boot, enter the desktop. There will be a basic usage tutorial.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The default login account is &lt;code&gt;phablet&lt;/code&gt;, and the password is also &lt;code&gt;phablet&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To boot back into Android, just restore the original boot.img. Github also has a zip file for completely uninstalling Ubuntu Touch.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h2 class="relative group"&gt;3. Applications
 &lt;div id="3-applications" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#3-applications" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Controls: swipe inward from the right to enter multitasking mode, and swipe inward from the left to open the launcher. Swipe down from the top-right corner to open the quick settings menu.&lt;/p&gt;
&lt;p&gt;The Ubuntu Touch screenshot shortcut is pressing the volume up and volume down buttons at the same time.
&lt;img src="https://i.imgur.com/AffGowc.png" width=200&gt;&lt;/p&gt;
&lt;img src="https://i.imgur.com/fGKVZFo.png" width=200&gt;
&lt;p&gt;Lock screen.
&lt;img src="https://i.imgur.com/a27evfK.png" width=200&gt;&lt;/p&gt;
&lt;p&gt;The camera can take photos normally, but occasionally crashes.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://i.imgur.com/zDnaiLF.png"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Opening the terminal always requires entering the password.
&lt;img src="https://i.imgur.com/tIzKMVQ.png" width=200&gt;&lt;/p&gt;
&lt;p&gt;The built-in Morph browser is based on Chrome 77. It does not seem to have hardware acceleration, and it opens desktop websites by default.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://i.imgur.com/uoVJmc2.png"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Apps are downloaded from the OpenStore app store.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://i.imgur.com/q5gcqtp.png"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/unable-to-load-the-image-pepe.webp'"
 &gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;The Godot 3D app works normally, so I tested 3D performance (this phone uses the s636 processor).
&lt;img src="https://i.imgur.com/34Csgta.png" width=200&gt;&lt;/p&gt;
&lt;p&gt;There is also a UI Tweak Tool app, which can force the system into large-screen desktop mode.&lt;/p&gt;
&lt;p&gt;In phone mode, normal Linux GUI apps cannot be opened. They have to be installed through a Libertine container.&lt;/p&gt;

&lt;h2 class="relative group"&gt;4. Notes
 &lt;div id="4-notes" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#4-notes" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The biggest problem is that the firmware in these ROMs is unstable. Apps can start crashing as soon as they get updated.&lt;/p&gt;
&lt;p&gt;Linux programs also have to run in a container, and there are not many native apps to use.&lt;/p&gt;
&lt;p&gt;Maybe installing chroot on Android is more practical&amp;hellip;&lt;/p&gt;</content:encoded></item></channel></rss>