【发布时间】:2021-05-18 11:08:32
【问题描述】:
我用这个“.service”文件创建了一个流体合成服务:
[Unit]
Description=fluidsynth-ng
After=xsynth-network.service
[Service]
EnvironmentFile=/etc/fluidsynth-ng.conf
ExecStart=/usr/bin/fluidsynth -a $AUDIO_DEVICE -c $AUDIO_BUFFERS -z $BUFFER_SIZE -r $SAMPLE_RATE -s -o shell.port=9988 -m $MIDI_DRIVER -i
Type=simple
User=root
Group=root
PIDFile=/tmp/fluidsynth-ng.pid
[Install]
WantedBy=multi-user.target
问题是我想将端口参数传递给 ExecStart 但它不起作用:
[Unit]
Description=fluidsynth-ng
After=xsynth-network.service
[Service]
EnvironmentFile=/etc/fluidsynth-ng.conf
ExecStart=/usr/bin/fluidsynth -a $AUDIO_DEVICE -c $AUDIO_BUFFERS -z $BUFFER_SIZE -r $SAMPLE_RATE -s -o shell.port=$SERVER_PORT -m $MIDI_DRIVER -i
Type=simple
User=root
Group=root
PIDFile=/tmp/fluidsynth-ng.pid
[Install]
WantedBy=multi-user.target
我认为 $SERVER_PORT 解析有问题,因为我收到此错误:“fluidsynth: error: Failed to bind server socket”
EnvironmentFile 看起来正确:
AUDIO_DEVICE=jack
SERVER_PORT=9988
SAMPLE_RATE=48000
AUDIO_BUFFERS=2
BUFFER_SIZE=64
MIDI_DRIVER=alsa_seq
有什么帮助吗?
【问题讨论】:
-
可能有其他东西占用了该端口。仔细检查。