приложение, которое использует xforwarding, не будет работать, если я не использую xhost + localhost

0

Я подключен к удаленной системе через nomachine enterprise. Мы используем внутреннее приложение, которое, по моему мнению, по сути пересылается с другой машины, когда я ее запускаю - оно запускается там и выводит мне информацию графически.

Когда мы пытаемся запустить его, мы получаем ошибку

xNo protocol specified
Jul 06 03:47:03 FATAL   Tk init failure: couldn't connect to display ":1004.0"

запуск xhosts +localhostпозволяет мне запускать это приложение, но есть смутные сообщения, которые опасны .

Как правильно это разрешить?

Мы работаем с Centos 6.5, GNOME 2.28.2 и Nomachine Enterprise. Я работаю как обычный пользователь, и приложение отлично работает локально.

Подмастерье Компьютерщик
источник

Ответы:

1

Обычно это сообщение появляется, когда вы вошли в систему как не авторизованный пользователь X-сервера. Это может произойти, например, когда кто-то пытается сделать su.

В этих случаях правильной процедурой является доступ к .Xauthorityфайлу реального пользователя X-сервера. Например, на моем ноутбуке, чтобы разрешить доступ к X-серверу, когда я становлюсь su, я создал символическую ссылку /root/.Xauthority, на /home/myname/.Xauthority.

Обычная процедура состоит в том, чтобы отобразить магический файл cookie MIT (который содержится в .Xauthorityформате, непригодном для отображения текста) в виде

   $ xauth list $DISPLAY
    rasal/unix:0  MIT-MAGIC-COOKIE-1  fdc693bdad69a20665771a695cdde589

и затем, как новый пользователь, который будет уполномочен, дать следующую команду:

   $  xauth add rasal/unix:0  MIT-MAGIC-COOKIE-1  fdc693bdad69a20665771a695cdde589

Проблема чаще всего возникает в Debian и его производных, потому что здесь XAUTHORITYне задана переменная окружения . Вы должны определенно попытаться установить его,

   export XAUTHORITY=~/.Xauthority

, Однако, если в этом участвуют другие пользователи (я никогда не запускал NoMachine, но многие приложения Nix создают специальных пользователей), вы можете сделать его постоянным для всех пользователей: тогда вы можете редактировать /etc/profileили /etc/environment. не забудьте указать его на файл MIT magic cookie существующего пользователя!

MariusMatutiae
источник
ооо. Nomachine работает как собственный пользователь. И это приложение работает как третий пользователь. Я не буду проливать слезы, когда мы заменим это новой, улучшенной заменой через Интернет.
Подмастерье Компьютерщик
@JourneymanGeek Это полностью решило вашу проблему, или это просто указало вам правильное направление?
MariusMatutiae
Это правильный способ сделать это из того, что я видел. Не работает для моей конкретной ситуации, потому что NX странно.
Подмастерье Компьютерщик
Я бы добавил, что причина, по которой вы не должны этого делать, состоит в том, что подделывать имя хоста тривиально, так что кто-то другой может притвориться вами.
подмастерье Компьютерщик