目次 >> Mac OS X
ここでは、macOSのきわめて初歩的なものも含めたTipsをQ&A形式で記述する。
あるMacの環境を別のMacに移行したりするときに、もとのMacの設定ファイルやデータファイルが必要となる場合がある。
Mac OS Xの場合グローバルな設定は
/private
ユーザーのデータおよび設定は
/Users
以下のフォルダに納められている。
自動再生するにはターミナルで以下を入力する。
defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1
最後の数値を0にするとデフォルトの、自動再生をしない状態になる。
defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 0
Commandキー:Windowsキー
optionキー:altキー
MacにおけるDeleteキーはWindowsにおけるバックスペースキーと同じで、カーソルの前の文字を削除していく。
WindowsのDeleteキーのように、カーソル位置の文字を削除するにはFnキーを押しながらDeleteキーを押せばよい。
ターミナルで
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
と打ち込み再起動する。
逆に戻すには
defaults write com.apple.desktopservices DSDontWriteNetworkStores false
グラブを使う。
もしくは・・・
[Command]+[Shift]+[3]で全画面キャプチャ、[Command]+[Shift]+[4]で選択領域のキャプチャ、[Command]+[Shift]+[4]を押してスペースキーを押すとクリックしたウインドウをキャプチャする。
LinuxのQ and Aを参照のこと
Mac OS XのWebサーバはapacheである。基本的な設定はWebサーバの設定 - Apacheを参照のこと。
ここでは、Mac OS X特有の項目について述べる。
なお、Leopardからは、apache2系統に切り替わっているので、いくつかの部分で変更があるので注意。ここでは、Tigerまでの情報を記述する。
起動、終了はGUIで簡単にできる。設定の「共有」の中にある「パーソナルWeb共有」を開始するだけである。逆に終了は、停止をクリックすればよい。
リモートから等CUIで行う場合は
起動、
sudo apachectl start
停止、
sudo apachectl stop
再起動
sudo apachectl restart
で行う。
設定ファイルは以下のディレクトリに存在する。
/private/etc/httpd
このディレクトリ内の、httpd.confを変更すればよい。変更後は、必ずWebサーバを再起動すること。
それから、編集した際の改行コードには注意。UNIXの改行コードLFである必要がある。他の例えばMacの改行コードなのではいけない。
このディレクトリはaquaからは見えないので、まずは、設定ファイルを見える場所へコピーする。
cp -p /private/etc/httpd/httpd.conf ~/Documents/
そして編集が終わったら
sudo cp -p ~/Documents/httpd.conf /private/etc/httpd/
で元の場所にコピーする。
ドキュメントルートは標準では
/Library/WebServer/Documents
になっている。
なお、OS X Serverを使用している場合は、ドキュメントルートは
/Library/Server/Web/Data/Sites
となっているので注意。
Perlのパスは
/usr/bin/perl
である。
CGIスクリプトを置くディレクトリは
/Library/WebServer/CGI-Executables
である。このディレクトリには
http://アドレス/cgi-bin/
でアクセスできる。
なお、CGIスクリプトの改行コードはUNIXのLFでないといけない。また、パーミッションも755などにして実行できるようにしておくこと。
cig-binディレクトリ以外でCGIを使えるようにするには、
#AddHandler cgi-script .cgi
となっている部分のコメントを外す。.plも実行できるように.plも追加しておくと良い。
AddHandler cgi-script .cgi .pl
とする。
そして、CGIを許可するために
Options Indexes FollowSymLinks MultiViews
となっているところにExecCGIを追加し
Options Indexes FollowSymLinks MultiViews ExecCGI
とする。
#AddType text/html .shtml #AddHandler server-parsed .shtml
となっている部分のコメントを外し、
#AddType text/html .shtml #AddHandler server-parsed .shtml
とする。そして必要なところにOptions Includesを加える。デフォルトだと
Options Indexes FollowSymLinks MultiViews
となっているので
Options Indexes FollowSymLinks MultiViews Includes
とすると、SSIが使えるようになる。
httpd.conf内の
#LoadModule php4_module libexec/httpd/libphp4.so .... #AddModule mod_php4.c
となっている部分のコメントを外し
LoadModule php4_module libexec/httpd/libphp4.so AddModule mod_php4.c
とする。なお、Loepardからは、phpは標準では5になった。
Mac OS Xには標準でpostfixがついている。ただしサーバとしては起動していない。
とりあえず起動するだけであれば、
mydomain=example.com
myhostname=mail.example.com
の2つを設定してやればよい。
そして
sudo postfix start
と打つと、起動させることができる。
telnet localhost 25
と打って接続できれば成功である。
これで、postfixの動いているMacからpostfix経由でメールを送信することができる。例えばコマンドラインで
mail -s test test@example.net
.
と打つと、postfix経由でtest@example.netへメールが送信される。
逆に、Mac OSにhogeというアカウントがあるとすると、hoge@mail.example.com宛のメールを受け取ることができる。
初期の設定ではmain.cf内に
inet_interfaces = localhost
という箇所があり、localhostからしか接続できない。この箇所を
inet_interfaces = all
と書き換えてやる。この箇所を書き換えた場合、この項目を有効にするにはsudo postfix reloadでは駄目で、一旦停止し、再度起動する必要がある。
これで、Mac OS内のアカウント宛のメールは他のパソコンからメールソフトで直接送信できるようになるが、他の例えばtest@example.net宛のメールは、リレーを許可されていないというメッセージが出て送信できない。そこでSMTP AUTHを有効にする。
まず、http://cyrusimap.web.cmu.edu/downloads.html#saslから、SASLをダウンロードし、解凍し、./configure make make installをする。今回使用したバージョンは2.1.22。
インストール後、パスワードデータベースを作成するわけであるが、この段階でsaslpasswd2を使っても駄目で、Mac OS Xでは次の作業が必要である。
cd /usr/lib/sasl2/disabled
ls -l
total 4512
-rw-r--r-- 1 root wheel 737 Apr 24 2006 libkerberos4.la
-r-xr-xr-x 1 root wheel 51028 Apr 24 2006 libsasldb.2.so
-rw-r--r-- 1 root wheel 694 Apr 24 2006 libsasldb.la
-rw-r--r-- 1 root wheel 550 Apr 24 2006 libsql.la
-r-xr-xr-x 1 root wheel 2239952 Apr 24 2006 libsql.so
-rwxr-xr-x 1 root wheel 647 Jul 1 2006 twowayrandom.la
とあるので、これらのファイルを一つ上のフォルダへ移動する。
sudo mv /usr/lib/sasl2/disabled/* /usr/lib/sasl2/
そして、/usr/local/sbinディレクトリに移動すし、パスワードデータベースを次のようにして作成する。
cd /usr/local/sbin
sudo ./saslpasswd2 -u mail.example.com -c foo
Password:
Password:
Again (for verification):
Bus error
ここではfoo@mail.example.comというユーザーのパスワードを作成した。なお最初のPasswordはsudoのパスワードであるので注意。最後にBus errorというのが出がここではとりあえず無視する。
/etc/sasldb2.db
というファイルが作成されているか確認する。
sudo ./sasldblistusers2
というコマンドでも確認することができる。
パーミッションを確認すると
ls -l /etc/sasldb2.db
-rw------- 1 root wheel 16384 Nov 7 20:09 sasldb2.db
となっているはずであるが、これではpostfixが参照できないので、
$ sudo chgrp postfix /etc/sasldb2.db
$ sudo chmod 640 /etc/sasldb2.db
$ ls -l /etc/sasldb2.db
-rw-r----- 1 root postfix 16384 Nov 7 20:09 /etc/sasldb2.db
のように変えてやる。
つぎに、/usr/lib/sasl2/内にsmtpd.confというテキストファイルを作り、中身を
pwcheck_method: auxprop
とする。下記のように打つと簡単に作成できる。
$ sudo sh -c 'echo pwcheck_method: auxprop > /usr/lib/sasl2/smtpd.conf'
最後に、postfixのmaincfファイルに下記の行を追加する。
smtpd_sasl_auth_enable = yes smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination broken_sasl_auth_clients = yes
以上で、SMTP AUTHを使って外部にメールを送信できるようになるはずである。
gccをはじめとした開発ツールを使えるようにするにはXcodeをインストールする必要がある。
インストールするには、本体に付属してくるDVDのディスクからOptional Installsを選び、そこからインストールする。
~/.profileにパスを書き込む
Windowsマシンの場合、Fn+F3などでモニタの出力を切り替えられる。Macの場合は、環境設定でディスプレイの設定でミラーリングもしくは、主モニタを外部に指定する。
MacFUSE+sshfsを使うと、Finderで通常のフォルダと同様に扱える。
まず、公式ホームページ(http://code.google.com/p/macfuse/)から、MacFUSEをダウンロードする。
次に、同じサイトのsshfsの解説ページ(http://code.google.com/p/macfuse/wiki/MACFUSE_FS_SSHFS)から、OSのバージョンに合わせてsshfs-static-leopard.gzもしくはsshfs-static-tiger.gzをダウンロードする。
残念ながらsshfs 2.2.0以降、GUI版は提供されなくなってしまった。そのため、sftpサーバへの接続はダウンロードした上記ファイルをターミナルから実行して行う。
解凍してできたファイルは、sshfsにリネームしておく。
まずマウントポイントを作成する。そのマウントポイントに接続先のサーバ内のフォルダが現れるようになる。
$ mkdir /some/mount/point
そしてサーバに接続
$ sshfs user@host:/some/directory /some/mount/point -oauto_cache,reconnect,volname=<volname>
なお設定にかかわらず、接続先のサーバ内のフォルダには.DS_Storeは作成されない。
ドット(.)で始まるファイルなどは通常Finderには表示されない。
これらのファイルを表示するようにするには、ターミナルから
defaults write com.apple.finder AppleShowAllFiles TRUE
と打ち、システムを再起動する。
逆に元に戻すには、
defaults write com.apple.finder AppleShowAllFiles FALSE
と打ち、システムを再起動する。
Mac OS X 10.5以降では
defaults write org.x.x11 no_quit_alert true
Mac OS X 10.4では
defaults write com.apple.x11 no_quit_alert true
とすればよい。
逆に元に戻すには、
Mac OS X 10.5以降では
defaults write org.x.x11 no_quit_alert false
Mac OS X 10.4では
defaults write com.apple.x11 no_quit_alert false
とすればよい。
mp3のタグにID3v1を使っていると文字化けする。UnicodeがサポートされているID3v2を使えばよい。
そこで、まずOSの環境を日本語に切り替え、ID3v2が使われていないmp3ファイルをiTune上で選択し、タグをID3v2.3(2.2でも2.4でもよいのだが、2.3が一番普及しているため)に変更する。
なお文字化けしてしまったファイルは、日本語環境下で、「ID3タグを変換」を選択し、「文字列を変換」内の「ASCIIからISO Latin-1へ」を選択すると元に戻すことができる。
自動学習辞書がおかしくなってしまったと考えられる。学習辞書をリセットするには、
ユーザホーム/ライブラリ/Preferences/com.apple.JapaneseAnalysis/LearningDictionary.dict
というファイルを削除すればよい。
まず、FireWire(IEEE1394)でMac同士を接続する。そして、外部ドライブとして使いたいMacの電源を入れると同時に「T」ボタンを押す。
これで、別のMacからは外付けハードディスクのように扱うことができる。
取り外すときは、ディスクの取り出しをしてから取り外す。
コンピュータ名と行っても二つある。
TCP/IPのホスト名は「システム環境設定」から、「共有」を選択すればよい。
NetBIOS名、すなわちWindowsネットワーク上でのコンピュータ名は「システム環境設定」、「ネットワーク」、「詳細」、「WINDS」、「NetBIOS名」で変更。
Snow Leopardで通常のやり方でMS Office 2008をインストールしようとすると、Rosettaをインストールしなければならない。
レガシーなものをできるだけ入れたくない人は下記のようにすると、Rosettaを使わずにインストールできる。まず、インストールディスクを入れた状態でターミナルを開き、
sudo installer -package /Volumes/Microsoft\ Office\ 2008/Office\ Installer.mpkg -target /
とタイプする。すると下記のように、インストールが完了する。
$ sudo installer -package /Volumes/Microsoft\ Office\ 2008/Office\ Installer.mpkg -target /
WARNING: Improper use of the sudo command could lead to data loss or the deletion of important system files. Please double-check your typing when using sudo. Type "man sudo" for more information.
To proceed, enter your password, or type Ctrl-C to abort.
Password:
installer: Package name is Microsoft Office 2008 for Mac
installer: Installing at base path /
2009-11-05 11:26:09.627 installer[155:5c03] Package /Volumes/Microsoft Office 2008/Office Installer.mpkg/Contents/Packages/Office2008_en_word.pkg uses a deprecated pre-10.2 format (or uses a newer format but is invalid).
installer: The install was successful.
次に、自動アップデートプログラムもRosettaを要求してくるので、各種アップデートも手動でインストールする。具体的には、
Microsoft Office 2008 for Mac Service Pack 1 (12.1.0) (180 MB)
Microsoft Office 2008 for Mac Service Pack 2 (12.2.0) (297 MB)
Microsoft Office 2008 for Mac 12.2.1 Update (24 MB)
のファイルをダウンロードし、順にインストールする(これらはGUIでできる)。
ユーザホーム/documents/microsoft user data/office 2008 identities/Main Identity
というフォルダを消すと良い。
Mac OS Xにはデフォルトで開くアプリケーションを変更するとそのときに開こうとしたファイルの更新日時が、現在時刻に変わってしまうというバグが存在する。これを防ぐには、ダミーのファイルを作成してデフォルトで開くアプリケーションを変更するか、「デフォルト交換くん」というフリーソフトを使うと良い。
コマンドライン版7zファイル作成コマンド7zaなどを置く標準的なフォルダは
/usr/local/bin
である。
/useは存在するが、それ以下のlocalとbinは存在しないので、mkdirで作成する。
パスは設定しなくてもすでに通っている。
買ったものがあるなら認証解除する。
iTunesが起動していないことを確認する。
ミュージック内のiTunes フォルダを新しいMacに移す。
ユーザのライブラリのPreferences内のcom.apple.iTunes.plistとcom.apple.iTunes.eq.plistとcom.apple.iPod.plistとcom.apple.iTunesHelper.plistを新しいMacに移す。
ウインドウのスクロールバーは標準の設定では「マウスまたはトラックパッドに基づいて自動的に表示」される。しかしながら状況によっては常に表示されている方が使いやすい場合もある。
常に表示されるようにするには、[システム環境設定]から、[一般]を開き、その中の、[スクロールバーの表示]の項目から[常に表示]を選ぶ。
newsyslogを使う。
設定は、
/private/etc/newsyslog.conf
および
/private/etc/newsyslog.d
フォルダ内のファイル群で行う。
基本的な書き方は、
logfile_name [owner:group] mode count size when flags
の順にスペースで区切って書く。
logfile_nameは対象となるログファイル名。*のようなワイルドカードも使えるが、その際は最後のflagsにGを加える。
owner:groupはアーカイブされるファイルの所有権。これはオプションであるので指定しなくても良い。この項目を指定する場合、:は省略省略できない。
modeはファイルのモードすなわちパーミッションを指定する。
countは何世代バックアップするかである。例えば10を指定すると、11回目にバックアップされる際は、一番古いログは削除される。
sizeはファイルサイズがいくつになったら実行するかを指定する。単位はキロバイト。*を指定すると、ファイルサイズによる判断は行わない(whenの指定に従う)。
whenはいつ実行するかを指定する。*を指定すると、サイズによってのみ実行される。具体的な指定方法はアップルのサイトのこちらを参照。
flagsはオプションを指定し、おもなものとしては下記のようなものがある
B:ログファイルはバイナリファイル。アーカイブファイルに余計な文字を挿入しない。
C:もしログファイルが存在しないなら、ログファイルを作成する。
G:ワイルドカードによるパターンマッチングを行う。
J:bzip2による圧縮を行う。
Z:gzipによる圧縮を行う。
ウェブサーバのログは初期状態ではこの設定に入っていない。rotateするには/etc/newsyslog.confに
/var/log/apache2/access_log 644 999 5000 * JB /var/run/httpd.pid /var/log/apache2/error_log 644 999 5000 * JB /var/run/httpd.pid
を追加する。
もし、
Oct 5 09:51:49 example.com collabd[236]: [CSConnectionPool.m:196 827d000 +10000ms] Could not open a connection to Postgres. Please make sure it is running and has the correct access. Oct 5 09:51:49 example.com collabd[236]: [CSXCWorkSchedulerService.m:196 827d000 +0ms] Failed to open DB connection, retrying in 10s: [CSDatabaseError] Connection to DB failed Oct 5 09:51:59 example.com collabd[236]: [CSConnectionPool.m:196 827d000 +10000ms] Could not open a connection to Postgres. Please make sure it is running and has the correct access. Oct 5 09:51:59 example.com collabd[236]: [CSXCWorkSchedulerService.m:196 827d000 +0ms] Failed to open DB connection, retrying in 10s: [CSDatabaseError] Connection to DB failed
というエラーが数十秒ごとに/var/log/system.logに出力されているようなら、
# serveradmin status collabd
と打つと、下記のようにcollabdが止まるりエラーも止まる。
# serveradmin status collabd
collabd:state = "STOPPED"
もし、mdworkerというプロセスがCPUを大量に使っているとしたら、それはspotlightのプロセスである。この場合、HDDへのアクセスも大量に発生していることと思う。spotlightでインデックスする対象を減らすと、この症状は軽減される。
あまりお勧めではないが、mdutilというコマンドで、インデックス作成そのものを停止することもできる。ターミナルで
sudo mdutil -i off /
とすると起動ディスクのインデックス作成を停止する。再開するには
sudo mdutil -i on /
すべてのディスクのインデックス作成を停止するには
sudo mdutil -i -a off
再開するには
sudo mdutil -i -a on
特定のディスクのインデックス作成を停止するには
sudo mdutil -i off "/Volumes/Hoge HD/"
再開するには
sudo mdutil -i on "/Volumes/Hoge HD/"
のように打つ。
IPv6は依然として未完成な部分があり、有効にしておくと激遅になることがある。しかしながらLion以降GUIからは切れないようになってしまった。
コマンドラインからオフにするには下記のようにする。
下記のコマンドでハードウェアのリストを取得する
sudo networksetup -listallhardwareports
無線LAN上でIPv6をオフにするには
sudo networksetup -setv6off wi-fi
有線LAN上でIPv6をオフにするには
sudo networksetup -setv6off Ethernet
Thunderbolt接続の有線LANアダプター上でIPv6をオフにするには
networksetup -setv6off "Thunderbolt Ethernet"
例えば2009年に発売されたMacbook WhiteやMacbook ProはBoot Campを使ってのWindows10のインストールはサポート外である。このような機種にWindowsをインストールするには下記のようにする。
まず、Windowsのインストールであるが、ディスクユーティリティでパーティションを切ってインストールしようとしてもGPTパーティションではないと出てインストールできない。
OSX上でBoot Campを使い、サポートされているOS(ここではWindows7)のインストールディスクを挿入して、Windows用のパーティションを作成する。
パーティションが作成し終わると、再起動が行われ、Windowsのインストールが始まるわけであるが、この時に、Windows7のディスクを取り出し、Windows10のインストールディスクまたはUSBドライブを挿入する。そして、NTFSでフォーマットし、Windows10をインストールする。
これで、Windowsはインストール完了なのであるが、次にドライバおよびBoot Campコントロールパネルのインストールをする必要がある。
ドライバなどの入ったzipファイルは、OSX上のBoot Camp上で指示に従ってダウンロードできる。また、Appleのサイトから直接ダウンロードすることもできる。Macbook
White 2009用のBoot Campはバージョン4であったが、バージョン5もダウンロードできる。Bootcamp5の場合、
https://support.apple.com/kb/DL1720
からダウンロード。
ダウンロードしたzipファイルを解凍すし、Boot Camp4の場合は、
WindowsSupport\Drivers\Apple
フォルダ内の
BootCamp64.msi
Boot Camp5の場合は、
BootCamp\Drivers\Apple
フォルダ内の
BootCamp.msi
を右クリックして、まず、「互換性のトラブルシューティング」を実行し、「プログラムのテスト」を実行をすると、エラーが出て終わるが、そのまま、設定を保存して終了。
次に、コマンドプロジェクトを「管理として実行」で開く。
そしてBootCamp\Drivers\Appleフォルダまで行き、
Boot Camp4の場合は、
BootCamp64.msi
を
Boot Camp5の場合は、
BootCamp.msi
とタイプするとインストールが始まる。
途中、Boot Camp4の場合は、
Sigmatel オーディオのインストール時
Boot Camp5の場合は、
Realtekのサウンドドライバのインストールのところで止まってしまう。
タスクマネージャーを開き、Boot Camp4の場合は、
SigmaTelSetup.exeおよびsetup.exeを終了させる
Boot Camp5の場合は、
RealtekSetupというプロセスを強制終了させると、その先に進み、インストールが完了する。
再起動すると、タスクトレイにブートキャンプコントロールパネルがあるはずである。
なお、WindowsSupport\Drivers\Apple\x64内の13個あるインストーラーを個別にクリックしてもドライバはインストールすることはできるが、この場合、Boot Campコントロールパネルはインストールするされず、トラックパッドの設定なども行えない。また、OSXのパーティションも見ることができない。
iBackup:お手軽かつ高機能なバックアップソフト。上級者はrsyncを使ったスクリプトを書くのもお薦め。Time Machineもいいけど。
Paraview:3D可視化ソフト
Xee:画像ビューア。マウスのホイールで、次々にファイルを表示していけるのが便利。
iTunes-LAME:高音質なmp3を作成できるLAMEをGUIで使えるようにするソフト。
The Unarchiver:解凍ソフト
7zip:圧縮解凍ソフト
xbench:ベンチマークソフト
MacBook白が来た。
感想。2006年Mac miniから比べると性能的には格段の進歩を遂げている。付属ソフトを使っている分には十分軽い。一方液晶は思っていたよりも汚い。グレア加工だが、写真などの表示もDELL
Inspiron mini 9と比較しても明るさからして足りない。どちらかというと、ノングレア液晶のノングレアがいまいちの液晶といった感じ。
ファンは時々高速回転を始めるが、通常は非常に静か。
スピーカーは申し訳程度。ただし、ヘッドフォン出力にノイズはほとんど載らないので快適。
近年のMacBookはふたを開けただけで自動的に電源が入る。この機能を無効にするにはコマンドラインから操作して無効にしてやる必要がある。
無効にするには
sudo nvram AutoBoot=%00
再度有効にするには
sudo nvram AutoBoot=%03
QuickTime Playerは開いた際に自動では再生しない。自動再生するにはコマンドラインで
defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 1
と打つ。再度無効にするには
defaults write com.apple.QuickTimePlayerX MGPlayMovieOnOpen 0
とする。
brew install brightness
でbrightnessコマンドをインストールし、
brightness 0.99
のように0から1の間の範囲で明るさを指定してやればよい。1に近いほど明るい。
macOS Patcherで画面が暗くなってしまう問題にも、このコマンドで解決できる。
WindowsでUTCを使うようにします。レジストリのDWORD 値
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\RealTimeIsUniversal
の値を1に設定します。
最終更新日