Ubuntu на Android не может открыть дисплей Chroot - PullRequest
1 голос
/ 27 февраля 2011

привет Я использую Ubuntu на Android (с chroot) Я пытаюсь выполнить XEV (чтобы изменить кнопку громкости на CTRL), но каждый раз, когда я пытаюсь открыть XEV, он говорит, что не могу открыть дисплей «иличтобы открыть экран «127.0.0.1:0.0» (когда я изменяю переменную DISPLAY с экспортом)

Может кто-нибудь сказать мне, как решить эту проблему?Я не могу найти официальную страницу с ошибкой в ​​Google, ваш маленький совет будет очень полезным для меня. С уважением.Taeyun.

1 Ответ

0 голосов
/ 27 февраля 2011

DISPLAY=127.0.0.1:0.0 говорит об использовании TCP / IP для подключения к дисплею 0.0. Распределения не настроили X-серверы на прослушивание TCP в течение пяти и более лет, потому что это ненужная угроза безопасности; вам нужно удалить -nolisten из того, что вы выполняете X, если вы действительно хотите использовать TCP, а не доменные сокеты Unix.

Но действительно ли он нужен для прослушивания TCP-соединений? Кажется маловероятным - доменные сокеты Unix (например, /tmp/.X11-unix/X0) встречаются гораздо чаще, просто используйте DISPLAY=:0.0, чтобы запросить сокет домена Unix. Возможно, вам понадобится связать сокет с вашей средой chroot, в зависимости от того, откуда начинаются клиент и сервер.

После того, как вы сможете связаться с X-сервером с вашего X-клиента, вам также необходимо аутентифицировать его, используя xauth(1). Это раздражает :) и является единственной самой популярной причиной, почему все просто используют SSH X11 forwarding (ssh -X), а не имеют дело с прослушиванием TCP и xauth вручную (Кстати, можете ли вы просто запустить sshd «внутри» chroot на другом порту, чтобы вы могли легко получить всю эту магию бесплатно?)

...