Я использую XServer XSDL. Затем попытался запустить в нем xterm после export DISPLAY=:0
. Если я это сделаю export DISPLAY=10.94.XXX.XXX:1
, xterm работает нормально. Я попытался отладить его с помощью strace
. Это строка, которая, кажется, вызывает проблему sin_addr=inet_addr("127.0.0.1")}, 16) = -1 ECONNREFUSED (Connection refused)
.
Я обсуждал эту проблему на Xserver/xsdl . Мне сказали, что это может быть проблема с разрешением Android. Поэтому я ищу помощи здесь.
Может ли кто-нибудь помочь мне разобраться с этой проблемой?
Кажется, есть какой-то брандмауэр, который блокирует соединение. Я не смог решить эту проблему. Но я нашел обходной путь.
root
привилегиями. su
в эмуляторе терминала)ifconfig
ifconfig lo:0 127.0.0.2 netmask 255.0.0.0 up
:)export DISPLAY=127.0.0.2:1 startfluxbox
(или любую программу xclient, теперь все работает нормально)Примечание 1. Каждый раз, когда мой телефон перезагружается, мне приходится снова создавать петлевую сеть. Также могут быть файлы .rc для добавления сценариев запуска на Android. Но я никогда не заморачивался их изменением (потому что не часто перезагружаю телефон).
Примечание 2: я был бы очень признателен за правильное решение (лучше, если бы оно работало без рута), потому что мой метод нельзя применить на телефоне без рута. Таким образом, люди с этой проблемой, но без рутированного телефона, не могут использовать xserver, пока кто-нибудь не найдет другое решение.