systemctlが呼び出されると、Telnetサーバーソフトウェアは文字を正しく送信できません。

systemctlが呼び出されると、Telnetサーバーソフトウェアは文字を正しく送信できません。

ソケットベースの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

ベストアンサー1

おすすめ記事