作者 谢恩铭 转载请注明出处
公众号「程序员联盟」(微信号:ProgrammerLeague )
原文:http://www.jianshu.com/p/14a29719dcda

内容简介


  1. 前言
  2. 实现

1. 前言


苹果的 Mac OS X 操作系统,我个人认为非常之赞。用了 Mac 系统,真的回不去 Windows 了。

我之前用过2014年出品的 MacBook Pro 15 寸,可惜来巴黎第一个月末被偷了。现在我用的是 2015 年出品的 MacBook Pro 13 寸。

作为一个有 5 年工作经验的程序员,我觉得:对于程序员,家里的个人电脑真的是用 Mac OS 系统比较好,当然你用 Linux 也行啦。我在公司就是用的 Ubuntu 16.04。

不过,Mac 系统对于普通用户还是比较难上手的。

对于 Mac 用户来说,比较尴尬的一点也许是开机那个“噔”的声音,在比较安静的公共场合会吓人一跳。

而且更加尴尬的是:这个开机声还关不掉。

旧版本的 Mac OS 操作系统可以在设置中选择关闭这个开机声,但是目前的新版本 Mac OS 中没办法通过简单的设置来关闭这个声音。

但是作为程序员,如果被告知一个事情做不到,那简直不能忍。
必须搞定为止。

因此我上网搜索了一下,并亲身实践,发现一个不错的办法。这个办法还需要稍微使用一下 Shell(外壳)程序。

其实很简单,你不懂编程也可以实现。下面我们来演示吧。

2. 实现


思路

我们的思路是:因为 Mac 电脑开机那个声音是在用户完全登入系统之前播放的,也就是 login 之前。那么我们可以在用户登出系统时(关机/重启/登出 都会造成用户登出)把系统音量调到静音( mute )状态,然后在用户成功登入系统时再把音量调到一个正常的值。

实作


首先,打开终端:

打开终端( Terminal )的方法有很多种。

  • 你可以到 Launchpad 中找到“其他”这个文件夹里的“终端”,点击开启。
  • 启动 Spotlight 来搜索程序:输入“终端”或者“terminal”,选中,回车即可打开。
搜索“终端”
搜索“terminal”
  • 在Finder里,点击“前往->实用工具”,双击“终端”。

打开终端以后,我们会看到一个窗口,在闪烁的光标后面你可以输入命令,按回车执行命令。

我们首先在终端中输入以下命令:

sudo vim /Library/Scripts/sound-off.sh

上面的命令表示:我们要在 /Library/Scripts/ 这个目录下创建并用 vim 文本编辑器(你也可以用别的文本编辑器,比如 Sublime,Atom,Emacs,Gedit,等等)来编辑一个新的文件,名字是 sound-off.sh(sound 是英语“声音”的意思,off 是英语“被取消,离开”的意思。因此 sound-off 表示“关闭声音”,也就是 mute(静音)。.sh结尾的文件是Shell文件。)。为什么要用 sudo 呢?因为 /Library/Scripts/ 是系统目录,只有用 sudo 来成为 root 用户(unix或linux的大管家用户)才能在这个目录写入。

按回车之后,即执行上述命令。会用 vim 打开系统目录下面的新文件 sound-off.sh。

我们在其中输入以下代码:

#!/bin/bash
osascript -e 'set volume output muted 1'

表示将系统音量调到没有,也就是 muted(被静音的)。

保存,退出文本编辑器。

同样地,在终端中再输入以下命令:

sudo vim /Library/Scripts/sound-on.sh

on 是英语“活动着的情况,使用这点,发生着的”。然后在文件中输入:

#!/bin/bash
osascript -e 'set volume 5'

表示将系统音量调到档数:5。

然后在终端中输入以下命令,把这两个文件 sound-on.sh 和 sound-off.sh 都设置为可执行:

sudo chmod u+x /Library/Scripts/sound-off.sh
sudo chmod u+x /Library/Scripts/sound-on.sh

最后,设置这两个 Shell 脚本和系统的活动相关联。在终端中依次输入下面两个命令,每次的命令执行需要回车。

sudo defaults write com.apple.loginwindow LogoutHook /Library/Scripts/sound-off.sh

表示把 /Library/Scripts/sound-off.sh 这个 Shell 文件和 Logout(登出)相关联,在 Logout 时会执行这个 Shell 文件,将系统静音。

sudo defaults write com.apple.loginwindow LoginHook /Library/Scripts/sound-on.sh

表示把 /Library/Scripts/sound-on.sh 这个 Shell 文件和 Login(登入)相关联,在 Login 时会执行这个 Shell 文件,将系统音量调到5(这数值你可以自己选,0到10之间的整数,你可以用 2,4,7,8,或者10(最多是 10,表示最大音量))。

现在重启一下电脑,看看生效了没。如果一切正常,那么你的 Mac 电脑在开机时就不会有任何声音,而当你成功登入并进入桌面之后,你可以看一下音量是多少。


我是 谢恩铭,在巴黎奋斗的软件工程师。
我创建了程序员联盟的 知识星球,欢迎加入。
热爱生活,喜欢游泳,略懂烹饪。
人生格言:「向着标杆直跑」