如何禁用此消息:“磁盘未正确弹出”?


41

有什么方法可以禁用“磁盘未正确弹出”消息?

我使用KVM,需要在两个系统之间切换,并且在KVM中有一个记忆棒。问题是,每次我从一台计算机切换到另一台计算机时,都很难收到消息。我知道,我可以卸下它(并且可能应该卸下),但是我一直都在切换,因此卸下它很不方便,并且记忆棒上没有任何敏感物品。


2
对不起,我没有答案。但是请记住,该消息是为了提醒您数据已保存在内存中,尚未写入磁盘。当您经常切换时,这一点尤其重要。
DerMike 2011年

4
我已经做了很长时间了,而且我从未失去任何东西。我并不是说这不会发生,但我愿意冒险。
Sindre Sorhus 2011年

2
好的,我不得不问:有人知道为什么我们在10小时之内收到三个几乎完全相同的问题,一个是60906108(是的,后两个问题被完全杜绝了)。
Dori

1
@Dori现在是圣诞节后的时候,所以是新的Mac或带有SD卡的相机:)尽管我想指出的是,我的问题特别是在询问Write Cache,这通常是警告内容(忽略Symlinks /打开驱动器上的系统文件)
Michael Stum

1
我听到您在说什么,您宁愿趁机丢掉记忆棒,我只是想让您知道它确实发生了;我找到这个论坛是因为我在断开连接之前没有弹出存储卡,也无法访问我刚拍的1.8GB电影。幸运的是,这次磁盘实用程序能够修复它。

Answers:


13

更好地做到这一点:

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

这样只会停止UserNotificationCenter服务的运行,而不会损坏您的系统文件!

注意:如评论中所述,这将禁用所有系统通知,包括程序请求访问系统服务(如联系人)时的通知


重新启动Mac后,它将继续卸载吗?
Sindre Sorhus 2011年

1
在重新启动过程中,卸载launchctl plist仍然存在,因此我相信是这样。也就是说,我几乎没有重启过,所以还没有测试!
詹姆斯,

2
(我重新启动,它仍然可以正常运行:)
James

3
该解决方案具有负面影响:它还会隐藏那些“希望访问您的联系人的xy应用程序”弹出窗口。恢复它:sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.UserNotificationCenter.plist

3
是的,这非常危险。它很可能会阻止您从系统获取通知。在2011年,通知并不是什么大问题,但在2015
。– Ahmet Alp Balkan

10

当然,这不是一个很好的答案,但是,您可以禁用/ system / library / coreservices中的UserNotificationCenter.app-用另一个具有相同名称的应用程序或文件替换它。它将停止弹出任何警告(包括驱动器已满),因此请当心,但以我的经验,它确实可以满足您的要求。

实际上,我很早以前就在Mac上执行了此操作,直到您问了问题才忘记了。感谢Macpadawon在http://macosx.com/forums/mac-os-x-system-mac-software/297194-disable-device-removal-message.html上找到的答案-在同一地点,我找到了几个答案几年前。


哇。不错的收获。我当然不会对自己的系统执行此操作,但是很高兴知道它可以完成。我想该应用程序可以替换为空文件。
Harv,

我已经在三台不同的Mac电脑上做到了这一点,没有问题,尽管大多数时候我也只是卸载东西。
Ciaocibai 2011年

2
至少你没有发现任何问题,对不对?对不起,无法抗拒。:-)
DerMike

9

此applescript将为您关闭它们。将其粘贴到脚本编辑器中,然后另存为应用程序。然后在(系统偏好设置>安全性和隐私>可访问性)中授予对该应用程序的访问权限,然后可以使用ControlPlane https://www.controlplaneapp.com/之类的应用程序在唤醒后运行该应用程序,从而自动将其全部关闭!**注意:您还需要授予对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

美丽,我宁愿完全禁用通知中心。
NetOperator Wibby


-2

更新!

我的天啊!QuantumG是个天才!这是一个hack(我的意思是现实生活中的hack),用于禁用此烦人的消息并使其余通知系统保持完整...

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 NEEDS提供了一种为高级用户禁用单个消息的方法。不要将每个人都当作无法依靠自己了解计算机工作原理的n00b。

对于那些抱怨我错了的人,有一种方法可以通过禁用整个通知子系统来禁用消息,这完全是错误的。禁用整个通知子系统是不可接受的解决方案,就像从手机中取出电池对于接听太多电话推销电话也不可接受。通知子系统很重要,不应仅仅因为OP会发现许多烦人的消息之一而禁用它。

这个问题只能由Apple充分解决,Apple提供一种让用户选择退出特定消息的方法。


1
因此,我不确定这次漫步是否真的可以回答这个问题……但是,已经提供了一个答案,它确实不能完成您正在漫游的内容-可以禁用消息。但是,由于这不会尝试提供问题的任何答案,因此我将其标记为删除。
Charlie74 '16

@ Charlie74这是为了提出要点,所以我没有删除它。我将在最后编辑掉模糊的聊天。如果OP想清楚,随意提供的,为什么OS X的POSIX认证的正面解释- en.wikipedia.org/wiki/POSIX#POSIX-certified基于POSIX不能及的。
bmike

@ Charlie74我澄清了我的答案,但是为了捍卫自己,我从未说过无法做到。我只是建议,禁用通知子系统以阻止Mac可能需要通知您的数百个问题之一,这不是可接受的解决方案。它仅比“停止使用Mac,傻消息不会再打扰您”好一点了。只有Apple可以提供可接受的解决方案,但尚未提供。
菲利普·布兰顿

由于需要对二进制文件进行签名,因此该方法无效。禁用代码签名比禁用通知系统更糟。
爱德华·安德森

我同意爱德华。因此,仍然没有可行的解决方案。
菲利普·布兰顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.