Как отключить это сообщение: «диск был извлечен неправильно»?

41

Есть ли способ отключить сообщение «диск был извлечен неправильно»?

Я использую KVM и мне нужно переключаться между двумя системами и иметь карту памяти, которая находится в KVM. Проблема в том, что очень неприятно получать сообщения каждый раз, когда я переключаюсь с одного компьютера на другой. Я знаю, я могу размонтировать его (и, вероятно, должен), но я все время переключаюсь, поэтому размонтировать неудобно, и на карте памяти нет ничего чувствительного.

Синдре Сорхус
источник
2
Извините, у меня нет ответа. Однако имейте в виду, что это сообщение напоминает вам, что данные хранятся в памяти и еще не записаны на диск. Что особенно важно, когда вы часто переключаетесь.
DerMike
4
Я делал это долгое время, и я никогда ничего не терял. Я не говорю, что этого не произойдет, но я готов пойти на риск.
Синдре Сорхус
2
Хорошо, я должен спросить: кто-нибудь знает, почему мы получили три почти идентичных вопроса в течение 10 часов - этот, 6090 и 6108 (и да, последние два были закрыты как обманщики).
Дори
1
@Dori Это время после Рождества, так что новые Mac или камеры с SD-картами :) Хотя я хотел бы отметить, что мой вопрос был конкретно о кеше записи, о чем обычно и говорится в предупреждении (игнорируя проблему, такую ​​как Symlinks / открыть системные файлы на диске)
Майкл Стум
1
Я слышал, что вы говорите, что вы скорее рискуете потерять карту памяти, я просто подумал, что дам вам знать, что это происходит; Я нашел этот форум, потому что не отключил карту памяти до отсоединения и не смог получить доступ к 1,8-гигабайтным фильмам, которые только что взял. К счастью, в этот раз Disk Utility удалось это исправить.

Ответы:

13

Намного лучше сделать это:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.UserNotificationCenter.plist

Что просто остановит работу службы UserNotificationCenter, оставив ваши системные файлы нетронутыми!

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

Джеймс
источник
Будет ли он продолжать выгружаться после перезагрузки моего Mac?
Синдре Сорхус
1
Выгрузка списка запусков launchctl сохраняется при перезапуске, поэтому я верю в это. Тем не менее, я почти никогда не перезагружаюсь, так что еще не проверял это!
Джеймс
2
(Я перезагрузился, и это сохранилось нормально :)
Джеймс
3
Это решение имеет отрицательный побочный эффект: оно также скрывает всплывающие окна "xy-application хотела бы получить доступ к вашим контактам". Чтобы вернуть его:sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.UserNotificationCenter.plist
3
Да, это очень опасно. Это, скорее всего, остановит вас от получения уведомлений из системы. В 2011 году уведомления не имели большого значения, но они вроде как сегодня, в 2015 году.
Ахмет Алп Балкан
10

Конечно, это не элегантный ответ, но вы можете отключить UserNotificationCenter.app, находящийся в / system / library / coreservices - заменить его другим приложением или файлом с тем же именем. Это предотвратит появление любых предупреждений (в том числе о том, что ваш диск заполнен), так что следите за этим, но по моему опыту он делает то, что вы ищете.

Я на самом деле сделал это с моим Mac давным-давно, и забыл об этом, пока вы не задали вопрос. Благодарим Макпадауна по адресу http://macosx.com/forums/mac-os-x-system-mac-software/297194-disable-device-removal-message.html за ответ - там же, где я нашел свой ответ пару раз лет назад

Ciaocibai
источник
Вау. Хорошо поймал. Я, конечно, не стал бы делать это с моей собственной системой, но приятно знать, что это можно сделать. Я полагаю, приложение можно заменить пустым файлом.
Harv
Я сделал это на трех разных маках без проблем, хотя большую часть времени я просто размонтировал вещи.
Ciaocibai
2
По крайней мере, вы не заметили никаких проблем, верно? Извините, не удержался. :-)
DerMike
9

Этот яблочный скрипт закроет их для вас. Вставьте его в редактор сценариев, а затем сохраните как приложение. Затем предоставьте доступ к этому приложению в (Системные настройки> Безопасность и конфиденциальность> Доступность). Затем вы можете использовать приложение, такое как ControlPlane https://www.controlplaneapp.com/, чтобы запускать приложение по пробуждению, закрывая их все автоматически! ** Примечание. Вам также необходимо предоставить Accessibility доступ к ControlPlane.

tell application "System Events"
tell process "NotificationCenter"
    set numwins to (count windows)
    repeat with i from numwins to 1 by -1
        tell window i
            set temp to value of static text 1
        end tell
        if temp contains "Disk Not Ejected Properly" then
            click button "Close" of window i
        end if
    end repeat
end tell
end tell
OZbg
источник
Прекрасно, я предпочитаю это полностью отключить Центр уведомлений.
NetOperator Wibby
-2

ОБНОВИТЬ!

О, МОЙ БОГ! QuantumG - гений! Вот взлом ( и я имею в виду настоящий взлом ) для отключения только этого раздражающего сообщения и оставления остальной системы уведомлений нетронутой ...

http://quantumg.blogspot.com/2015/04/disabling-os-x-device-removal-warnings.html

Предупреждение : это про-чаевые, а не для слабонервных! Это требует взлома системных файлов Mac OSX и может привести к поломке Mac.

Отредактировано для наглядности.

Проблема с флэш-накопителями или другими USB-накопителями заключается в следующем; всякий раз, когда вы записываете данные на диск ... ЛЮБОЙ диск в вашей системе, данные сначала записываются в буфер в памяти. Позже, когда компьютер подойдет к нему, он сбросит буферы на устройство (жесткий диск, SSD или любое USB-устройство). Это может быть мгновенным (по крайней мере для нас, простых смертных), или это может занять несколько секунд. Возможная задержка означает, что если вы дергаете USB-устройство до того, как буферы будут очищены, вы можете получить поврежденный диск или набор поврежденных файлов на диске.

Если вы читаете только с устройства, тогда НЕ НУЖНО очищать буферы записи, прежде чем вы откроете для себя все необходимое, потому что они пусты и их не нужно сбрасывать на устройство.

Итак ... Раздражающее предупреждение MAC OS X, скорее всего, НЕ актуально. Это важно сделать, только если вы недавно записали на устройство и не дали ему достаточно времени для очистки буферов (не более нескольких секунд). НИКОГДА не нужно ждать сброса буферов, если вы только читаете с USB-устройства.

Поэтому Apple НЕОБХОДИМО предоставить способ отключения отдельных сообщений для опытных пользователей. Не относитесь ко всем как к n00b, на которых нельзя положиться, чтобы знать, как работает их компьютер.

А тем, кто жалуется, что я неправ, и есть способ отключить сообщения, отключив ВСЮ ПОДВИЖКУ УВЕДОМЛЕНИЯ, просто неправильно. Отключение всей подсистемы уведомлений не является приемлемым решением, так же как удаление батареи из вашего мобильного телефона НЕ является приемлемым решением для получения слишком большого количества вызовов телемаркетинга. Подсистема уведомлений важна и не должна быть отключена только потому, что OP находит одно из множества сообщений раздражающим.

Эта проблема может быть адекватно решена только Apple, предоставляя пользователям возможность отказаться от определенных сообщений.

Филипп Х. Блантон
источник
1
Итак, я не уверен, что этот случай действительно считается ответом на вопрос ... однако уже был предоставлен ответ, который не может сделать именно то, что вы делаете - сообщения могут быть отключены. Однако, поскольку это не пытается дать какой-либо ответ на вопрос, я собираюсь пометить это для удаления.
Чарли74
@ Charlie74 Это попытка сделать точку, поэтому я не удаляю ее. Я отредактирую смутную болтовню ближе к концу. Если OP хочет быть ясным, не стесняйтесь дать положительное объяснение того, почему OS X сертифицирована POSIX - en.wikipedia.org/wiki/POSIX#POSIX-certification, а не на основе POSIX.
bmike
@ Charlie74 Я уточнил свой ответ, но, чтобы защитить себя, я никогда не говорил, что это невозможно сделать. Я просто предположил, что отключение подсистемы уведомлений, чтобы остановить одну из, возможно, сотен проблем, о которых ваш макинтош может понадобиться, чтобы уведомить вас, не является приемлемым решением. Это только немного лучше, чем «Прекратите использовать свой Mac, и глупое сообщение больше не будет вас беспокоить». Только Apple может предложить приемлемое решение, а они еще нет.
Филипп Х. Блэнтон
Этот подход не работает из-за необходимости подписывать двоичные файлы. Отключение подписи кода будет хуже, чем отключение системы уведомлений.
Эдвард Андерсон,
Я согласен с Эдвардом. Так что до сих пор НЕ ДЕЙСТВУЕТ РЕШЕНИЕ.
Филипп Х. Блантон