以下を実行する必要がある他のプロセスにbashコマンドを渡す必要があります。
- SSH経由でコンピュータに接続します。パスワードプロンプトは必要ありません。
- いくつかの環境変数の設定:ソースパス/to/script.sh
- (2)が必要なGUIプログラムを起動します。
これまで私は以下を持っています:
ssh -n -f pc-name -XYC nohup source folder/setup_thing.sh; program
私の努力によって私は次を得ます:
nohup: failed to run command `source': No such file or directory
bash: program: command not found
同様の修正を試しました。これそしてこれそして他のいくつかの同様の答え。これらすべてをbashファイルに入れてからssh mySever 'nohup bash myscript.sh'
。
上記のコマンドが正常に実行されるようにどのようにリファクタリングできますか?
答え1
頑張ります
ssh -n -f pc-name -XYC ". folder/setup_thing.sh; nohup program &"
. folder/setup_thing.sh
変数は setup_thing.sh で初期化されます。nohup program &
バックグループでプログラムを実行し、sshから戻ります(nohupによる)。
答え2
私はこれを試しました:
nohup ssh -n -f pc-name -XYC "source folder/setup_thing.sh; program"
効果がありました。私に言うが、
nohup: ignoring input and redirecting stderr to stdout