Follow ZDNET: Add us as a preferred source on Google.
ZDNET's key takeaways
- Android is very close to being a full-blown Linux desktop.
- With the ability to run Linux apps, the OS takes a major step forward.
- But there is one glaring problem with the feature.
I've been waiting for this moment -- and it makes perfect sense. After all, the Android kernel is based on the Linux kernel, and Google already gave us Linux terminal support for the mobile OS. With that terminal support, I can run Linux commands and have all sorts of fun.
But I want more. I want to run full-blown Linux GUI apps on Android via the Linux terminal. I know it's most likely an exercise in futility; after all, Linux desktop apps weren't made for such small screens. But Android tablets -- that's another story altogether.
Also: 6 hidden Android features that are seriously useful (and how they made my life easier)
Sadly, I don't currently own a Linux tablet that supports a Linux terminal, so I had to rely on my Pixel 9 Pro for the task. You can't win them all. However, after spending far too much time running Linux GUI apps on Android, it turns out that even winning some remains a pipe dream.
Let me explain.
What this should be
With the release of Android 17, it became theoretically possible to run Linux GUI apps on Android. This was done via the Weston app, a reference implementation of the Wayland compositor. In theory, Weston should allow you to run a basic graphical environment along with supported GUI applications.
Also: You can control your Linux PC from your Android phone - here's how
From every bit of research I've done on this (and I've spent far too much time on this already), the process should be quite simple:
- Enable Linux terminal support.
- Open the terminal app.
- Install flatpak.
- Enable the flathub repository.
- Run the weston command in the terminal.
- Open the display tab.
- Open the Wayland terminal.
- Run the command to open the app.
This is where the magic should begin.
Sounds easy, right? OK, sounds easy if you have Linux experience. For example, you must first install Flatpak from within the Linux terminal, which is done with the command:
sudo apt install flatpak
Then you have to add the Flathub repository with:
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Then you have to install an app. For example, you could install the Chromium web browser like so:
sudo flatpak install flathub org.chromium.Chromium
Or, you could install GIMP:
sudo flatpak install flathub org.gimp.GIMP
Or LibreOffice:
sudo flatpak install flathub org.libreoffice.LibreOffice
I had apps installed and ready to go.
What this really is
I'd already added Linux terminal support on my Pixel 9 Pro, so I was one step ahead of the game. After Android was upgraded to version 17, I was itching to try this out, so I opened the terminal, installed Flatpak, added the Flathub repository, ran the weston command, and opened the display tab.
I even ran the memory up to 5GB.
That's when things went sideways.
The first thing I realized was that, by default, the Linux terminal was only allocated 2GB of RAM, which was not enough. Via Settings > Advanced > Memory size, I was able to double it, so Weston could run properly (in theory).
Also: 5 surprisingly productive things you can do with the Linux terminal
With Weston running, all I needed to do was tap the terminal icon at the top left of the Weston window. Every once in a while, I was able to get the cursor to exit the Weston window, so I could tap that icon. To do that, you tap the "finger" icon in the top toolbar, which is supposed to allow you to move the cursor beyond the window.
The little icon that could(not).
Sometimes that worked, sometimes it didn't. I'd restart the terminal app and try again.
Nothing.
Again. Nothing, nothing, nothing.
No matter what I did, I couldn't get the Weston terminal app to open within the Weston compositor.
Then, I decided to try to beat the system at its own game. I knew I needed the Weston terminal app, so from the standard Linux terminal, I ran the command:
weston-terminal
Viola! I now had access to the Weston terminal, where I could finally run the Linux apps I'd installed via Flatpak. I was inching closer to my goal.
Also: How to clear your Android phone cache (and wipe out lag for good)
Within the Weston terminal, I ran the command:
flatpak run org.chromium.Chromium
Rats! I ran into another issue; this time in the form of an error stating that it failed to initialize the D-bus portal.
Why? Because the Weston compositor wasn't running.
Argh! The errors are killing me, Smalls.
Are you confused yet?
The Weston terminal is running, but not the compositor. However, if I ran the compositor, I couldn't get the terminal to run.
I tried to run the weston-calibrator, but I then received two errors:
could not load cursor 'dnd-copy'
could not load cursor 'dnd-non'
Understand, this feature was first released in the Android Canary build of 2025, so there's been plenty of time to troubleshoot and bug-hunt, but clearly, there are problems. Maybe this issue is isolated to the Pixel 9 Pro, but the feature is certainly not ready for general use. I've upgraded, deleted Linux terminal support, re-added it, and done everything I can think of to make it work… to no avail.
After doing all the above, I went back and ran the Weston command, hoping that running the weston-terminal command would fix it. On one hand, I was able to get the cursor to break free of the Weston compositor window, but tapping the terminal button did nothing.
Also: How I turned my old Android phone into a streaming stick for free - in 6 easy steps
I was even able to maximize the Weston compositor window, so I knew the window buttons worked. Unfortunately, that terminal button refused to work, so I couldn't run commands within the Weston compositor.
Essentially, Linux GUI app support on Android is broken, and until it's fixed, it's useless.
I spent a week working on this, but was only able to get the Weston terminal to open once… only to watch it crash immediately. I even gave the Linux terminal app 50% of my phone's RAM -- to no avail.
Hopefully, this problem will be resolved with the next Android upgrade. Once the issue is fixed, you can bet I'll be running Linux GUI apps on my Pixel 9 Pro.










English (US) ·