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: