mac関係

index

操作関係

ダイアログの選択ボタンをキーボードで選ぶ

  1. Tabキーで選択ボタンを変更(Shift + Tab で逆順に選択ボタンが変更される)
  2. 目的のボタンが選択されている状態で Space キーを押す

両面印刷(Xerox DocuColor 1250CP)

富士ゼロックスのwebサイトによると、「設定画面が別にある」か「選択したPPDファイルが別なものを選択している」のどちらからしい。

まず前者を確認、「プリンタを設定」の中にそれらしきものがあったので設定してみた。

ところが、実際印刷しても両面印刷にはならずXEROXに聞いてみた。WEBの問い合わせフォームから問い合わせると電話がかかってきた。

なお、「用紙サイズに合わせる」というオプションをアプリケーション側でつけて印刷すると両面印刷ができないことがあるらしい。FireFox2 で印刷の「Firefox」にある「Shrink To Fit Page Width」オプションをオフにする必要があるとのこと。同様のオプションがある別のアプリケーションでも同様の問題が報告されているらしい。

パスワード付きzip圧縮

暗号付加:
  1. Zip Tools for Mac OS X をダウンロードしてインストール
  2. /usr/local/bin へパスを通す
  3. ターミナルで以下のコマンドを実行
    zipcloak ファイルのパス/暗号化するzipファイル名
    ※ファイルはあらかじめ圧縮しておくこと。Mac OS X 10.4 では Finder でファイルを右クリック→「アーカイブを作成」でできる。
  4. パスワードを聞かれるので入力(確認と合わせて2回)。これでパスワードが付加される。
    ※Finder 上でパスワード付きzipファイルをダブルクリックすると、解凍に失敗する。
暗号除去:
  1. ターミナルで以下のコマンドを実行
    zipcloak -d ファイルのパス/暗号解除するzipファイル名
参考サイト:OS Xでパスワード付きzipを作成

DVDのコピー

/アプリケーション/ユーティリティー/ディスクユーティリティー を開く。あとはヘルプ見て。

参考:ディスクユーティリティーヘルプ

ショートカット

内容 ショートカット
メニューバーにフォーカス Ctrl + F2

Karabinerを使うとショートカットをカスタマイズできるらしい。但し2017/07/05時点ではMacOS Sierra(10.12)では動作しないらしい。

スクリーンショット画像の取得

取り込まれた画像はデスクトップに置かれる。 ファイル名は、ピクチャx.png (xは1からの連番)

Ctrl もつけると、デスクトップにファイルをつくるのではなく、クリップボードにコピーされる。 プレビューで[ファイル][クリップボードから新規作成](または Command + N)で画像化できる。

[アプリケーション]-[ユーティリティ]-[グラブ]を使っても同様のことができる他、指定した時間後にキャプチャーするなどの指定も可能[10]

スーパーユーザになる

スーパーユーザになる(suコマンド)には、rootのパスワード設定を行っておく必要がある。

hoge:~ user$ sudo passwd root パスワード
Password: 現在ログイン中ユーザのパスワードを入力(入力値は表示されない)
Changing password for root.
New Password: スーパーユーザ用パスワードにする値を入力(入力値は表示されない)
Retype new password: スーパーユーザ用パスワードにする値を再入力(入力値は表示されない)

hoge:~ user$ su
Password: 設定したスーパーユーザパスワードを入力(入力値は表示されない)
hoge:/Users/user root# exit ←スーパーユーザになれた
exit
hoge:~ user$ 

参考文献・サイト:

Functionキーが効かなくなった時の対処方法

OSの機能としてFunctionキーにより以下の操作ができるはずだが、なぜかこれが効かなくなることがある。

この場合、Terminalで killall Dock を実行すれば直る1

画面表示関係

「このアプリケーションで開く」で重複したアプリケーションを削除する

Terminalで以下のコマンドを実行すればよいとのこと[1]

$ /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user
ThrottleProcessIO: throttling disk i/o
$ killall Finder
$ 
実行前 実行後
実行前(メニュー項目に重複が見られる) 実行後(メニュー項目の重複は解消)

文字入力関係

Macでアクセント記号などを入力

アクセント記号などは「Option」(Alt)+符合指定キー、文字の順に入力することで入力できる。 (右上入力選択メニュー)→キーボードビューア、でキーボードビューアを表示し、Option(Alt)を押せば、どのキーがどの符合に対応しているかが一目で分かる。

記号名 符合指定キー
グレーヴ・アクセント(重アクセント) à `(半角/全角キー)、_(アンダースコア)
アキュート・アクセント(鋭アクセント) á e
サーカムフレックス(曲折アクセント) â i
ウムラウト ü u
マクロン(長音記号) ã n

参考文献・サイト

ことえり〜変な変換候補提示をやめさせる方法

参考サイト:Macintoshことえりユーザ辞書/単語登録/自動学習辞書LearningDictionaryの内容/

ことえりは、MS-IMEと異なり、学習した単語は、ユーザ辞書に登録されるのではなく、【 LarningDictionary 】という自動学習専用の辞書に登録されていきます。残念なことに、ことえりには、MS-IMEの辞書ツールにあたるものがありません。そのため、普通の手段では、学習単語の品詞を訂正したり、誤った学習結果を削除したりすることはおろか、学習単語を見ることすらできません。

辞書の場所
/Users/kudoutakahiro/Library/Preferences/com.apple.JapaneseAnalysis/LearningDictionary.dict

手っ取り早いのはこの学習辞書を削除してしまうこと。

入力メソッドをキーボードショートカットで切り替える

Mac OS X 10.6 (Snow Leopard) の場合、「Command + Space」を長押しすると画面中央に入力メソッドリストが表示され、この状態で「Command + Space」で次(一つ下)の入力メソッドに、「Shift + Command + Space」で前(一つ上)の入力メソッドに選択が移動。キーを離すと選択されている入力に確定される。「Option + Command + Space」だと、画面中央に入力メソッドを表示することなく、次の入力メソッドに切り替えられる。

参考文献・サイト

  1. MacでGoogle日本語入力™とことえりを一緒に使用する際のテクニック / Inforati

Terminalで単語ごとにカーソル移動を行う

MacのターミナルでCtrl+左右矢印で単語単位で前後に移動するよう設定する方法[9]

  1. メニューの[ターミナル]-[環境設定]を開く→[設定]が開く
  2. [設定]グループの[キーボード]タブを開く
  3. 「+」をクリック→新規値を入力するダイアログが出る
  4. キー→右矢印、修飾キー→「control」、操作→「文字列を下記のシェルへ送信」、(入力ボックス)→「\033f」(ESC、fの順で入力、誤入力したら「1文字削除」ボタンをクリックして消す)を設定して[OK]ボタンをクリック
  5. 「+」をクリック→新規値を入力するダイアログが出る
  6. キー→左矢印、修飾キー→「control」、操作→「文字列を下記のシェルへ送信」、(入力ボックス)→「\033b」(ESC、bの順で入力、誤入力したら「1文字削除」ボタンをクリックして消す)を設定して[OK]ボタンをクリック

Home/End/PageUp/PageDownの入力

「Fn + カーソルキー」で入力できるとのこと[22]

システム関係

Macの起動時に自動的に起動するアプリケーションを管理する方法

「システム環境設定」の「アカウント」から設定します。
「ログイン項目」からアプリケーションを追加してやればOKです。

さらに「Dock」に入っているアプリケーションに関しては、コントロールキーを押しながらアイコンをクリックすると「ログイン時に開く」というのが選択できる。

参考サイト:ネタフル

OS upgrade(10.4→10.6)

1. バックアップをとる
2. Mac Box Setを入手
3. OS install
4. apachectlの設定を戻す
5. 10.6用のプリンタドライバをインストールする
6. BOINCが起動しなくなるので対策を取る

10.6では新たに制約が加わり、boinc_masterグループに所属しない非管理者ユーザはBOINC Managerを起動できなくなった。

BOINC 6.10.5のインストーラでは、どの非管理者ユーザをboinc_masterグループに追加するかを問い合わせるようになっている(以前のバージョンでは管理者的権限を持つ(=adminグループに所属する)全てのユーザを自動的にboinc_masterグループに追加していた)。

もし、どのユーザをboinc_masterグループに追加するのかを指定したいのであれば、AddRemoveUserというコマンドラインツールが使える。

$ sudo パスAddRemoveUser -a ユーザ名 ユーザ名...
出典:Selecting which users may run BOINC Manager - Tools for Mac OS X - BOINC

...ところが上記措置をとっても実際には動作しなかった。BOINCダウンロードページから最新版をダウンロードして上書きインストールしたら動いた。

記憶媒体ののパス

外付けHDD、USBフラッシュメモリ、CD/DVD-ROMドライブなどMac起動HDD以外の記憶媒体にアクセスする際のパスは、/Volumes/以下にある。それぞれボリュームラベル名のディレクトリとして見える。

固定ホスト名設定

Mac(Mac OS X 10.4.11)では、固定のホスト名設定はhostsファイルで行うのではなく[アプリケーション][ユーティリティ][NetInfoマネージャ](/Applications/Utilities/NetInfo Manager.app)で行う。手順はサイト記述内容とほぼ同等。

  1. NetInfoマネージャを起動。
  2. [セキュリティ][認証]をクリック ※サイト記述とはメニューの場所が異なる
  3. ルートのパスワードを入力
  4. machinesを選択
  5. [ディレクトリ][新規のサブディレクトリ]をクリック→machinesの下にnew_directoryという要素が作成される
  6. 下のプロパティシートの「値」の欄をダブルクリック、編集可能状態になるので登録したいホスト名を入力
  7. [ディレクトリ][新規のプロパティ]をクリック→新規要素が追加される。
  8. [プロパティ]をダブルクリックして、「ip_address」に変更
  9. [値]をダブルクリックし、IPアドレスを入力
  10. NetInfoマネージャを終了、保存するか聞かれるので保存

なお、本来はこんなことをしなくてもDNSさえ適切に設定され、DNSサーバが適切に設定・稼働していればこのような設定は不要なはず。

参考サイト:/etc/hostsファイルの代わりに・・・

システムログ

/private/var/log/system.logなど。

応答しないアプリの強制終了

[Apple Menu]-[強制終了]、または「Command + Option + ESC」で「強制終了」ウインドウを開き、応答しないアプリを選択して終了させる。

参考文献・サイト

  1. Mac OS X:強制終了を使用して応答しないアプリケーションを終了する方法

パッケージ管理(fink)

Fink プロジェクトは オープンソースソフトウェアを Darwin と Mac OS X で使えるようにするもの。RHEL/CentOSのyum、Debian系Linuxのdpkg、apt-getなどに類似するもの。

インストールは(1)ソースバイナリをダウンロードし、(2)解凍展開し、(3)展開したディレクトリに移動して ./bootstrap を実行するだけ。インストール中、どこからダウンロードするかなどいろいろ聞かれるが、基本的にはデフォルト値でOK。

# ls fink*
fink-0.32.2.tar.gz
# tar -zxvf fink-0.32.2.tar.gz
# cd fink-0.32.2
# ./bootstrap

install後、自己updateをかけると、多くのパッケージがlistで出るようになった。

# fink selfupdate

参考文献・サイト

  1. Finkホームページ

gpg

MacでUNIXのgpgコマンドを実装するには、Mac GNU Privacy Guardをインストールするのが最も簡単かと思われる。このサイトから「GPGTools」に進んで「GPGTools Installer」をダウンロード。DiskImageに含まれるインストーラを実行してインストール完了。

起動音を止める

23に書かれていた方法をMacOS 10.13.3 (High Sierra)で確認した結果を以下に記す。

手法 結果
サウンド設定から消す方法
[システム環境設定]-[サウンド]で主音量右側の「消音」チェックボックスをONにする。
×(依然起動音が鳴る)
ターミナルのコマンドで消す方法
ターミナルで以下のコマンドを実行
$ sudo nvram SystemAudioVolume=%80

ネットワーク関係

リモートデスクトップ

MacからVNCサーバサービスが立ち上がっているシステムにアクセスして、リモート操作を行う「VNCクライアントソフト」→Chicken of the VNC(フリーソフト)。

MacがVNCサーバになる→OSXvnc(フリーソフト)。

Windowsネットワークへ接続する

  1. Finder [移動][サーバへ接続...](Command + K)
  2. サーバアドレスに「smb://サーバ名」を入力
  3. 「接続」ボタンをクリック→「SMB/CIFSファイルシステムの認証」ダイアログが表示される
  4. 「ワークグループまたはドメイン」「名前」「パスワード」をそれぞれ入力して「OK」ボタンをクリック→「接続したいSMB/CIFS共有ボリュームを選択して下さい」ダイアログが表示される。
  5. 「PDBjサーバ資料」が選択されているのを確認し、「OK」ボタンをクリック

参考文献・サイト

Windows/Macコマンド対応

内容 Windows Mac
IPアドレスなどの情報確認 コマンドプロンプトで "ipconfig" ターミナルで "ipconfig"

ルーティング設定の参照・編集

現在設定されているルーティング情報は、CentOSなどではroute、Windowsではroute printで表示できるが、Macのrouteコマンドではなく、netstatコマンドを使う必要があるよう。

【書式】netstat -r
【例】現在設定されているルーティング情報を表示する
$ netstat -r
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.39.1       UGSc           23        0     en0
127                localhost          UCS             0        0     lo0
localhost          localhost          UH              4   138244     lo0
...

設定の変更はrouteコマンドを使う。

【書式】route add 宛先 ゲートウェイ
【例】192.168.30.0/24 ネットワークへ行くには192.168.11.1をゲートウェイとするルーティング情報を追加
$ sudo route add 192.168.30.0/24 192.168.11.1
Password: 
add net 192.168.30.0: gateway 192.168.11.1

Firefox関係

Firefox 14.0.1 for MacにUpgradeしたところ、Accesskeyが効かなくなった。修飾キーがCtrlからCtrl + Option(Alt)に変更されていた[8]

リモートNFS領域をマウント

OS起動時にNFSマウントを行う設定方法[15]

一時的にNFSマウントを行う方法[16]

無線ルータにする

有線LANでインターネットに接続しているiMacを無線ルータにして、モバイル端末などをWiFi経由でネットに接続する方法について[11]。下記はMac OS 10.6.8での事例。

1. 無線LANを有効化
[システム環境設定]-[ネットワーク]で[AirMac]を選択し、[ネットワーク名]で[ネットワークを作成]、ネットワーク名、WEP暗号の種類、暗号キーを設定。IPアドレスは設定しない(設定すると複数のIPが設定された妙な状態になり、Mac自身が外部と通信できない(無線側から外部にアクセスしようとする)状態に陥る可能性あり。詳細は後述)。
2. インターネット共有を有効化
[システム環境設定]-[共有]で[インターネット共有]のチェックボックスをONにし、[共有する接続経路]を[Ethernet]、相手のコンピュータが使用するポートで[AirMac]のチェックボックスをONにする。
3. 端末をiMacに接続する
IPアドレスは固定IPで10.0.2.x(xは2〜254の範囲で他と重複しない整数)、ゲートウェイとDNSサーバは10.0.2.1を設定。Macの無線IPを設定していても、その値とは関係なく10.0.2.1の方が通信に使われるようなので。なお、MacのIPアドレスをifconfigで確認するとIPアドレスが2つ設定されている不思議な情報が返った。
$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
	inet 127.0.0.1 netmask 0xff000000 
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	ether 00:17:f2:ca:89:e9
	inet6 fe80::217:f2ff:feca:89e9%en0 prefixlen 64 scopeid 0x4 
	inet 192.168.0.2 netmask 0xffffff00 broadcast 192.168.0.1
	media: autoselect (1000baseT <full-duplex,flow-control>)
	status: active
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	ether 00:19:e3:0d:53:0a 
	inet6 fe80::219:e3ff:fe0d:530a%en1 prefixlen 64 scopeid 0x5 
	inet 192.168.1.1 netmask 0xffff0000 broadcast 192.168.255.255
	inet 10.0.2.1 netmask 0xffffff00 broadcast 10.0.2.255
	media: autoselect
	status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 2030
	lladdr 00:19:e3:ff:fe:1e:b6:a4 
	media: autoselect <full-duplex>
	status: inactive

なお、Mac 10.6ではAdhocモード(Peer to peerでの接続、接続は1台限りで暗号化はWEPのみ)しか使えないが、Mac 10.9ではInfrastructureモード(無線ルータモード、複数台接続可能でWPA暗号も利用可能)が有効[14]

アプリケーション関係

ムービーのマージ・分割

AddMovieというアプリケーションで、複数のムービーファイルを1つにしたり、1つのムービーファイルを複数のファイルに分割したりできる。AppStoreで購入可能。¥850。

wget

Macはデフォルトではwgetコマンドが使えるようにはなっていない。インストールするには下記手順が必要(Mac OS 10.8.4の場合)[2]

1. Xcodeをインストール
App Storeを起動し、Xcodeを検索すると見つかる。無料だがAppleIDが必要。
2. Command Line Toolsをインストール
Xcodeを起動し[Xcode]-[Preferences...]を開く。[Downloads]タブの[Components]で「Command Line Tools」の[Install]ボタンをクリックしてインストール。これでwgetで必要となるgccがインストールされる。
3. wgetバイナリをダウンロード
GNU Wgetから最新のwgetをダウンロード。署名ファイルも合わせてダウンロードし、署名検証を行うにはgpgコマンドを使えるようにしておく必要あり。その方法はこちら
4. wgetをインストール
configureの既定オプションのうち、sslの指定がデフォルトでは「gnutls」になっている。入っているのはopensslの方だったのでこちらを明示的に指定。
$ tar -zxvf wget-1.14.tar.gz
$ cd wget-1.14
$ ./configure --with-ssl=openssl
$ make
$ make check
$ sudo make install
$ which wget
/usr/local/bin/wget
      

接続機器情報(Windowsのデバイスマネージャ、システム情報に相当するもの)

Macのシステム情報の表示するフリーウェア「iStat2.0」なるものがあるらしいが、欲しいものとは異なる。CPUやメモリなどの使用状況を表示するもの。それならYahoo!ウイジェットにあるものとあまり変わらない。

出典:Mac のシステム情報を表示するフリーウェア iStat | Bowz::Notebook

これか、/アプリケーション/ユーティリティー/ にある「システムプロファイラ」がWindowsの「マイコンピュータ(右)管理」で開く画面に相当。

Apple Script関係

コメントアウト

複数行可能
(* ... *)
単行
-- ...

アイテムリストの出力

every UI elementを使って、扱えるアイテムを調べることができる[3]

[code]
tell application "System Events"
	tell process "Safari"
		every UI element
	end tell
end tell

[実行結果]
{
window "名称未設定" of application process "Safari" of application "System Events", 
menu bar 1 of application process "Safari" of application "System Events"
}
ブラウザのウインドウと、メニューバーがある
    

子要素についても以下のようにして表示させることができる。

[code]
tell application "Safari"
  open location "http://hoge.com/"
    tell application "System Events"
    tell window 1 of process "Safari"
	every UI element
    end tell
  end tell
end tell

[実行結果]
{
button 1 of window "名称未設定" of application process "Safari" of application "System Events",
button 2 of window "名称未設定" of application process "Safari" of application "System Events",
button 3 of window "名称未設定" of application process "Safari" of application "System Events",
group 1 of window "名称未設定" of application process "Safari" of application "System Events",
group 2 of window "名称未設定" of application process "Safari" of application "System Events",
group 3 of window "名称未設定" of application process "Safari" of application "System Events",
group 4 of window "名称未設定" of application process "Safari" of application "System Events",
static text "名称未設定" of window "名称未設定" of application process "Safari" of application "System Events",
tool bar 1 of window "名称未設定" of application process "Safari" of application "System Events",
grow area 1 of window "名称未設定" of application process "Safari" of application "System Events",
 sheet 1 of window "名称未設定" of application process "Safari" of application "System Events"
}
buttonは最大化、最小化ボタンのこと? grow area
    

自動サブミット

目的は以下の3つを自動で実行すること。

画面上の操作を扱う(UI Scriptを有効にする)には、[システム環境設定]-[ユニバーサルアクセス]の[画面表示]タブで「補助装置を使用可能にする」のチェックボックスをONにしておく。

tell application "Safari"
-- 指定URLを開く
open location "https://hoge.com/login.html"
-- ブラウザを最前面に出たアクティブ状態にする
tell application "System Events" to set frontmost of process "Safari" to true
end tell

トラブルシューティング

Terminalを起動すると勝手にコマンドが実行される

以前、Mac OS X 10.4デフォルトで入っていた apache 1.3 を止めて、別途 apache 2.2 を手動インストールし、わざわざOS起動時にTerminalを立ち上げ、最初に sudo /usr/local/Apache2/bin/httpd -k start を自動実行していた(sudo のパスワードは手入力、どうやって自動実行できるようにしたのかは忘れた)。しかし、システムを誤って破壊してOS再インストールしたのを機に環境再構築。Macにapache2をインストールに記した手順でOSのサービスで起動するapacheを2.2に置き換えられたので、前記の手動起動は不要になった。ところがそれを止める方法が分からない。~/.bashrc~/.bash_profile辺りにも記述はない。/Library/Preferences/com.apple.Terminal.plist にアプリケーション設定が記述されるらしいが、そもそもそんなファイルは存在せず。参考サイト17にあるように、Terminalで「defaults delete com.apple.Terminal ExecutionString」を実行したら直った。

「開発元が未確認のため開けません」と表示されインストールができない

アプリケーションをインストールしようとすると「開発元が未確認のため開けません」を記されたダイアログがでてインストールができない場合の対処方法について[18]。下記内容はMac OS 10.9.2 にて確認。

1. [システム環境設定]-[セキュリティとプライバシー]を開く
2. [一般]タブ内の[ダウンロードしたアプリケーションの実行許可]の選択項目を[すべてのアプリケーションを許可]に変更