Macの初期設定2020

4年前の更新以来使用してきたMacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)からMacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) に乗り換えたので、初期設定の手順を備忘録として残す。この文書自体、新しいMacBook Proを設定しながら書いている。

見た目や基本設定の変更

まずは壁紙を変更。「システム環境設定」→「デスクトップとスクリーンセーバ」→「デスクトップ」タブの、「カラー」→下から2段目・左端の濃いグレー(石)を選択する。以前は「ソリッドグレー・プロ・ダーク」だったのに、「石」って……。

「スクリーンセーバ」タブ→「開始までの時間」を短めに変更。さらに「ホットコーナー...」で、右上に「ディスプレイをスリープさせる」を割り当てる。

「システム環境設定」→「セキュリティとプライバシー」→「一般」タブで、「スリープとスクリーンセーバの解除にパスワードを要求」の「開始後」を短めに変更する。

次に、「システム環境設定」→「一般」→「アクセントカラー」を右端のグレーに変更する。地味好きなんです。

「システム環境設定」→「共有」→「コンピュータ名」を適当な名前に変更する。「○○のMacBook Pro」はちょっと嫌だ。

「システム環境設定」→「アクセシビリティ」の「スクロールジェスチャと修飾キーを使ってズーム」にチェックを入れる。

「システム環境設定」→「日付と時刻」の「時計」タブで「日付を表示」にチェックを入れる。

タスクバーのバッテリーをクリックして、「割合(%)を表示」にチェックを入れる。

「システム環境設定」→「ユーザとグループ」→「ログインオプション」で、「ログイン時の表示」を「名前とパスワード」に変更する。

「システム環境設定」→「Dock」の「拡大」にチェックを入れて、「サイズ」を適当に調整する。「Dockを自動的に隠す/表示」にチェックを入れる。「ウインドウタイトルバーのダブルクリックで」を「しまう」に変更する。

キーボード・トラックパッドの設定

「システム環境設定」→「キーボード」→「キーボード」タブの「修飾キー...」をクリック。 今回はUSキーボードにしたのでcaps lockをcontrolに、controlをoptionにするよう設定する。OptionとCommandキーはそのまま。

「ユーザ辞書」タブで、「スマート引用符とスマートダッシュを使用」のチェックを外す。

「ショートカット」タブで、「コントロール感のフォーカス移動をキーボードで操作」にチェックを入れる。

「入力ソース」タブで、 以下の設定をする。

  • 「入力モード」の「カタカナ」からチェックを外す
  • 「Windows風のキー操作」にチェックを入れる
  • 「句読点の種類」を「.と,」にする
  • 「”¥”キーで入力する文字」を「\(バックスラッシュ)」にする
  • 「数字を全角入力」のチェックを外す

「システム環境設定」→「トラックパッド」で、「ポイントとクリック」タブの「タップでクリック」をチェック。「その他のジェスチャ」タブの「ページ間をスワイプ」を「3本指でスワイプ」に変更。「アプリケーションExposé」にチェックを入れる。

Finderの設定

Finderの環境設定の「一般」タブから「デスクトップに表示する項目」の「ハードディスク」と「接続中のサーバ」にチェックを入れる。

「サイドバー」タブで、「サイドバーに表示する項目」のホームフォルダにチェックを入れる。

「詳細」タブで「すべてのファイル名拡張子を表示」と「名前で並べ替えるときにフォルダを上部に表示」にチェックを入れる。また、「検索実行時:」を「現在のフォルダ内を検索」に変更する。

適当なフォルダを開いて、表示オプション(Cmd-j)で「表示順序」を「グリッドに沿う」に設定し「デフォルトとして使用」を押す。

ソフトウェアのインストール

まずはコマンドライン・デベロッパツールをインストール。ターミナルでgccを起動しようとすると、インストールが促される。便利。

次にHomebrewをインストール。サイトに書いてあるコマンドをターミナルで入力する。
以前はrubyが必要だったが、現在はbashスクリプトでインストールされる。素晴らしい。

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

入れるソフトを(App Storeのアプリも含め)Brewfileで管理しているので、homebrew-bundleをインストール。

% brew tap Homebrew/bundle

現状の~/.Brewfileは以下の通り。

tap "homebrew/core"
tap "sanemat/font"

brew "fish"
brew "fzf"
brew "hugo"
brew "lv"
brew "mas"
brew "nkf"
brew "npm"
brew "python"
brew "ricty", args: ["with-powerline"]
brew "sshuttle"
brew "tmux"

tap "homebrew/cask"
cask "alfred"
cask "bettertouchtool"
cask "cmd-eikana"
cask "coteditor"
cask "firefox"
cask "google-chrome"
cask "gpg-suite"
cask "grammarly"
cask "hyperswitch"
cask "iterm2"
cask "mactex-no-gui"
cask "mendeley"
cask "onyx"
cask "r"
cask "slack"
cask "visual-studio-code"
cask "vmware-fusion"
cask "webex-meetings"
cask "zoomus"

# App Store applications
mas "1Password", id: 443987910
mas "Display Menu", id: 549083868
mas "Final Cut Pro", id: 424389933
mas "GarageBand", id: 682658836
mas "Keynote", id: 409183694
mas "Logic Pro X", id: 634148309
mas "MainStage 3", id: 634159523
mas "Motion", id: 434290957
mas "Numbers", id: 409203825
mas "OmniFocus", id: 867299399
mas "OmniGraffle", id: 1142578753
mas "Pages", id: 409201541
mas "ZIPANG", id: 882655968
mas "iMovie", id: 408981434

以下のコマンドで、インストール。

% brew bundle --global

Rictyをインストールするためのコマンドを実行する。

% cp -f /usr/local/Cellar/ricty/(バージョン)/share/fonts/Ricty*.ttf  ~/Library/Fonts/

ソフトウェアの設定

⌘英かな:左command → 英数、右command → かな、に設定。

BetterTouchTool:controlでウインドウ移動、optionでウインドウサイズの変更

fishの設定

fisherをインストール.

% curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish
% fisher add oh-my-fish/theme-bobothefish
% fisher add jethrokuan/z
% fisher add jethrokuan/fzf

あとはプリンタの設定をして、おしまい。

Macの初期設定

長年愛用したMacBook Pro (Retina, 13-inch, Late 2012)から、MacBook Pro (13-inch, 2016, Four Thunderbolt 3 Ports)に乗り換えたので、初期設定の手順を備忘録として残す。この文書自体、新しいMacBook Proを設定しながら書いている。

見た目や基本設定の変更

まずは壁紙を変更。「システム環境設定」→「デスクトップとスクリーンセーバ」→「デスクトップ」タブの、「無地の色」→右から2番目・上から2番目上の濃いグレー(ソリッドグレー・プロ・ダーク)を選択する。

「スクリーンセーバ」タブ→「開始までの時間」を短めに変更。さらに「ホットコーナー...」で、右上に「ディスプレイをスリープさせる」を割り当てる。

「システム環境設定」→「セキュリティとプライバシー」→「一般」タブで、「スリープとスクリーンセーバの解除にパスワードを要求」の「開始後」を短めに変更する。

次に、「システム環境設定」→「一般」→「アピアランス」を「グラファイト」に変更する。地味好きなんです。

「システム環境設定」→「共有」→「コンピュータ名」を適当な名前に変更する。「○○のMacBook Pro」はちょっと嫌だ。

「システム環境設定」→「アクセシビリティ」の「スクロールジェスチャと修飾キーを使ってズーム」と「Touch Barのズーム機能を有効にする」にチェックを入れる。

「システム環境設定」→「日付と時刻」の「時計」タブで「日付を表示」にチェックを入れる。

タスクバーのバッテリーをクリックして、「割合(%)を表示」にチェックを入れる。

「システム環境設定」→「ユーザとグループ」→「ログインオプション」で、「ログイン時の表示」を「名前とパスワード」に変更する。

「システム環境設定」→「Dock」の「拡大」にチェックを入れて、「サイズ」を適当に調整する。「Dockを自動的に隠す/表示」にチェックを入れる。「ウインドウタイトルバーのダブルクリックで」を「しまう」に変更する。

キーボード・トラックパッドの設定

「システム環境設定」→「キーボード」→「キーボード」タブの「修飾キー...」をクリック。 今回はUSキーボードにしたのでcaps lockをcontrolに、controlをoptionにするよう設定する。OptionとCommandキーはそのまま。

「ユーザ辞書」タブで、「スマート引用符とスマートダッシュを使用」のチェックを外す。

「ショートカット」タブで、「フルキーボードアクセス」の「すべてのコントロール」を選択する。

「入力ソース」タブで、 以下の設定をする。

  • 「入力モード」の「カタカナ」からチェックを外す
  • 「Windows風のキー操作」にチェックを入れる
  • 「”¥”キーで入力する文字」を「\(バックスラッシュ)」にする

「システム環境設定」→「トラックパッド」で、「ポイントとクリック」タブの「タップでクリック」をチェック。「その他のジェスチャ」タブの「ページ間をスワイプ」を「3本指でスワイプ」に変更。

Finderの設定

Finderの環境設定の「一般」タブから「デスクトップに表示する項目」の「ハードディスク」と「接続中のサーバ」にチェックを入れる。

「サイドバー」タブで、「サイドバーに表示する項目」のホームフォルダにチェックを入れる。

「詳細」タブで「すべてのファイル名拡張子を表示」と「名前で並べ替えるときにフォルダを上部に表示」にチェックを入れる。また、「検索実行時:」を「現在のフォルダ内を検索」に変更する。

ソフトウェアのインストール

まずはdropboxをダウンロードしてインストール。これがないと始まらない。

次にHomebrewをインストール。サイトに書いてあるコマンドをターミナルで入力する。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

入れるソフトを(App Storeのアプリも含め)Brewfileで管理しているので、homebrew-bundleをインストール。

$ brew tap Homebrew/bundle
(Brewfileのあるディレクトリに移動してから)
$ brew bundle

Rictyをインストールするためのコマンドを実行する。

$ cp -f /usr/local/Cellar/ricty/(バージョン)/share/fonts/Ricty*.ttf  ~/Library/Fonts/

ソフトウェアの設定

⌘英かな:左command → 英数、右command → かな、に設定。
BetterTouchTool:controlでウインドウ移動、optionでウインドウサイズの変更

あとはプリンタの設定をして、おしまい。

Let’s encryptを使ってみる

無料でオレオレではないSSLのサーバ証明書が作れる,let's encryptが,12/3にpublic betaになったので,このサイトで試してみました.

このサイトはFreeBSDの上でnginxを動かしているので,この環境上での証明書取得・導入手順をまとめておきます.

クライアントのインストール

クライアントのインストール方法は,pkgでpy27-letsencryptをインストールするだけ.お気軽.

% sudo pkg install py27-letsencrypt

証明書の取得

public betaなので,特に登録などは必要なく,以下のコマンドであっさり90日有効の証明書が取得できました.
ただし,letsencryptコマンドを -a standalone で動かす場合には,このコマンド自身がTCP/80ポートをlistenするWebサーバとして振る舞う(ドメイン名・IPアドレス確認のためらしい)ため,事前にwebサーバを止めておく必要があります.

% sudo /usr/local/etc/rc.d/nginx stop
% sudo letsencrypt certonly -t -a standalone -d www.kunimu.net --server https://acme-v01.api.letsencrypt.org/directory

letsencryptコマンドに付けたオプションは,以下の通りです.

-t : テキストベースで動作(付けないと,TUIになる)
-a standalone : スタンドアロンモード(自分がWebサーバとして振る舞う)で動作
-d www.kunimu.net : 証明書を取得したいFQDN(コマンドを動作させるマシンと一致している必要あり)
--server https://acme-v01.api.letsencrypt.org/directory : lets encryptの用意しているサーバを指定

コマンドを実行すると,以下のように注意事項が表示されるので,Agreeしておきます.

-------------------------------------------------------------------------------
This is a PREVIEW RELEASE of a client application for the Let's Encrypt
certificate authority and other services using the ACME protocol. The Let's
Encrypt certificate authority is NOT YET ISSUING CERTIFICATES TO THE PUBLIC.

Until publicly-trusted certificates can be issued by Let's Encrypt, this
software CANNOT OBTAIN A PUBLICLY-TRUSTED CERTIFICATE FOR YOUR WEB SERVER. You
should only use this program if you are a developer interested in experimenting
with the ACME protocol or in helping to improve this software. If you want to
configure your web site with HTTPS in the meantime, please obtain a certificate
from a different authority.

For updates on the status of Let's Encrypt, please visit the Let's Encrypt home
page at https://letsencrypt.org/.
-------------------------------------------------------------------------------
(A)gree/(C)ancel: A

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/usr/local/etc/letsencrypt/live/www.kunimu.net/fullchain.pem. Your
cert will expire on 2016-03-07. To obtain a new version of the
certificate in the future, simply run Let's Encrypt again.

取得した証明書に関するファイルは,/usr/local/etc/letsencrypt/live/ドメイン名/の下に,以下のように置かれています.

cert.pem : サーバ証明書
chain.pem : 中間CA証明書
fullchain.pem : サーバ証明書 + 中間CA証明書
privkey.pem : 証明書の秘密鍵

ただし,これらはシンボリックリンクで,実態は /usr/local/etc/letsencrypt/archive/ドメイン名/certN.pem のようなファイルになっています.Nは証明書の取得回数を示す値で,新たな証明書を取得するたびにシンボリックリンクが更新されるようになっています.

このしくみのおかげで,Webサーバの設定ファイルから /usr/local/etc/letsencrypt/live/ 以下のファイルを参照するようにしておくだけで,常に最新の証明書を使うことができるようになっています.ステキ.

 Webサーバ(nginx)の設定

nginxの設定ファイル(/usr/local/etc/nginx/nginx.conf)に,以下のような設定を書き込みます.ルートディレクトリの設定など,一般的な設定については省略しているので,適宜追加してください.

# HTTPS server
#
  server {
    listen 443 ssl;
    server_name www.kunimu.net;

    ssl_certificate /usr/local/etc/letsencrypt/live/www.kunimu.net/fullchain.pem;
    ssl_certificate_key /usr/local/etc/letsencrypt/live/www.kunimu.net/privkey.pem;

    ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m;
  }

この後,nginxを起動すれば,取得した証明書が有効になっています.

ついでに

もののついでにhttpsの安全性を向上させてみました.

先ほどのnginxの設定に,以下を追加します.

# OCSP Staplingの設定
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /usr/local/etc/letsencrypt/live/www.kunimu.net/chain.pem;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

# サーバ側の暗号スイートの設定を優先
ssl_prefer_server_ciphers on;

# 使用するTLSのバージョンと暗号スイートを限定
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED;

# Diffie-Hellman鍵交換に使用するパラメータの指定
ssl_dhparam /usr/local/etc/nginx/ssl/dhparam.pem;

# 次回アクセス時にhttpsを使用するようにする
add_header Strict-Transport-Security max-age=31536000;

それから,httpサーバの設定にも以下を追加して,次回のアクセスからhttps通信を使用させるようにします.

add_header Strict-Transport-Security max-age=31536000;

さらに,以下のコマンドで,ssl_dhparamの設定で書いたファイルを追加します.

% sudo mkdir /usr/local/etc/nginx/ssl
% sudo openssl dhparam 2048 -out /usr/local/etc/nginx/ssl/dhparam.pem
% sudo chmod 700 /usr/local/bin/renew_cert.sh

これでめでたく,Qualys SSL LabsのSSL Server Testで,A+の評価になりました.

スクリーンショット 2015-12-09 13.01.30

Raspberry Pi Model B+で遊ぶ(インストール編)

いまさらながら,Raspberry Pi(以下,Ras Pi)で遊んでみることにした.手元に転がっていたのが,Ras Pi Model B+.USBポートが4つと,Ethernetが1つ,HDMIとオーディオ端子,microSDスロットが付いたモデル.

まずはMacを母艦にして,Raspberian(Debianが基になっているRas Pi用のディストリビューションらしい)をインストールする.

直接microSDにRaspberianを書き込んでもいいらしいけど,NOOBSという色んなOSをインストールできるようになっているソフトを入れるといいとのこと.

http://www.raspberrypi.org/downloads/ からNOOBSのDownload ZIPでzipファイルを落としてくる.ブラウザでうまくダウンロードできなかったので,以下のコマンドで落としてみた.このファイルはzip形式だけど,ファイルがディレクトリの下に入っていないので,1つディレクトリを作成して,その中に展開しておく.

$ cd ~/Downloads
$ wget http://downloads.raspberrypi.org/NOOBS_latest
$ mkdir NOOBS
$ cd NOOBS
$ unzip ../NOOBS_latest

ディスクユーティリティを使って,microSDを1パーティションのFAT32にフォーマットしたら,展開したファイルをコピーする.今回はmicroSDのパーティション名を 1 にしたので,以下のようなコマンドでコピー.もちろん,Finderからでもいいけど.

$ cp -pR ~/Downloads/NOOBS/* /Volumes/1

これでmicroSDの準備はOK.取り外して,Ras Piに差し込む.
今回はRas Piの各端子に以下のように接続.HUBと書いたけどその上にルータなどがあって,DHCPでアドレスが配られていることを前提としています.
2015-04-03 19.54.12

micro USB端子を接続すると,Ras Piがすぐに立ち上がってしまうので,他の端子を接続してから最後に接続する点に注意が必要.
こんな起動画面をしばらく見ていると,

2015-04-03 17.50.35

インストールするOSの選択画面が表示されるので,Raspbianのところでスペースキーを押して選択.installの i を押すと,

2015-04-03 17.51.56

 

「SDカードのデータが消えちゃってもいいか?」みたいなことを聞いてくるのでYesを選択してenterキーを押す.

2015-04-03 17.52.33

そうするとインストールが始まって,インストールの進行具合を知らせる画面が出てくる.数種類のメッセージが順番に表示されるけど,その中に1つ重要な情報が.

2015-04-03 17.55.03

 

それは,デフォルトのユーザ名が pi で,パスワードが raspberry ってこと.これを見落とすと,あとでちょっと面倒.

そんなこんなで無事にインストール完了.enterキーを押すと,再起動してRaspberianが立ち上がる.

2015-04-03 19.08.17

一回目の起動時にはraspi-configが実行されて,種々の設定ができる.

とりあえず,Internationalisation Options → Change Timezon → Asia → Tokyo と進んで,タイムゾーンをTokyoに設定する.どうでもいいけど Internatinali*s*ationな辺り,さすがイギリス製って感じがする.

2015-04-03 20.13.12

2015-04-03 20.13.25

2015-04-03 20.13.50

2015-04-03 20.14.20

次に,キーボードレイアウトを今回使用しているHappy Hacking Keyboardにしておく.色々と細かいことを聞かれるけど,キーボードレイアウトをUSに設定だけして,後はデフォルトの選択肢を選んでお茶を濁す.

ここまででsshdが立ち上がっている.

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:89:31:05
          inet addr:192.168.10.77  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:990 errors:0 dropped:0 overruns:0 frame:0
          TX packets:425 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:135293 (132.1 KiB)  TX bytes:51632 (50.4 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3962 (3.8 KiB)  TX bytes:3962 (3.8 KiB)

pi@raspberrypi ~ $ netstat -l
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 *:ssh                   *:*                     LISTEN
udp        0      0 *:bootpc                *:*
udp        0      0 *:4976                  *:*
udp        0      0 seclab77.seculocal.:ntp *:*
udp        0      0 localhost:ntp           *:*
udp        0      0 *:ntp                   *:*
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     6064     /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     SEQPACKET  LISTENING     3833     /run/udev/control

ということで,とってもお手軽にできちゃいました.この後何をするかはまたの機会に.

Nexus 7 (2012) Wi-Fiモデルをandroid 5.0.2にする

Macを使ってNexus 7 (2012) Wi-FiモデルのOSを5.0.2にアップデートしてみたので,その手順をまとめておきます.

注意:この手順でアップデートすると初期状態に戻りますので,事前に元のデータをバックアップをしておく必要があります.また,この手順でアップデートした際に何らかの不利益を被っても自己責任です.

(3)にも書いてあるとおり,sdkはAndroid Studioに付属のものを使っているので,各自の環境に合わせて読み替える必要があります.

(1) ファクトリイメージのダウンロード

googleのサイトで,Factory Images "nakasi" for Nexus 7 (Wi-Fi)を探して,5.0.2 (LRX22G)の右側 Link をクリックしてファクトリイメージをダウンロードします.

(2) ファクトリイメージの展開

ダウンロードしたファイルが~/Downloadsにあるとして,以下のコマンドを入力します.

$ cd 適当なディレクトリ
$ tar xfz ~/Downloads/nakasi-lrx22g-factory-2291c36b.tgz

(3) シェルスクリプトの修正

(2)でできたnakasi-lrx22gディレクトリに移動して,flash-all.shを修正します.

最終行の -w があるとデータが消えてしまうので,このオプションを削除します.データを含めて初期化したい場合は,残しておきます.

fastbootコマンドにPATHが通っていないので,絶対パス指定に変更する.私の環境では,Android Studio付属のsdkを使っているので,~/Library/Android/sdk/platform-tools/fastboot に書き換えました.

(4) OSのアップデート

Nexus 7をPCとUSBで接続してから以下のコマンドを実行して,ファクトリイメージを書き込みます.

 $ ./flash-all.sh

実行には2〜3分かかり,その後Nexus 7が再起動します.この再起動にも数分かかりました.

再起動後,言語設定やネットワークの設定などを行うと,アップデート完了です.

cheero MIRACLE CHARGERを購入

超久しぶりに更新。

先着300名なら1,980円という価格に釣られて、↑を買ってみた。

各国に対応したプラグと本体に加えて、ポーチまで付いてきた。お得感が高い。

rps20141110_192110_385

MacのACアダプタと同じようにプラグを外して付け替えるのかと思って、ぐいぐいと動かしてしまったけど、違った。日本用のプラグを折りたたんだ状態で、そこに各国用のプラグを差し込むという仕組みは、うまいことできてると感心。ちょっと抜き差しが固いけど、確実性のためにはしょうがないか。

rps20141110_192157_465 rps20141110_192219_434 rps20141110_192248_788

root化済みNexus 7を4.3にアップデート

既にroot化したNexus 7では、通常の手段ではOSをアップデートできません。今回はリリースされてからしばらくほったらかしていたAndroid 4.3へのアップデート方法を備忘録として残しておきます。

以下の手順は以前に書いた4.2.2へのアップデート4.2へのアップデートとほぼ同じですが、factory imageに不備があったらしく、一部ファイルの差し替えが必要になっていることに注意が必要です。また、

なお、下記の手順を実行することによって、Nexus 7の動作不具合や保証無効、故障などが起こる可能性があります。あくまでも自己責任にてお願いします。また、データが消えたり設定が初期化される手順も含まれますので、事前に外部メディアにバックアップをお取りください。

なお、下記の説明はMac上で行うことを前提としていますが、tgzやzipファイルの解凍やfastbootコマンドを使用できれば、Windows上などでも同様の手順で作業できるかと思います。

では、作業手順を以下に記します。

(0) 前提条件

この記事の手順は、以下のことを前提としています。

(1) factory imageのダウンロードと必要なファイルの用意

まず最初にfactory imageをダウンロードします。

Factory Images for Nexus Devicesのページ内にある、Factory Images "nakasi" for Nexus 7 (Wi-Fi)の表を見て、4.3 (JWR66Y)の行の"Link"をクリックします。3G対応のNexus 7の場合は異なるfactory imageが必要ですが、この記事では触れません。

すると、nakasi-jwr66y-factory-1e503532.tgzというファイルがダウンロードされます。このファイルを解凍すると、nakasi-jwr66yというフォルダができます。このフォルダの中には、以下のファイルがあります。

$ ls -F nakasi-jwr66y
bootloader-grouper-4.23.img  flash-all.sh*                image-nakasi-jwr66y.zip
flash-all.bat                flash-base.sh*

以後、入力したコマンドは斜体で表し、出力結果は正体で表します。

次にimage-nakasi-jwr66y.zipを解凍します。解凍してできたファイルと、上のbootloader-grouper-4.23.imgを同じフォルダに置いてください。

これで、必要なファイルの用意ができました。

(2) Nexus 7の設定

MacとNexus 7をUSBケーブルで接続し、Nexus 7のシステム設定から「開発者向けオプション」→「USBデバッグ」にチェックを付けておきます。

(3) OSのアップデート

Macのターミナルを開き、(1)で必要なファイルをまとめたフォルダに移動します。

まず、以下のコマンドを実行してNexus 7をboot loaderモードで再起動します。

$ adb reboot bootloader
次に以下のコマンドを実行するのですが、ファイルに不備があるためwriting 'bootloader'の後にエラーが表示されます。また、Nexus 7の画面左上に赤い小さい文字でSignature mismatchと表示されます。
$ fastboot flash bootloader bootloader-grouper-4.23.img
sending 'bootloader' (2100 KB)...
OKAY [  0.312s]
writing 'bootloader'...
FAILED (remote: (InvalidState))
finished. total time: 0.449s
この原因はbootloader-grouper-4.23.imgをこのリンクからダウンロードしたファイルと差し替えることで解決します。もし、上記のようなエラーが表示されず、下記のように正常にbootloaderが書き込まれた場合は、差し替える必要はありません。
ファイルを差し替えたら、以下の3つのコマンドを実行します。3つ目のコマンドについては、プロンプトに戻るまでにしばらく時間がかかります(下の例では97秒ほどかかりました)。
$ fastboot flash bootloader bootloader-grouper-4.23.img
sending 'bootloader' (2100 KB)...
OKAY [  0.314s]
writing 'bootloader'...
OKAY [  1.244s]
finished. total time: 1.558s
$ fastboot flash boot boot.img
sending 'boot' (4896 KB)...
OKAY [  0.689s]
writing 'boot'...
OKAY [  0.365s]
finished. total time: 1.054s
$ fastboot flash system system.img
erasing 'system'...
OKAY [  0.280s]
sending 'system' (529061 KB)...
OKAY [ 66.223s]
writing 'system'...
OKAY [ 42.763s]
finished. total time: 109.267s

以上でOSのアップデートは完了です。リカバリやユーザデータの初期化を行わない方は、以下のコマンドは実行せず、(4)に進んでください。

以下のコマンドを実行するとリカバリが書き換わりますので、カスタムリカバリを使っている場合は実行しない方がよいと思われます。下には実行結果は記載していませんが、実際には上記のコマンドと同様の実行結果が表示されます。

$ fastboot flash recovery recovery.img

以下のコマンドを実行するとユーザデータが初期化されます。特に初期化する必要がなければ、実行しない方がよいと思われます。

$ fastboot flash userdata userdata.img

(4) アップデートの確認

リカバリのメニューで"Start"が選択された状態で電源キーを押して、Nexus 7を再起動します。

すると「Androidをアップグレードしています...」という画面が表示され、アプリの最適化やインストールなどが進んでいきます。それらが終わると、Nexus 7が起動します。

ロック画面にウィジェットが表示されていれば、正しくアップデートされたことが分かりますが、念のため「システム設定」→「タブレット情報」の「Androidバージョン」が4.3に、「ビルド番号」がJWR66Yになっていることを確認しておきましょう。

以上でアップデートは完了です。

設定のメニューから開発者向けオプションがなくなっている場合があります。このメニューが必要な場合は「タブレット情報」の「ビルド番号」欄を7回タップしてください。すると、メニューに「開発者向けオプション」が現れます。

(5) Root化

root化する必要のない方は、以下の手順を実行する必要はありません。

まずはじめに、CF-Root download pageからUPDATE-SuperSU-v1.65.zipをダウンロードし、このファイルをNexus 7のストレージにSuperSU165.zipという名前でコピーします。

次にNexus 7の電源を切り、電源ボタン+ボリューム下ボタンを同時に押して、ブートローダを起動します。

ブートローダではボリュームボタン下を2回押した後、電源ボタンを押して、リカバリモードに入ります。

メニューからinstall zip from sdcardchoose zip from sdcard0/SuperSU165.zipの順に選択します。

次にYes - Install SuperSU165.zipを選択します。

インストールが終わったら、+++++Go Back+++++reboot system nowの順に選択して、Nexus 7を再起動します。

再起動したら、アプリケーションの一覧からSuperSUを起動し、設定タブの「スーパーユーザを有効化」にチェックを入れればroot化できます。

以上でroot化済のNexus 7のOSが4.3になり、root化も完了しました。

手順に不明な点や誤りがありましたら、コメント欄にてご指摘をいただければ幸いです。

オムロンの歩数計データをWindows 8で管理する

かれこれ4〜5年にわたって愛用中の歩数計,オムロンヘルスカウンタ Walking style HJ-710IT.この歩数計のいいところは,なんといってもUSB端子を積んでいて,PCに歩数データを蓄積できるところ.しかも,対応する体重・体脂肪計からデータを吸い出して,こちらでとったデータも一緒に管理できる.

玉に瑕なところは,データを蓄積するために専用のソフトBI-LINK STANDARD EDITIONが必要なところ.どうせならUSBマスストレージとして見えて,プレインテキストでデータがとれればいいのに.

ともあれ,上記のソフトはオムロンのサイトからダウンロード可能で,対応OSもWindows 2000,XP,Vista,7と幅広いのはすばらしいところ.きっとソフトの作りがシンプルなんだろうな.なお,リンクしたサイトにも記載のあるとおり,64bit版は非対応とのこと.

ところが,Windows 8の64bit版でもちょっとした設定だけで動いちゃったので,備忘録として残しておきます.ただし,もちろんメーカーが保証しているものではありませんので,これを真似して何かあっても自己責任ということでお願いします.

設定は以下の通り.

  1. 普通にBI-LINKをインストールする
  2. C:\Omron Healthcare\BI-LINK-STANDARD-EDITION-1.0 を開く
  3. この中にある BLCore.exe を右クリックし,プロパティ(R)を開く
  4. 互換性タブの「互換モードでこのプログラムを実行する」にチェックを入れる
  5. その下のプルダウンメニューからWindows 7を選ぶ

これだけで,普通に動いちゃった.おそらく,プルダウンメニューで選ぶOSは上記の対応OSなら何でもいいのではないかと思います.

root化済みNexus 7を4.2.2にアップデート

既にroot化したNexus 7では、通常の手段ではOSをアップデートできません。今回は新たにリリースされたAndroid 4.2.2へのアップデート方法を備忘録として残しておきます。

実は,以下の手順は以前に書いた4.2へのアップデート方法とほぼ同じです.

なお、下記の手順を実行することによって、Nexus 7の動作不具合や保証無効、故障などが起こる可能性があります。あくまでも自己責任にてお願いします。また、データが消えたり設定が初期化される手順も含まれますので、事前に外部メディアにバックアップをお取りください。

なお、下記の説明はMac上で行うことを前提としていますが、tgzやzipファイルの解凍やfastbootコマンドを使用できれば、Windows上などでも同様の手順で作業できるかと思います。

では、作業手順を以下に記します。

(0) 前提条件

この記事の手順は、以下のことを前提としています。

(1) factory imageのダウンロードと必要なファイルの用意

まず最初にfactory imageをダウンロードします。

Factory Images for Nexus Devicesのページ内にある、Factory Images "nakasi" for Nexus 7 (Wi-Fi)の表を見て、4.2.2 (JDQ39)の行の"Link"をクリックします。3G対応のNexus 7の場合は異なるfactory imageが必要ですが、この記事では触れません。

すると、nakasi-jdq39-factory-c317339e.tgzというファイルがダウンロードされます。このファイルを解凍すると、nakasi-jdq39というフォルダができます。このフォルダの中には、以下のファイルがあります。

$ ls -F nakasi-jdq39
bootloader-grouper-4.18.img     flash-all.sh*      image-nakasi-jdq39.zip
flash-all.bat                   flash-base.sh*

以後、入力したコマンドは斜体で表し、出力結果は正体で表します。

次にimage-nakasi-jdq39.zipを解凍します。解凍してできたファイルと、上のbootloader-grouper-4.18.imgを同じフォルダに置いてください。

これで、必要なファイルの用意ができました。

(2) Nexus 7の設定

MacとNexus 7をUSBケーブルで接続し、Nexus 7のシステム設定から「開発者向けオプション」→「USBデバッグ」にチェックを付けておきます。

(3) OSのアップデート

Macのターミナルを開き、(1)で必要なファイルをまとめたフォルダに移動します。

まず、以下のコマンドを実行してNexus 7をboot loaderモードで再起動します。

$ adb reboot bootloader
 次に、以下の3つのコマンドを実行します。3つ目のコマンドについては、プロンプトに戻るまでにしばらく時間がかかります(下の例では97秒ほどかかりました)。
$ fastboot flash bootloader bootloader-grouper-4.18.img
sending 'bootloader' (2096 KB)...
OKAY [  0.261s]
writing 'bootloader'...
OKAY [  1.985s]
finished. total time: 2.246s
$ fastboot flash boot boot.img
sending 'boot' (4944 KB)...
OKAY [  0.640s]
writing 'boot'...
OKAY [  0.531s]
finished. total time: 1.172s
$ fastboot flash system system.img
erasing 'system'...
OKAY [  0.640s]
sending 'system' (471804 KB)...
OKAY [ 59.312s]
writing 'system'...
OKAY [ 41.612s]
finished. total time: 100.924s

以上でOSのアップデートは完了です。リカバリやユーザデータの初期化を行わない方は、以下のコマンドは実行せず、(4)に進んでください。

以下のコマンドを実行するとリカバリが書き換わりますので、カスタムリカバリを使っている場合は実行しない方がよいと思われます。下には実行結果は記載していませんが、実際には上記のコマンドと同様の実行結果が表示されます。

$ fastboot flash recovery recovery.img

以下のコマンドを実行するとユーザデータが初期化されます。特に初期化する必要がなければ、実行しない方がよいと思われます。

$ fastboot flash userdata userdata.img

(4) アップデートの確認

リカバリのメニューで"Start"が選択された状態で電源キーを押して、Nexus 7を再起動します。

すると「Androidをアップグレードしています...」という画面が表示され、アプリの最適化やインストールなどが進んでいきます。それらが終わると、Nexus 7が起動します。

ロック画面にウィジェットが表示されていれば、正しくアップデートされたことが分かりますが、念のため「システム設定」→「タブレット情報」の「Androidバージョン」が4.2.2に、「ビルド番号」がJDQ39になっていることを確認しておきましょう。

以上でアップデートは完了です。

設定のメニューから開発者向けオプションがなくなっている場合があります。子のメニューが必要な場合は「タブレット情報」の「ビルド番号」欄を7回タップしてください。すると、メニューに「開発者向けオプション」が現れます。

(5) Root化

root化する必要のない方は、以下の手順を実行する必要はありません。

まずはじめに、CF-Root download pageからCWM-SuperSU-v0.96.zipをダウンロードし、このファイルをNexus 7のストレージにコピーします。

次にNexus 7の電源を切り、電源ボタン+ボリューム下ボタンを同時に押して、ブートローダを起動します。

ブートローダではボリュームボタン下を2回押した後、電源ボタンを押して、リカバリモードに入ります。

メニューからinstall zip from sdcardchoose zip from sdcard0/CWM-SuperSU-v0.96.zipの順に選択します。

次にYes - Install CWM-SuperSU-v0.96.zipを選択します。

インストールが終わったら、+++++Go Back+++++reboot system nowの順に選択して、Nexus 7を再起動します。

再起動したら、アプリケーションの一覧からSuperSUを起動し、設定タブの「スーパーユーザを有効化」にチェックを入れればroot化できます。

以上でroot化済のNexus 7のOSが4.2になり、root化も完了しました。

手順に不明な点や誤りがありましたら、コメント欄にてご指摘をいただければ幸いです。

Nexus 7をタブレットUIで使う

Nexus 7のユーザインタフェース(UI)は、デフォルトではスマートフォンと同様のものになっています。しかしせっかくの広い画面をより有効に活用するには、タブレット用のUIの方がいいように思います。

そこで、Nexus 7をタブレット用のUIに変更する方法を備忘録として記しておきます。

なお、以下の手順によってNexus 7の動作異常・保証無効・故障などが起こる可能性があります。その場合は自己責任にてお願いします。

また、Nexus 7が既にroot化されていることが前提となっています。root化の手順は「Macを使ってNexus 7をroot化する」「root化済みNexus 7を4.2にアップデート」の記事を参考にしてください。

簡単にいうと、/system/build.propの中のro.sf.lcd_densityの値を170以下にして、ファイルのパーミッションを644(rw-r--r--)に変更してから再起動すると、タブレット用UIになります。

それだけではなんなので、もう少し具体的な方法も書いておきます。

まず「ESファイルエクスプローラー」をインストールします。

ESファイルエクスプローラーを起動したら、アプリの設定画面を開き、「ルートオプション」を選択します。次に、「ルートエクスプローラー」にチェックを入れます。

このとき、「警告」というダイアログが表示されますので、「はい」を選択します。すると、「スーパーユーザーリクエスト」というダイアログが表示されますので、10秒以内に「許可」を選択します。

これで、これまで選択できなかった「ファイルシステムをマウントする」と「システムアプリをバックアップします」のチェックボックスが選択可能になりました。このうち「ファイルシステムをマウントする」にはチェックを入れておいてください。

設定画面からファイル一覧画面に戻ったら、画面右上の「お気に入り」ボタンを長押ししルートディレクトリ(/)を表示します。次にこの中のsystemフォルダを選択し、build.propを選択します。開くアプリの選択ダイアログが表示されたら、ESテキストエディターを選択します。

ファイルの内容が表示されたら、ファイル中程の

#set default lcd density to TVDPI
ro.sf.lcd_density=213

という部分の213を160に書き換えます。私の好みは160ですが、170とかも試してみるといいかもしれません。

#set default lcd density to TVDPI
#ro.sf.lcd_density=213
ro.sf.lcd_density=160

次に、戻るボタンを2度押し、確認のダイアログが表示されたら「はい」を選択します。

再びファイル一覧画面に戻りますので、build.propファイルを長押しして表示されたメニューから、プロパティを選択します。

表示されたダイアログの「変更」ボタンを選択し、「ユーザ」の「読み込み」「書き出し」、「グループ」と「他」の「読み込み」にチェックが入った状態にして「OK」ボタンを選択します。

再度ダイアログの表示に戻りますので、ここでも「OK」ボタンを選択します。

あとはNexus 7を再起動すれば、タブレット用UIに変わっています。

Android 4.1.2まではホーム・戻るなどのボタンや通知バーの配置も変わっていたのですが、4.2では変わらなくなったようです。新しいUIが導入された影響でしょうかね?