Depende um pouco de qual opção você está tentando configurar. Se for um local de pasta (como o diretório inicial, o diretório de tempo de execução, etc.), o systemd fornece isso por meio de variáveis.
Caso contrário, você pode usar um arquivo de ambiente para especificar as opções e, em seguida, fazer com que a unidade de serviço inclua as variáveis nesses arquivos. Por exemplo, o arquivo de serviço conteria o seguinte (além dos parâmetros usuais):
[Service]
Environment=ENV_OPTION_1=0 ENV_OPTION_2=linux
EnvironmentFile=/etc/default/program-name
ExecStart=/usr/bin/program $ENV_OPTION_1 ${ENV_OPTION_2}
EnvironmentFile
aponta para um arquivo simples que contém pares de valores-chave, assim:
ENV_OPTION_1=8913
ENV_OPTION_2=ubuntu
Environment
são opções padrão que você pode querer ter.
Os valores do ambiente são usados em ExecStart
, conforme mostrado acima. Observe que, se o valor puder ser separado por espaço, você precisará usar a sintaxe ${}
.