phoenixbyrd / Termux_XFCE

476 stars 58 forks source link

Android 14 - Samsung OneUI 6.0 beta error #9

Closed mumbledenoise closed 1 year ago

mumbledenoise commented 1 year ago

When I first upgraded, my install didn't work. Instead of troubleshooting I deleted all storage data from Termux and started from scratch. After running pkg update -y manually to update all of my packages, I ran the curl installation script, and got this:

Couldn't exec glxfce: No such file or directory /data/data/com.termux/files/usr/bin/start: line 10: kill: `': not a pid or valid job spec

Termux-X11 still opens, but the entire screen is black with a x as a mouse pointer.

Looking up the docs for Termux-X11:

https://github.com/termux/termux-x11

It seems they use xfce4-session instead of glxfce:

--exit-with-session xfce4-session

Editing the "start script" with xfce4-session instead of glxfce:

vi /data/data/com.termux/files/usr/bin/start

Gave me a proper gui.

phoenixbyrd commented 1 year ago

glxfce is just a script that starts xfce4-session with hardware acceleration. If it's saying it couldn't find glxfce script then it sounds like something messed up during install. The line 10 error happened because the xfce session didn't start. That bit of the start script kills the xfce4-screensaver because it keeps complaining about something with DPMS and everyone else kept asking about it thinking it's an error so better to kill it and suppress other outputs and only leave outputs from application being ran.

mumbledenoise commented 1 year ago

Thanks for the information! I was able to solve this by removing the #!/bin/bash line from the glxfce file. So it now looks like this:

export DISPLAY=:1.0 GALLIUM_DRIVER=virpipe xfce4-session & > /dev/null 2>&1

Terminal=false

phoenixbyrd commented 1 year ago

I'm not sure why removing #!/bin/bash would resolve the issue, are you not using bash?

mumbledenoise commented 1 year ago

I'm not sure why either. Running glxfce directly in Termux works fine, it's only when I run it through the start script that I get the error.

After a default installation:

Steps:

  1. Open Termux
  2. Type "start" and hit enter.
  3. Result: Termux-X11 opens, but the entire screen is black with a x as a mouse pointer. Shows this error in Termux: Couldn't exec glxfce: No such file or directory
  4. Type "glxfce" and hit enter.
  5. Result: Termux-X11 now shows the Debian desktop, everything works as expected.

After modifying the glxfce file as describe above:

Steps:

  1. Open Termux
  2. Type "start" and hit enter.
  3. Result: Termux-X11 now shows the Debian desktop, everything works as expected.
phoenixbyrd commented 1 year ago

Strange, out of curiosity what kind of phone?

mumbledenoise commented 1 year ago

Samsung Galaxy S23 Ultra.

This only started happening after upgrading to the Android 14 Samsung OneUI 6.0 beta. Before that everything was running smoothly.

Looking back at my comments, that's not the only change to my environment actually. I had to run pkg update -y after upgrading, as many packages needed an update for Android 14. I just now ran pkg update -y and pkg upgrade again for the latest packages, but I was still able to reproduce the issue here.

My guess is that this is an Android 14 or OneUI 6.0 beta bug. When I change the permissions on the glxfce file, running "start" gives an error that it doesn't have the permission to access glxfce. So clearly it's finding it.

phoenixbyrd commented 1 year ago

Ok interesting! Something to think about for the future at least. Guess I can close this out now then. Hopefully things work fine once it's out of beta.

ilkersigirci commented 10 months ago

I am getting the same error on my Samsung Tab S9 Ultra with Android 14 Official Release. Just reinstalling from scratch fixes it, though. Writing this just to inform newly upgraded people