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

В качестве конечного пользователя самым простым способом я могу перейти на «Первичная кнопка» правой кнопкой мыши в настройках сенсорной панели мыши.

Двойной щелчок по-прежнему работает как основной слева, коснитесь области кнопки работает как правый рычаг.

Ubuntu 17.04.

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

10 ответов

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

Эти файлы должны храниться в каталоге конфигурации пользователя. Чтобы получить этот каталог, вы должны сначала искать переменную окружения «XDG_CONFIG_HOME». Если этого не существует, используйте ~ / .config (вы можете получить местоположение «~» из переменной среды «HOME»). В этой папке ваша игра должна создать папку «marball» и использовать ее как местоположение «marball.cfg» и «Marball.sav».

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

1
ответ дан 25 July 2018 в 21:21
  • 1
    Понял :) Тогда я создаю $ HOME / marball для сгенерированных файлов. – ozzy yzzo 8 September 2011 в 14:56
  • 2
    Обратите внимание на точку в начале имени файла - ~ / .marball. По соглашению, файлы / каталоги, начиная с. (т. е. не показаны в файловом менеджере), и все хорошо управляемые программы сохраняют свои конфиги в файлах / каталогах, начиная с. – Sergey 8 September 2011 в 16:13
  • 3
    ~ / .config / marble & gt; ~ / .marble & gt; ~ / Мрамор – dv3500ea 8 September 2011 в 16:56

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

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

3
ответ дан 25 July 2018 в 21:21
  • 1
    В основном это означает: вы должны изменить исходный код вашей программы (а не упаковку), чтобы сохранить их в ~ HOME, предпочтительно следуя спецификации XDG . – poolie 8 September 2011 в 13:00
  • 2
    Ну, используя Ubuntu, я могу видеть игры, расположенные в / usr / games, которые являются рекомендуемым местом. Мне нужно только изменить разрешения для 2 файлов: /usr/games/marball/marball.cfg и /usr/games/marball/Marball.sav – ozzy yzzo 8 September 2011 в 13:20
  • 3
    Чтобы внести эти изменения, вам нужен корневой доступ, например. через судо. Когда эти игры установлены, они обычно запрашивают пароль администратора (тот, кто может sudo) – Peter Lawrey 8 September 2011 в 16:50
  • 4
    Питер, нет сомнений, что можно изменить права доступа к файлам при установке deb и сделать их доступными для всего мира - дело в том, что это было бы очень плохой практикой. – Sergey 8 September 2011 в 17:14

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

Эти файлы должны храниться в каталоге конфигурации пользователя. Чтобы получить этот каталог, вы должны сначала искать переменную окружения «XDG_CONFIG_HOME». Если этого не существует, используйте ~ / .config (вы можете получить местоположение «~» из переменной среды «HOME»). В этой папке ваша игра должна создать папку «marball» и использовать ее как местоположение «marball.cfg» и «Marball.sav».

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

1
ответ дан 2 August 2018 в 03:00
  • 1
    Понял :) Тогда я создаю $ HOME / marball для сгенерированных файлов. – ozzy yzzo 8 September 2011 в 14:56
  • 2
    Обратите внимание на точку в начале имени файла - ~ / .marball. По соглашению, файлы / каталоги, начиная с. (т. е. не показаны в файловом менеджере), и все хорошо управляемые программы сохраняют свои конфиги в файлах / каталогах, начиная с. – Sergey 8 September 2011 в 16:13
  • 3
    ~ / .config / marble & gt; ~ / .marble & gt; ~ / Мрамор – dv3500ea 8 September 2011 в 16:56

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

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

3
ответ дан 2 August 2018 в 03:00
  • 1
    В основном это означает: вы должны изменить исходный код вашей программы (а не упаковку), чтобы сохранить их в ~ HOME, предпочтительно следуя спецификации XDG . – poolie 8 September 2011 в 13:00
  • 2
    Ну, используя Ubuntu, я могу видеть игры, расположенные в / usr / games, которые являются рекомендуемым местом. Мне нужно только изменить разрешения для 2 файлов: /usr/games/marball/marball.cfg и /usr/games/marball/Marball.sav – ozzy yzzo 8 September 2011 в 13:20
  • 3
    Чтобы внести эти изменения, вам нужен корневой доступ, например. через судо. Когда эти игры установлены, они обычно запрашивают пароль администратора (тот, кто может sudo) – Peter Lawrey 8 September 2011 в 16:50
  • 4
    Питер, нет сомнений, что можно изменить права доступа к файлам при установке deb и сделать их доступными для всего мира - дело в том, что это было бы очень плохой практикой. – Sergey 8 September 2011 в 17:14

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

Эти файлы должны храниться в каталоге конфигурации пользователя. Чтобы получить этот каталог, вы должны сначала искать переменную окружения «XDG_CONFIG_HOME». Если этого не существует, используйте ~ / .config (вы можете получить местоположение «~» из переменной среды «HOME»). В этой папке ваша игра должна создать папку «marball» и использовать ее как местоположение «marball.cfg» и «Marball.sav».

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

1
ответ дан 4 August 2018 в 18:50
  • 1
    Понял :) Тогда я создаю $ HOME / marball для сгенерированных файлов. – ozzy yzzo 8 September 2011 в 14:56
  • 2
    Обратите внимание на точку в начале имени файла - ~ / .marball. По соглашению, файлы / каталоги, начиная с. (т. е. не показаны в файловом менеджере), и все хорошо управляемые программы сохраняют свои конфиги в файлах / каталогах, начиная с. – Sergey 8 September 2011 в 16:13
  • 3
    ~ / .config / marble & gt; ~ / .marble & gt; ~ / Мрамор – dv3500ea 8 September 2011 в 16:56

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

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

3
ответ дан 4 August 2018 в 18:50
  • 1
    В основном это означает: вы должны изменить исходный код вашей программы (а не упаковку), чтобы сохранить их в ~ HOME, предпочтительно следуя спецификации XDG . – poolie 8 September 2011 в 13:00
  • 2
    Ну, используя Ubuntu, я могу видеть игры, расположенные в / usr / games, которые являются рекомендуемым местом. Мне нужно только изменить разрешения для 2 файлов: /usr/games/marball/marball.cfg и /usr/games/marball/Marball.sav – ozzy yzzo 8 September 2011 в 13:20
  • 3
    Чтобы внести эти изменения, вам нужен корневой доступ, например. через судо. Когда эти игры установлены, они обычно запрашивают пароль администратора (тот, кто может sudo) – Peter Lawrey 8 September 2011 в 16:50
  • 4
    Питер, нет сомнений, что можно изменить права доступа к файлам при установке deb и сделать их доступными для всего мира - дело в том, что это было бы очень плохой практикой. – Sergey 8 September 2011 в 17:14

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

Эти файлы должны храниться в каталоге конфигурации пользователя. Чтобы получить этот каталог, вы должны сначала искать переменную окружения «XDG_CONFIG_HOME». Если этого не существует, используйте ~ / .config (вы можете получить местоположение «~» из переменной среды «HOME»). В этой папке ваша игра должна создать папку «marball» и использовать ее как местоположение «marball.cfg» и «Marball.sav».

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

1
ответ дан 6 August 2018 в 03:13
  • 1
    Понял :) Тогда я создаю $ HOME / marball для сгенерированных файлов. – ozzy yzzo 8 September 2011 в 14:56
  • 2
    Обратите внимание на точку в начале имени файла - ~ / .marball. По соглашению, файлы / каталоги, начиная с. (т. е. не показаны в файловом менеджере), и все хорошо управляемые программы сохраняют свои конфиги в файлах / каталогах, начиная с. – Sergey 8 September 2011 в 16:13
  • 3
    ~ / .config / marble & gt; ~ / .marble & gt; ~ / Мрамор – dv3500ea 8 September 2011 в 16:56

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

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

3
ответ дан 6 August 2018 в 03:13
  • 1
    В основном это означает: вы должны изменить исходный код вашей программы (а не упаковку), чтобы сохранить их в ~ HOME, предпочтительно следуя спецификации XDG . – poolie 8 September 2011 в 13:00
  • 2
    Ну, используя Ubuntu, я могу видеть игры, расположенные в / usr / games, которые являются рекомендуемым местом. Мне нужно только изменить разрешения для 2 файлов: /usr/games/marball/marball.cfg и /usr/games/marball/Marball.sav – ozzy yzzo 8 September 2011 в 13:20
  • 3
    Чтобы внести эти изменения, вам нужен корневой доступ, например. через судо. Когда эти игры установлены, они обычно запрашивают пароль администратора (тот, кто может sudo) – Peter Lawrey 8 September 2011 в 16:50
  • 4
    Питер, нет сомнений, что можно изменить права доступа к файлам при установке deb и сделать их доступными для всего мира - дело в том, что это было бы очень плохой практикой. – Sergey 8 September 2011 в 17:14

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

Эти файлы должны храниться в каталоге конфигурации пользователя. Чтобы получить этот каталог, вы должны сначала искать переменную окружения «XDG_CONFIG_HOME». Если этого не существует, используйте ~ / .config (вы можете получить местоположение «~» из переменной среды «HOME»). В этой папке ваша игра должна создать папку «marball» и использовать ее как местоположение «marball.cfg» и «Marball.sav».

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

1
ответ дан 7 August 2018 в 20:55
  • 1
    Понял :) Тогда я создаю $ HOME / marball для сгенерированных файлов. – ozzy yzzo 8 September 2011 в 14:56
  • 2
    Обратите внимание на точку в начале имени файла - ~ / .marball. По соглашению, файлы / каталоги, начиная с. (т. е. не показаны в файловом менеджере), и все хорошо управляемые программы сохраняют свои конфиги в файлах / каталогах, начиная с. – Sergey 8 September 2011 в 16:13
  • 3
    ~ / .config / marble & gt; ~ / .marble & gt; ~ / Мрамор – dv3500ea 8 September 2011 в 16:56

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

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

3
ответ дан 7 August 2018 в 20:55
  • 1
    В основном это означает: вы должны изменить исходный код вашей программы (а не упаковку), чтобы сохранить их в ~ HOME, предпочтительно следуя спецификации XDG . – poolie 8 September 2011 в 13:00
  • 2
    Ну, используя Ubuntu, я могу видеть игры, расположенные в / usr / games, которые являются рекомендуемым местом. Мне нужно только изменить разрешения для 2 файлов: /usr/games/marball/marball.cfg и /usr/games/marball/Marball.sav – ozzy yzzo 8 September 2011 в 13:20
  • 3
    Чтобы внести эти изменения, вам нужен корневой доступ, например. через судо. Когда эти игры установлены, они обычно запрашивают пароль администратора (тот, кто может sudo) – Peter Lawrey 8 September 2011 в 16:50
  • 4
    Питер, нет сомнений, что можно изменить права доступа к файлам при установке deb и сделать их доступными для всего мира - дело в том, что это было бы очень плохой практикой. – Sergey 8 September 2011 в 17:14

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

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