Опции запуска сервера calculate при загрузке (обертка)

При ручном соединении графического клиента есть возможность указать как адрес, так и порт, что предполагает возможность изменения его на стороне сервера. Однако я не нашел никаких конфигов для сервера кроме сертификатов, ну и еще чего-то, не относящегося к самому серверу. Нашел только опцию командной строки, но запускать сервер вручную ради такой задачи в лом.

Необходимость сменить порт появилась после того как linuxsampler не смог привязаться к порту. Вообше-то порт можно сменить и для linuxsampler, т.к. его клиенты (qsampler и jsampler) позволяют указать адрес/порт и командную строку для запуска сервиса. Однако есть еще не менее четырех сервисов, официально использующех именно этот порт.

Была бы не лишней возможность указывать порт (а может и еще какие-нибудь настройки намечены) где-нибудь в /etc/calculate/. Или вообще, для простоты можно добавить опцию типа cmdline со всеми опциями, которая бы выполнялась через exec.

s. Совсем забыл, что здесь можно редактировать тему (на linuxmusicians нельзя).

Хм, получается сложновато. Может быть типа cmd_opts, чтобы просто вставить сразу после нулевого аргумента, и никаких дополнительных запусков.

Пытался сделать на питоне - не нашел ничего для преобразования необработанной командной строки в список аргументов. Сделал обертку на баше, которая читает дополнительные аргументы из файла и вставляет разу после нулевого аргумента. Остается только заменить имена в /etc/init.d/calculate-core. Или может, оставить сам cl-core сделать оберткой, а оригинальный переименовать примерно в cl-core.real.

> cat /usr/sbin/cl-core-wrapper
#!/bin/bash

cl_core="cl-core"
opt_file=/etc/calculate/options

if ! [ -e $opt_file ]
then
  echo "warning: options file $opt_file not found. Runing without arguments."
  exec $cl_core $@
fi

exec $cl_core `cat $opt_file` $@

Перечитал оригинальное название - упоминание одного порта еще было бы нормально, но адрес…
в общем, смена названия не помешает

Добавили переменную для указания порта по умолчанию: core.cl_core_port. Изменения будут начиная с версий:

  • calculate-console-gui-3.1.9-r1
  • calculate-console-3.1.9-r1
  • calculate-core-3.1.9-r2

Пример /etc/calculate/calculate.env:

[core]
cl_core_port = 8889