ПО:Repetier-Server/Документация/0.70/Дополнительно/Продвинутая настройка
Repetier-Server | Документация | Часто возникающие вопросы |
Продвинутая настройка[1]
Иногда полезно иметь возможность вызывать внешние команды, вводя их через веб-интерфейс. Например, если Repetier-Server запущен через Raspberry Pi, и вы хотите его выключить, то делать это через ssh-терминал неудобно. С этой целью меню, расположенное в правой верхней части экрана, можно дополнить новыми кнопками – к примеру, той же кнопкой выключения. Или другая ситуация – допустим, вам на определенных стадиях печати нужно запустить некоторые команды. Для этого Repetier-Server имеет команду @execute, которая позволяет вызвать внешнюю программу. В целях безопасности произвольные команды вызывать не разрешается. Вместо этого вам нужно написать файл extcommands.xml, а затем поместить его в директорию database, расположенную в папке, куда вы установили Repetier-Server (точный путь зависит от типа ОС – см. разделы с установкой для Windows, Mac и Debian).
Ниже – пример подобного кода. После добавления/изменения файла нужно перезапустить Repetier-Server. Но перед этим обязательно убедитесь, что ваш файл содержит корректные данные.
<config>
<!--
Чтобы иметь возможность запускать внешние команды, введите их
в этом файле, указав полный путь. Вы увидите их в главном меню.
Скопируйте этот файл в
<папка_куда_был_установлен_repetier_server>/database.
Мера предосторожности: Онлайн-настройщика в Repetier-Server нет, и
это было сделано в целях безопасности. Команды, которые вы вводите
тут, выполняются с правами демона, который поддерживает работу
сервера. Если бы в Repetier-Server был функционал для онлайн-
настройки, хакеру для взлома вашей системы было бы достаточно всего
пары команд.
-->
<command>
<name>Shutdown Server</name>
<execute>sudo /sbin/shutdown -h now</execute>
<confirm>Really shut down the server?</confirm>
</command>
<command>
<name>Reboot Server</name>
<execute>sudo /sbin/shutdown -r now</execute>
<confirm>Really reboot the server?</confirm>
</command>
<!--
Файлы с G-кодом могут содержать команды, указанные в таком виде:
@execute cmd param1 param2
Чтобы пользователи не могли запускать нежелательные или опасные
команды, выполнять можно только те команды, что указаны тут.
Более того, в @execute можно использовать только те команды,
чьи сокращения указаны тут. Если возможно, параметры
лучше не указывать.
-->
<execute name="play" allowParams="true">/usr/bin/afplay</execute><!-- play the sound file on moc os x -->
</config>
Все команды выполняются с пользовательского аккаунта и с привилегиями демона, который поддерживает работу Repetier-Server. Поэтому, если вы хотите, чтобы он мог выключать ваш компьютер, Repetier-Server нужно добавить в список разрешенных пользователей. Чтобы сделать это, откройте терминал и введите там следующие команды:
# sudo -s
# echo "repetierserver ALL=NOPASSWD: /sbin/shutdown" > /etc/sudoers.d/repetierserver-shutdown
Альтернативные стартовые настройки
По умолчанию установщик создает конфигурационный файл RepetierServer.xml, в котором определяются наиболее важные стартовые параметры вроде места хранения и порта, который надо прослушивать. Поскольку с каждым апдейтом эти параметры перезаписываются, разработчики создали механизм, позволяющий поменять эти параметры раз и навсегда. Его суть в том, что вдобавок к исходному конфигурационному файлу Repetier-Server будет пытаться загрузить еще два конфигурационных файла (поэтому их надо загрузить в те места, где сервер будет их искать). Эти файлы – RepetierServer-extra.xml, расположенный в той же локации, что и RepetierServer.xml (для Windows это <папка_куда_был_установлен_сервер>/bin/, для Linux и Mac это <папка_куда_был_установлен_сервер>/etc/), а также <папка_куда_был_установлен_сервер/database/RepetierServer.xml.