次のサービス単位ファイルがあります。
Type=simple
User=meghdad
ExecStart=/etc/startpianoteq.sh
[Unit]
Description=Pianoteq using a preset
[Install]
WantedBy=multi-user.target
このサービスは、オーディオおよびMIDIスレッドへのリアルタイムアクセスを必要とするPianoteqというプログラムを実行します。ただし、サービスを実行した後、「Midiスレッドがライブスケジュールを取得できませんでした。エラー1 - 操作は許可されていません」というエラーが発生します。
このスクリプトは 1 行のスクリプトであり、Pianoteq 実行可能ファイルを呼び出します。
スクリプトを手動で実行できます。したがって、設定の問題です。
答え1
#archlinuxチャンネルに質問して答えを見つけました。
サービス定義ファイルのサービスセクションに以下を追加する必要があります。
LimitRTPRIO=infinity
LimitMEMLOCK=infinity
LimitRTTIME=infinity