Closed drjaska closed 1 year ago
Try starting termux-x11 again and immediately capture logcat
output. Post the output here.
I ran the termux-x11 :1 -xstartup "xclock"
command a few times in proot-distro and adb log section for kinda that timeframe looks like this
I need the complete log
And try to not start PRoot Distro from Termux:Widget. Just open Termux, start PRoot Distro and then termux-x11.
I can't find anything related in your log and can't reproduce the issue on my own:
I suggest few more things for troubleshooting:
am
(without arguments) under PRoot Distro. If there would be errors, post them here + logcat
.xclock
actually comes from Debian. It is a part of x11-apps
package.Ah, it works in bash but not in zsh. Try changing your login shell from bash to any other shell with for example install zsh and run chsh -s $(which zsh)
and log out and back in.
I looked at the env vars I had with bash and with zsh and found these notable differences.
< SHELL : '/usr/bin/bash'
> SHELL : '/usr/bin/zsh'
< ANDROID_ART_ROOT : '/apex/com.android.art'
> ANDROID_ART_ROOT : ''
< ANDROID_DATA : '/data'
> ANDROID_DATA : ''
< ANDROID_I18N_ROOT : '/apex/com.android.i18n'
> ANDROID_I18N_ROOT : ''
< ANDROID_ROOT : '/system'
> ANDROID_ROOT : ''
< ANDROID_TZDATA_ROOT : '/apex/com.android.tzdata'
> ANDROID_TZDATA_ROOT : ''
< LANG : 'C.UTF-8'
> LANG : ''
< MOZ_FAKE_NO_SANDBOX : '1'
> MOZ_FAKE_NO_SANDBOX : ''
< BOOTCLASSPATH : '/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/apex/com.android.i18n/javalib/core-icu4j.jar:/apex/com.android.adservices/javalib/framework-adservices.jar:/apex/com.android.adservices/javalib/framework-sdksandbox.jar:/apex/com.android.appsearch/javalib/framework-appsearch.jar:/apex/com.android.btservices/javalib/framework-bluetooth.jar:/apex/com.android.conscrypt/javalib/conscrypt.jar:/apex/com.android.ipsec/javalib/android.net.ipsec.ike.jar:/apex/com.android.media/javalib/updatable-media.jar:/apex/com.android.mediaprovider/javalib/framework-mediaprovider.jar:/apex/com.android.ondevicepersonalization/javalib/framework-ondevicepersonalization.jar:/apex/com.android.os.statsd/javalib/framework-statsd.jar:/apex/com.android.permission/javalib/framework-permission.jar:/apex/com.android.permission/javalib/framework-permission-s.jar:/apex/com.android.scheduling/javalib/framework-scheduling.jar:/apex/com.android.sdkext/javalib/framework-sdkextensions.jar:/apex/com.android.tethering/javalib/framework-connectivity.jar:/apex/com.android.tethering/javalib/framework-connectivity-t.jar:/apex/com.android.tethering/javalib/framework-tethering.jar:/apex/com.android.uwb/javalib/framework-uwb.jar:/apex/com.android.wifi/javalib/framework-wifi.jar'
> BOOTCLASSPATH : ''
< COLORTERM : 'truecolor'
> COLORTERM : ''
< PULSE_SERVER : '127.0.0.1'
> PULSE_SERVER : ''
< DEX2OATBOOTCLASSPATH : '/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/apex/com.android.i18n/javalib/core-icu4j.jar'
> DEX2OATBOOTCLASSPATH : ''
< EXTERNAL_STORAGE : '/sdcard'
> EXTERNAL_STORAGE : ''
< TMPDIR : '/tmp'
> TMPDIR : ''
Running the following command works in zsh and does provide an usable Xorg server I think.
ANDROID_ART_ROOT="/apex/com.android.art" ANDROID_DATA="/data" ANDROID_I18N_ROOT="/apex/com.android.i18n" ANDROID_ROOT="/system" ANDROID_TZDATA_ROOT="/apex/com.android.tzdata" LANG="C.UTF-8" MOZ_FAKE_NO_SANDBOX="1" BOOTCLASSPATH="/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/apex/com.android.i18n/javalib/core-icu4j.jar:/apex/com.android.adservices/javalib/framework-adservices.jar:/apex/com.android.adservices/javalib/framework-sdksandbox.jar:/apex/com.android.appsearch/javalib/framework-appsearch.jar:/apex/com.android.btservices/javalib/framework-bluetooth.jar:/apex/com.android.conscrypt/javalib/conscrypt.jar:/apex/com.android.ipsec/javalib/android.net.ipsec.ike.jar:/apex/com.android.media/javalib/updatable-media.jar:/apex/com.android.mediaprovider/javalib/framework-mediaprovider.jar:/apex/com.android.ondevicepersonalization/javalib/framework-ondevicepersonalization.jar:/apex/com.android.os.statsd/javalib/framework-statsd.jar:/apex/com.android.permission/javalib/framework-permission.jar:/apex/com.android.permission/javalib/framework-permission-s.jar:/apex/com.android.scheduling/javalib/framework-scheduling.jar:/apex/com.android.sdkext/javalib/framework-sdkextensions.jar:/apex/com.android.tethering/javalib/framework-connectivity.jar:/apex/com.android.tethering/javalib/framework-connectivity-t.jar:/apex/com.android.tethering/javalib/framework-tethering.jar:/apex/com.android.uwb/javalib/framework-uwb.jar:/apex/com.android.wifi/javalib/framework-wifi.jar" COLORTERM="truecolor" PULSE_SERVER="127.0.0.1" DEX2OATBOOTCLASSPATH="/apex/com.android.art/javalib/core-oj.jar:/apex/com.android.art/javalib/core-libart.jar:/apex/com.android.art/javalib/okhttp.jar:/apex/com.android.art/javalib/bouncycastle.jar:/apex/com.android.art/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/framework-graphics.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/apex/com.android.i18n/javalib/core-icu4j.jar" SHELL="/usr/bin/bash" EXTERNAL_STORAGE="/sdcard" TMPDIR="/tmp" termux-x11 :1 -xstartup "xclock"
Pasting those env vars to /etc/environment is a working band-aid fix too.
Yes, /etc/environment
seems to work. Need to do some testing to see whether using this file is reliable enough to replace /etc/profile.d
across different distributions.
As far I know /etc/environment
is loaded by PAM, but not all distributions use PAM for su
and login
utilities.
Syliree, Can You Ask?
Fixed in the latest git.
Problem description
Attempting to run a termux-11 server in proot-distro doesn't provide any x11 server but exits instantly, without any stdout nor stderr prints and with 0 for its exit code.
twaik: Possibly proot-distro does not bind some android pathes needed by
app_process
, you should open issue inproot-distro
's repo.What steps will reproduce the bug?
I don't know if the issue is reproducible with these but these were my steps:
install Debian proot-distro
install termux-x11
run
termux-x11 :1 -xstartup "xclock"
in Termuxdoesn't exit instantly and provides connectable x11 server with the termux:x11 mobile app
proot-distro login debian --shared-tmp --user drjaska
termux-x11 :1 -xstartup "xclock"
these exit instantly, without any stdout nor stderr prints and with 0 exit code
What is the expected behavior?
termux-x11 :1 -xstartup "xclock"
should not exit instantly and should provide a x11 server instead of exiting instantly.Bug report policy acknowledgement