ПО: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.

См.также

Внешние ссылки