
Отредактировано относительно ответа @terdon.
На моем компьютере с Ubuntu:
Если я подключусь к серверу через ssh -X my_server
, то смогу запустить программу.
Затем я пытаюсь sudo -i
стать root, но не могу запустить ту же программу.
Ошибка:
Соединение X11 отклонено из-за неправильной аутентификации. qt.qpa.xcb: не удалось подключиться к дисплею localhost:18.0 qt.qpa.plugin: не удалось загрузить плагин платформы Qt "xcb" в "", хотя он был найден. Это приложение не удалось запустить, поскольку не удалось инициализировать плагин платформы Qt. Переустановка приложения может решить эту проблему.
Доступные плагины платформ: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Прервано (сброс ядра)
у меня естьWindows ВМсMobaXterm. Он показывает мне адрес, который использует X-сервер.
Если я сделаю то же самое, что и выше, у меня та же проблема. Но я могу печатать, export DISPLAY=172.30.4.66:0.0
и это работает.
echo $DISPLAY
затем выдает мне введенный адрес.
Как мне получить эти адреса на моем компьютере Ubuntu?
Набрав echo $DISPLAY
я получаю :0
. И export DISPLAY=<my ip>:0
не работает.
"x11-xserver-utils" не установлены (естьнет xhost).
решение1
Во-первых, вам никогда не понадобится sudo su
, зачем использовать 2 программы, когда подойдет одна? Просто запустите sudo -i
. Во-вторых, зачем вам это вообще нужно? Если вы хотите запустить программу как root, просто запустите sudo programName
. Далее, речь идет не о получении IP (и, кстати, нет смысла скрывать свой IP: 172.30.4.66 — это внутренний адрес в вашей домашней сети, это не ваш публичный IP), а о разрешении доступа.
Если вы действительно хотите, чтобы root мог запускать графические программы в сеансе X, вам нужно запустить, xhost +
чтобы разрешить доступ всем пользователям. Так что просто запустите xhost +
и попробуйте запустить. Если это не сработает, обновите свой вопрос с выводом.