Это смесь. Каждый пакет может быть лицензирован на разных условиях.
Как правило, право изменять его и распространять каждый пакет в основном и юниверсе, некоторые пакеты могут иметь ограничения на это, например, имя и логотип firefox являются товарными знаками, поэтому нельзя использовать без разрешения Mozilla.
Вы можете посмотреть отдельные лицензии на пакеты в / usr / share / doc / * / copyright
Это из политики безопасности Ubuntu :
Требуется бит разрешения на выполнение
Приложения, включая рабочие столы и оболочки, не должны запускать исполняемый код из файлов, когда они оба:
- не имеют исполняемого бита
- , расположенного в домашнем каталоге пользователя или во временном каталоге.
Сюда входят файлы * .desktop, * .jar и * .exe.
Ничто не может обеспечить обходной путь для их автоматического запуска в любом случае ...
Так что да, согласно этой политике, должна быть возможность запустить файл .desktop без установленного исполняемого бита. В соответствии с этой политикой вам нужно будет только удалить этот файл из каталогов /home/
и /tmp/
, а затем запустить его без установленного исполняемого бита. Это в теории / в соответствии с политикой.
На практике nautilus позволит вам запускать файлы .desktop без установленного исполняемого бита из каталогов XDG_DATA_DIR и из каталога ~/.gnome2/
. Вы можете проверить XDG_DATA_DIRS с помощью команды echo $XDG_DATA_DIRS
. Поэтому, если вы поместите свой файл .desktop в XDG_DATA_DIR или в ~/.gnome2/
, вы сможете запустить его из nautilus без установленного исполняемого бита. По крайней мере, 12.04 это работает так. Как это согласуется с вышеупомянутой политикой, я не знаю.
Для examples.desktop
, упомянутого в вопросе: этот файл .desktop - это файл другого типа .desktop. Это «ссылка», она не хочет ничего выполнять, она в основном работает как символическая ссылка. Такие файлы .desktop работают везде.
Вы можете создать и поместить файл .desktop
в ~/.local/share/applications
- тогда он появится в тире / меню / что угодно.
Это должно выглядеть примерно так:
[Desktop Entry]
Name=Files
Comment=Launch Nemo File manager
Keywords=folder;manager;explore;disk;filesystem;
Exec=nemo %U
Icon=system-file-manager
Terminal=false
Type=Application
StartupNotify=true
OnlyShowIn=GNOME;Unity;
Categories=GNOME;GTK;Utility;Core;
NoDisplay=false
Это потому, что файлы в ~/.local/share/applications
работают так же, как файлы в /usr/share/applications
- оба из которых в большинстве систем работают нормально без права на выполнение, также когда они принадлежат пользователю, отличному от root. Однако это не всегда так.
Чтобы получить файл, который нужно щелкнуть, а затем открыть, ему понадобятся разрешения для исполняемого файла.
Кажется, нет, вы не можете без изменения GNOME. По этому конкретному вопросу есть отчет об ошибке панели запуска , который подтвержден, но не обработан.
Когда вы создаете пользовательский файл .desktop
в разделе /usr/share/applications/
с владельцем root, для него не требуется разрешение на выполнение.