Galaxy スマホの故障と二段階認証移行
年末のときの話。
引っ越し2日前というすごいタイミングで Samsung の Galaxy S9 Plus のスマホが突如として壊れた。 操作できないわけではなくて、内部的にはまったく問題なく動いているんだけど、画面が真っ黒で一切なにも映らない。 (正確には、画面上部に 3 本の緑っぽい線のみが映っている)
スマホの画面を触っていると、ロック解除失敗のバイブレーションがあったりするので、インプットは反応していそうなのだけど、最も大事なアウトプットが欠如している。 ディジタルデバイスは便利だけど、インタフェースを失ったディジタルデバイスはもはやただの金属だな...
引っ越し関連の連絡でひじょーに困るので、とりあえず古い SIM free iPhone に SIM を移して、電話はできるようにした。
Galaxy が直る気配は全く無かったので、速攻で Google Store から Pixel 4a を購入した。 新端末が届いて、こちらに SIM を入れ替えることで、引き続き、最低限電話とネットはできるように。
旧スマホの写真などのデータ的な部分では大抵バックアップができているはずだから、問題ないけど、ユーザ登録してないアプリのデータとか、2段階認証とか、各種 pay アプリの移行とか、旧端末が復活してくれないと困ることはたくさんある。。
あと LINE は使えないと不便だから、 (引き継ぎしないと、前回乗り換え以降のデータなどが消えてしまうのだけど)、泣く泣く、新端末が届き次第、引き継ぎ処理をせずに、すぐに新端末で使用を開始した。
さて、旧端末の方だけど、ごくごくまれに画面が映る時があって、それでもしや直ったか!?と思うと、すぐに見えなくなる。 その一瞬のすきを突いた移行作業とかストレスフルなので、なんとかならないかなと、原宿にある "Galaxy Harajuku" に年末にわさわざ行ってみた。
地下1Fの修理サポートで、故障端末を見せて、画面映らないんですけど、って言って見せてみたら、あれ、映る。。 いや、さっきまで映らなかったんですけどね〜とかいいながら、真っ黒にならないか待ってみたけど、いや、映る。。。
ディスプレイの交換だと、新端末購入と変わらないくらいかかりますね、っていうことだったので、また壊れたら持ってきますね、とか言って帰ったのだけど、しばらく外で使っていても、いや、普通に映るし、操作できたんですよね。ところが、原宿の駅についた途端、また真っ黒に。
そこで、ピンときました。 Galaxy Harajuku の地下1Fもめちゃくちゃ照明で明るかった。その日は晴れていて、外も非常に明るかった。でも原宿駅のホームは暗い。 そうです、画面を明るい光の下に持ってくると、画面が映るんです。なんじゃそりゃ。
試しに家でもスポットライトのすぐ下にまで持ってくると映る。離すと消える。もっと早くに知りたかったけど、なにか研究で一つの真実を突き止めたような喜びは得られた笑
そんなことで、旧スマホをスポットライトで照らしながらの移行作業が始まりました。
なかでも 2 段階認証ですが、全て Google Authenticator を使っていたんですが、バックアップコードの取得も適当にやっていたので、これが移行できなかったら、ほんとに辛かった。 秋に Facebook でやらかしてから 2 段階認証入れまくったのですが、それが裏目に出たか、、という事態になりかけたので、ほんとに良かった。
Google Authenticator の移行は実に簡単です。
アプリ右上の3点リーダーのメニューから [Transfer accounts (アカウントを移行)] を選択、旧端末の方で [Export accounts (アカウントのエクスポート)]、新端末の方で [Import accounts (アカウントのインポート)] を選べば OK です。
なお、同じアカウントに対する2段階認証を、複数端末の Google Authenticator アプリから利用できるようにする方法もあるっぽいので、バックアップ用にやっておいたほうが良いかも。 今回のような端末の故障時は結構詰むので。。
References
カードリーダーを使わずに e-Tax で確定申告
表題のとおりです。時期遅れは否めない。
今年は住宅ローン減税の恩恵を受けるため、何が何でも確定申告しなければならなかったんですが、ずぼらにずぼらを重ねた結果、コロナで延びた申告期限である 4/15 に滑り込みセーフという危ない橋を渡りました。 Twitter 見てたら、他にもそういう人多そうではあったけど。
激混み税務署には行きたくなかったので (コロナで延ばした意味ない...)、コロナの国民給付金のときにも便利だった、スマホがマイカードのカードリーダー代わりに使えるというのがいけるらしいというので、 e-Tax で確定申告してみることにしました。 (カードリーダー購入したら今までも e-Tax できたんですが、間違いなくこれでしか使わないカードリーダーをわざわざ買うのかといえば。。 ID/PW 方式もあるみたいだけど、ちゃんと調べてない)
結論からいえば、できたんですが、謎技術のオンパレードだし、罠多すぎという感じでした。
(備忘録として書いてますが、もう終わった後にこれ書いても参考にならんかも。来年には多くが改善されてそうだし)
前提
私の場合、妻が昔始めた趣味のネットショップをやってる背景で、個人事業主登録していて、青色申告しないといけないので、そこのハードルがありました。 (青色申告するほどの事業でもないんですが......)
https://ninnyhammer.buyshop.jp/
いわゆる事業所得(青色・白色)の申告をする場合は、スマホだけでは e-Tax では完結しません。
青色・白色申告しない場合で、雑所得や各種控除等を含めて所得税の申請するだけであれば、 PC も要らなくて、スマホだけで申告完結するそうです。 (出産などに伴う医療費控除や、初年度の住宅ローン控除を受ける場合は、会社員も確定申告必要ですが、ボリュームゾーン的にそういうケースを最優先しているんですかね) (こちらは Android, iPhone ともに対応していて、 "マイナポータルAP" アプリだけで完結するとのこと)
以下で書くのは、事業所得の申告を e-Tax で行う場合の話です。
なお、面倒な場合は、税務署で書面で申告しても良いのですが、その場合は、今年から青色申告の控除額が 55 万円になってしまいました。引き続き 65 万円の控除を受けるためには、 e-Tax を行う必要があるので、ご注意を。税務署は 17 時に対面は閉まっちゃうけど、 e-Tax の場合は、申告期間の 23:59 まで受け付けてくれるというメリットもあります。
なお MoneyForward や freee のスマホアプリからも有料プランユーザなら電子申告できるらしいです。
準備するもの
- マイナンバーカード
- マイナンバーカード関連の暗証番号
- Windows PC (Bluetooth 搭載の Windows 8.1, Windows 10 対応です。家にあったのが古い Windows 8.1 PC だったけど、なんとかできた) (macOS 未対応です)
- Android スマホ (PC と接続するカードリーダーとして利用する機能は iPhone 未対応です)
- 利用者識別番号 (電子申告・納税開始届出によって取得します。これも Web 上でできます。住所変更 (所轄税務署の変更) は Web でできなかったけど...)
事前準備
- Windows PC に 利用者クライアントソフト (Ver 3.3) (
JPKIAppli03-03.exe
) をインストールする - Android スマホに JPKI利用者ソフト をインストールする
- Android スマホに マイナポータルAP もインストールしておく
- Windows PC と Android スマホを Bluetooth でペアリングする
手順
手順 7 から先はオプションです。住宅ローン控除を利用する場合は、添付書類を提出する必要があるため、この手順が必要になります。
- Windows PC で Internet Explorer 11 (!?) を起動し 国税庁 確定申告書等作成コーナー を開く
- 申告書等の作成を開始し、 "e‐Taxで提出 マイナンバーカード方式" を選択する
- 事前準備セットアップのチェックが入るので、まだ済んでいない場合は "事前準備セットアップファイル" (
jizen_setup.exe
) をダウンロードし、インストールしておく - "マイナンバーカードの読み取り" 画面が出てくるので、 Android スマホで "JPKI利用者ソフト" を起動し、 "PC接続" > "PC接続の開始" を実行した上で、マイナンバーカードをスマホに押し当てた状態にし、 PC ブラウザ上の "マイナンバーカードの読み取り" ボタンを押して、画面の指示にしたがう (以下、マイナンバーカード認証を求められたときには同様に行う)
- "青色申告決算書・収支内訳書" の作成、 "所得税の確定申告書" の作成を順次行う
- 申告データにマイナンバーカードで電子署名した上で、 e-Tax で送信する (この過程でも何度かスマホを使ったマイナンバー読み取りが求められる)
- e-Taxソフト(WEB版) を開く
- 申告の際に案内された添付書類 (PDF) をアップロードして提出する
References
- 各ソフト・コーナー | 【e-Tax】国税電子申告・納税システム(イータックス)
- 【確定申告書等作成コーナー】-作成コーナートップ
- ご利用の流れ | 【e-Tax】国税電子申告・納税システム(イータックス)
- e-Taxの開始(変更等)届出書作成・提出コーナーについて | 【e-Tax】国税電子申告・納税システム(イータックス)
- e-Taxソフト(WEB版)について | 【e-Tax】国税電子申告・納税システム(イータックス)
- e-Taxソフト(SP版)について | 【e-Tax】国税電子申告・納税システム(イータックス)
- 【確定申告書等作成コーナー】-事前準備セットアップファイルをダウンロードしてセットアップする方法
- 【確定申告書等作成コーナー】-マイナンバーカード読取対応のスマートフォンをICカードリーダライタとして利用する方法
- 【確定申告書等作成コーナー】-所得税のイメージデータの送信方法について
- 一度送信した申告等データに対して追加で送信する方法(追加送信方式)|e-Tax
- 国税庁からのお知らせ <スマートフォンでの申告が更に便利に>:令和2年分 確定申告特集
- スマートフォンdeマイナンバーカードアクセス!!スタートアップガイド
- ICカードリーダライタのご用意 | 公的個人認証サービス ポータルサイト
- 利用者クライアントソフトのダウンロード | 公的個人認証サービス ポータルサイト
- スマホで確定申告!対象者ややり方、できる条件ってなに? | スモビバ!
- 個人事業主がスマホで電子申告する方法 - スマホアプリで確定申告 | 自営百科 (この記事がよくまとまっていて分かりやすい)
- もう年末調整の住宅ローン控除で悩まない!必要書類と記入例
画像を連結してPDFファイル生成
今年、確定申告を e-Tax で完結させたんですが、住宅ローン関連の書類を PDF でアップロードしなければならなかったので、その際に役立った TIPS です。
元の書類は紙なので、スキャナーが手元になくて、コンビニ行くのも面倒な場合 (そもそも住宅ローン関連の書類は厳重にホッチキス留めされていて、スキャンしにくいし)、スマホで写真撮影して、それを PDF にしたくなりますね。
知らなかったんですが、 ImageMagick を使えば、簡単に複数画像を結合して 1 つの PDF ファイルにできました。
convert image0.jpg image1.jpg image2.jpg output.pdf
複雑なオプションなども要らなくて、いや、楽でした。
References
生活hack vol.01 両面テープを綺麗に剥がす
はじめに書いておきますと、この記事はソフトウェアとは何の関係もありません。 興味がある人だけ読んでください。
いよいよ引っ越しが近づき、今の借家の片付けをしないといけなくなってきました。 できれば、現状復帰させ、できるだけ敷金が返ってくるようにしたいものです。
ちょっとすごく上手くいったので、感動して、共有したくなりました!
両面テープを綺麗に剥がす
まず、この写真。これをみて、何なのか分かりますかね? そうです、小さな子供がいると、洗面所の下の戸棚を勝手に開けて洗剤とかを飲んでしまって危険なので、簡単に開けられないようにするやつです。
これ、こんな感じで戸棚の扉にネチョネチョの分厚め両面テープでしっかりと固定されてしまって、びくともしません。素手だとまるで動きませんし、無理やり取ろうとすると扉の塗料まで剥がれてしまいそうです。
これを取るのに使ったのがこちら。ドライヤーと手ピカジェルです。 両面テープは熱とアルコールに弱いと書いてあったので、こちらを用いました。
まず、接着部にドライヤーの風をあてて、熱で温めます。
あまり近づけ過ぎたり、長時間当てすぎると、扉の木材が発火しかねないので、その点だけは十分に気をつけてください。手で触って温かい程度、お風呂の温度くらいまで上がれば十分です。燃えやすいものが周囲にないかなども本当に気をつけて行ってください。
温かくなってきたら、ヘラ状のものを隅から差し込んで少し隙間を作れそうなら作ってください。まだ無理やり広げないように・・・
この隙間を狙って手ピカジェルを少量流し込みます。そして、さらに浸透させるべくドライヤーで温めます。 この作業を慎重に繰り返し、端から隙間を広げていきます。
剥がれました! 写真を撮っていなかったのですが、もう片方の方はもっとうまく剥がれたんですが、こちらは写真撮りながらだったからか、ちょっと下手くそ・・・
あとはこれを手でコネコネしながら剥がしていきます。
全くわからないくらい上手く剥がれましたね。
今回は塗料がしっかりしていたので、上手く剥がれましたが、薄い塗料の場合はそうはいかないと思います。状況によっては自分で剥がさない方がいいかもしれないので、そこは自己判断でお願いします。
クレヨンの汚れを綺麗に落とす
次はこちら。子供による汚れの定番、クレヨンです。
こちらは調べるとすぐに出てくるんですが、何と女性が化粧を落とすのに使うクレンジングオイルが有効だそうです。
クレヨンは油性の汚れなので、同類のオイルに溶かし込んじゃおうということですね。世界を支配しているのは、常に、物理と化学です。
ティッシュに少量クレンジングオイルを染み込ませます。
これで拭いてあげると・・・
あら、不思議。こちらも、もはやどこが汚れていたのかわからないくらい、綺麗に取れました。 ただ、クレンジングオイルというだけあって、表面が油っぽくなってしまうので、少量の石鹸水を染み込ませたティッシュで後拭きしておきましょう。
こちらも表面が凸凹していたり、油を吸いやすい素材だったりすると、なかなか上手くいきませんので、自己責任の元、判断してください。
お掃除屋さんはこの辺りのノウハウ、いろいろ知っているんでしょうね。
以上、知っているか、知っていないかで差がつくライフハックでした。
References
EC2 Mac instance でCI環境を作る(未完)
re:Invent 冒頭で、いきなりビッグニュースが飛び込んで来ましたね、 AWS EC2 の Mac instance! 事前観測も自分の知る限り見なかったので、これは驚いた人が多かったのではないでしょうか!?
用途としては、まずは真っ先に iOS 向けの CI 環境構築が視野に入ってくるかと思います。 (価格的には、現時点ではなかなか視野には入ってこないですけど)
そこで、お遊びですが、実際に CI で使うことをイメージして、 Mac Instance を立ち上げてみることにしました。 (最後に書いているように、まだうまくいっていません)
まずは触ってみる
今日の時点で、 Mac instance が利用できるのは以下のリージョンとなっています。
- US East (N. Virginia)
- US East (Ohio)
- US West (Oregon)
- EU (Ireland)
- Asia-Pacific (Singapore)
早速 EC2 dashboard から作成してみます。
なお、後述しますが、はじめ試しに Singapore region で作ろうとしたんですが、リリース直後で人気があるためなのか、ホストを取得できなかったので、やむなく取得可能だった Ohio region で作成しました。
[Incetances] > [Launch instances] ボタンを押すと、早速 macOS が選べるようになっています。 Catalina or Mojave が選べるようですね。 (Big Sur は comming soon とブログには書かれています)
AMI ID は Ohio の場合です。
Catalina を選んでみました。
次は instance type 選択画面ですが、こちらは mac1.metal
しか選べません。
bare metal instance とは、非仮想化で動く、ハード専有インスタンスのことです。
ざっくりといえば、クラウド上でレンタルサーバを動かしているようなイメージですかね。。
料金そこそこするので、起動しっぱなしにしないように注意です。
ブログによると、裏では Mac mini が動いているようです。
12 vCPUs, Memory 32GiB となっています。
次は instance detail 設定画面です。 こちら、下の方にスクロールしていくと、 [Host] の設定が求められているので、 [Allocate a new host] をクリックして、専有ホストを割り当てます。
クリックすると [Allocate Dedicated Host] という画面が出てくるので、例えば、以下のような項目を入力して [Allocate] ボタンを押します。 (CLI コマンドがコピーできるようになっているので、後のためにコピーしておきましょう)
- Name tag:
tearoom6-test
- Instance family:
mac1
- Instance type:
mac1.metal
- Availability Zone:
us-east-2b
- Instance auto-placement: Enable
- Quantity:
1
Mac instance では Host recovery はサポートされていないため、チェックを外しておいてください。
先ほど書いたように、はじめは Singapore region で取ろうとしたんですが、 Insufficient capacity.
というエラーが出て、取れなかったので、上記のように Ohio region で取得しました。 (スクショと異なるのはそのためです・・・)
また、一度 allocate すると、少なくとも 24 時間は return できない点にも注意です。
dedicated host の単価は Ohio region で $1.083
/ hr となっていますので、特に割引オプションを使わなければ 24 時間で 3000 円近くかかるわけですね、たぶん。
さて、 Host を取得した後、 instance 作成画面に戻ると、先ほどの [Host] の箇所が選べるようになっているので、取得できた Host を割り当てます。
EBS の設定画面では、デフォルト 30 GiB となっていますが、これでは小さいので 200 GiB に変更しておきます。 ただし、ここのディスク容量を大きくしても、起動直後は 30 GiB しか容量が確保されていない状態になってしまいます。 (後述)
Security Group の設定画面では SSH (TCP 22) と VNC (TCP 5900) を開けておきました。 (でも、今回のように VNC を SSH port forwarding で行う場合は、 SSH のみで十分ですし、その方が推奨されます)
[Launch] ボタンを押すと、 Linux 系の instance を立ち上げた際と同様 SSH key を指定できるダイアログが出てくるので、新規作成します。
Launch 後、 instance が使えるようになるまでは、結構時間がかかるようです。
Status checks のところが System status checks が passed になるのは比較的早いんですが、 Instance status checks の方がかなり時間がかかります。しかも、途中 Instance reachability check failed
みたいなエラーが表示されるので、ハラハラします。
ちなみに instance を何らかの事情で一度 terminate した後、別の instance で Dedicated Host を使えるようになるまでも結構小一時間くらい待たされます。
無事 instance の Status checks に pass したら、まず SSH access してみます。
ユーザ名は macOS の場合も ec2-user
となっています。
# @macOS@localhost chmod 400 tearoom6-ec2-mac.pem ssh -i tearoom6-ec2-mac.pem ec2-user@ec2-18-217-163-168.us-east-2.compute.amazonaws.com # # .:' # __ :'__ __| __|_ ) # .'` `-' ``. _| ( / # : .-' ___|\___|___| # : : # : `-; Amazon EC2 # `.__.-.__.' macOS Catalina 10.15.7 # # ec2-user@ip-172-31-24-151 ~ %
ちょっとこのリンゴが出てきた時は嬉しいです! macOS から macOS に繋ぐのは斬新な感じですね・・・!
さらに、クラスメソッドさんの記事の追体験に過ぎないのですが、 VNC でも繋いでみます。
SSH access したまま、接続用のユーザを生成します。
<password>
のところには、設定したいパスワードをセットしてください。
# @macOS@ec2 sudo dscl . -create /Users/tearoom6 sudo dscl . -create /Users/tearoom6 UserShell /bin/bash sudo dscl . -create /Users/tearoom6 RealName "Tomohiro Murota" sudo dscl . -create /Users/tearoom6 UniqueID "1010" sudo dscl . -create /Users/tearoom6 PrimaryGroupID 80 sudo dscl . -create /Users/tearoom6 NFSHomeDirectory /Users/tearoom6 sudo dscl . -passwd /Users/tearoom6 <password> sudo dscl . -append /Groups/admin GroupMembership tearoom6
続いて、コマンドで VNC サーバを起動します。
<password>
のところに、先程と同じ値をセットするのをお忘れなく。
# @macOS@ec2 sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \ -activate -configure -access -on \ -clientopts -setvnclegacy -vnclegacy yes \ -clientopts -setvncpw -vncpw <password> \ -restart -agent -privs -all
VNC は直接繋ぐと、セキュリティ上のリスクがあるため、 SSH tunnel を通して行います。
localhost の空 port 5901
を用いています。
# @macOS@localhost ssh -i tearoom6-ec2-mac.pem -L 5901:localhost:5900 ec2-user@ec2-18-217-163-168.us-east-2.compute.amazonaws.com
この状態で Finder の [Go] > [Connect to Server] で vnc://localhost:5901
に接続します。
ユーザ名とパスワード入力ダイアログが出てくるので、先ほど設定したものを入力します。
すると、 macOS の GUI が現れます。
macOS 上のログイン画面が表示されますが、私の場合、この時点では ec2-user
しかリストに出てきませんでした。
そのため、 VNC 画面上で macOS の [Restart] を実行しました。すると、 EC2 上の Status check が再度落ちてしまいますが、 5-10 分くらい待っていると、また正常に戻ります。
その後、同じ手順で VNC アクセスをすると、今度は、先ほど作成したユーザがリストに出てきます。
もう、この後は普通に macOS 触っているのと同様の感覚です。セットアップを済ませると、 GUI で mac を動かせます。 でも、ローカルか EC2 か、どっちを操作しているのか、注意しないと危ないですね。
いきなり Big Sur へのアップデートを勧められたんだけど、これ押したらどうなるんだろう・・・
なお、 aws
コマンドで EC2 起動までを上記と同様に実行するには、例えば、以下のようにします。 (Ohio region の場合)
AWS のブログの記載の通りにやると HostId
の指定が足りなくてエラーになります。 (auto assign はされません)
aws ec2 allocate-hosts \ --instance-type mac1.metal \ --region us-east-2 \ --availability-zone us-east-2b \ --auto-placement on \ --quantity 1 aws ec2 create-key-pair \ --key-name tearoom6-ec2-mac \ --region us-east-2 aws ec2 create-security-group \ --group-name macos-instance \ --description "Security Group for macOS instance" \ --vpc-id vpc-a976bfc0 \ --region us-east-2 aws ec2 authorize-security-group-ingress \ --group-id sg-024ad680e59b1113c \ --protocol tcp \ --port 22 \ --cidr 113.xxx.xxx.xxx/32 \ --region us-east-2 aws ec2 authorize-security-group-ingress \ --group-id sg-024ad680e59b1113c \ --protocol tcp \ --port 5900 \ --cidr 113.xxx.xxx.xxx/32 \ --region us-east-2 aws ec2 run-instances \ --region us-east-2 \ --instance-type mac1.metal \ --image-id ami-00692c69a6f9c6ea1 \ --key-name tearoom6-ec2-mac \ --security-group-ids sg-024ad680e59b1113c \ --block-device-mappings "[\ {\"DeviceName\": \"/dev/sda1\", \"Ebs\": {\"VolumeType\": \"gp2\", \"VolumeSize\": 200, \"DeleteOnTermination\": true}}\ ]" \ --placement "{\"Tenancy\": \"host\", \"HostId\": \"h-0e807d0d4457f6c1e\"}" \ --associate-public-ip-address
References
- Amazon EC2 Mac Instances - Amazon Web Services
- Announcing Amazon EC2 Mac instances for macOS
- New – Use Amazon EC2 Mac Instances to Build & Test macOS, iOS, ipadOS, tvOS, and watchOS Apps | AWS News Blog
- Amazon EC2 Dedicated Host Pricing
- Amazon EC2 Mac Instance上のmacOSのデスクトップにVNCでログインしてみた #reinvent | Developers.IO
- mac EC2にVNCからつないでみた。 #reinvent | Developers.IO
- 【速報】EC2がMac対応! Amazon EC2 Mac Instancesがリリースされたので触ってみた #reinvent | Developers.IO
- ベアメタルとは?-「ベアメタルサーバ」と「ベアメタルクラウド」のそれぞれの意味と違いとは – | 物理サーバ愛が止まらないホスティング事業者のブログ | ベアメタルブログ
- 新しい Amazon EC2 ベアメタルインスタンスのご紹介
- Amazon EC2 Dedicated Hosts を使ってみた | Developers.IO
- ec2 — AWS CLI 1.18.187 Command Reference
- Creating, configuring, and deleting security groups for Amazon EC2 - AWS Command Line Interface
- C.4. Linux におけるデバイス名
- How to run macOS using Amazon EC2 Mac instances [currently error-ing] | by Nazreen Mohamad | AWS Architech | Dec, 2020 | Medium
- Amazon EC2 Mac instances: insufficient capacity - AWS Architech - Medium
Homebrew をインストールしてみる
まず Homebrew をインストールしてみます。
# @macOS@ec2 sudo chown -R $(whoami) /usr/local/* /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1 行目は、以下のようなエラーが出るのを防ぐために行っています。
error: could not lock config file /usr/local/Homebrew/.git/config: Permission denied fatal: could not set 'core.repositoryformatversion' to '0' Failed during: git init -q
mas-cli/mas: Mac App Store command line interface をインストールしておきます。
# @macOS@ec2
brew install mas
続いて "App Store" app で Apple アカウントに sign in した上で mas で Xcode をインストールしようとすると、以下のようなエラーが発生。
# @macOS@ec2 $ mas install 497799835 Error: Download failed: NOT_ENOUGH_SPACE_SPECIFIC
App Store で直接インストールしようとしても、以下のエラーが出てきます。
We could not complete your purchase. There is not enough disk space available to install the product.
References
ディスク (container) 容量拡張 (試行中)
起動直後にディスクの状況を確認すると、以下のようになっていました。 本来のディスク容量は 200 GB 超あるのに、 32 GB しか利用できていないことがわかります。
# @macOS@ec2 $ df -h Filesystem Size Used Avail Capacity iused ifree %iused Mounted on /dev/disk2s5 30Gi 10Gi 11Gi 49% 488252 312036148 0% / devfs 186Ki 186Ki 0Bi 100% 644 0 100% /dev /dev/disk2s1 30Gi 5.8Gi 11Gi 35% 154781 312369619 0% /System/Volumes/Data /dev/disk2s4 30Gi 2.0Gi 11Gi 16% 1 312524399 0% /private/var/vm map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /System/Volumes/Data/home $ diskutil list /dev/disk0 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *214.7 GB disk0 1: EFI EFI 209.7 MB disk0s1 2: Apple_APFS Container disk2 32.0 GB disk0s2 /dev/disk1 (internal, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *121.3 GB disk1 /dev/disk2 (synthesized): #: TYPE NAME SIZE IDENTIFIER 0: APFS Container Scheme - +32.0 GB disk2 Physical Store disk0s2 1: APFS Volume Macintosh HD - Data 6.3 GB disk2s1 2: APFS Volume Preboot 80.1 MB disk2s2 3: APFS Volume Recovery 529.0 MB disk2s3 4: APFS Volume VM 2.1 GB disk2s4 5: APFS Volume Macintosh HD 11.0 GB disk2s5
空き容量いっぱいまで APFS container サイズを拡張しようと、以下のコマンドを打ってみました。
# @macOS@ec2 diskutil apfs resizeContainer /dev/disk2 0
しかし、状況は変わりませんでした。
他にもいろいろ試してみたんですが、一向に状態が変わりませんでした。 ちょっと知識不足を痛感していて、非効率なので、いったん作業を中断しました。 (お金もかかるし...1時間につき100円溶けていく...) 今はまだネット上にも情報も少ないし、このダンジョンに行くにはレベル上げが必要なようです...。
References
- macOS Mojaveの仮想ディスクを拡張する方法 - ソフトアンテナブログ
- 仮想マシンとして稼働しているmacOS Catalina 10.15のディスクを拡張する – やまひで製作所
- Macのディスクユーティリティで利用できるファイル・システム・フォーマット - Apple サポート
- The Strange Storage: APFSで遊ぶ
- How to erase your Intel-based Mac - Apple Support
- 外付けハードディスク/SSDのフォーマット手順(Mac) | バッファロー
- Mac - 外部ディスクをマウント/アンマウント(マウント解除) - PC設定のカルマ
最速 Homebrew
タイトル負けしそうな感じしかしない・・・。
私の最新の Homebrew の使い方をまとめておきます。
昔書いた以下の記事も参考にしていただければです。
セットアップ
基本方針として brew bundle
を使うようにしています。
まず Homebrew を公式ページにある通りにインストールします。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew bundle
は明示的にインストールしなくても大丈夫です。
あとは、あらかじめ用意しておいた Brewfile
のあるディレクトリで brew bundle
を実行すれば、必要なものを全て入れてくれます。
とても簡単。
brew bundle
参考までに、私の Brewfile を晒しておきます。
https://github.com/tearoom6/dotfiles/blob/master/Brewfile
こんな感じで、一時的にインストールしたけど、全ての環境で使うわけではない、という場合は、コメントアウトしておくと、使いたい時だけ使えて便利ですね。
バージョン管理
brew bundle
を実行すると Brewfile.lock.json
が生成されますが、こちらはインストールした際のバージョン情報を記録するものであって、例えば Bundler の Gemfile.lock
などとは違って、インストールされるバージョンを固定するものではないそうです。
Homebrew 自体が、特定のバージョンをインストールするという機能を備えていないからです。 (代替方法として、バージョンごとの formula を指定できるようにしている場合はありますね)
したがって、運用としては、定期的に最新バージョンにアップデートしておく、ということになるかと思います。
Homebrew インストールしている全てのバージョンを アグレッシブに アップデートするには、以下のようにすれば OK です。
brew update brew upgrade --cask --greedy brew bundle
References
macOS Dock は挙動不審
今日は小ネタです。 Docker じゃなくて Dock の方です。 以前から気にはなっていたんですが、ちょっと macOS の Dock の挙動について調べてみたので、記事にしてみます。
以下の挙動は、全て macOS Big Sur (11.0.1) で確認しました。
結果、思っていた以上に挙動不審で、闇を抱えていました・・・ (たぶん、歴史的経緯とか、それなりの理由とか、あるんだとは思うけど)
Dock は画面上部には持ってこれない
これは個人的にはすごくやって欲しいんですけど、仕様的に Dock を画面上部に持ってくることはできないようです。 理由としてはおそらく Menu bar と被るから。それなら Menu bar も移動できるようにしてくれよ、と思ったりしますが、そういうわけにもいかないんでしょう。
System Preferences の設定項目の中では、これは [Dock & Menu Bar] の中にあります。
こちら、 macOS Catalina までは、単に [Dock] というメニュー項目でした。さすが Big Sur はメジャーバージョン上げているだけあって、 UI/UX も刷新していますね。
Dock 全般のその他の設定も可能になっています。
デュアルディスプレイにしたとき Dock の出現パターンは、ディスプレイの配置に影響される
まず、ここでの記述内容は、後述する System Preferences の [Mission Control] メニューの [Display have separate Spaces] にチェックが入っている前提での話になります。
この状態で、モニタを MacBook につなぎ、ミラーリングではなく、デュアルディスプレイとして使います。
そして System Preferences の [Displays] を開けば、 "メインディスプレイ" の方には、 [Arrangement] というタブが表示されるはずなので、それを選んで、ディスプレイの配置を調整します。
このとき、まず下のように、ディスプレイを左右に並べて配置した場合
- Dock のポジションが Left の場合
1
のディスプレイの左端にのみ Dock が出現
- Dock のポジションが Right の場合
2
のディスプレイの右端にのみ Dock が出現
- Dock のポジションが Bottom の場合
1
,2
両方のディスプレイの下端に Dock が出現
まぁ分からなくはない仕様ですね。
続いて、 1
, 2
のディスプレイを左右逆に、左右に並べて配置した場合
- Dock のポジションが Left の場合
2
のディスプレイの左端にのみ Dock が出現
- Dock のポジションが Right の場合
1
のディスプレイの右端にのみ Dock が出現
- Dock のポジションが Bottom の場合
1
,2
両方のディスプレイの下端に Dock が出現
パターンが分かってきた気がします。
その調子で、以下のように上下に並べて配置した場合も確かめてみたとき、異変が起こります。
- Dock のポジションが Left の場合
- メインディスプレイ (この場合
1
) の左端にのみ Dock が出現
- メインディスプレイ (この場合
- Dock のポジションが Right の場合
- メインディスプレイ (この場合
1
) の右端にのみ Dock が出現
- メインディスプレイ (この場合
- Dock のポジションが Bottom の場合
1
のディスプレイの下端にのみ Dock が出現... のように見せかけて- 赤い楕円で囲ったエリアの下端でカーソルをゴリゴリ押し当てていると、
1
のディスプレイの下端に Dock が出現
お分かりいただけたでしょうか。説明してもわかりにくと思うので、ぜひやってみてください。
Dock のポジション、および、ディスプレイの配置方向において、上下と左右というのは同列の扱いではなく、明らかに非対称な動作を伴うものなのだということがわかります。そのことも考えて、使いやすいようディスプレイを配置する必要があるようです。
(ディスプレイの配置、上下派で、 Dock のポジション、左端派の自分にとっては、嬉しくない仕様です...)
なお、一番最後のケースの説明で "メインディスプレイ" という言葉を使っていますが、実はこのメインディスプレイは切り替えることができます。
同じ [Arrangement] の設定画面で、ディスプレイの上部に白い枠がありますが、これをドラッグドロップでもう一つのディスプレイに持っていけば、そちらがメインディスプレイに切り替わります。
この状態では、メインディスプレイは 2
の方ですから、 Dock のポジションを Left または Right に持ってきた場合 Dock が出現するのは 2
のディスプレイの方になります。
ただし、メインディスプレイの変更による影響は Dock だけに留まらないため、その点はご注意ください。
(だいたいは) メインディスプレイの方にだけ Dock が出現できるように設定可能
先ほどチラッと書いたんですが System Preferences の [Mission Control] メニューに [Display have separate Spaces] という項目があります。
こちらのチェックを外すと、下のように Requires log out
とのメッセージが出るので、その通り、ログアウトして、ログインし直すと、この設定変更が有効になります。
これをすると、どのような変化があるのかというと、以下のようになります。
ディスプレイの配置が左右の場合:
- Dock のポジションが Left の場合
- 左側ディスプレイの左端にのみ Dock が出現
- Dock のポジションが Right の場合
- 右側のディスプレイの右端にのみ Dock が出現
- Dock のポジションが Bottom の場合
- メインディスプレイの下端にのみ Dock が出現
ディスプレイの配置が上下の場合:
- Dock のポジションが Left の場合
- メインディスプレイの左端にのみ Dock が出現
- Dock のポジションが Right の場合
- メインディスプレイの右端にのみ Dock が出現
- Dock のポジションが Bottom の場合
- メインディスプレイの下端にのみ Dock が出現
- さっきみたいに、境目部分にゴリゴリカーソルを当てても、 Dock はサブディスプレイの方には出現しない
つまりは、いずれのケースでも、どちらか片方の画面にしか Dock が出現しないようになるんですね。そして、多くのケースでは、それはメインディスプレイです。
ただし、この設定は Dock 以外にも影響があり、 Menu bar もメインディスプレイの方にしか出現しないようになります。個人的にはそれじゃない感が強い。
以上、謎多き Dock の挙動でした。
え、トリプルディスプレイの場合?? 以上ですー。
References