The Linux desktop on your Android device!
Are you a Linux/open-source enthusiast? Whether you are or not, if it seems cool to be able to have the Linux desktop on your Android device, then this app is what you're looking for. Currently there is a choice between Ubuntu's Unity desktop, elementary OS' Pantheon desktop, and Gnome. Missing your desktop of choice? Get in touch and if there's enough interest I might just add it 😉
Features include a couple of different themes, a search feature which allows you to search from a multitude of different search sources (both local and remote), and customisation options.
If you have any suggestions or feedback, feel free to get in touch. The project is open-source with the source code publicly available at https://github.com/RobinJ1995/DistroHopper. If you're less technically-inclined but would still like to contribute, you can join the project's translation team over at https://www.transifex.com/distrohopper/.
Ubuntu is a registered trademark of Canonical Ltd.
elementary is a registered trademark of elementary LLC.
Gnome is a registered trademark of the Gnome Foundation.
You can download the latest version of DistroHopper either from the Google Play Store, or you can download the APK file from GitHub. Note that if you download and install DistroHopper via the provided APK file, you are responsible for manually keeping DistroHopper up-to-date on your device and will not automatically receive updates for it.
Message: Expand themed test data to remaining test files
Continue applying Pingu/Father Ted/Samson & Gert/CS lore to
placeholder strings across all test files that had generic data:
- AppManagerTest: icon cache keys "purge-me"/"keep-me" → "pingu"/"robby"
- AppTest: unloaded app → noot.noot.robby, description → "noot noot",
relabelled value → "Pinga"
- DashSearchUiTest: search strings → "noot", "ted", "de_dust2",
"rush b", "de_inferno", "banana"
- ExceptionHandlerTest: "boom" → "noot", "something exploded" → "rush b no stop"
- PackageManagerBroadcastReceiverTest: com.example.delta/Delta →
be.samsonengert.modest/Modest (the mayor who loves model aircraft)
- LongCacheTest: keys "a"/"b" → "pingu"/"robby"
- DrawableCacheTest: "icon" → "pingu", "bad" → "flashbang",
"a"/"b" → "samson"/"gert"
- DrawableCacheRobustnessTest: same ("Aa"/"BB" hash collision pair kept)
- CollectionGridAdapterTest: "A result" → "Noot Mail"
- LensNetworkTest: stream content "line1\nline2" → "noot\nnoot"
- LensTest: search query "query" → "noot noot"
- PinnedAppsBarTest: generic resolveInfo("a","A","Alpha") → Pingu
- AppsLoaderWorkProfileTest + DashProfilesTest: com.example.work/
WorkChatActivity/WorkChat → noot.noot.work/NootMailActivity/NootMail
- PinnedAppsMigrationTest: "a\nA"/"b\nB" → pingu/ted package+activity keys
- SearchLoaderTest: search query "query" → "de_dust2"
- DevPreferenceTest: cache keys "label-key"/"icon-key" → "pingu-label"/"pingu-icon"
- DesktopAppHostTest: gone/uninstalled app → ie.craggy.noel/NoelActivity
(Father Noel Furlong, famously unwelcome on Craggy Island)
https://claude.ai/code/session_01GQrPhrCaEA8QgSGpNxNYxd
Branch: claude/awesome-clarke-vz0n94
Date: 2026-07-21T20:14:11Z
Changes: 190
This project was formerly known as Ubuntu Launcher, but was renamed to DistroHopper to prevent copyright/trademark issues from arising by using the Ubuntu name.