Как подавить повторение предупреждений о том, что приложение было загружено из Интернета на Mac OS X?

18

В Mac OS X, когда я запускаю Firefox (и Thunderbird, и ...), который я скачал с Mozilla, ОС выдает предупреждение о том, что файл был загружен через Интернет, с указанием даты его загрузки. У меня нет проблем с этим предупреждением в первый раз, когда я использую загруженное приложение, но повторные предупреждения являются неприятностью.

Есть ли способ подавить это диалоговое окно?

Есть ли способ избежать его появления в первую очередь? (Некоторые приложения, которые я загружаю из корпоративной интрасети, не выдают эквивалентного предупреждения; есть идеи, для чего нужны критерии при создании предупреждения?)

Джонатан Леффлер
источник
Это немного странно. Я никогда не видел, чтобы это предупреждение появлялось более одного раза для файла.
Herms

Ответы:

17

Чтобы удалить предупреждение о карантине, вы можете запустить в терминале следующую команду:

xattr -d com.apple.quarantine /PATH/TO/APPLICATION

Вам может потребоваться запустить этого администратора в зависимости от разрешений на получающемся приложении (как вы сказали, вы не запускаете от имени администратора). Если в приложении установлены разрешения, которые нельзя удалить с помощью учетной записи пользователя, метаданные объясняют, почему они появляются каждый раз. Вы можете запустить его как администратор на своем компьютере или запустить указанную выше команду как администратор. (Используйте su admin_nameпри необходимости)

Chealion
источник
Я нашел другой способ избавиться от предупреждения - установить следующий выпуск программного обеспечения от имени администратора, после загрузки его от имени администратора (Firefox 3.5.3). Однако это чистое уклонение от проблемы. Эта команда делает свое дело. Тем не менее, это не выглядит хорошо документированным - по крайней мере, я не нашел для этого справочную страницу (но я могу STFW и «xattr -:» дает достаточно информации). Благодарность!
Джонатан Леффлер
4

Чтобы не допустить этого в будущем, перейдите в Терминал и введите это (нажимая Return впоследствии):

defaults write com.apple.LaunchServices LSQuarantine -bool NO

Источник: MacWorld

Или - еще проще -  загрузите « Секреты» и найдите «карантин».

Алан Х.
источник
1

http://www.macosxhints.com/article.php?story=20071029151619619

Особенность OS X 10.5 в Vista заключается в том, что она отмечает веб-загрузки (а не только Safari) как таковые, а затем предупреждает вас о запуске загруженных приложений. Архивные (например, заархивированные) файлы наследуют теги из своего тегового контейнера.

Ссылка на обсуждение проблемы и несколько сценариев и строк C ++, которые вы можете запустить, чтобы навсегда изменить поведение.

Не уверен, что они будут работать с 10.6

TomB
источник
Прослеживая комментарии, некоторые, безусловно, имеют отношение к моему сценарию. В основном я работаю как пользователь без привилегий системного администратора; Я загружаю вещи как мой обычный пользователь. Когда дело доходит до установки компонентов в / Applications, я иногда использую опцию, чтобы предоставить ID администратора и пароль на лету, а иногда переключаюсь на ID администратора и запускаю установку. Я также подозреваю, что разница между приложениями может отличаться тем, что у вас есть установщик пакетов, который вы запускаете, по сравнению с приложениями, которые вы нажимаете на DMG и копируете прямо в / Applications. Ссылка хорошая - спасибо.
Джонатан Леффлер
1
Пожалуйста, предоставьте некоторые детали относительно того, что включает в себя ссылка и для чего она опубликована. SU является каноническим сайтом, и просто ссылка, которая может со временем исчезнуть, не является достаточным ответом.
BinaryMisfit,
FWIW: в статье показано, как написать скрипт AppleScript, который будет запускать «xattr -d com.apple.quarantine» для вновь загруженного элемента. Он размещает скрипт с соответствующим именем в соответствующем месте, так что операция карантина происходит «автоматически». Статья (помеченная только 10,5, но означающая 10,5 или более поздняя версия) все еще там сегодня.
Джонатан Леффлер
1

Основываясь на чем-то в ответе Chealion выше, я нашел более простое решение (которое сработало для меня), которое не требовало, чтобы я отключил все предупреждения.

Это из Chealion:

Если в приложении установлены разрешения, которые нельзя удалить с помощью учетной записи пользователя, метаданные объясняют, почему они появляются каждый раз. Вы можете запустить его как администратор на своем компьютере или запустить указанную выше команду как администратор. (При необходимости используйте su admin_name)

Поэтому вместо запуска команды из Chealion просто изменили владельца приложения, которое вызывало проблемы при использовании «chown»

chown username \ Applications \ ApplicationName.app

эта проблема, кажется, была вызвана приложением, которое было установлено администратором при создании образа моего компьютера. После того, как я сменил владельца, предупреждение больше не появлялось.

Стивен Ломнес
источник
0

Если в папке Library / Preferences вашего пользователя есть файл с именем com.apple.DownloadAssessment.plist, он переопределит глобальные настройки по умолчанию, для которых Safari считает файлы «безопасными». Вы также можете использовать эту технику, чтобы сделать безопасные в настоящее время файлы небезопасными. На самом деле, есть четыре категории риска высшего уровня:

  1. LSRiskCategorySafe - автоматически открывается после загрузки, если в Safari включена эта опция.
  2. LSRiskCategoryNeutral - нейтральный файл не будет автоматически открываться, но и о его содержимом также не будет предупреждения.
  3. LSRiskCategoryUnsafeExecutable - все исполняемые файлы попадают в эту категорию, и вы увидите предупреждение при попытке загрузить их в Safari, Mail и т. Д.
  4. LSRiskCategoryMayContainUnsafeExecutable - это охватывает «контейнерные» форматы, такие как образы дисков и архивы. Если Safari / Mail может увидеть содержимое контейнера и определить, что все они в безопасности, предупреждение не будет сгенерировано.

Для полной информации, я отсылаю вас на эту страницу .

Калибан
источник
У меня нет файла ~ / Library / Preferences / com.apple.DownloadAssessment.plist. Я не знаю, имеет ли значение, что я использовал Firefox, а не Safari для загрузки файлов.
Джонатан Леффлер
0

Это была непостоянная проблема с тех пор, как этот вопрос впервые был задан здесь, но со Львом это стало обычным делом. После перезагрузки ОС вопрос о карантине будет задан снова. После ответа он не будет задан до следующего перезапуска.

Это явно ошибка. Я подозреваю, что это происходит, когда осторожные / умные пользователи работают как пользователь без прав администратора. Это может быть связано с выполнением начальной установки из учетной записи администратора.

Мы можем либо жить с ошибкой, пока она не исправлена ​​(не плохое решение), либо, если вы действительно не можете ее перенести, я предпочитаю это исправление для Lion (пример приложения показан здесь) -

OS X должен был помечаться после того, как вы нажали кнопку open. Вы можете удалить флаг карантина вручную. Откройте терминал и вставьте следующую команду:

sudo xattr -r -d com.apple.quarantine {,~}/Library/PreferencePanes/Screens\ Connect.prefPane/Contents/Resources/ScreenSync.app
Джон Фогнан
источник
Для удаления флага карантина из файла необходимы права на запись. Нет ошибок, нет ничего. Может быть, небрежные разработчики, которые должны поместить это в настройку приложения, но это все. Запустите один раз как пользователь с правами на запись, и все хорошо.
Даниэль Бек