Ubuntu 20.04 LTSでパラメータとDISPLAY環境変数を使用してbashスクリプトを使用してMATLABを起動するには?

Ubuntu 20.04 LTSでパラメータとDISPLAY環境変数を使用してbashスクリプトを使用してMATLABを起動するには?

AQuA_WBSv_Instance_Spool.sh,あるコンピュータには、execをユーザー「matlab_executor」として使用してbashスクリプトを呼び出し、戻りを待たないPHPスクリプトがあります。

exec('bash -c "exec nohup setsid sudo -u matlab_executor bash /home/matlab_executor/matlab/AQUA_WBSv/AQuA_WBSv_Instance_Spool.sh testU > /dev/null 2>&1 &"');

AQuA_WBSv_Instance_Spool.sh、にあり、/home/matlab_executor/matlab/AQUA_WBSv/次のようになります。

#DISPLAY=:0 ./matlab -r 'AQuA_WBSv_Main("$1")'| tr -d '\r'
echo "spooler entry with argument $1 executing as user $(whoami)" > /home/matlab_executor/matlab/AQUA_WBSv/output.txt | tr -d '\r'

output.txt次の内容で同じディレクトリに正常に書き込みます。

spooler entry with argument testU executing as user matlab_executor

また、ローカルでログインしたりmatlab_executorDISPLAY=:0 ./matlab -r 'AQuA_WBSv_Main("testU")'端末で実行したり、同じディレクトリで実行している場合、MATLABは画面に視覚的に表示しながら、-r引数に付属の関数を起動して正常に実行できます。

私の質問は次のとおりです

bashスクリプトからハッシュを削除すると、#DISPLAY=:0 ./matlab -r 'AQuA_WBSv_Main("$1")'| tr -d '\r'スクリプトは次のようになります。

DISPLAY=:0 ./matlab -r 'AQuA_WBSv_Main("$1")'| tr -d '\r'
echo "spooler entry with argument $1 executing as user $(whoami)" > /home/matlab_executor/matlab/AQUA_WBSv/output.txt | tr -d '\r'

ローカルでログインしたときにMATLABが起動しない、または視覚的に表示されないのはなぜですか、そしてoutput.txtに出力が表示されないのはなぜですか?

ありがとう

ベストアンサー1

おすすめ記事