systemDを使用したPythonスクリプトの自動化 - nmcliコマンドの使用に関する問題(Network Manager)

systemDを使用したPythonスクリプトの自動化 - nmcliコマンドの使用に関する問題(Network Manager)

私は組み込みの電子エンジニアで、2か月間、私の顧客の1人にDebianベースのディストリビューションを使用して開発しました。

私は実際にオペレーティングシステムと4Gモデム間の通信と接続を処理するプロジェクトを進めています。モデムはATコマンドで管理され、オペレーティングシステムの接続は主にコマンドでping管理curlされます。

Pythonスクリプトはこれまでうまく機能しており、約2週間テストされました。私はそれに満足しており、今はスクリプト自動化段階にあります。

起動時にスクリプトを起動するためにsystemdと古い方法(init.d)を試しました。どちらもスクリプトを正しく実行しますが、コマンドの出力pingcurl問題があります。

ATコマンドを使用してモデムを初期化したら、nmcli device connectNetworkManagerパッケージのコマンドをスクリプトしてネットワークで使用し、pingネットワークと対話できるIPを取得しますcurl

systemd サービスで起動するか、init.d を使用して起動すると、コマンド出力は失敗します。ホストにpingを送信できず、結果がカールされます000

それにもかかわらず、Network Managerのステータスを表示するときは、次のような有効な設定がまだあります。

  1. IPアドレス
  2. DNSサーバー
  3. デフォルトゲートウェイ/ルーター

ただし、スクリプトの外部でもpingandcurlコマンドを使用すると、前述したのと同じエラーが発生します。

解決策を探すと、ネットワーク管理者がサービスを正しく機能させるためにDBUSセッションを使用していることがわかりました。

少し詰まっていますが、さらに問題を解決するための提案がある人がいるかどうか疑問に思います。

デバッグ用にネットワーク管理者のロギングを設定しましたが、これについては何もありません。

あなたの助けをいただきありがとうございます!

アントゥアン

関連情報