SSH и идентификаторы окон - PullRequest
       56

SSH и идентификаторы окон

2 голосов
/ 05 февраля 2009

У меня есть проект в школе, который меня расстраивает ... Я подключаюсь к компьютеру Solaris в лаборатории из своего собственного Debian-бокса через

ssh -Y name@***.cs.<school>

Я могу войти очень хорошо, и X11, кажется, тоже работает. Однако этот пектикулярный проект требует, чтобы мы нашли идентификатор окна netscape через xwininfo и использовали эту информацию в следующей команде

netscape -id 0xa00029 -remote 'openFile(/path/to/html/file)'

Теперь, если этот netscape является единственным окном, которое я открыл (кроме xterm), предыдущая команда работает просто отлично. Однако, если у меня открыты какие-либо другие окна iceweasel (независимо от порядка, в котором я открыл netscape / iceweasel), команда перешлет на мой iceweasel, несмотря на то, что я выполняю команду в сеансе SSH и два окна имеют очень разные идентификаторы.

Все это в конечном итоге должно войти в программу на C, но я даже не могу заставить ее работать надежно вручную!

Есть идеи?

P.S. Я только что видел это, которое может помочь. Когда я SSHed через Cygwin / X, используя ту же команду, я получаю эту ошибку

Warning: No xauth data; using fake authentication data for X11 forwarding.

Не уверен, что это важно, так как я все еще могу использовать X11 (очевидно) отлично.

Спасибо.

P.P.S ключ -id задокументирован на справочных страницах netscape:

-id window-id
      Identifies an X window to receive -remote commands.  If
      you do not specify a window, the first window found is
      used.

Ответы [ 3 ]

2 голосов
/ 05 февраля 2009

Когда вы используете ssh -Y, вы запрашиваете, чтобы удаленные клиенты были перенаправлены на ваш локальный X-сервер с полными разрешениями. Netscape / Mozilla / Firefox / Iceweasel / Etc. удаленный протокол проходит через X-сервер, поэтому он также будет перенаправлен.

http://www.mozilla.org/unix/remote.html документирует протокол и ничего не упоминает о -id. Также не очень быстрый взгляд на источник (например, http://mxr.mozilla.org/seamonkey/source/widget/src/xremoteclient/XRemoteClient.cpp#202) выглядит многообещающе, поскольку есть опция -id.

0 голосов
/ 30 июля 2009

если у меня есть какие-нибудь другие окна из ледяной ласки открыть (независимо от порядка, в котором Я открыл netscape / iceweasel) команда перешлет к моей ледяной ласке несмотря на то, что я управляю Команда в моей сессии SSH и два окна имеют очень разные идентификаторы

Iceweasel кодируется таким образом. Он пытается запустить только один процесс для всех открытых окон для этого пользователя.

Используйте параметр командной строки -no-remote, чтобы избежать этого. Смотри http://kb.mozillazine.org/Command_line_arguments

0 голосов
/ 09 февраля 2009

Я сел на реальную машину, чтобы выполнить те же тесты, и все они тоже там провалились ... Я бы открыл 2 окна netscape и попытался бы направить команду по одному за раз. Последняя открытая будет работать правильно, но любая команда, направленная на другую, будет перенаправлена ​​в то же окно, поэтому на данный момент я убежден, что проблема заключается в том, что команда не реализована должным образом и / или все в этой системе будучи действительно, действительно старым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...