0

私はファイルを保存するためsavefig()saveas()関数を使用しています。MATLAB (R2015a、Ubuntu 14.04、パーソナル コンピューター、単一アカウント)。ただし、生成されるファイルの所有者は root です。所有者を自分のユーザー アカウントにしたい。.fig.jpg

後で所有権を取得するためにターミナルで使用できますchownが、ファイルの作成時に MATLAB から直接取得したいと考えています。

また、この問題は以前は発生していませんでした。OSとすべてのソフトウェアを新しくインストールしたところ、この動作が発生し始めました。

4

2 に答える 2

0

私は自分が間違っていたことを理解しました。

コマンドを使用して MATLAB を実行してsudo matlabいたため、ディスクに保存されるファイルの所有者はルートでした。ルートとして MATLAB を実行していた理由はmatlab、ターミナルで使用するだけではうまくいかなかったからです。特に、MATLAB では、JAVA 例外エラーが発生しました:「デスクトップの起動中にエラーが発生しました」。このエラーを解決するには、MATLAB の設定ディレクトリの所有権を取得する必要があり~/.matlab/R2015aました。私はsudo chown -R username:username ~/.matlab/R2015a/所有権を取得しました。これで、sudo を使用せずに MATLAB を実行できるようになり、生成されるファイルにも所有権が付与されます。次のリンクを使用して、所有権の問題を解決しました。

http://in.mathworks.com/matlabcentral/answers/50971-matlab-r2012b-java-exception-error-starting-desktop

コメントと回答ありがとうございます。もっと研究すべきだったと思います。

于 2016-08-01T13:18:17.280 に答える
0

これは、どのユーザーが最初に MATLAB を起動するかの問題である可能性が高いという以前のユーザーに同意します。

この問題を解決する手っ取り早い方法は、systemコマンドを使用することです。

system('chown user:group DIRTOSAVEDFILE');

また

system(sprintf('chown %s:%s %s',USERSTRING, GROUPSTRING, SAVEDFILEDIR));

systemこのコードを配布する予定がある場合は、systemコマンドでアクセスできるようにするため/bin/sh(MATLAB の起動方法によっては、root 権限が必要な場合もあります)、使用を再検討してください。

于 2016-08-01T07:27:40.627 に答える