Mac mini Mid201(2.4GHz Intel Core 2 Duo)にLogicoolのdiNove Edge (紹介記事 : http://k-tai.impress.co.jp/cda/article/stapa/36013.html) というBluetoothキーボードを接続して使ってます。今朝、メールなどを書こうとすると「H」が入力できなくなっていました(他のキーは、すべては試していませんが入力できます)。
Mac miniを再起動しても入力できないままです。キーボードの不具合かと思い、Mac Book Pro 13" Retinaに接続してみると、こちらでも「H」が入力できません。
壊れているなら失うものはありませんし、日曜日なので秋葉原に新しいものを買いに行くとこともできると思い、回復をがんばってみることにしました。
最初に試したのはアルコールです。電源を切り、消毒用エタノールを「H」キーの周りに噴霧して「H」キーを何度も押してみました。そして、扇風機でアルコールを飛ばしてから、電源を入れると…、うれしいことにこの最初の手段で回復しました。
ただ、「H」キーはCtrl-H(左削除)でよく使っているので、キースイッチの寿命なのかもしれません。近いうちに、新しいキーボードを予備として買っておこうかと思います。
2015年5月31日日曜日
2015年5月29日金曜日
Apple オンラインストアでの支払いを銀行振込にする
会社でApple製品を購入しようとして、Appleオンラインストアを利用しようとしました。製品を選びカスタマイズをしてから、支払い手続きに移行すると、銀行振込の選択肢がありません。
法人向けの支払いの説明ページ
しかたがないので、製品の発送先などを記入するところにある「チャット」を利用して、問い合わせてみました。すると、
以前は、オンラインで手続きができたので、それと比べると不便になりました。このようになった理由はよくわかりませんが、もしかしたら、店頭では売られていないCTOモデルを大量に販売した、もしくは一般の客からカスタマイズ情報を訊き、客に代わって注文、その手数料を取るというような会社があったのかもしれません。
またApple Developer Programの費用についても同様に問い合わせたところ、WWWサイトで提示される支払いの選択肢、クレジットカードかitunesカードのみという回答でした。
法人向けの支払いの説明ページ
法人向けお支払い方法のご案内をみると、
http://store.apple.com/jp/help/business_payments
法人向け銀行振込をお電話でお申し込みいただけます。とあり、オンラインでの手続きはできないようです。
しかたがないので、製品の発送先などを記入するところにある「チャット」を利用して、問い合わせてみました。すると、
- 銀行振込はオンラインからは選べない
- 担当者から連絡させるので、会社名、担当者名、電話番号、メールアドレスを教えて欲しい
- 購入したい製品とその構成を口頭で伝える
- 構成内容がメールで送られてくる
- これでよければ、メール中にある振込先情報にしたがって振込
- 実際に口座に振込が行われた日の翌営業日にAppleが確認して生産指示(たとえば木曜日の16:00に振り込んだとすると金曜日に振り込まれ、確認は翌営業日である次週の月曜日で、そこから生産指示)
以前は、オンラインで手続きができたので、それと比べると不便になりました。このようになった理由はよくわかりませんが、もしかしたら、店頭では売られていないCTOモデルを大量に販売した、もしくは一般の客からカスタマイズ情報を訊き、客に代わって注文、その手数料を取るというような会社があったのかもしれません。
またApple Developer Programの費用についても同様に問い合わせたところ、WWWサイトで提示される支払いの選択肢、クレジットカードかitunesカードのみという回答でした。
2015年5月16日土曜日
MacOS X(10.9)で常にverbose modeで起動する
MacOS X 10.9で常にverbose modeで起動するには以下のようにします(10.8や10.7でも同じだったと思います)。
一時的にverbose modeで起動するには以下のようにします。
$ cd /Library/Preferences/SystemConfigurationKernels Flagsキーに「-v」を追加します。
$ ls
CaptiveNetworkSupport
NetworkInterfaces.plist
com.apple.Boot.plist
com.apple.PowerManagement.plist
com.apple.accounts.exists.plist
com.apple.airport.preferences.plist
com.apple.network.eapolclient.configuration.plist
com.apple.smb.server.plist
com.apple.smb.server.plist.lockfile
com.apple.wifi.message-tracer.plist
preferences.plist
$ sudo cp com.apple.Boot.plist com.apple.Boot.plist.ORG
$ sudo vi com.apple.Boot.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>-v</string>
</dict>
</plist>
$
一時的にverbose modeで起動するには以下のようにします。
Intel ベースの Mac で利用できる起動時のキーコンビネーション
https://support.apple.com/ja-jp/HT201255
起動時に「command + V」キーを押す。 Verbose モードで起動します。
2015年5月10日日曜日
MacOS XのTerminal.appでmoshを使う(英語環境の場合)
moshをFreeBSD(9.1と9.2)とMacOS X(10.9.5)でインストールした話の続きです。
FreeBSDとMacOS Xでmoshを使う先の記述は、システム環境設定/言語と地域/優先する言語で「日本語」を最優先としている場合にはうまく動きます。しかし、「言語と地域」で「English」を最優先にしている場合には、もう少し設定が必要です。
http://www.sakashita-net.jp/2015/05/freebsdmacos-xmosh.html
MacOS Xのターミナル.appでmoshを使う(日本語環境の場合)
http://www.sakashita-net.jp/2015/05/macos-x1095appterminalappmosh.html
私の場合、仕事で米国の方にMacOS Xでの設定を伝える必要があり、画面写真を送る時などにメニューの表記などが英語になるように、「English」を有線にしています。上記の記事にある記述のままで、ターミナルからmoshを起動すると、以下のような表示になってしまいうまく動きません。
mosh-server needs a UTF-8 native locale to run.よく見てみると、LC_CTYPEがUTF-8という謎の値になっています。本来であれば、en_US.UTF-8になっていなければなりません。試しに、Terminal.appの設定で「Set locale environment variables on startup」のチェックを外して起動してみると、次のようになります。
Unfortunately, the local environment ([no charset variables]) specifies
the character set "US-ASCII",
The client-supplied environment (LC_CTYPE=UTF-8) specifies
the character set "".
LANG=
LC_CTYPE=UTF-8
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
Connection to ホスト名 closed.
/usr/local/bin/mosh: Did not find mosh server startup message.
mosh-server needs a UTF-8 native locale to run.LANGなど環境変数に何も設定されていません。検索エンジンで調べてみると次のようなWWWページが見つかります。
Unfortunately, the local environment ([no charset variables]) specifies
the character set "US-ASCII",
The client-supplied environment ([no charset variables]) specifies
the character set "US-ASCII".
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
Setting locales correctly on Mac OSX Terminal applicationここでもLC_CTYPE環境変数がUTF-8となってしまうと書かれています。しかし、このWWWページにある解決先、「Set locale environment variables on startup」にチェックを外すとLANGには何も設定されていない状態になってしまい、うまくいきません。たぶん、MacOS Xのバージョンが違い、動作が違っているのでしょう。
http://blog.remibergsma.com/2012/07/10/setting-locales-correctly-on-mac-osx-terminal-application/
もう少し調べてみると、次のようなページが見つかります。
システムワイドなロケール設定 ~ Mac OS X (その2)ここでは、以下のように書かれています。
http://d.hatena.ne.jp/flying-foozy/20140204/1391520123
GUI 経由でアプリを起動した場合、起動されたプロセスに対して、ロケール系環境変数は設定されません。GUI 経由でのアプリ起動では、シェルが介在していないので、ということで、「Set locale environment variables on startup」にチェックを外したままで、/etc/launchd.confを作成し、以下のように記述します。~/.bashrc
等での設定も意味を持ちません。
GUI 経由で起動される全てのアプリに対して、ロケール系のものを含めた、環境変数設定を行うには、設定ファイル/etc/launchd.conf
を使用します。
setenv LANG en_US.UTF-8
launchd で Homebrew を自動アップデートこれでよいかと安心していると、次のようなWWWページを見つけました。
http://kymmt90.hatenablog.com/entry/launchd_brew
launchd で Homebrew を自動アップデート(Yosemite 編)以下のような記述があり、MacOS XをYosemita(10.10.x)に変更するとうまく動かなくなるようです。
http://kymmt90.hatenablog.com/entry/launchd_brew_yosemite
Yosemite では /etc/launchd.conf という lanunchd 設定ファイルが廃止されている(バグ?)ことがわかりました。これは困ります。回避方法を検索してみると、次のようなWWWページがありました 。
Setting environment variables via launchd.conf no longer works in OS X Yosemite?ここではAppleScriptとUsers&GroupsにあるLogin Itemsを使う方法が紹介されています。
http://stackoverflow.com/questions/25385934/setting-environment-variables-via-launchd-conf-no-longer-works-in-os-x-yosemite
To avoid this, launchそこでApplication/UtilitiesフォルダにあるAppleScript Editorを起動し、中ほどの入力欄に以下のように書き込みます。AppleScript Editor
, enter a command like this:
do shell script "launchctl setenv variablename value"
(Use multiple lines if you want to set multiple variables)
Now save (⌘
+s
) as File format: Application. Finally openSystem Settings
→ Users & Groups → Login Items and add your new application.
do shell script "launchctl setenv LANG en_US.UTF-8"そして/Users/ユーザー名/Applicationフォルダに名前をつけて保存します。これだけでは実行できないので[Export...]メニューからApplication形式で書き出します。次に、Systems Preferences/Users&Groupsで自分自身のアカウント選び、Login Itemsに先ほどのApplication形式で書きだしたApple Scriptファイルを追加します。
これで、英語環境でもmoshをterminal.appから使えるようになりました。
うまくLANG環境変数が設定されているかは、わざと「Set locale environment variables on startup」にチェックをしてmoshを起動してみるとわかります。
mosh-server needs a UTF-8 native locale to run.LANGは確かにen_US.UTF-8になっていて、LC_CTYPEは「Set locale environment variables on startup」にチェックをしているために、UTF-8になってしまっています。
Unfortunately, the local environment ([no charset variables]) specifies
the character set "US-ASCII",
The client-supplied environment (LC_CTYPE=UTF-8) specifies
the character set "".
LANG=en_US.UTF-8
LC_CTYPE=UTF-8
LC_COLLATE="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=
英語環境でTerminal.appが正しくen_US.UTF-8と設定してくれるなら、このような苦労は不要なのですが、残念です。
2015年5月9日土曜日
MacOS Xのターミナル.appでmoshを使う(日本語環境の場合)
moshをFreeBSDとMacOS Xでインストールした話の続きです。
ターミナル.appの設定を開き、プロファイルを追加します。この中の[シェル]タブの起動欄で
「コマンドが見つかりません:mosh」と出ているので、ターミナル.appが内部で保持するPATH環境変数にmoshがインストールされているディレクトリ /usr/local/bin が含まれていないのかもしれません。そこで、起動するコマンドを
sshのポート番号を変えている場合は
内部でうまくコマンド行をパースできていないのかもしれません。なのでsshに対するオプションはMacOS X側の~ユーザ/.ssh/configファイルで
p.s. 上記の記述は、システム環境設定/言語と地域/優先する言語で「日本語」を最優先としている場合です。ここで「English」を最優先にしている場合には、以下の設定が必要です。
FreeBSDとMacOS Xでmoshを使う上記の設定で、MacOS Xのターミナルで開いたコマンド行からは使えるようになりました。次は、ターミナルのプロファイルに登録して使うようにしてみます。
http://www.sakashita-net.jp/2015/05/freebsdmacos-xmosh.html
ターミナル.appの設定を開き、プロファイルを追加します。この中の[シェル]タブの起動欄で
- コマンドを実行にチェックを入れる
- 入力欄には「mosh ユーザー名@ホスト名」
- 文字エンコーディング: Unicode(UTF-8)
- 起動時にロケール環境変数を設定にチェック
- Unicode東アジアA(曖昧)の文字幅をW(広)にするにチェック
[コマンドが見つかりません:mosh]となってしまいます。 その下の「シェル内で実行」をチェックしてから起動すると、今度はうまくいきます。しかし「シェル内で実行」の場合、リモートのホストからログアウトすると、手元のMacのシェルに戻ってしまいます。できれば、sshのようにターミナル.appのウィンドウが閉じられて欲しいところです。入力欄で
[新しいプロセスを作成して擬似 tty を開くことができませんでした。]
mosh ユーザー名@ホスト名 && exitとして回避することはできますが、ややいまいちです。
「コマンドが見つかりません:mosh」と出ているので、ターミナル.appが内部で保持するPATH環境変数にmoshがインストールされているディレクトリ /usr/local/bin が含まれていないのかもしれません。そこで、起動するコマンドを
/usr/local/bin/mosh ユーザー名@ホスト名とし、「シェル内で実行」の チェックを外してから起動してみると、今度はうまくいきます。
sshのポート番号を変えている場合は
/usr/local/bin/mosh --ssh="ssh -p 2222"としたいところですが、
/usr/local/bin/mosh: Server-side port or range (10022") is not valid.となりうまくいきません([シェル]タブで、「シェル終了時:ウィンドウを閉じない」と設定しておくとエラーメッセージを見ることができます。)。
内部でうまくコマンド行をパースできていないのかもしれません。なのでsshに対するオプションはMacOS X側の~ユーザ/.ssh/configファイルで
Host ホスト名などと設定する必要があります。
Port 2222
p.s. 上記の記述は、システム環境設定/言語と地域/優先する言語で「日本語」を最優先としている場合です。ここで「English」を最優先にしている場合には、以下の設定が必要です。
- ターミナル.appの設定で「起動時にロケール環境変数を設定」のチェックを外す
-
/etc/launchd.confを作成し、以下のように記述する
setenv LANG en_US.UTF-8
- システムワイドなロケール設定 ~ Mac OS X (その2)
http://d.hatena.ne.jp/flying-foozy/20140204/1391520123 - launchd で Homebrew を自動アップデート
http://kymmt90.hatenablog.com/entry/launchd_brew - launchd で Homebrew を自動アップデート(Yosemite 編)
http://kymmt90.hatenablog.com/entry/launchd_brew_yosemite - Setting locales correctly on Mac OSX Terminal application
http://blog.remibergsma.com/2012/07/10/setting-locales-correctly-on-mac-osx-terminal-application/
LC_CTYPE環境変数がUTF-8となってしまうようだ。正しくはen_US.UTF-8。
FreeBSDとMacOS Xでmoshを使う
FreeBSD(9.1と9.2)とMacOS X(10.9.5)でmoshを使うように設定しました。
moshの紹介は以下にあります。
変更の経緯は簡単に以下にまとめています。
これがうまくいったので、次は、MacOS Xから自宅のサーバーへのログインです。
自宅のサーバーはNATの中にあるので、 インターネット接続用ルーターにポート転送の設定が必要です。moshはsshにポートに加えて、60000〜61000番のUDPポートを使います。
moshの紹介は以下にあります。
Moshを使ってみるよいのは次のような点です(上記のblogから引用させていただきます)。
http://rcmdnk.github.io/blog/2014/06/30/computer-linux-mac/
- Moshは特にMobile端末からsshでどこかのサーバーへ接続して ネットワークがとぎれとぎれ担ってしまうような場合にも 接続を維持できる様に(自動で再接続)してくれるプログラムです。
- 接続認証にはsshを使いますが、サーバー側、クライアント側両側で プログラムを動かして別のポートを使って接続を行い、維持するようにします。
- これらのプログラムは
mosh
コマンド実行時に自動的にスタートするので、 サーバー側でも先に動かしておく必要はありません。
変更の経緯は簡単に以下にまとめています。
FreeBSDでconvmvを使ってファイルシステムのファイル名をEUCからUTF-8へ変換するMacでのインストールは、上記のblogにあるように、
http://www.sakashita-net.jp/2015/04/freebsdconvmveucutf-8.html
- homebrewをインストールする
- brew install mobile-shellを実行
# cd /usr/ports/net/mosh動作は、まずFreeBSDとMacOS Xでターミナルから自分のホストにログインしてみて試しました(sshでのログインなどが可能になっていることが前提です)。
# make
# make install
これがうまくいったので、次は、MacOS Xから自宅のサーバーへのログインです。
自宅のサーバーはNATの中にあるので、 インターネット接続用ルーターにポート転送の設定が必要です。moshはsshにポートに加えて、60000〜61000番のUDPポートを使います。
Mosh (mobile shell)この60000~61000番のUDPポートをサーバーに転送するように設定します。たとえば、ix2105では以下のようにします。
https://mosh.mit.edu/
…
Mosh will log the user in via SSH, then start a connection on a UDP port between 60000 and 61000.
…
interface GigaEthernet0.1このようにしておいてから、MacOS Xから自宅サーバーへログインしてみます。
ip napt service mosh サーバーIPアドレス none udp 60000-61000
macosx$ mosh ユーザー名@自宅サーバーssh接続ができているならこれでよいはずです。 sshのポートなどを変更している場合は、以下のように、mosh内部で利用しているsshコマンドへの引数を指定できます。たとえばsshのポート番号を指定したい場合には、以下のようにします。
…
自宅サーバー$
mosh --ssh="ssh -p 2222" ホスト
2015年5月3日日曜日
FreeBSDで特定のパッケージについてpkgでの自動的なアップデートを禁止する
FreeBSDでpkg(8)を使うときの落とし穴の
http://togetter.com/li/611632
メモ:FreeBSDでPHP-FPMを使っている場合、pkg upgradeするとPHP-FPMが削除されちゃうので、のようにpkg lock/unlockをするようにしました。
pkg lock php5
でロックをかけておく。php5を更新したいときは
pkg unlock php5
してからportsで更新
# pkg info -I apache22pkg lock apache22でロック、pkg unlock apache22でアンロックできます。
apache22-2.2.29_2 Version 2.2.x of Apache web server with prefork MPM.
# pkg lock apache22
apache22-2.2.29_2: lock this package? [y/N]: y
Locking apache22-2.2.29_2
# pkg unlock -l
Currently locked packages:
apache22-2.2.29_2
# pkg unlock apache22
apache22-2.2.29_2: unlock this package? [y/N]: ^C
#
これでバイナリのアップデートが行われなくなります。
登録:
投稿 (Atom)