nix-community/nix-on-droid

Are there any plans to support something like termux-x11?

Dani3I opened this issue · 5 comments

Dani3I commented

For termux there is project called termux-x11. It allows to show gui (for example xfce4) without using VNC etc.
Project is available here: https://github.com/termux/termux-x11

Are there any plans to support something like this on nix-on-droid (or maybe it is already possible)?

Pull requests are welcome; I, personally, don't plan to work on this anytime soon.

It's actually possible to use termux-x11 out of the box if you add -listen tcp to your termux-x11 call. It's a bit absurd, but here's the step-by-step:

  1. In regular Termux, run termux-x11 :1 -listen tcp -xstartup "dbus-launch --exit-with-session i3" (replace i3 with whatever you want to use as desktop)
  2. Open nix-on-droid and run a gui app with DISPLAY=127.0.0.1:1. Example: nix-shell -p gedit, DISPLAY=127.0.0.1:1 gedit
  3. Open the termux-x11 Android app and you should see your GUI from nix.

You can automate this a little by writing the termux-x11 invocation to a script, and adding export DISPLAY=127.0.0.1:1 to your .bash_profile in nix-on-droid.

Still, it'd be cool if we could do termux-x11 without needing vanilla Termux installed at all. The termux-x11 tool appears to be very simple https://github.com/termux/termux-x11/blob/master/termux-x11 - if we can somehow expose /system/bin/app_process in nix-on-droid then it might "just work" 🤔

I could modify termux-x11 so that it uses com.termux.nix.x11 instead of com.termux.x11 and that might work. Ideally we wouldn't have a duplicate app though.