[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: xmove + ssh



On Fri, 12 May 2006 14:15:48 +0400
Иван Лох <loh@1917.com> wrote:

> 
> Так, что если победите, отпишитесь пожалуйста.

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

  $ ssh gruffi
  $ xmove &
  $ xcalc -display localhost:1

приводит к 
  X11 connection rejected because of wrong authentication.
  X11 connection rejected because of wrong authentication.
  xmove is not authorized to connect to server localhost:10.0.
  X11 connection rejected because of wrong authentication.
  Xlib: connection to "localhost:1.0" refused by server
  Xlib: Client is not authorized to connect to Server
  Error: Can't open display: localhost:1
замена localhost на gruffi не меняет ничего, те же ошибки

Если сделать 

  $ xauth list

узнать оттуда нужный ключ <KEY> и 

  $ xauth add localhost:10 MIT-MAGIC-COOKIE-1  <KEY>
  $ xauth add localhost:1 MIT-MAGIC-COOKIE-1  <KEY>

Тогда 

  $ xcacl -display localhost:1 

запускается (Это все в ssh сессии на gruffi). Нужны ли обе команды
xauth add, или достаточно только одной -- не знаю. Иногда достаточно
только одной, иногда же нужны две, какой-то закономерности не
установил. Для чего они нужны, также затрудняюсь сказать, ведь ssh уже
записиыват свой cookie, но он правда начинается с gruffi/unix:10 и по
логике вещей самому xmove неплохо бы писать нужные cookie также.

Дальше попробовал запустить локально (без ssh, в обычной X сессии) на
gruffi тот же самый xcalc.

  $ xmove &
  $ xcalc -display localhost:1 &

Зашёл на gruffi удалённо с помощью ssh и

  $ xmovectrl localhost:1 -list
  Not authorized to connect with xmove

  $ xauth add localhost:1 MIT-MAGIC-COOKIE-1 <KEY>

<KEY> опять таки приходится высматривать в результате xauth list "вручную".

  $ xmovectrl localhost:1 -list
  1     (no name)            :0                                                  
  $ 
почему (no name), не знаю, ожидал увидеть xcalc.
После этого

  $ xmovectrl localhost:1 -moveall localhost:10

перенесла xcalc c с одной машины на другую.

Для того, чтобы последняя команда работала, в ~/.Xauthority опять таки
нужен правильный cookie для localhost:10. Тут внимание, разных ключей
в выводе xauth list скорее всего будет два, один тот что сгенерирован
при старте х-овой сессии и другой сгенерированный ssh. Так если раньше
для localhost:1 нужен был сгенерированный DM ключ, то для localhost:10
нужен SSH ключ.

  $ xmovectrl localhost:1 -moveall :0

перенесла xcalc обратно на gruffi.

Из этого длинного и спутанного описания следует, что все упирается в
жонглирование cookie. Почему это так, как этого избежать или как это
автоматизировать - пока не знаю, но каждый раз вылавливать нужные
сookie и добавлять их конечно неудобно. Если что придет в голову,
поделитесь пожалуйста.


-- 
Vladimir Zolotykh



Reply to: