Сохранять файлы в MATLAB с правами пользователя

Я использую savefig() а также saveas() функции для сохранения .fig а также .jpg файлы соотв. в MATLAB (R2015a, Ubuntu 14.04, персональный компьютер, единая учетная запись). Однако владелец генерируемых файлов - root. Я хочу, чтобы владелец был моей учетной записью.

я могу использовать chown в терминале, чтобы позже получить право владения, но я хочу, чтобы это происходило напрямую из MATLAB, т.е. во время создания файла.

Кроме того, эта проблема не возникала раньше. Я только что сделал новую установку ОС и всего программного обеспечения, и это поведение начало происходить.

2 ответа

Я согласен с предыдущими пользователями, что это скорее вопрос того, с чего пользователь начинает MATLAB с самого начала.

Быстрый и грязный способ решения этой проблемы - использование system команда.

system('chown user:group DIRTOSAVEDFILE');

или же

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

Пожалуйста, пересмотрите использование system если вы планируете распространять этот код как systemКоманда дает доступ к /bin/sh (может быть, даже с правами root в зависимости от того, как запускается MATLAB).

Я понял, что я делаю неправильно.

Я запускал MATLAB с помощью команды sudo matlabИменно поэтому файлы, сохраняемые на диск, имели права root. Причина, по которой я запускал MATLAB от имени root, заключалась в том, что я просто использовал matlab в терминале у меня не работал. В частности, MATLAB выдал ошибку исключения JAVA: "Ошибка запуска рабочего стола". Чтобы устранить эту ошибку, мне пришлось получить право собственности на каталог предпочтений MATLAB, который ~/.matlab/R2015a, я сделал sudo chown -R username:username ~/.matlab/R2015a/ чтобы получить право собственности. Теперь я могу запускать MATLAB без sudo, так как генерируемые файлы также принадлежат мне. Я использовал следующую ссылку, чтобы решить мою проблему собственности:

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

Спасибо за комментарии и ответы. Я должен был сделать больше исследований, я думаю.

Другие вопросы по тегам