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

Ответить