Re: удалённое подключе ние к иксам машины

2005-09-05 Пенетрантность Victor Wagner
On 2005.09.05 at 11:39:43 +0200, Gossen Alexey wrote:

> On Mon, Sep 05, 2005 at 09:09:01AM +0400, Victor Wagner wrote:
> Сорри за некоторую сумбурность
> 
> Интересует именно последний вариант, когда нужно посмотреть, что сделала
> та или иная долгоиграющая программа и в зависимости от этого дать ей ту
> или иную команду методом клика.
> 
> Более конкретный пример. На удалённой машине запущен xmms. Я хочу с
> локального компьютера видеть саму программу, добавить пару песен в плэйлист и
> кликнуть на play, чтобы xmms заиграл. (Да, xmms поддерживает консольные
> команды. Но будем считать, что он этого не делает, примера ради)
> 
> Права доступа есть все.
> 
> Буду очень признателен, если ткнёте носом в нужное направление.

Приходят в голову следующие варианты

1. Ещё при запуске программы задуматься о том, что придется к ней потом
с другого дисплея лазить, и запустить её либо на vnc-сервере, либо с
помощью xmove.

2. Воспользоваться каким-то инструментом, который позволяет программно
генерировать события в X-ах. Такие средства есть, и предназначены в
основном для тестирования GUI-приложений. В голову приходит
слово android. Посмотреть на экран можно запустив любую программу для
деланья скриншотов (xwd, convert от imagemagick) с указанием нужного
дисплея, а потом выведя этот скриншот на локальный экран. А послать программе 
команду - c помощью вышеупомянутых средств скриптования GUI.

3. Поменять парадигму работы нафиг и вместо xmms использовать mpd или
alsaplayer-daemon.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: удалённое подключе ние к иксам машины

2005-09-04 Пенетрантность Victor Wagner
On 2005.09.04 at 23:50:00 +0200, Gossen Alexey wrote:

> Добрый день, народ.
> 
> Подскажите, пожалуйста способ, как с наименьшими затратами для рук и
> головы подключиться к удалённому икс-серверу. Интересует не ssh X11
> forwarding, где запускается новое приложение на ремотной машине, а
> соединение к существующему оконному менеджеру.

Ну так через ssh X11 forwarding приложение у тебя и подключается к удаленному  
X-серверу, на котором уже запущен оконный менеджер (в общем случае с
какой-то третьей машины).

Ты для начала разберись с терминологией

x-сервер это программа, которая контролирует монитор и клавиатуру и по
запросу программ рисует окна и прочие картинки, а также передает
клавиатурный и мышиный ввод программе.

оконный менеджер это программа которая указывает X-серверу каким образмо
манипулировать окнами работающих на нем программ.

А собственно программа, выполняющая некоторую полезную работу называется
X-клиентом.


Соответственно, существуют два основных способа работы с X-клиентами на
удаленной машине:

1. Создаешь локальнюу X-сессию (т.е. логинишься, запускаешь оконный
менеджер и, вероятно ряд других мелких программ), после чего с помощью
любого протокола удаленного выполнения команд (ssh, rsh, rexec)
запускаешь на требуемой машине X-клиент.

2. С помощью протокола XDMCP твой X-сервер обращается к некой удаленной
машине, с просьбой организовать сессию. На той машине должен работать
какой-нибудл display manager (xdm, kdm, gdm). Он нарисует окошко ввода
логина/пароля на твоем x-сервере, авторизует тебя и запустит (уже на
удаленной относительно твоего X-сервера машине) оконный менеджер. При
этом ты получаешь сессию, внутри которой ты можешь запускать программы
как на той машине, где запущен твой оконный менеджер, так и на любой
другой (см п 1), в том числе и той, где запущен твой X-сервер (если там
вообще есть что выполнять. Обычно в таком режиме работают X-терминалы,
на которых кроме X-сервера и аудиосервера выполнять нечего). 

Еще есть возможность подключить запущенное приложение  к любой X-сессии 
в качестве клиента. Для этого нужно только иметь доступ к
авторизационной информации данной сессии, то есть обладать правами на
чтения файла .Xauthority в ${HOME} того юзера, которому принадлежит
сессия.  С помощью такого приложения можно, например, сделать скриншот
X-ового десктопа, находящегося в другом конце города. 

Я так периодически делаю, когда оставляю на работе какую-нибудь
долгоиграющую программу, а потом хочу из дома посмотреть докуда она
доехала.


Попробуй переформулировать свою задачу в этих терминах.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]