Karabiner 在 macOS Sierra 下的解决方案

  • 2016-09-26更新: HHKB支持。
  • 2016-10-04更新: 蓝牙鼠标支持。
  • 2016-10-10 更新: macOS Sierra 兼容软件列表。

今天手贱升级了 macOS Sierra ,进入新系统后发现 Karabiner 不能用了。

Karabiner 用来映射按键,我在 OS X 技巧与软件选择 一文中提到过。对于我这种使用 HHKB 键位的小众人群来说,所有的按键都必须一致,否则效率奇低。使用 Karabiner 把我常用的键盘定义存成 Profile 就行了。

Karabiner

但由于 macOS Sierra 大幅修改了鼠标和键盘驱动,导致 Karabiner 在该系统下无法工作。我定义的所有 Profile 都失效了。 继续阅读Karabiner 在 macOS Sierra 下的解决方案

Homebrew 安装的 MySQL 在 EI Capitan 上无法启动

用 Homebrew 安装的 MySQL 5.7.12 莫名其妙就挂掉了,翻看系统日志,看到一堆这样的提示:

Jun 2 20:08:49 zrong-mbp com.apple.xpc.launchd[1] (homebrew.mxcl.mysql) : Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

这样的提示每10秒一次,从中午一直到现在。 继续阅读Homebrew 安装的 MySQL 在 EI Capitan 上无法启动

MacBook Pro Retina 睡眠耗电现象深究


Sleep Mac

经实测,我的机器(rMPB2015, EI Capitan)睡眠一晚耗电超过10% 。这显然是不正常的,许多网友都有此问题

我的配置如下图所示: 继续阅读MacBook Pro Retina 睡眠耗电现象深究

在 OS X 中使用 OpenResty

我曾经写过 在 Mac OS X 上安装lighttpd ,从那时起,我的 Mac 上的 HTTP 服务器一直是 lighttpd。

现在,为了学习 OpenResty ,我将 lighttpd 进行了替换。下面记录这个过程。

1. 移除 lighttpd

在 Mac OS X 上安装lighttpd 的时候,我使用 launchctl 来实现 lighttpd 的自动启动。现在,只需要 unload 即可。

launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.lighttpd.plist

这会立即停止 lighttpd 的运行。接下来,将 homebrew.mxcl.lighttpd.plist 从~/Library/LanuchAgents 目录中移除。否则下次启动系统的时候,lighttpd 又会启动。

继续阅读在 OS X 中使用 OpenResty

JDK在MAC OS X下的路径设置

不同的JDK,在OSX下的路径是不同的,需要有针对性的进行设置。下面是我能找到的所有JDK在OSX下的路径,在此做个记录。

OS X 自带JDK

这个JDK由APPLE维护,也是OSX默认的JDK,它的路径是:

/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home

这其实是一个符号链接,它指向:

/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

OS X自带的JRE

/System/Library/Frameworks/JavaVM.framework/Versions/Current

ORACLE的JDK7

/Library/Java/JavaVirtualMachines/jdk1.7.0_xx.jdk/Contents/Home

ORACLE的JRE7

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

OPENJDK7

/Library/Java/JavaVirtualMachines/jdk1.7.0.jdk/Contents/Home

升级Mountain Lion的bash到4.2版本

升级Mountain Lion的bash到4.2版本

Mountain Line自带的Bash是3.2.58版本,这个版本不支持关联数组的定义。

而我以前写的脚本中,大量使用了关联数组。因此,我需要将Bash升级到4.2版本。

安装GCC

如果GCC编译器没有安装,那么需要去Apple Developer 下载Command Line Tools。我下载的是 Command Line Tools(OSX Mountain Lion) for Xcode,文件大小为118MB。

下载bash源码

curl https://ftp.gnu.org/gnu/bash/bash-4.2.tar.gz -o ~/Downloads/bash42.gz
tar xzf ~/Downloads/bash42.gz

编译和安装

cd ~/Downloads/bashr42
./configure && make && sudo make install

使用新的bash

新安装的bash在/usr/local/bin/bash,与旧的bash并不冲突,需要设置当前用户使用它。

chsh -s /usr/local/bin/bash {user_name}
sudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells"

关闭终端并重新打开,输入bash -versionhelp。查看bash安装情况。

替换旧的bash

sudo mv /bin/bash /bin/bash3.2.58
sudo ln -s /usr/local/bin/bash /bin/bash

参考文章