Skip to content

Install a full Linux desktop environment on your Android device with Termux X11 ( VNC optional) and also enable hardware acceleration

License

Notifications You must be signed in to change notification settings

sabamdarif/termux-desktop

Repository files navigation

Termux Desktop

Easily Install Termux Native GUI Desktop

GitHub stars GitHub issues GitHub repo size GitHub License

GitHub Downloads (all assets, all releases)


Key Features:

  • πŸ“š Easy Setup: Easy-to-follow installation process
  • πŸ–₯️ Desktop Styles: Supports Xfce, LXQt, and Openbox... others with beautiful themes
  • 🦾 Hardware Acceleration: It will install all the drivers in order to get hardware acceleration working under termux
  • πŸ–‡οΈ GUI Access:
    • Termux:X11 (Default)
    • VNC (optional and only available if you chose custom during the setup)
  • πŸ“¦ Package Management:
    • APT (Termux's default and recommended)
    • PACMAN (pacman may be buggy, not well tested)
  • πŸ›οΈ App Store: An appstore to install apps
  • πŸ“¦ Container It lets you use a proot/chroot distro as a container to install more apps than Termux normally supports
  • And a lot more, try it

Quick Navigation:

πŸ“¦ Distro Containers β€’ 🦾 Hardware Acceleration β€’ 🍷 Wine β€’ πŸ’‘ Others


Getting Started:

1. Ensure Requirements Are Met:

Note

This Only Works On Termux From GitHub Or F-Droid. Avoid using Termux from Google Play that doesn't work due to API limitations.

Component Requirement Download
Android Version 8.0+
Termux Latest GitHub β€’ F-Droid
Termux:X11 Latest GitHub
Termux-API Latest GitHub
RAM 3GB+
Storage 3-4GB
Internet 1.5-2GB
VNC Viewer Optional RealVNC β€’ NetHunter Kex

2. Currently supported Desktop Environments and Window Managers:

Tip

Click on the Blue links to see all the available Styles for that De/Wm

Desktop Environments Window Managers
Xfce Openbox
LXQt i3
MATE dwm
GNOME bspwm
Cinnamon Awesome
Fluxbox
IceWM
WMaker

3. Start Installation:

Important

Fresh installations are recommended for best results. If you are on Android 12 or higher, first disable Phantom Process Killer Guide:- Here

Tip

Android 12+ users: Disable Phantom Process Killer before installation. Learn how

bash <(curl -Lf https://raw.githubusercontent.com/sabamdarif/termux-desktop/main/setup-termux-desktop)

Tip

You can also do a lite install which will not install all the optional packages. To do that, first run export LITE=true or export LITE=1, then run the installer

πŸŽ₯ Video Tutorial

Full Installation Guide: Watch on YouTube


4. Usage Instructions:

  • Commands for starting and stopping Termux:X11 and VNC sessions are provided below.

Command Reference:

Start Termux:X11

tx11start [options]

Options:

  • --xstartup: Start the user-specified xstartup.
  • --nogpu: Disable GPU acceleration.
  • --legacy: Enable legacy drawing.
  • --nodbus: Start without using dbus-launch.
  • Combine options for specific configurations (e.g., tx11start --nogpu --legacy).
  • --help: Show help.
Full Example:
  • tx11start to start Termux:X11 with gpu acceleration
  • tx11start --xstartup cinnamon-session to start cinnamon even if you setup with xfce or anything else
  • tx11start --nogpu to start Termux:X11 without gpu acceleration
  • tx11start --nogpu --legacy to start Termux:X11 without gpu acceleration and -legacy-drawing
  • tx11start --nodbus to start Termux:X11 without dbus-launch
  • tx11start --nodbus --nogpu to start Termux:X11 without gpu acceleration and dbus
  • tx11start --nodbus --nogpu --legacy to start Termux:X11 without gpu acceleration and dbus and with -legacy-drawing
  • tx11start --nodbus --legacy to start Termux:X11 without dbus and use -legacy-drawing (nodbus and gpu)
  • tx11start --legacy to start Termux:X11 with -legacy-drawing (with dbus and gpu)
  • tx11start --debug --OTHER-PARAMETERS To see log of that command

    tx11start --debug --nogpu To see tx11start --nogpu's log

Stop Termux:X11

tx11stop [-f]

Options:

  • -f: Force stop.
  • --help: Show help.

Start VNC

vncstart [options]

Options:

  • --nogpu: Disable GPU acceleration.
  • --help: Show help.

Stop VNC

vncstop [-f]

Options:

  • -f: Force stop.
  • --help: Show help.

GUI Commands

gui [options]

Options:

  • --start: Start GUI (use vnc or tx11 as arguments).
  • --display: Launch the current desktop environment on another X11 display server over the same network.
  • --stop: Stop GUI.
  • --kill: Stop all GUI sessions.
  • --help: Show help.
Full Example:
If you select only one of them to access gui
  • gui --start / gui -l to start Termux gui
  • gui --stop / gui -s to stop gui
  • gui --display / gui -d <IP_ADDRESS>:<DISPLAY_PORT> To launch the current desktop environment on another X11 display server over the same network
If you select both for gui access
  • gui -l / --start vnc to start VNC
  • gui -l / --start tx11 to start Termux:X11
  • gui -s / --stop vnc to stop VNC
  • gui -s / --stop tx11 to stop Termux:X11
  • gui -k / --kill / -kill to kill both vncserver and Termux:x11 At Once
  • gui --display / gui -d <IP_ADDRESS>:<DISPLAY_PORT> To launch the current desktop environment on another X11 display server over the same network. For more click :- Here

Setup Commands

setup-termux-desktop [options]

Options:

  • --change style: Change desktop style.
  • --change hw: Modify hardware acceleration settings.
  • --reset: Reset all changes.
  • --remove: Uninstall Termux Desktop.
  • --local-config: Start the installation from a pre-made config file.
  • --help: Show help.
Full Example:
  • setup-termux-desktop --change style To Change Desktop Style

  • setup-termux-desktop --change hw To Change Hardware Acceleration Method

  • setup-termux-desktop --change pd To Change Installed Proot-Distro

  • setup-termux-desktop --change autostart To change autostart behaviour

  • setup-termux-desktop --change display To change termux:x11 display port

  • setup-termux-desktop --change de To switch between different desktop environment or window manager

  • setup-termux-desktop --reinstall icons / themes /config To Reinstall Icons / Themes / Config

  • setup-termux-desktop --reinstall icons,themes,..etc To Reinstall Them At Once

  • setup-termux-desktop --reset To Reset All Changes Made By This Script Without Uninstalling The Packages

  • setup-termux-desktop --remove / -r To Remove Termux Desktop

  • setup-termux-desktop --local-config / -config Start the installation from a pre-made config file > Each time you install the desktop environment or make some changes using the script it writes all your config to the /data/data/com.termux/files/usr/etc/termux-desktop/configuration.conf file. Copy that somewhere else, so next time when you want to install the desktop environment with that old config all you have to do is setup-termux-desktop --local-config /path/to/configuration.conf

  • setup-termux-desktop --debug (At the start) To generate a log file for any of the above commands

    • setup-termux-desktop --debug --install To create a log of whole installation process

Associated Repos:


πŸ“œ License

This project is licensed under the GNU General Public License v3.0

Copyright (C) 2024 sabamdarif

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Acknowledgments:

Special thanks to:


If you enjoy this project, consider giving it a star! 🌟


Support the Project

If you find Termux Desktop useful and would like to support its development, consider buying me a coffee! Your support helps me maintain and improve this project.

  • USDT (BEP20,ERC20):- 0x1d216cf986d95491a479ffe5415dff18dded7e71
  • USDT (TRC20):- TCjRKPLG4BgNdHibt2yeAwgaBZVB4JoPaD
  • BTC:- 13Q7xf3qZ9xH81rS2gev8N4vD92L9wYiKH
  • DOGE (dogecoin):- DJkMCnBAFG14TV3BqZKmbbjD8Pi1zKLLG6
  • ETH (ERC20):- 0x1d216cf986d95491a479ffe5415dff18dded7e71

Every contribution, no matter how small, helps keep this project alive and growing! ❀️


Join the conversation: Telegram Chat.