memo.xight.org

日々のメモ

カテゴリ : Mac

3ページ目 / 全4ページ

homebrew で R言語

Summary

MacでR言語を利用したい。
gfortran, XQuartzがインストールされていないとビルドできない旨のエラーメッセージが表示される。

XQuartz がインストールされていない場合

% brew install R
Unsatisfied dependency: XQuartz
Homebrew does not package XQuartz. Installers may be found at:
  https://xquartz.macosforge.org
Error: An unsatisfied requirement failed this build.

XQuartzのインストール

XQuartz からダウンロードしてインストール。

gfortranがインストールされていない場合

% brew install R
Error: This formula requires a fortran compiler, but we could not find one by
looking at the FC environment variable or searching your PATH for `gfortran`.
Please take one of the following actions:

  - Decide to use the build of gfortran 4.2.x provided by Homebrew using
        `brew install gfortran`

  - Choose another Fortran compiler by setting the FC environment variable:
        export FC=/path/to/some/fortran/compiler
    Using an alternative compiler may produce more efficient code, but we will
    not be able to provide support for build errors.

gfortran のインストール

% brew install gfortran

R のインストール

% brew install R

2014-02-06 追記

いつの間にか homebrew-science に移動したみたい

% brew tap homebrew/science

Reference

XQuartz
http://xquartz.macosforge.org/

GitHub - Homebrew/homebrew-science
https://github.com/Homebrew/homebrew-science

VMWare Fusion の vmware-vmx が CPU使用率100%を超える問題と解決

Summary

VMWare Fusion の プロセス vmware-vmx が、時々 CPU使用率100%を超えてしまう。

解決方法

仮想マシンファイルの中の vmx ファイルに以下を追記する。

isolation.tools.hgfs.notify.enable = "FALSE"

Reference

VMware KB: Mac OS X dock process uses 100% CPU when Fusion is running
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2011360

OSX Lion上でVMWare Fusionを使うとCPUが100%になる件 - tanamonの日記
http://d.hatena.ne.jp/tanamon/20120201/1328080900

VMwareでマルチディスプレイ

Summary

VMwareでフルスクリーン表示にすると通常、1画面のみに表示される。
[表示] - [すべてのディスプレイをフルスクリーンで使用] を選択すれば、
複数画面で表示できる。

VMwareのメニューから「すべてのディスプレイをフルスクリーンで使用」を選択

via

VMware 上の Windows をマルチディスプレイで使う - えこ日記
http://d.hatena.ne.jp/eco31/20110114/1294934246

Gas Mask - hostsファイルの管理アプリケーション

Summary

Hoster は /etc/hosts の書き込み権限がないと crash してしまうため、
hostsファイルの管理アプリケーションを Gas Mask に乗り換えた。
プロファイルの切り替えも簡単。

Gas Mask

設定ファイルは ~/Library/Gas Mask に配置される。
Dropbox, OneDrive などで管理するなら、シンボリックリンクを設定すればよい。

ln -s ~/OneDrive/Gas\ Mask ~/Library/Gas\ Mask

Reference

gmask - Gas Mask - Google Project Hosting
https://code.google.com/p/gmask/

RedWinder::MacApp::Hoster
http://www.redwinder.com/macapp/hoster/

Mac同士でmoshを利用してssh接続する際のFirewall設定

Summary

Mac同士でmosh経由でssh接続する際、Firewallをオンにしておくとエラーが発生。

mosh: Nothing received from server on UDP port 6000X. [To quit: Ctrl-^ .]

接続先のFirewallをオフにすると接続できるため、Firewallが原因だと特定できる。

設定

[システム環境設定] - [セキュリティとプライバシー] - [ファイアウォール]タブ - [ファイアウォールオプション...]
から、 /usr/local/bin/mosh-server の「外部からの接続を許可」すれば良い。

/usr/local フォルダは Finder のサイドバーに入れておくと便利。

Time Machine の除外設定

Summary

Time Machineの除外設定の備忘録。
/Library/Preferences/com.apple.TimeMachine.plist を削除した後などに利用。

Time Machine の除外設定一覧

$HOME/Dropbox
$HOME/Magic Briefcase

$HOME/Library/iTunes/iPhone Software Updates
$HOME/Library/iTunes/iPod Software Updates
$HOME/Library/Application Support/MobileSync/Backup

$HOME/Library/Mail/[アカウント]

$HOME/Desktop
$HOME/Download

Reference

Time Machineの仕事を軽減させる - abraMacabra
http://d.hatena.ne.jp/Seitaro/20110423/1303557971

Apple TVのリモコンで Mac の iTunes が反応してしまう問題と対策

Summary

Mac Mini をスリープ解除すると、いつの間にか iTunes が再生されていることがしばしば。
Apple TVの側においてあるため、Apple TVのリモコンに反応してしまうようだ。
Mac 側の設定を解除したいが、なかなか設定が見つからなかったため、メモ。

[システム環境設定] - [セキュリティとプライバシー]

システム環境設定の中のセキュリティとプライバシー

[変更するにはカギをクリックします。]

変更するにはカギをクリックします。

[詳細...] をクリック

詳細... ボタンをクリックする

[リモートコントロール赤外線レシーバーを無効にする] にチェックして、OKをクリック

リモートコントロール赤外線レシーバーを無効にするにチェックして、OKをクリック

リモコンを登録する場合

リモコンをMacに向け、右ボタンとMENUボタンを約5秒間押し続ける。
パスワードの入力が求められるので、入力するとリモコンが登録される。

Reference

AppleTVのリモコンでMacのリモート機能が反応するとウザいので無効にする | 脳味噌はなまる
http://idejun.com/archives/2555

Apple TVのリモコンでMacが反応しちゃう?
http://kjx130.blog19.fc2.com/blog-entry-2256.html

Homebrew で nginx + PHP + PHP-FPM

Summary

Homebrew を使って、ユーザ権限で nginx, PHP-FPM を動かしたい。

Install

brew tap josegonzalez/php
brew install nginx
brew install php54 --with-mysql --with-fpm --with-intl --with-readline

/usr/local/etc/nginx/nginx.conf

http {
...
	include /usr/local/etc/nginx/conf.d/*.conf;
	include /usr/local/etc/nginx/sites-enabled/*;
}

/usr/local/etc/nginx/sites-available/localhost

server {
	listen       8000;
	server_name  localhost;

	root   /Users/yoshiki/Sites/localhost;
	index index.php index.html index.htm;

	access_log /usr/local/var/log/nginx/localhost/access_log;
	error_log  /usr/local/var/log/nginx/localhost/error_log;

	location / {
		try_files $uri $uri/ $uri.php;
	}

	location ~ \.php$ {
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_index  index.php;
		fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include        fastcgi_params;
	}
}

ディレクトリとシンボリックリンクを作成

mkdir -p /usr/local/var/run/nginx
mkdir -p /usr/local/var/log/nginx/localhost

mkdir -p /usr/local/etc/nginx/conf.d
mkdir -p /usr/local/etc/nginx/sites-available
mkdir -p /usr/local/etc/nginx/sites-enabled
ln -s /usr/local/etc/nginx/sites-available/localhost /usr/local/etc/nginx/sites-enabled/localhost

php-fpm.conf

listen = 127.0.0.1:9000
listen.allowed_clients = 127.0.0.1

nginx, PHP-FPMの起動

nginx
/usr/local/sbin/php54-fpm start

nginx, PHP-FPMの停止

nginx -s stop
/usr/local/sbin/php54-fpm stop

KeyRemap4MacBook の Use Option_R as KANA/EISUU (toggle) の代替

Summary

KeyRemap4MacBook が8.0.0になってから、Use Option_R as KANA/EISUU (toggle)が動作しなくなった。
自前のXMLファイルで対応する。

Input source が com.google.inputmethod.Japanese.Roman のときは JIS_EISUU を出力
Input source が com.google.inputmethod.Japanese.base のときは JIS_KANA を出力

option-r.xml

<?xml version="1.0"?>
<root>
	<inputsourcedef>
		<name>GOOGLE_IME_JAPANESE_BASE</name>
		<inputsourceid_prefix>com.google.inputmethod.Japanese.base</inputsourceid_prefix>
	</inputsourcedef>

	<inputsourcedef>
		<name>GOOGLE_IME_JAPANESE_ROMAN</name>
		<inputsourceid_prefix>com.google.inputmethod.Japanese.Roman</inputsourceid_prefix>
	</inputsourcedef>

	<item>
		<name>Use Option_R as KANA/EISUU (toggle)</name>
		<item>
			<name>Use Option_R as KANA (only Japanese.Roman)</name>
			<inputsource_only>GOOGLE_IME_JAPANESE_ROMAN</inputsource_only>
			<identifier>private.remap.jis_unify_kana_eisuu_to_optionR_kana</identifier>
			<autogen>
				__KeyToKey__
				KeyCode::OPTION_R,
				KeyCode::JIS_KANA
			</autogen>
		</item>

		<item>
			<name>Use Option_R as EISUU (only Japanese.base)</name>
			<inputsource_only>GOOGLE_IME_JAPANESE_BASE</inputsource_only>
			<identifier>private.remap.jis_unify_kana_eisuu_to_optionR_eisuu</identifier>
			<autogen>
				__KeyToKey__
				KeyCode::OPTION_R,
				KeyCode::JIS_EISUU
			</autogen>
		</item>
	</item>
</root>

KeyRemap4MacBook を利用して Google日本語入力の変換ショートカットキーを使う

Summary

Google日本語入力のキー設定で Command が利用できない。
MS-IMEのキーバインドで変換したい。

Command+i 全角カタカナに変換
Command+t 半角英数に変換
Command+u ひらがなに変換
Command+o 半角に変換
Command+p 全角英数に変換

Google Chrome の Command+Shift+T (閉じたタブを再度開く) との衝突を回避
Command+p は使わない上、印刷のショートカットと重複するのでコメントアウト

google-ime.xml

<?xml version="1.0"?>
<root>
	<inputsourcedef>
		<name>GOOGLE_IME_JAPANESE_BASE</name>
		<inputsourceid_prefix>com.google.inputmethod.Japanese.base</inputsourceid_prefix>
	</inputsourcedef>

	<item>
		<name>Private (Google IME)</name>
		<item>
			<name>変換ショートカットキーの一部をCommandキーで有効に (only Google IME Japanese base)</name>
			<identifier>private.command_l_to_control_l_only_googleime</identifier>
			<inputsource_only>GOOGLE_IME_JAPANESE_BASE</inputsource_only>
			<!-- Google Chrome の Command + Shift + T との衝突を回避 -->
			<autogen>
				__KeyToKey__
				KeyCode::T, ModifierFlag::COMMAND_L | ModifierFlag::NONE,
				KeyCode::T, ModifierFlag::CONTROL_L,
			</autogen>
			<autogen>
				__KeyToKey__
				KeyCode::U, ModifierFlag::COMMAND_L,
				KeyCode::U, ModifierFlag::CONTROL_L,
			</autogen>
			<autogen>
				__KeyToKey__
				KeyCode::I, ModifierFlag::COMMAND_L,
				KeyCode::I, ModifierFlag::CONTROL_L,
			</autogen>
			<autogen>
				__KeyToKey__
				KeyCode::O, ModifierFlag::COMMAND_L,
				KeyCode::O, ModifierFlag::CONTROL_L,
			</autogen>
			<!-- Command + P (Print) と重複するので削除 -->
			<!--
			<autogen>
				__KeyToKey__
				KeyCode::P, ModifierFlag::COMMAND_L,
				KeyCode::P, ModifierFlag::CONTROL_L,
			</autogen>
			-->
		</item>
	</item>
</root>

Mac標準アプリケーションのメモで等幅フォントを使いたい

Summary

Mac標準の「メモ (Notes.app)」 でソースコードや、整形したテキストを見やすくしたい。
等幅フォントで表示させたい。
しかし、メニューの [フォーマット] - [フォント] - [デフォルトのフォント] にはプロポーショナルフォントのみ。

Notes.app内のDefaultFonts.plistを変更することで、
[フォーマット] - [フォント] - [デフォルトのフォント] からOsakaを指定すれば、等幅フォントで表示できる。

/Applications/Notes.app/Contents/Resources/ja.lproj/DefaultFonts.plist

<?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">
<array>
	<dict>
		<key>FontName</key>
		<string>Osaka-Mono</string>
		<key>Size</key>
		<integer>14</integer>
	</dict>
</array>
</plist>


Default の /Applications/Notes.app/Contents/Resources/ja.lproj/DefaultFonts.plist

<?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">
<array>
	<dict>
		<key>fontname</key>
		<string>hiramarupron-w4</string>
		<key>size</key>
		<integer>15</integer>
	</dict>
	<dict>
		<key>fontname</key>
		<string>hiraminpron-w3</string>
		<key>size</key>
		<integer>15</integer>
	</dict>
	<dict>
		<key>fontname</key>
		<string>hirakakupron-w3</string>
		<key>size</key>
		<integer>14</integer>
	</dict>
</array>
</plist>


[2013-06-19] 追記

言語が「英語」の場合は、以下のファイルを変更する
/Applications/Notes.app/Contents/Resources/en.lproj/DefaultFonts.plist

via

Mountain Lion、メモ.app のデフォルトフォント
http://kjx130.blog19.fc2.com/blog-entry-3609.html

say - 文章を読み上げるOS X 固有コマンド

Summary

OS X 固有コマンドの say が楽しい。
trinoids zarvoxあたりが電脳的。
エラーとかで喋らすといいかもね

Usage

say [-v voice] [-o out] [-f in | message]

say -v trinoids "Mission Accomplished"

話す人一覧

say -v "?"

Reference

say(1) OS X Manual Page
https://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/say.1.html

Macのmanの日本語化

Summary

標準のgroffでは日本語が文字化けするため、 homebrew で groff を入れる。
あとは、man-pages-ja を入れて完了。
ja-man-doc を入れる場合は、文字コードを変換する。

groffとnkfのインストール

% brew tap homebrew/dupes
% brew install groff
% brew install nkf

man.conf

#JNROFF /usr/bin/groff -Tnippon -mandocj -c
JNROFF /usr/local/bin/groff -Dutf8 -Tutf8 -mandoc -mja -E

#PAGER /usr/bin/less -is
#BROWSER /usr/bin/less -is
PAGER /usr/local/bin/less -isr
BROWSER /usr/local/bin/less -isr


man-pages-ja の取得とmake

$ curl -O http://linuxjm.sourceforge.jp/man-pages-ja-YYYYMMDD.tar.gz
$ tar xfz man-pages-ja-YYYYMMDD.tar.gz
$ cd man-pages-ja-YYYYMMDD
$ make
perl -w script/configure.perl
[INSTALLATION INFORMATION]
(just Return if you accept default)
   Install directory   [/usr/share/man/ja_JP.UTF-8] ?: /usr/local/share/man/ja_JP.UTF-8
   compress manual with..
      0: none
      1: gzip
      2: bzip2
      3: compress
   select [0..3] : 3
   uname of page owner [root] ?: username
   group of page owner [root] ?: admin

   Directory:    /usr/local/share/man/ja_JP.UTF-8
   Compression:  compress
   Page uid/gid: username/admin

All OK? (Yes, [C]ontinue / No, [R]eselect) : c

[INSTALL PACKAGE SELECTION]
(just Return if you accept default choice)
(you can change the default by editing script/pkgs.list)
   [ 0/118] shadow          [Y/n] ?: 
   [118/118] zebedee         [Y/n] ?: 
All OK? (Yes, [C]ontinue / No, [R]eselect) : c

[RESOLVE CONFLICTS]
(just Return if you accept item 0)
   [0/170] There are 2 pages for arch.1:
    0: in GNU_coreutils
    1: in util-linux
   Which to install? (0..1) : 

   [169/170] There are 2 pages for yes.1:
    0: in GNU_coreutils
    1: in gnumaniak
   Which to install? (0..1) : 
   GNU_coreutils/yes:1 is selected.

All OK? (Yes, [C]ontinue / No, [R]eselect) : c

creating installation script...done
now you can "make install" as user username.

$ make install

ja-man-doc

$ curl -O http://home.jp.freebsd.org/~kogane/JMAN9/ja-man-doc-9.X.YYYYMMDD.tbz

$ tar xfj ja-man-doc-9.X.YYYYMMDD.tbz
$ cd ja-man-doc-9.X.YYYYMMDD.tbz/share/man
$ gunzip -fr ./

$ find ja -name '*.[0-9]' -exec nkf --overwrite -w '{}' ';'
$ find ja -name '*.[0-9]' -exec gzip '{}' ';'

$ mv ja /usr/local/share/man/

Reference

Linux Documentaion Project - マニュアルアーカイブのダウンロード (Japanese)
http://linuxjm.sourceforge.jp/download.html

ja-man-doc
http://home.jp.freebsd.org/~kogane/

via

Macとかの雑記帳 - 2012-09-26 - jmanを使わずにMacのmanを日本語化する方法
http://tukaikta.blog135.fc2.com/blog-entry-224.html

Dashboard の On / Off を切り替える

Summary

フルスクリーンモードをスワイプで移動する際に、Dashboard が邪魔になる。
Dashboard を無効化したい。

Dashboard を Off にする

% defaults write com.apple.dashboard mcx-disabled -boolean YES
% killall Dock

Dashboard を On にする

% defaults delete com.apple.dashboard mcx-disabled
% killall Dock

OS X Mountain Lion 「このアプリケーションで開く」で同じアプリ名が複数表示される問題と解決策

Terminalから実行

% cd /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support
% ./lsregister -kill -r -domain system -domain local -domain user
% killall Finder

Reference

TELAS - 2012-08-21 - 「このアプリケーションで開く」で同じアプリ名が複数表示される問題はこれで解決
http://telas.jp/1840/

KeyRemap4MacBookでカナ/英数がトグルしなくなった場合の対処法

Summary

Use Option_R as KANA/EISUU (toggle) を ON にしても、かなから復帰しなくなってしまった。

EventViewerで見ると、以下のような状態。

inputsourceName: com.apple.inputmethod.ironwood
inputmodeName: org.pqrs.inputmode.en.ironwood

inputmodeName: com.apple.inputmethod.Japanese を期待しているのだが…。

「音声入力と読み上げ」をOFFにすることで解決。

Reference

Googleグループ - KeyRemap4MacBook-ja - Mountain Lion ATOK2012 で動作しない
https://groups.google.com/forum/#!topic/keyremap4macbook-ja/OYclVEVfpfI

Mac で日本語のソート

Summary

Macのターミナルで ls を実行した際、
日本語ファイル名のソートの挙動がおかしかった。
期待した通りにソートできない。

ls | sort

でも、同じ挙動に。

解決法

環境変数 LANG, または LC_ALL を C にしたら、期待した結果になった。

LANG=C ls
LC_ALL=C ls


Reference

Mac OS X の sort コマンドが壊れてるかと思ったら — のつこつ日誌
https://blackpearl.kawasaki3.org/Plone/Staggering-and-Stumbling-Diary/sort%20and%20LC_ALL

Mac OS X Lion で IPv6 をオフにする

Summary

Google ChromeからGoogleにアクセスした際に、
重い、または閲覧できない状態が頻発。

閲覧履歴を消去しても改善しない。
IPv6を切ってみたら、改善した。

ネットワークサービス名を確認する

networksetup -listnetworkserviceorder


IPv6を無効にする

$ sudo networksetup -setv6off <networkservice>


ネットワーク名がEthernetであれば

$ sudo networksetup -setv6off Ethernet


システム環境設定 - ネットワーク - IPv6の構成 が「切」になる。
IPv6 を有効にする場合は、ここを「切」以外に設定すればよい。

IPv6 の動作確認

$ networksetup -getinfo <networkservice>
...
IPv6: Off

Reference

OS X 10.7 Lion で IPv6 を無効にして「切」にする | Macとかの雑記帳
http://tukaikta.blog135.fc2.com/blog-entry-175.html

midore's blog: OS X 10.7 : IPv6 を切る
http://midorex.blogspot.jp/2011/07/os-x-107-ipv6.html