Тайм-аут удаленного приложения X11 - PullRequest
0 голосов
/ 11 марта 2012

Мне нужен способ уменьшить время ожидания моего X-сервера для удаленных приложений.В настоящее время X11 будет сохранять приложение на дисплее в течение очень долгого времени (> 30 минут) после удаления соединения Ethernet.Мне нужно сделать тайм-аут в течение 10-30 секунд после потери связи с приложением.

Я использую стандартный сервер Xorg без каких-либо изменений.Я перепробовал множество методов для этого.Я попытался использовать опцию -to на X-сервере, но это, похоже, не имеет никакого эффекта.Я также попытался возиться со свойствами TCP с помощью sysctl.Я установил для свойств tcp_keepalive_ * значения, которые должны дать мне необходимое время ожидания, но это также, похоже, не влияет на время ожидания.

Кроме того, удаленные приложения не используют туннелирование SSH для подключения ксервер.Это открытый сервер для безопасного соединения, поэтому туннелирование не требуется.Механизм тайм-аута должен быть выполнен на стороне сервера, так как я не могу контролировать приложения.

У кого-нибудь есть идеи, как получить необходимое поведение от X-сервера?

1 Ответ

0 голосов
/ 29 августа 2012

X-сервер не имеет времени ожидания клиента.Все, что вы видите, похоже на то, что делает TCP, а не X.

Если вам повезет, приложение, с которым вы разговариваете, реагирует на протокол _NET_WM_PING (большинство современных наборов инструментов делают это для вас внутренне).Если вы хотя бы можете контролировать используемый вами оконный менеджер, вы можете изменить его так, чтобы он отправлял сообщения ping всем запущенным приложениям и удалял их с помощью XKillClient, если они не отвечают быстро.

...