Надеются быть 2 способа, которыми можно сделать это.
Да необходимо создать пользовательское .desktop средство запуска для него. Вот общие шаги:
Создайте *.desktop файл в /usr/local/share/applications
(или /usr/share/applications
в зависимости от Вашей системы).
$ gksudo gedit
Вставка ниже текста
[Desktop Entry]
Type=Application
Terminal=false
Name=IntelliJ IDEA
Icon=/path/to/icon/icon.svg
Exec=/path/to/file/idea.sh
Править Icon=
и Exec=
и Name=
. Также Terminal=True/false
определяет погоду, терминал открывает окно и отображает вывод или выполнения в фоновом режиме.
Поместите .desktop файл в панель Unity Launcher. Для этого шага необходимо будет перейти в файловом браузере туда, где .desktop файл - то, что Вы создали на предыдущих шагах. После определения местоположения файла перетащите файл к панели Средства запуска Единицы на стороне. После создания выполнения этого Вы, возможно, должны выполнить следующую команду, чтобы заставить Вашу систему распознавать недавно добавленный .desktop файл.
$ sudo update-desktop-database
Вместо того, чтобы вручную создать .desktop файл можно вызвать GUI, чтобы помочь помочь в выполнении этого.
панель гнома установки
$ sudo apt-get install --no-install-recommends gnome-panel
запустите .desktop генератор GUI
$ gnome-desktop-item-edit ~/Desktop/ --create-new
Буквальный ответ заключается в том, что не существует такого понятия, как недоверенное приложение, запущенное под вашей учетной записью. Если вы хотите запустить недоверенное приложение, запустите его под другой учетной записью или в виртуальной машине.
Типичные настольные операционные системы, такие как Unix и Windows, и типичные мобильные операционные системы, такие как Android и iOS, имеют разные модели безопасности. Unix - это многопользовательская операционная система с взаимно недоверенными пользователями. Приложения считаются доверенными: все приложения пользователя работают в одном и том же контексте безопасности. Службы, с другой стороны, являются несколько менее доверенными: они обычно выполняются под выделенной учетной записью, чтобы уменьшить последствия в случае уязвимости безопасности.
Есть две основные причины, почему модель безопасности Unix работает именно так:
Хотя сейчас авторов приложений гораздо больше, чем 40 лет назад, приложения по-прежнему обычно распространяются по доверенным каналам, которые несут в себе указание на репутацию. (Это в большей степени относится к Linux, чем к Windows, что является одной из причин, почему вирусы чаще встречаются под Windows). Обнаруженное приложение с бэкдором будет быстро удалено из репозиториев программного обеспечения Linux.
Мобильные операционные системы были разработаны с учетом других угроз. Они были разработаны для однопользовательских систем, но с приложениями, поступающими из совершенно ненадежных источников.
Изоляция приложений начинает пробивать себе дорогу в настольные Unix-системы. Некоторые дистрибутивы запускают определенные программы в рамках системы безопасности, такой как AppArmor или SELinux, которые ограничивают возможности приложения. Цена этих ограничений безопасности заключается в том, что они иногда делают невозможным желаемое использование, например, не позволяя приложению с ограничениями открывать файлы в определенных каталогах.
Шифрование было бы совершенно бесполезным. Шифрование защищает данные только при передаче (по сети) или в состоянии покоя (хранятся на диске), оно не защищает данные на живой системе - если подсистема A расшифровывает свои данные, то ОС должна предотвратить доступ подсистемы B к расшифрованным данным, и поэтому не имеет значения, были ли данные расшифрованы A или хранились в незашифрованном виде. Операционная система может зашифровать данные, но только для того, чтобы защитить их в случае кражи носителя.
Если вы хотите запустить код, которому вы не доверяете, лучше всего запустить его на виртуальной машине. Предоставьте виртуальной машине доступ только к тем файлам, которые нужны приложению (например, не делитесь своим домашним каталогом).
См. также Почему мобильные приложения имеют тонкие разрешения, а настольные - нет? и Почему приложения для мобильных устройств более ограничены, чем для настольных?
Мне нравятся ответы Жиль, но есть еще один аспект:
принцип Unix заключается в том, что каждая программа должна «делать одно хорошо».
Программы не должны были настолько большими и сложными, что пользователь не сможет предсказать результат бега. Если правильная программа Unix касается файла, это потому, что вы сообщили , чтобы коснуться этого файла. Идея о том, что программы не должны делать больше, а не меньше того, что им говорят Пользователь держал их от взаимодействия так, как пользователь не намерен.
В крайнем примере принципа: один из старых MailReaders Unix, которые больше никто не использует, ELM
, просит ваше одобрение перед созданием каталогов, которые он будет использовать для проведения файла конфигурации ( ~ / .elm /
) и почтовые папки ( ~ / mail /
). Если вы скажете, нет, это отвечает
Very well, but you may run into difficulties later.
, противоположный край был продемонстрирован некоторой программой, я пытался пройти недавно (извините, я забыл, какой из них), который отказался начать и не дал никакой подсказки относительно того, что было не так. STRACE
показано, что он хотел создать каталог ~ / .config /
и не мог, потому что у меня был обычный файл с помощью этого имени. (Я когда-то сделал CP .Config ~
из дерева исходного дерева ядра, поэтому у меня будет резервное копирование.), Очевидно, теперь сейчас он считается разумным, чтобы спровоцировать очень общее имя в домашнем каталоге пользователя без уведомления (гораздо меньше одобрения) или даже минимальная проверка ошибок.
прогресс.