[ENHANCEMENT]: Recommended way to install and run X11 GUI.
#19197 opened on Feb 11, 2024
Description
Hello.
People who want to run X11 GUI in termux come to discord termux/general and matrix termux/termux very often. They are not Linux enthusiasts, but even if they are, they still have problems running GUI.
The reason for this is pretty much simple: termux's way of running GUI is not very straightforward.
People do not really want to play with multiple X servers and DEs. They want to simply run startx or something simmilar and enjoy graphical environment.
Or someone is not experienced enough and follows guides in Internet (which are malicious in some cases, unfortunately).
So, IMHO, we should do the following things (maybe all of them, maybe not).
- Write a script OR make termux packages depend on each other to install and configure all GUI automatically. I.e. we can make tigervnc, termux-x11, Xfvb and other X servers (if available) implement virtual package
xserverand make some of them installable by default, or maybe make a packagexservercontaining script which goes through available X servers and starts one of them. Also we should make X servers make an alternative to$PREFIX/bin/X. Or we can port realstartx(I am not sure if it implements switching between available X servers). Also we should make all DEs make an alternative to$PREFIX/bin/x-window-managerand$PREFIX/bin/x-session-managerfor easier switching between DEs. - Write a script which configures GUI automatically. I mean script should install everything automatically or let user choose DE/WM/smth and X server with
dialog(liketermux-change-repodoes). I am not sure if it can run during dpkgpost-installbecause of apt lock ($PREFIX/var/lib/dpkg/lock?). - We should merge
x11-repoto main repo. Also there are enough packages requiring (both QT and regular) which are CLI only but depend on packages inx11-repoand can be used without X server (I do not remember names, but still relevant).
Also something recommended but not related to GUI directly.
- We should make
aptask aboutapt updatein the case of interactive console (to avoid prompting in scripts) and only in the case if last update was more than 6 hours ago (because auto-updater launching has this period) and chain it to the start of package installing process. I suggest to patch theaptand notpkgintentionally. This will make people update environment more often. That is related to bothrolling releasemodel and topartial upgradeproblem. I am not sure how exactly it is done in otherrolling releasedistros. - We should make automatic correcting releases for both github and f-droid to make it used up-to-date bootstrap and, again, avoid
partial upgradeproblem. Or maybe remove bootstrap from apk and force downloading it from Internet or sdcard (in the case if Internet is not available). - We should add some newbie-friendly guides to our site for most popular cases, i.e. updating environment, installing packages, installing GUI, explaining basics, etc. I know we are not Linux kindergarten, but many people have ZERO knowledge about Linux and want to get started. It is not neccessary, but people like that can make A LOT of noise in discord.
I did not post it in Discussions intentionally. That really seems like our flaw.
One or all points mentioned here should make termux more newbie-friendly, but I am not someone who makes decisions here (at least not make decisions alone).
I am pinging the whole team and locking conversation only for collaborators. I really want to hear opinions of everybody to avoid misunderstanding. @termux/app-maintainers @termux/package-maintainers