ソケットベースのBBSパッケージを作成しました。 /usr/local/bin/coderunner コマンドラインからバイナリを実行すると、クライアントセッションで親文字が正しく表示されます。ただし、systemctl start coderunnerを実行すると、すべての親文字が「?」として表示されます。
私はコンパイラの作者と話し合い、唯一の理解可能な提案は、systemctlがどのように文字列ライブラリに影響を与えるかどうかです。 $LOCALE、$LANG を表示してみました。違いはありません。
Wireshark / tcpdumpをCLIで手動で実行しましたが、CP437グラフィック文字が表示され、systemctlで実行すると、出力ストリームに「?」が表示されます。
- もう一つの奇妙な副作用は、これが約2週間前に始まったことです。それ以前は、問題なくsystemctlで実行されていました。私はコンパイラを変更しませんでした。
この問題を解決する方法に関する提案はありますか?
[Unit]
Description=The Modern Pascal Code Running Socket Server
After=network.target
[Service]
Type=simple
PIDFile=/run/coderunner2.pid
EnvironmentFile=-/etc/coderunner2.conf
ExecStartPre=/usr/bin/rm -f /run/coderunner2.pid
ExecStart=/usr/local/bin/coderunner2
##ExecStart=/usr/local/bin/coderunner2.sh
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
Restart=on-failure
RestartSec=42s
StandardOutput=null
[Install]
WantedBy=multi-user.target