Finder启动项问题:登录后如何阻止自动打开窗口?
解决El Capitan登录时网络卷自动打开Finder窗口的问题
我在El Capitan上也碰到过这个烦人的问题!系统自带的Startup Items挂载网络卷时总会弹出一堆Finder窗口,哪怕给卷设了“隐藏”标记也不管用,下面几个方法亲测有效:
方法1:用AppleScript替代系统Startup Items(最直观)
系统的Startup Items机制会强制触发Finder显示挂载的卷,我们可以自己写脚本挂载并隐藏窗口,完全绕过这个问题:
- 打开「Script Editor」(在应用程序>实用工具里)
- 输入以下脚本(把
smb://server/path换成你的网络卷地址,VolumeName换成卷名):
tell application "Finder" -- 挂载网络卷 mount volume "smb://server/path" -- 隐藏对应的Finder窗口 try set visible of window of disk "VolumeName" to false end try end tell
如果不想硬编码密码,可以用钥匙串自动填充,脚本可以简化成:
set serverPath to "smb://server/path" tell application "Finder" try mount volume serverPath -- 自动获取卷名并隐藏窗口 set volumeName to do shell script "basename " & quoted form of serverPath set visible of window of disk volumeName to false end try end tell
- 点击菜单栏的「文件>导出」,格式选择「应用程序」,保存到你方便的位置
- 打开「系统偏好设置>用户与群组>登录项」,把原来的网络卷从列表里删掉,添加刚才导出的脚本应用
方法2:用launchd后台挂载(更轻量化)
如果喜欢用命令行工具,launchd是系统原生的后台任务管理器,挂载时不会弹出任何窗口:
- 打开「文本编辑」,创建一个名为
com.user.mountvolumes.plist的文件,内容如下(替换smb://server/path为你的网络卷地址):
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.user.mountvolumes</string> <key>ProgramArguments</key> <array> <string>/usr/bin/open</string> <string>-g</string> <string>smb://server/path</string> </array> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <false/> </dict> </plist>
- 把这个文件移动到
~/Library/LaunchAgents/目录下(如果没有这个目录就自己创建) - 打开终端,输入以下命令加载这个任务:
launchctl load ~/Library/LaunchAgents/com.user.mountvolumes.plist
这样每次登录时,系统会在后台自动挂载网络卷,完全不会弹出Finder窗口。
方法3:自动关闭弹出的窗口(兼容原Startup Items)
如果不想改动现有的Startup Items设置,可以加一个自动关闭窗口的脚本作为登录项:
- 打开「Script Editor」,输入以下脚本:
tell application "Finder" -- 等待2秒确保卷挂载完成 delay 2 repeat with win in windows -- 判断窗口是否对应网络卷 if kind of target of win is "Network Volume" then close win end if end repeat end tell
- 导出为应用程序,添加到登录项列表的最后一位(确保在网络卷挂载完成后再执行)
为什么系统Startup Items会弹出窗口?
El Capitan的系统挂载机制里,把网络卷加入Startup Items后,系统会调用Finder来完成挂载,而Finder默认会显示新挂载卷的窗口,哪怕你在卷的偏好设置里设了“隐藏”也会被这个机制覆盖,这是系统版本的特性问题。
内容的提问来源于stack exchange,提问作者vwegert
相关产品推荐
相关产品推荐

