USキーボードのKarabiner 使いが macOS Sierra にアップデートしました

インストールの経緯

OSX El Capitan から最新の macOS Sierra が先週リリースされましたが、Karabinerという、キーマッピングのソフトが無いと不便なので、躊躇していましたが、Karabinerはなくてもなんとかはなりそうというのをよんでトライしてみました。

Karabinerでは今まで

  • 右Command単独押しでカナキー
  • 左Command単独押しで英数キー
  • 親指シフト(orz配列)でしたが、orz配列を使う前に長く通常のNicolaを使っていたので、どっちかというと通常配列の方が慣れている

を使っていました。

インストールの経緯をまとめたtwitterをここにまとめておきます。

インストール結果

各アプリの設定

⌘英かな
特に設定なし
Lacalle の設定
右はかなキーに設定している。

上記の設定だけだと、右⌘+文字が入力できず、ショートカットとして動作してしまいましたので、Karabiner Elementsで、右⌘キーを完全にかなキーとしてしまいました。それによって、どんな状況でも右コマンドボタンを⌘ボタンとしては使用できなくなりました。

また、Karabiner-Elementsが起動していると、システム設定の装飾キーのいれかえができなくなるので、そちらもKarabiner-Elementsで設定しました。

Karabiner Elements の設定
画面からは設定できず、jsonファイルを作成する必要がある。

以下が設定したkarabiner.jsonファイル

{
    "profiles": [
        {
            "name": "Right Command is KanaKey",
            "selected": true,
            "simple_modifications": {
                "right_command": "japanese_kana",
                "caps_lock": "left_control",
                "left_control": "caps_lock"
            }
        }
    ]
}

OSX Yosemite だインストールした古いRubyGemsをアンインストールして再インストールする方法

最近、Open Source Swift を使って、サーバーサイドSwiftの技術調査を行っています。Swift 3.0のブランチが二週間に1度くらいアップデートして、それに合わせて、フレームワークも書き換わるので、あのライブラリはこのSwiftで動くけど、このライブラリは動かないというエキサイティングな状況です。この時期に多くのフレームワークが開発されていますが、Linux、OSXで動かすためにはFoundationライブラリさえ使えないという状況の中、HTTPサーバーを頑張って開発している、Zewoという会社のフレームワークで、テスト版のSlackBotを作成しています。

その際にRubyGemを使ってツールをインストールしようとしたところ、
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/gem

のエラーが出て、gemをインストールできませんでした。sudoをつけてもできなくて、調べてみたところ、どうもgemが、/usr/bin/gemにあるのが悪いようでした。Ruby Version Managerを入れても、結局/usr/bin/gem/のgemが優先されて呼ばれていまいました。それもOSX El Capitan で Rootlessという機能がデフォルトで有効になって、sudoでも、/usr/bin領域が書き換えられなくなりました。ただ、意図して書き換えることができるように、

  1. Command+Rを押しながら起動して、Utility – Terminalを起動
  2. 以下のコマンドでRootlessを無効にする
  3. csrutil disable; reboot
     

  4. 再起動して以下のコマンドで、Gemを削除
  5. rm -rf /usr/bin/gem

  6. 以下のコマンドで、RVM(Ruby Version Manager)をアンインストール
  7. rvm implode

  8. Command+Rを押しながら再起動して、Rootlessを再度有効にする
  9. csrutil enable; reboot

  10. RVMをインストール
  11. \curl -sSL https://get.rvm.io | bash -s stable

  12. RVMの設定
  13. rvm get head
    rvm --auto-dotfiles
    ram reload
    rvm list known
    rvm install 2.3
    rvm docs generate-ri
    which gem

    最後のコマンドで、どのgemが参照されるか確認すると、

    MBPR:~ tomohisa$ which gem
    /Users/tomohisa/.rvm/rubies/ruby-2.3.0/bin/gem

    と正しいgemが参照されました。sudoが必要ないエリアにインストールできたので、
    gem install cocoapods
    gem install zewo-dev

    のようにsudo なしで、gemを使用できるようになりました。

GUIの統合環境ばかりで久しぶりにCUIの環境で開発していますが、慣れてくるとこちらも楽しいですね。

Macの空き容量を増やすために行った8つの整理整頓テクニック

年度末前でいろいろ忙しくなる前に、時間を取ってMacの整理を行いました。なんかいろいろばたばたしていてブログを書くのも久しぶりです。いつもMacの残り容量が40ー60GBで、しばらくほっとくと20GBを切ったりしているので、それは困るなと思って、整理整頓をしました。
“Macの空き容量を増やすために行った8つの整理整頓テクニック” の続きを読む

[OSX] “このアプリケーションで開く”のアプリの重複を一発で修復するコマンド

このアプリケーションで開く
忘れないように記録しときます。
Design matters: Fixing double entries in “Open with” menu under Mac OS X こちらのリンクその他いくつかのリンクで紹介されていました。
“[OSX] “このアプリケーションで開く”のアプリの重複を一発で修復するコマンド” の続きを読む

iOSの将来、”Objectified”という映画

Objectified
Objectified

10月29日に、Appleのトップの人事の変更が発表され、これまでiOSのソフトウェアを管轄していた、Scott ForstallさんがAppleを去り、それによってトップの人事が変更されたことがプレスリリースにのせられました。
Apple – Press Info – Apple Announces Changes to Increase Collaboration Across Hardware, Software & Services

この後の人事をまとめたもので一番分かりやすかったのがこちらの記事、Apple’s Reorganization Goes Deeper Than Just Who’s In Charge – Mac Rumors で、このようにまとめられていました。
“iOSの将来、”Objectified”という映画” の続きを読む

iOS開発+Mac+JenkinsでCI環境構築3-GitHubにあるJenkinsのプラグインを試してみる

iOS開発+Mac+JenkinsでCI環境構築2-Gitコミット時に自動的にTestflight配信 | Zero4Racer PRO Developer’s Blog の続きで、結局使わなかったのですが、調査したので記録しておきます。
Jenkinsのプラグインは、ほとんどgithubで管理されていますので、Forkされたバージョンのプラグインが存在します。それをインストールする方法です。
“iOS開発+Mac+JenkinsでCI環境構築3-GitHubにあるJenkinsのプラグインを試してみる” の続きを読む

iOS開発+Mac+JenkinsでCI環境構築2-Gitコミット時に自動的にTestflight配信

CI環境導入のために、Jenkinsを導入しています。最終的には、テストコードをたくさん記述して、コミットごとにテストを行うようにしようと思っているのですが、まず、gitの特定のブランチに新しくpushされたら、その情報をテストメンバーにtestflightで送ることを行いました。
“iOS開発+Mac+JenkinsでCI環境構築2-Gitコミット時に自動的にTestflight配信” の続きを読む

iOS開発+Mac+JenkinsでCI環境構築1-Jenkinsでビルドが通るまで

これまで、あまりテスト駆動開発がうまく出来ていなかったので、JenkinsでのCIサーバ(継続的インテグレーションサーバ)を構築しつつ、テスト駆動開発をマスターしていきたいと思って、Jenkinsのインストールを行いました。意外と情報が少なく、まとまっていないので、備忘のために記録しておきます。
“iOS開発+Mac+JenkinsでCI環境構築1-Jenkinsでビルドが通るまで” の続きを読む

普通のiOSプログラマが OSX Mountain Lion クリーンインストール後に行った37+の作業一覧

はじめに

これまでしばらく使ってきたMacBookPro 2009が、熱暴走が発生したり、トラックパッド下のバッテリーが膨張したりして、動作が怪しくなってきて、いろいろ作業が遅くて滞るようになってきたので、仕事用に、MacBook Pro Retina モデルを導入しました。長く使いたいので、SSD512、メモリ16Gのカスタムモデルにしました。やはりSSD+QuadCoreは劇速ですね。ディスクのスピードは概算で4倍以上なので、すべての処理が倍以上早く感じます(ボトルネックがネットワーク速度の作業はそこまでかわらない)。
簡単にインストールする方法は、TimeMachineのバックアップからすべてデータを復元することなのですが、OSのクリーンインストールを、Snow Leopardの時から一度も行っていなくて、順調に動いていたのですが、今回はクリーンインストールを行うことにしました。
備忘もかねて、行った作業を書いておきます。順番は思い立った順なので、特にあまり意味はないです。
“普通のiOSプログラマが OSX Mountain Lion クリーンインストール後に行った37+の作業一覧” の続きを読む

OSX Lionのコマンドラインから、iOSアプリビルドを実機に転送する方法

追記: 5/31/2012 別の fork で、Xcode 5.3.2+iOS5.1 で転送と実行まで、正しく動くものがあるようです。最後に追記します。

Fruitstrapというライブラリが、PrivateAPIをたたいて、appファイルを実機に転送することを可能にしているようです。Snow Leopardだけでなく、Lionでも途中まで動いたので経過報告です。
現状で、転送は出来ているのですが、実行が出来ません。引き続き調査をしてくださる方がいればうれしいです。

転送中
転送中

“OSX Lionのコマンドラインから、iOSアプリビルドを実機に転送する方法” の続きを読む