Linux 環境変数を Windows アプリケーションからリモートで設定するにはどうすればよいですか?
3 に答える
直接できません。環境変数は、プロセスに関連付けられた単なる値のテーブルであり、プロセス時に継承されますfork(2)
。
それらを設定したい場合は、Linux 側で何らかのコードを実行する必要があります。おそらく最も簡単なのは、リモート プログラムをシェルで実行し、コマンド ラインで設定することです。
それ以外の場合は、Linux 側のクライアントを取得して、.xml を使用して環境に配置する方法が必要ですsetenv(3)
。
かなり簡潔な質問を額面どおりに受け取ると、Linux アプリケーションを実行し、.cshrc または .bashrc を変更するユーザーとして Windows アプリケーションを Linux システムに ftp し、必要な環境変数をシェル スクリプトに追加することができます。 . ただし、これは既に実行中のシェルを変更しません。
抽象的なレベルでは、プロセス間通信について話しています。Linux アプリケーションと通信するために通信したい Windows アプリケーションに情報があります。環境変数がこのデータを伝達するための最良の方法であるかどうかはわかりません。おそらく、Windows アプリと Linux アプリの間でソケットを開くのが最善でしょう。
私が考えることができる2つの方法-おそらく単純な順序で:
コマンドをネットワーク ソケットでリッスンする Linux プログラムを作成します。Windows アプリが適切なコマンドを送信します。Linux プログラムは、環境変数を設定するコマンドを実行します
system(export MY_ENV_VAR=abc).
。これは、次のようなものです。そうしない限り、ネットワーク上で安全ではありません。SSH を使用して Linux システムにログインし、スクリプトを実行して変数を設定します。Windows 用の SSH ライブラリがあるかどうかはわかりませんが、ない場合は驚くでしょう。PuTTY は優れたオープンソースの Windows SSH クライアントであるため、そこからコードを使用できる場合がありますが、アプリケーションの使用方法に応じて、最初にライセンスを確認する必要があります。このオプションには、必要に応じて PKI を使用してネットワーク接続を保護できるという利点があります。