Документация
ОС Аврора 5.1.5

Данные пользователя

Начиная с ОС Аврора версии 4.0.1 каждое приложение запускается в изолированном окружении, которое ограничивает доступ к API и данным. Директории, которые доступны приложениям для чтения и записи, определяются как названием установочного пакета, так и разрешениями, перечисленными в .desktop-файле.

Пути к директориям рекомендуется указывать с помощью класса QStandardPaths или QML-типа StandardPaths. Такой подход позволяет избежать привязок к конкретному приложению или параметрам окружения.

Если приложение не использует libauroraapp, в функции main() нужно соответствующим образом сконфигурировать экземпляр класса QGuiApplication, чтобы пути были настроены корректно:

QScopedPointer<QGuiApplication> application(Aurora::Application::application(argc, argv));
application->setOrganizationName(QStringLiteral("{доменное_имя}"));
application->setApplicationName(QStringLiteral("{название_приложения}"));

{доменное_имя} и {название_приложения} должны соответствовать тем, которые указаны в .desktop-файле.

По умолчанию каждое приложение имеет доступ на чтение и запись только к тем директориям, которые ему соответствуют, а также общей директории всех приложений одной организации.

При разработке приложений, начиная с версии 4.0.2 update 1 (4.0.2.175), для получения путей следует использовать методы, предоставляемые библиотекой libauroraapp. Методы находятся в пространстве имен Aurora::Application.

Прямое использование путей может привести к остановке работы приложения и проблемам переносимости приложений, так как путь, возвращаемый методами API, может отличаться в новых версиях ОС.

Типы данных Описание
Динамические Данные, которые создаются приложением в процессе его работы
Статические Данные, поставляемые вместе с пакетом
Тип данных Доступ пользователей Доступ приложения API Описание
Динамические Только текущий Только текущее приложение filesDir(false) Директория для данных, доступных только текущему пользователю и текущему приложению
Только текущий Только текущее приложение cacheDir(false) Директория для данных, доступных только текущему пользователю и текущему приложению
Только текущий Все приложения организации organizationFilesDir(false) Директория для данных, доступных только текущему пользователю и всем приложениям одного вендора
Только текущий Все приложения организации organizationCacheDir(false) Директория для данных, доступных только текущему пользователю и всем приложениям одного вендора
Все Только текущее приложение filesDir(true) Директория для данных, доступных всем пользователям и только текущему приложению
Все Только текущее приложение cacheDir(true) Директория для данных, доступных всем пользователям и только текущему приложению
Все Все приложения организации organizationFilesDir(true) Директория для данных, доступных всем пользователям и всем приложениям одного вендора
Все Все приложения организации organizationCacheDir(true) Директория для данных, доступных всем пользователям и всем приложениям одного вендора
Статические Все Только текущее приложение pathTo() Директория для данных, доступных всем пользователям и только текущему приложению с возможностью распаковки данных при установке пакета (только чтение)
Все Все приложения организации organizationPathTo() Директория для данных, доступных всем пользователям и всем приложениями одного вендора с возможностью распаковки данных при установке пакета (только чтение)
Все Все приложения организации getPath() Директория для данных, доступных всем пользователям и всем приложениям

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

Для доступа к общим директориям пользователя необходимо указать разрешения в .desktop-файле.

Доступ к директориям для различных типов данных приложения и организации выдаётся без дополнительных разрешений.

Описание Константа QStandardPaths Свойство StandardPaths Константа Aurora::Application Путь Разрешение Примечание
Документы пользователя DocumentsLocation documents DocumentsLocation ~/Documents Documents или UserDirs
Загрузки пользователя DownloadLocation downloads DownloadLocation ~/Downloads Downloads или UserDirs
Музыка и другие аудиофайлы пользователя MusicLocation music MusicLocation ~/Music Music или UserDirs
Фотографии и другие изображения пользователя PicturesLocation pictures PicturesLocation ~/Pictures Pictures или UserDirs
Общие данные приложений пользователя GenericDataLocation genericData GenericDataLocation ~/Public PublicDir или UserDirs
Фильмы и другие видео пользователя MoviesLocation videos MoviesLocation ~/Videos Videos или UserDirs
Подключаемые накопители (SD-карты и т. п.) RemovableMedia RemovableMedia
Кэш приложения AppCacheLocation /srv/shared/$OrgName/$AppName/cache
Данные приложения AppDataLocation /srv/shared/$OrgName/$AppName/data
Кэш приложения для пользователя CacheLocation cache AppLocalCacheLocation ~/.cache/$OrgName/$AppName
Данные приложения для пользователя data AppLocalDataLocation ~/.local/share/$OrgName/$AppName
Каталог рабочего стола пользователя DesktopLocation DesktopLocation ~/Desktop
Шрифты FontsLocation /usr/share/fonts
Домашний каталог пользователя HomeLocation home HomeLocation ~
Кэш организации OrgCacheLocation /srv/shared/$OrgName/common/cache
Кэш организации для пользователя OrgLocalCacheLocation ~/.cache/$OrgName/common
Данные организации для пользователя OrgLocalDataLocation ~/.local/share/$OrgName/common
Каталог с общими файлами организации OrgFilesLocation /usr/share/common/$OrganizationName/ Данный путь используется только для чтения
Каталог с файлами пакета PackageFilesLocation /usr/share/$PackageName/
Каталог для файлов, используемых во время работы приложения RuntimeLocation RuntimeLocation /run/user/$User
Каталог для временных файлов TempLocation temporary TempLocation /tmp

Примечание: Несмотря на то, что разрешение UserDirs может использоваться для доступа ко всем перечисленным директориям пользователя, не рекомендуется его указывать, если нет необходимости работать со всеми директориями.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.