カテゴリー別アーカイブ: MacBook AIr

Macbook Plexus

我が Macbook Air 2018 の天板に早くもキズがぁ!
いや爪は引っかからないし線的な汚れかも。

2011 モデルのゴールドは雑に扱ってもこんなにならなかったのに。
スペースグレイの色が汚れやすいのか、新型の表面処理が原因だろうか?

しかしいくら雑巾で拭いても全然消えない、これは困った。
コンパウンドしかないかなぁと思いながら周りを見ると。。。。。

Plexus があるじゃないの。
バイク乗りならみんな持っている、2 りんかんで売っているし。
いや筆者はビッグ?なスクーター、ってそれはどうでもよくて。

いつもヘルメットを拭いている高級な布に吹きかけ天板をサラッと。
一発で綺麗になった、Plexus ってこんなに凄かったのか!

ということで、Macbook のお手入れにも Plexus は’使えます。
Fedora で使っている RealForce も今度バラした時に使うわ。

Macbook Air dual boot in Fedora

Macbook Air 2011 を Fedora にする。
とかなり前に書いてすっかり忘れていたのでそろそろヤル。
上書きも考えたけど一応デュアルブートにすることに。

このページを参考にした、古い Ubuntu だけど。
【Tips】MacBookにUbuntuを入れてデュアルブート環境を構築する方法 | ソフトアンテナブログ

とりあえず 40GB の FAT パーティションの確保。
最後に「失敗しました」と出たけどパーティションは作れていた。
なおスワップ用パーティションを別に作る必要はない。

Fedora 29 Install (SSD) | PaePoi
で作った USB メモリを再利用。

EFI Boot を選択し return で Live が起動。即インストールを選択。
まず日本語を選択、US キーボードに変更。
インストール先は 1 つしか出ないので選択して完了すると領域不足と出る。
ボタンを押して先程作った FAT パーティションを選択して削除する。
これでインストール開始できる。

電源を落とし USB メモリを抜いて再起動。
grub 画面の一番下に「MAC OS X」が出るけど選択しても起動できない。
macOS を起動するには普通に option キーを押しながら電源ボタン。

まず WiFi を設定、って接続できない!
とりあえずスキップしてユーザー名とパスワードの設定。
普通に起動できました。

WiFi については下記の Install WiFi drivers のコマンドで。
コマンドの前に sudo を付けるのを忘れずに。
Installing Fedora on Macbook Air | There is no magic here
筆者は現在 WiMax なので USB 接続の簡易有線 LAN を使った。
再起動後には WiFi 接続できるようになっていた。

ファンクションキーが fn を押してもメディアキーのまま。
しかも動作が変なので以下を 1 から 2 に書き換える。

sudo vi /sys/module/hid_apple/parameters/fnmode

さっきのリンク先のとおりに hid_apple.conf も作成しておく。

fn キーは Macbook には無いキーには使えるようだ。

Super:  command
Delete: fn+delete
Home:   fn+←
end:    fn+→

ファイル共有を ON にして、判りやすいようにホスト名を変更して

#nmcli general hostname ***.***
nmcli general hostname fnote.local

他の Fedora で nautilus の「他の場所」から簡単に接続できる。
デフォルトで「公開」ディレクトリね、皆変えていると思うけど。

後は、rEFInd は特に必要ないな。
キーボードが光らないことのほうが気になるよ。
タッチパッドの二本指スクロールが早過ぎなんだけど調節できないのかな?
Air 2018 はそのまま使うよ、だって TouchID が Fedora で動くはずないし。

そんなことより困ったぞ、control と command を間違えまくる。
Ctrl+C は当然 control+C なんだが command+C を押してしまう。
Fedora デスクトップと Macbook Air の併用に慣れすぎだ…
このキーボードではそういうふうに指が勝手に動く、予想外だったZE!

macOS httpd.conf

macOS Mojave で httpd.conf の設定。
現行は $HOME 以下にサイトを置いて PHP を使うだけなら三個所設定すればいいようだ。
PHP7 は最初から入っている。

ただ macOS は OS アップグレードで httpd.conf がリセットされてしまう。
Fedora はアップグレードしても内容を保持してくれるのに面倒臭い。
違いは PHP をデフォルトで有効にしているかだけみたい、PHP にもバージョンがあるし。

変更する箇所は決まっているので難しいことはないけど何度もやるのは面倒。
だったら書き換えスクリプトを JXA で作っておけば楽でね?
JavaScript なら replace でアッサリ書き換えできるのがいいよね。
前回のことがあるけど GUI を使わないなら問題なく動くようだ。

#!/usr/bin/osascript

// sudo osascript apache_setup.js

ObjC.import("Cocoa");

let nil = $();
let conf = $("/etc/apache2/httpd.conf");
let root = "/Users/sasakima-nao/www";
 
// Read
let s = $.NSString.alloc.initWithContentsOfFileEncodingError(conf, $.NSUTF8StringEncoding, nil).js;
s = s.replace(
    '#LoadModule php7_module libexec/apache2/libphp7.so',
    'LoadModule php7_module libexec/apache2/libphp7.so'
);
s = s.replace(
    'DocumentRoot "/Library/WebServer/Documents"',
    `DocumentRoot "${root}"`
);
s = s.replace(
    '<Directory "/Library/WebServer/Documents">',
    `<Directory "${root}">`
);
// Write
let res = $(s).writeToFileAtomicallyEncodingError(conf, true, $.NSUTF8StringEncoding, nil);
if (res) {
    console.log("Write Success!");
}

apache_setup.js

を実行して。

sudo apachectl restart
open http://localhost/

で動作確認できるのは知っているよね。
実は同じ LAN に繋がっているスマホやパソコンがあるなら更に。

http://コンピューター名.local

でアクセスできるよ。
もちろん ifconfig からローカル IP を得てアクセスでも同じ。
これでスマホでのサイト作り時の見栄え確認が簡単に。

ちなみに NetworkManager を使っている Linux でも同じだったりする。
Fedora の場合は firewall-config で http のポートを空けてね。

ところで NetworkManager のメンテをしているのは Redhat です。
例の買収時にネットの反応に驚いたよ、皆 GUI しか見ていないのかと。

JXA error: NSMakeRect in Mojave

我が comipoli.js が Mojave で起動できない理由が判明。

NSMakeRect よ、お前が原因か。
NSMakeSize は問題ないので書き方が変わったという訳では無いようだ。
検索するとあったわ。

Problems with Mojave? ? Issue #44 ? JXA-Cookbook/JXA-Cookbook ? GitHub

NSRect を関数で得た場合でもエラーというオマケ付きかよ。
こりゃどうにもならん、修正を待つしかない。

Old mac to New mac

さて、新 Macbook Air を使えるようにしなければ。
とりあえずデフォルト以外で必要なアプリをば。

Visual Studio Code (以下 vscode)
Google Chrome (以下 chrome)
KeepassXC

が最小限だな、Gedit さえ使えれば Fedora とまったく同じなのに。
ちなみに mac で動画は Youtube くらいしか見ない、音楽は聴かない。
ただ App Store にはドレも無いんですけど。
しかたがないので一つづつ公式サイトから落としていく。

vscode って今は app のまま配布しているのね。
しかしこのマシンはドラッグアンドドロップが凄くやり辛いぞ!
3D Touch のせいだけどドラッグする時は軽めにタッチ。

後は以下を旧マシンからコピーして設定は元通り。
~/Library/Application Support/Code/User
このマシンだと起動が超速いな、テキスト編集はもうこれ一つでいいや。

chrome は書くまでもなくログインで元通り。
今頃知ったけど macOS 版も F12 でデベロッパーツールなんだね。
safari の開発ツールはタッチのエミュができないのが痛い。

KeepassXC は Fedora から kdbx をコピーして元通り。
command+V を試しに押下してみると警告ダイアログが出たので

とやると、おぉ command+V が使えるじゃん!
これでパスワード管理も Fedora と同様に使えるようになった。

後は普通にカスタムだ。
US 配列キーボードなのにバックスラッシュが円記号になるのはなんか笑える。
これはキーボードの設定で変更できる、それ以外は好みだよね。
拡張もコピペしなければ。

macOS アプリを JXA (AppleScript) で拡張 – L’Isola di Niente
を使おうと又しても警告が。

なんかダイアログ出過ぎ、今までこんなにウザかったか?
Fedora 等と違って初心者も使うからなんだろうけどさ。
拡張スクリプトなんて初心者は手を出さないだろ。

ところで、macOS 新規には .bash_profile, .bashrc が無いんだね。
Mac(OSX)で.bashrcを編集する ? GitHub
前のマシンはあったような気がするけど、とにかく新規作成。
.bashrc には

# User specific environment
PATH="$HOME/.local/bin:$HOME/bin:$PATH"
export PATH

# Fedora like Prompt
PS1='[\u@\h \W]\$ '

# alias
alias ll="ls -l"
alias jxa="osascript -i -l JavaScript"
alias jsc=/System/Library/Frameworks/JavaScriptCore.framework/Versions/A/Resources/jsc

こんな感じで落ち着いた。
osascript はファイルを渡すと js の拡張子で振り分けするので jxa コマンドはインタラクティブで使う時用のみ設定すれば良かった。

後は Apache の設定か。
アップデートでリセットされちゃうのをなんとかしなければ、後日。