Я разрабатываю приложение в Qt. Мне нужно создать файл в каталоге/usr/share/applications. Ниже приведен мой кодКак создать файл программно в папке, принадлежащей пользователю root
QDir::setCurrent("/usr/share/applications");
QFile launcherFile;
launcherFile.setFileName("aptana.desktop");
int status = launcherFile.open(QIODevice::WriteOnly | QIODevice::Text);
QTextStream stream(&launcherFile);
stream<<"Create file";
launcherFile.close();
У меня нет ошибки при отладке, но и файл не создается. Я думаю, что это проблема с привилегиями, потому что пользователь, с которым я зарегистрирован, не имеет права доступа к этой папке. Я видел, как другие приложения, такие как Synaptic Manager, запрашивают административный пароль, прежде чем продолжить приложение. Точно так же есть в любом случае, когда я могу открыть диалоговое окно с запросом пароля и получить учетные данные для создания файла как пользователя root? Какие еще способы решения этой ситуации?
Вы также можете использовать и настроить соответственно 'sudo' или' super' –