создание .deb пакет, но плохие полномочия в папку назначения

Я создаю .deb пакет для своей последней игры, http://sundaycoders.host-ed.net/download.html.

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

Игровые файлы установлены в каталог:/usr/games/marball/

Однажды выполнение, программа должна генерировать 2 файла (в первый раз запуск) (.cfg и .sav файлы), но не кажется, что папка имеет права разрешения создать файлы в него.

Какая-либо справка с этой проблемой? Я должен добавить команду во время .deb процесса сборки пакета?

3
задан 8 September 2011 в 11:38

2 ответа

В Unix те вещи должны войти в домашнюю папку пользователя - что-то как $HOME/.marball/game.cfg и т.д.

Пользователь не будет (и не был должен) иметь полномочия изменить файлы в/usr/whatever

3
ответ дан 1 December 2019 в 16:13

/usr/games/marball местоположение в масштабе всей системы, означая, что изменения в файлах здесь будут влиять на всех пользователей. Поэтому обычно прогон программы обычным пользователем не может создать файлы здесь. Это похоже на файлы, которые Вы хотите создать, конфигурация и сохранила игровые файлы. В многопользовательской системе Вы хотели бы смочь иметь отдельные сохраненные игры, и конфигурация для каждого пользователя, настолько хранящего эти файлы в месте в масштабе всей системы, не подошла бы даже при изменении полномочий допускать это.

Эти файлы должны храниться в пользовательском каталоге конфигурации. Для получения этого каталога необходимо сначала искать переменную среды "XDG_CONFIG_HOME". Если это не существует, используйте ~/.config (можно получить местоположение '~' от "ДОМАШНЕЙ" переменной среды). В этой папке Ваша игра должна создать 'marball' папку и использовать это в качестве местоположения 'marball.cfg' и 'Marball.sav'.

Ваша игра является кросс-платформенной, таким образом, Вы должны будете только использовать этот метод на Linux. Однако это - хорошая практика, чтобы хранить эти файлы где-нибудь в домашней папке (или эквивалентный) на всех платформах.

1
ответ дан 1 December 2019 в 16:13

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

Похожие вопросы: