Michael Pozhidaev: MP> Если думать об изменении конфигурации путём правки конфигов в MP> домашней директории, то не получается ли это просто локальным MP> запуском сервера пользователем со своим конфигом.
Ну, вообще-то, я говорил о ситуации, когда сервер уже запущен на уровне системы, может быть, на другой машине. Клиент устанавливает с ним соединение и загружает через это соединение свои собственные настройки, чтобы сконфигурировать работу сервера для данного соединения. Можно, конечно, сделать так, чтобы сервер при запуске искал свои файлы с конфигурацией в $HOME. В таком случае его можно было бы просто запускать от имени обычного пользователя, а при запуске на системном уровне, если его вообще понадобится запускать на уровне системы, указать файл конфигурации явно в параметре командной строки. Именно так ведёт себя, например, fetchmail. При работе с удалённым сервером это не поможет, конечно. Но если работа с удалённым сервером - это не принципиально, то можно решить задачу и таким образом. MP> Это и сейчас работает. А я думал, что без ./configure --prefix=$HOME такое сейчас сделать нельзя. Объяснишь, как это делается? [...] MP> Vm может собрать информацию об output'ах не из своего основного MP> конфига, а из его частей, которые он ищет в директории рядом с MP> конфигом. (например /etc/voiceman.d, если сам конфиг MP> /etc/voiceman.conf). Туда можно класть ссылки на те синтезаторы, MP> которые нужны в данный момент. Затея в том, что такое прекрасно MP> скриптуется, а если есть возможность горячего подхвата изменений, то MP> оно может быть нормальным решением. В каком смысле нужны? Нужны - значит, клиент потребовал их для работы в данный момент? Если клиенту для этого ещё понадобится выполнять какие-то скрипты с правами root и перезагружать сервер, то мы придём к тому же, с чего начали: для работы с сервером клиенту не достаточно возможностей протокола. MP> Но если рассуждать глубже и искать более красивую структуру, то есть MP> такая идея: завести у каждого output кроме параметра name= скажем MP> ещё параметр id= и допускать существование нескольких output с MP> одинаковым name=, но с разным id=, и разрешая, чтобы только один MP> output из группы с одинаковым именем мог быть активен. Извини, не понял, какую проблему должно решать такое ограничение? MP> В протокол добавить команду смены output на другой с другим id=, MP> которая имела бы силу только в рамках одного соединения. Можно, наверное, таким способом решить проблему с выбором синтезаторов, но в конфигурации у Voiceman есть и другие вещи, которые имело бы смысл настраивать пользователю. Например, произношение символов или сокращений. MP> Единственное, что я не знаю, то как пробросить посылку такой команды MP> через emacspeak. Ну, можно записать id в поле идентификатора имени в emacspeak/servers и реализовать команду смены id в Emacspeak как выбор другого сервера из этой директории. Или написать для этого команду на лиспе. -- Дмитрий Падучих -- Blinux-rus mailing list [email protected] http://www.a11ywiki.org/cgi-bin/mailman/listinfo/blinux-rus
