<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Freedesktop Specifications on Ivon's Blog</title><link>https://ivonblog.com/en-us/tags/freedesktop-specifications/</link><description>Recent content in Freedesktop Specifications 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 of Ivon's Blog (ivonblog.com). Please include the original URL when citing articles, and abide by CC BY-NC-ND 4.0 license. For commercial use, please write an e-mail to me.</copyright><lastBuildDate>Wed, 04 Feb 2026 21:00:00 +0800</lastBuildDate><atom:link href="https://ivonblog.com/en-us/tags/freedesktop-specifications/index.xml" rel="self" type="application/rss+xml"/><item><title>Few People Use Linux? Actually Lots of People Use Linux? Stop Switching Concepts</title><link>https://ivonblog.com/en-us/posts/linux-desktop-market-share-is-not-high-enough/</link><pubDate>Wed, 04 Feb 2026 21:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/linux-desktop-market-share-is-not-high-enough/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;A stern rebuttal of concept switching:&lt;/p&gt;
&lt;p&gt;When discussing the issue of few people using Linux, some people will claim the following:&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Few people use Linux? Actually lots of people use Linux, you just do not know it. Your phone and servers are all relatives of Linux blah blah blah&amp;rdquo;
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://ivonblog.com/en-us/posts/linux-desktop-market-share-is-not-high-enough/images/allofthem.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/cannotloadimage.avif'"
 width="984"
 height="1024"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Have you noticed that when you say this, the topic suddenly becomes grand and elevated? Ahh, so many devices around us are Linux, you and I both live in a gigantic open source world, we are part of the universe&amp;hellip;&amp;hellip;No! What we are talking about now is personal computer desktop systems!&lt;/p&gt;
&lt;p&gt;There is a problem with this kind of argument: &amp;ldquo;switching concepts&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;You do not directly use the &amp;ldquo;Linux kernel&amp;rdquo;. Linux needs to be packaged with a set of tools into a distribution before it can be used, and this is usually called GNU/Linux. Also, not every system that has a little bit of connection to Linux can count as GNU/Linux.&lt;/p&gt;
&lt;p&gt;When a speaker mentions computers, what ordinary people understand is desktop computers, meaning the Windows and macOS personal computer market. And Linux of course refers to GNU/Linux Desktop-oriented distributions (Ubuntu, Fedora, openSUSE, Arch Linux, Gentoo), which usually include the GNU toolchain, use X.Org or Wayland as the graphical interface, &lt;a href="https://ivonblog.com/tags/freedesktop-specifications/" target="_blank" rel="noreferrer"&gt;follow XDG standards&lt;/a&gt;, respect user freedom, and are not other systems based on the Linux kernel.&lt;/p&gt;
&lt;p&gt;In a broad sense, Android counts as a Linux distribution, but you clearly know Android cannot be used on computers (at least before Android 16, it is still not mature enough), and its graphical protocol and system tools differ greatly from the Linux desktop. Even the standard C library is incompatible. The same goes for ChromeOS. It cannot really count as a Linux desktop distribution. Its system base is almost not the GNU toolchain, and its upper-level graphical protocol is still a heavily modified Wayland.&lt;/p&gt;
&lt;p&gt;Other Linux machines go without saying. You do not call a &amp;ldquo;server&amp;rdquo; a &amp;ldquo;personal computer&amp;rdquo;; this kind of computer does not even have a monitor (in most cases)!&lt;/p&gt;
&lt;p&gt;As for game consoles. Even if a Playstation can run Linux after modification, few people would treat it as a computer. Some open source handhelds can be said to use Linux distributions, but they do not count as personal computers. As for Steam Machine? Let the bullet fly for a few more years; this is only the beginning. I am optimistic about it rising to become a kind of personal computer alternative, but not yet.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;According to the above definition, it is correct that few people use the GNU/Linux desktop, and this is a fact that cannot be avoided. According to &lt;a href="https://gs.statcounter.com/os-market-share/desktop/worldwide" target="_blank" rel="noreferrer"&gt;StatCounter&lt;/a&gt;, the GNU/Linux desktop share is only about 4%.&lt;/p&gt;
&lt;p&gt;If you forcibly count systems such as ChromeOS, Android, and SteamOS as Linux, the ratio may be much higher, but that is super concept switching.&lt;/p&gt;
&lt;p&gt;Forcibly taking credit for yourself! Shameless!&lt;/p&gt;
&lt;p&gt;According to my definition above of GNU/Linux Desktop distributions, I think that among the various systems based on the Linux kernel, only SteamOS has the structure closest to an ordinary GNU/Linux Desktop distribution (immutable Arch Linux), while also being capable of succeeding in the general personal computer market. However, its development has only just begun, there is not much hardware, and whether it can sell more than the Chromebooks Google dumps into the education market in bulk still needs time to observe.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/linux-desktop-market-share-is-not-high-enough/featured.webp"/></item><item><title>Why Choose Mainstream Linux Distros Over Niche Ones?</title><link>https://ivonblog.com/en-us/posts/can-monopoly-save-linux-from-fragmentation/</link><pubDate>Tue, 26 Aug 2025 14:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/can-monopoly-save-linux-from-fragmentation/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Why Do I Recommend Choosing Mainstream Linux Distributions? Niche Distributions Have Plenty of Problems!&lt;/p&gt;
&lt;p&gt;What Linux distribution do I recommend? I can only say that people should use mainstream Linux distributions more.&lt;/p&gt;
&lt;p&gt;The longer I use Linux, the more I want to solve fragmentation through dictatorship. Yet free software can never be unified.&lt;/p&gt;
&lt;p&gt;The deeper I go down the FOSS rabbit hole, the more I gradually discover that I am standing on the anti-diversity side.&lt;/p&gt;
&lt;p&gt;There is a joke that it is hard for Linux computers to get infected because there are too many distributions, and every system&amp;rsquo;s libraries are different, so viruses easily show no such file or directory when executed.&lt;/p&gt;
&lt;p&gt;To solve this problem, all we can do is call on everyone to think clearly about what they are pursuing.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I have no decision-making power over the Linux community. These are only my own thoughts.&lt;/strong&gt; This is yet another rant.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Diversity for Diversity&amp;rsquo;s Sake
 &lt;div id="diversity-for-diversitys-sake" 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="#diversity-for-diversitys-sake" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s start with an article: &lt;a href="https://www.reddit.com/r/linux/comments/zhdpdx/grub_systemd_a_foss_monopoly/" target="_blank" rel="noreferrer"&gt;Grub &amp;amp; Systemd, A FOSS Monopoly. Am I the only one that sees Linux Unity as a bad idea? &lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Seeing this, I could not help thinking of the meme: &amp;ldquo;Can you be smarter than the ancestors? Zhang Xianzhong.jpg&amp;rdquo;
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://ivonblog.com/en-us/posts/can-monopoly-save-linux-from-fragmentation/images/zxz.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/cannotloadimage.avif'"
 width="464"
 height="435"&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;People who refuse to accept change and casually bring out the &amp;ldquo;Unix philosophy&amp;rdquo; to pontificate need to change. Even now, there are still people opposing Systemd, deliberately choosing distributions with other inits. Their reason for insisting on this, &amp;ldquo;do one thing and do it well&amp;rdquo;, looks more ridiculous as time passes. The same applies to other new Linux technologies, such as Wayland, Pipewire, Flatpak, and so on. These things are slowly becoming the standards of the next-generation Linux desktop. Although they are not perfect, we should remain optimistic. Yet there are still many people who do not criticize the progress of these things from a technical perspective. Instead, they rely on mockery and insults (just think of the ranting tone of 4chan /g/ users), believing everything is a RedHat conspiracy to rule the world. Someone even created a flatkill.org website to attack Flatpak.&lt;/p&gt;
&lt;p&gt;Just like social activists who desperately insist DRM is a bad thing, they emotionally say, I oppose it! But if they cannot offer a better solution (such as making something like LibreDRM), then it is just blind opposition.&lt;/p&gt;
&lt;p&gt;Although open source community fragmentation has long been in the genes of Linux distributions, and some users deliberately love promoting weird distributions just to be different, even claiming diversity purely for the sake of being different, some things really should be standardized. This solution will not satisfy everyone, but at least the result will not be too bad.&lt;/p&gt;

&lt;h2 class="relative group"&gt;What Counts as a Mainstream Linux Distribution
 &lt;div id="what-counts-as-a-mainstream-linux-distribution" 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="#what-counts-as-a-mainstream-linux-distribution" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Now to the main topic.&lt;/p&gt;
&lt;p&gt;My view of non-mainstream Linux distributions is shown in the image below. This image is truly hilarious. Hannah Montana Linux, made for the TV series Hannah Montana, is absolutely one of the most famous meme distros. And this thing wants to fight other distributions?
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://ivonblog.com/en-us/posts/can-monopoly-save-linux-from-fragmentation/images/xxm1t825jsj71.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/cannotloadimage.avif'"
 width="1920"
 height="1080"&gt;&lt;/figure&gt;&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/can-monopoly-save-linux-from-fragmentation/featured.webp"/></item><item><title>The Pros and Cons of Installing Applications With Flatpak on Linux Systems</title><link>https://ivonblog.com/en-us/posts/linux-flatpak-pros-and-cons/</link><pubDate>Wed, 08 Jan 2025 18:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/linux-flatpak-pros-and-cons/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Flatpak version at the time of writing: 1.14.4&lt;/p&gt;
&lt;p&gt;&amp;ldquo;Flatpak, the future of Linux applications,&amp;rdquo; says the Flatpak official website.
&lt;img src="images/m3KgRAn.png" width=200 loading="lazy" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Why is installing applications on Linux sometimes a nightmare? Why can Flatpak effectively ease this problem?&lt;/p&gt;
&lt;p&gt;In this article, Ivon briefly explains why Flatpak emerged, as well as the advantages and disadvantages of Flatpak technology.&lt;/p&gt;
&lt;p&gt;Terminology:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;System programs&amp;rdquo; refers to software such as compilers, runtimes, and libraries.&lt;/li&gt;
&lt;li&gt;&amp;ldquo;Graphical programs&amp;rdquo; refers to software with graphical interfaces, such as office software, image processing, browsers, and so on.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;＊ This article by Ivon mainly discusses the advantages and disadvantages of Flatpak technology. For the actual usage of Flatpak packages and commands, please see &lt;a href="https://ivonblog.com/posts/linux-flatpak-introduction/" target="_blank" rel="noreferrer"&gt;this article&lt;/a&gt;.&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. The Application Installation Problem of Linux Distributions
 &lt;div id="1-the-application-installation-problem-of-linux-distributions" 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-the-application-installation-problem-of-linux-distributions" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;First, let&amp;rsquo;s talk about the background behind Flatpak&amp;rsquo;s creation.&lt;/p&gt;
&lt;p&gt;We all know that installing applications on Linux only requires downloading and installing them through a package manager. That is also what application stores do behind the scenes.&lt;/p&gt;
&lt;p&gt;Linux now has at least more than 100 distributions, which creates software packaging problems.&lt;/p&gt;
&lt;p&gt;Different distributions have different package managers, and the commands for installing applications are all different. Sometimes package dependency conflicts also occur.&lt;/p&gt;
&lt;p&gt;Furthermore, each distribution maintains its own online package repository. Popular distributions include many programs; for example, Ubuntu and Arch Linux AUR have almost everything. By comparison, niche distributions (Void, Alpine) have to wait until their communities take shape before repository package counts accumulate; otherwise, users have to compile manually from source code.&lt;/p&gt;
&lt;p&gt;Different distributions packaging software causes application versions to be inconsistent. For example, new Ubuntu versions include the latest programs, while LTS versions lag behind, causing updates to be out of sync.&lt;/p&gt;
&lt;p&gt;So technologies attempting to unify cross-distribution application installation appeared. Flatpak is one example, while others include Snap and AppImage.&lt;/p&gt;

&lt;h2 class="relative group"&gt;2. What Is Flatpak
 &lt;div id="2-what-is-flatpak" 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-what-is-flatpak" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Flatpak, previously called xdg-app, is a cross-distribution package manager and package deployment system initiated by RedHat. Most Linux distributions (Debian-based, Fedora-based, openSUSE-based, Arch-based) already support Flatpak, ChromeOS has it too, and Fedora Silverblue is even an almost fully Flatpak environment.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://flathub.org/home" target="_blank" rel="noreferrer"&gt;Flathub&lt;/a&gt; is the most popular Flatpak package repository, with thousands of applications already listed.
&lt;img src="https://ivonblog.com/posts/linux-flatpak-introduction/images/Screenshot_20230717_121600.webp" width=500&gt;&lt;/p&gt;
&lt;p&gt;In recent years, Linux &lt;strong&gt;graphical&lt;/strong&gt; applications have gradually moved toward a trend of unified distribution, relying on cross-distribution technologies such as Snap, Flatpak, and AppImage, rather than relying on each distribution&amp;rsquo;s package manager to package software separately, preventing inconsistent program versions.&lt;/p&gt;
&lt;p&gt;Flatpak mainly targets desktop graphical applications, such as browsers, office processing, image processing, games, and the like. Flatpak introduces a sandbox mechanism to isolate APPs and designs a permission system to strengthen security.&lt;/p&gt;

&lt;h2 class="relative group"&gt;3. Advantages of Installing Applications With Flatpak
 &lt;div id="3-advantages-of-installing-applications-with-flatpak" 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-advantages-of-installing-applications-with-flatpak" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;

&lt;h3 class="relative group"&gt;3.1. Flathub Makes Deployment and Publishing Convenient for Developers
 &lt;div id="31-flathub-makes-deployment-and-publishing-convenient-for-developers" 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="#31-flathub-makes-deployment-and-publishing-convenient-for-developers" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;p&gt;Flathub benefits developers. The Flatpak official documentation explains in detail how to package applications as Flatpak and encourages developers to follow XDG standards. When distributing applications, developers can provide stable and testing versions for users to download, as well as versions for different architectures such as x86 / ARM. The Flatpak installer judges automatically.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/linux-flatpak-pros-and-cons/featured.png"/></item><item><title>Comparing KDE and GNOME: Why I Still Choose KDE</title><link>https://ivonblog.com/en-us/posts/kde-plasma-gnome-comparison/</link><pubDate>Tue, 03 Dec 2024 19:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/kde-plasma-gnome-comparison/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;This article discusses why I, Ivon, prefer KDE Plasma over GNOME as my Linux desktop. I will try to first compare the differences between the two from an objective angle, then transition into extremely subjective personal opinions.&lt;/p&gt;
&lt;p&gt;Current Linux distributions offer more than 20 desktop environments for users to choose from, and the largest groups are &amp;ldquo;GNOME&amp;rdquo; and &amp;ldquo;KDE Plasma.&amp;rdquo; From the image below, you can see that their design languages differ enormously.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/kde-plasma-gnome-comparison/images/title.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/cannotloadimage.avif'"
 &gt;&lt;figcaption&gt;GNOME 47 on top, KDE Plasma 6.3 below&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Thanks to Linux&amp;rsquo;s high degree of freedom, Linux can have multiple desktop environments coexist, but most people get used to using the desktop installed when they install the system, right? The same applies to &amp;ldquo;Arch Linux&amp;rdquo;, whose installation process requires self-assembly.&lt;/p&gt;
&lt;p&gt;The desktop environment largely determines the experience of using a Linux computer, so choosing a desktop that suits you is very important.&lt;/p&gt;
&lt;p&gt;I have installed Linux on different computers and tried both GNOME and KDE Plasma desktops. After several years of repeated comparison, I reached my future preference for desktop environments: if I distro-hop, KDE Plasma takes priority, with GNOME second. In other words, when installing a desktop environment, KDE Plasma is always the main choice.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/kde-plasma-gnome-comparison/images/k5vSFMdq.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/cannotloadimage.avif'"
 &gt;&lt;figcaption&gt;Source: &lt;a href="https://www.reddit.com/r/linuxmasterrace/comments/tj03r4/totally_unbiased_meme_that_isnt_going_to_make/" target="_blank" rel="noreferrer"&gt;https://www.reddit.com/r/linuxmasterrace/comments/tj03r4/totally_unbiased_meme_that_isnt_going_to_make/&lt;/a&gt;&lt;/figcaption&gt;&lt;/figure&gt;&lt;/p&gt;
&lt;p&gt;Why do I think this? Please read on.&lt;/p&gt;
&lt;p&gt;The GNOME and KDE desktops mentioned here both refer to &amp;ldquo;unmodified original&amp;rdquo; vanilla versions. Heavily patched ones like Ubuntu are not included.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s start with an interesting statistic. The &lt;a href="https://pkgstats.archlinux.de/compare/packages#packages=cinnamon,gnome-shell,lxde-common,mate-panel,plasma-workspace,xfdesktop" target="_blank" rel="noreferrer"&gt;Arch Linux official website&lt;/a&gt; tracks desktop environment package installations, and we can see that KDE downloads gradually surpassed GNOME and XFCE after 2018.
&lt;figure&gt;
 &lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt=""
 src="https://static.ivonblog.com/posts/kde-plasma-gnome-comparison/images/arch-compare-packages.webp"
 onerror="this.onerror=null;this.src='https://ivonblog.com/images/cannotloadimage.avif'"
 &gt;&lt;/figure&gt;&lt;/p&gt;

&lt;h2 class="relative group"&gt;1. Brief Introduction to GNOME and KDE Plasma
 &lt;div id="1-brief-introduction-to-gnome-and-kde-plasma" 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-brief-introduction-to-gnome-and-kde-plasma" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;First, let me explain why I only consider GNOME and KDE Plasma: watermelon leans toward the bigger side (Si-kue uá tuā pîng). Things used by many people can receive the most timely support. I know Linux has other desktop environments, but sorry, this article will not discuss them.&lt;/p&gt;
&lt;p&gt;Next, let&amp;rsquo;s talk about market share. GNOME and KDE Plasma are both desktop environments with long histories. GNOME released its first version in 1999, while KDE released in 1998. Later, KDE became the code name of a large project, so when discussing the desktop environment, the name KDE Plasma is used. From here, we can observe that KDE was developed earlier than GNOME!&lt;/p&gt;
&lt;p&gt;But early KDE made developers wary because QT&amp;rsquo;s license terms were not free enough. Trolltech&amp;rsquo;s earliest QT version used the FreeQt License, which was incompatible with free software licenses. Because most KDE components were written with QT, relying on components with licensing problems was dangerous and could create unnecessary legal issues. This indirectly promoted the birth of GNOME, which mainly used GTK for development and adopted the GPL license. Major companies then adopted GNOME as their main desktop environment. However, after QT later revised its terms, the licensing problem disappeared, and the KDE Plasma desktop license became a mixture of GPL + LGPL + BSD. Now both desktop environments are free software and have no licensing issue.&lt;/p&gt;</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://ivonblog.com/en-us/posts/kde-plasma-gnome-comparison/featured.webp"/></item><item><title>A brief look at Termux file management: sharing files between Linux environments and Android</title><link>https://ivonblog.com/en-us/posts/termux-file-management/</link><pubDate>Wed, 21 Aug 2024 11:00:00 +0800</pubDate><author>infoivonblog.nkfjt@aleeas.com (Ivon Huang)</author><guid>https://ivonblog.com/en-us/posts/termux-file-management/</guid><description>&lt;!-- Co-translated by ChatGPT --&gt;
&lt;p&gt;Manage and access files in Termux APP.&lt;/p&gt;
&lt;p&gt;Discussing Termux&amp;rsquo;s directory structure and techniques for sharing files between Linux environments and Android.&lt;/p&gt;
&lt;p&gt;Test environment:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Android 14&lt;/li&gt;
&lt;li&gt;Termux 0.119&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;1. Termux&amp;rsquo;s own root directory
 &lt;div id="1-termuxs-own-root-directory" 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-termuxs-own-root-directory" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;According to the Termux Wiki, Termux does not comply with the FHS standard, and its directory structure differs from ordinary desktop Linux distributions. Therefore, if your software relies heavily on the standard Linux directory structure, it is safer to consider using proot or chroot to create a Linux container environment.&lt;/p&gt;
&lt;p&gt;Termux&amp;rsquo;s file directory (document directory) is located at &lt;code&gt;/data/data/com.termux/files/&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Only Termux can access this directory.&lt;/p&gt;
&lt;p&gt;Termux provides two environment variables: &lt;code&gt;$TERMUX_PREFIX&lt;/code&gt; and &lt;code&gt;$PREFIX&lt;/code&gt;. Both point to the &lt;code&gt;/data/data/com.termux/files/usr&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;Software installed through &lt;code&gt;pkg&lt;/code&gt; in Termux is usually placed in &lt;code&gt;/data/data/com.termux/files/usr/bin&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Termux&amp;rsquo;s home directory is located at &lt;code&gt;/data/data/com.termux/files/home&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Without root privileges, Termux cannot access the root directory (&lt;code&gt;/&lt;/code&gt;) of the Android system&lt;/p&gt;

&lt;h2 class="relative group"&gt;2. Termux&amp;rsquo;s home directory
 &lt;div id="2-termuxs-home-directory" 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-termuxs-home-directory" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Termux&amp;rsquo;s home directory is located at &lt;code&gt;/data/data/com.termux/files/home&lt;/code&gt;. When running commands, the home directory path can be replaced with &lt;code&gt;~&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Note that Termux has only a single user account (confirm with the &lt;code&gt;whoami&lt;/code&gt; command), and no root account. Users also cannot add accounts.&lt;/p&gt;
&lt;p&gt;Only Termux can access the home directory. Other apps have to read this directory through Android Scoped Storage. See: &lt;a href="https://ivonblog.com/en-us/posts/access-termux-directory/" target="_blank" rel="noreferrer"&gt;Access Termux Directory&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Usually there are no files in the Termux home directory, but &lt;code&gt;ls -a&lt;/code&gt; can show hidden files&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;~ $ ls -a
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;. .bash_history .ssh
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.. .npm .termux storage
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;.Xauthority .npmrc .vnc&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Most directories starting with a dot are software configuration files. For example, &lt;code&gt;.termux&lt;/code&gt; contains program behavior and fonts.&lt;/p&gt;
&lt;p&gt;If the XFCE4 desktop environment is installed, Termux&amp;rsquo;s home directory will automatically generate directories that conform to the XDG Base Directory standard.&lt;/p&gt;
&lt;p&gt;If you want to set the &lt;code&gt;$PATH&lt;/code&gt; environment variable, put it in &lt;code&gt;~/.bashrc&lt;/code&gt; or &lt;code&gt;~/.profile&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;If you want a text-based file manager, you can install the &lt;code&gt;ranger&lt;/code&gt; package in Termux to conveniently manage files under Termux&amp;rsquo;s home directory.&lt;/p&gt;

&lt;h2 class="relative group"&gt;3. Termux reading Android internal storage
 &lt;div id="3-termux-reading-android-internal-storage" 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-termux-reading-android-internal-storage" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;By default, Termux cannot access Android user files outside its own environment.&lt;/p&gt;
&lt;p&gt;After running the &lt;code&gt;termux-setup-storage&lt;/code&gt; command, Termux can access files in Android internal storage.&lt;/p&gt;
&lt;p&gt;To be precise, Termux bind mounts Android&amp;rsquo;s &lt;code&gt;/sdcard&lt;/code&gt; path to &lt;code&gt;~/storage&lt;/code&gt; under the Termux home directory&lt;/p&gt;
&lt;p&gt;Android internal storage is mounted to &lt;code&gt;~/storage&lt;/code&gt; under the Termux home directory&lt;/p&gt;
&lt;p&gt;Use the &lt;code&gt;ls&lt;/code&gt; command to view directories under &lt;code&gt;~/storage/shared&lt;/code&gt;, and you can see all files in Android internal storage&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;~ $ ls ~/storage/shared/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;Documents Android Download Movies Pictures
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;DCIM Music&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;However, without root privileges, Termux cannot access the &lt;code&gt;Android/data&lt;/code&gt; directory.&lt;/p&gt;
&lt;p&gt;We can use the &lt;code&gt;cp&lt;/code&gt; command to copy files inside Termux to the Android phone&amp;rsquo;s internal storage&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;cp ~/file.txt ~/storage/shared/Download/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Likewise, files from the Android phone&amp;rsquo;s internal storage can be copied to the Termux home directory&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;cp ~/storage/shared/Download/file.txt ~&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Be careful: running &lt;code&gt;rm -rf&lt;/code&gt; can delete all files in the Android phone&amp;rsquo;s internal file storage (except directories requiring root privileges). Operate commands carefully.&lt;/p&gt;</description></item></channel></rss>