macOS のサンドボックスってこんなにウザかったっけ?

端末アクセスごときにチマチマ許可を与えるのが面倒すぎる。
とっとと端末のサンドボックス設定をフルディスクアクセスに変えよう。
zsh という意味ではないです、Terminal.app のみに適用される。

それと、こんなのを見つけたので前回の PyObjC を試す。
Macで実行しているアプリがIntel x86_64かApple Silicon arm64アーキテクチャかをメニューバーに表示してくれるオープンソースのユーティリティ「Silicon Info」がリリース。 | AAPL Ch.
端末から Python3 に渡して起動すると arm64 になる。
Atom から command+option+T で起動する端末は arm64 になる。
Atom から atom-runner でプロセス起動すると Intel になる。
Rosetta2 で起動した Python3 でも PyObjC は使えたんだね。
まあ Atom が arm64 になるまで端末利用かなって。
後は apache だな。
どうせまたアップデート毎に httpd.conf が初期化されるので。
#!/usr/bin/env python3
'''
# Run on root
sudo python3 httpd_rewrite.py
#
# start or restart
sudo apachectl restart
#
# Auto start of service
sudo launchctl load -w /System/Library/LaunchDaemons/org.apache.httpd.plist
'''
import shutil
CONF = '/etc/apache2/httpd.conf'
out = []
# User Rewright
ROOT = 'DocumentRoot "/Users/sasakima-nao/www"\n'
DIRC = '<Directory "/Users/sasakima-nao/www">\n'
shutil.copyfile(CONF, 'backup_httpd.conf')
with open(CONF, 'r') as f:
for line in f:
if 'php7_module' in line:
out.append(line[1:])
elif line.startswith('DocumentRoot'):
out.append(ROOT)
elif '<Directory "/Library/WebServer/Documents">\n' == line:
out.append(DIRC)
else:
out.append(line)
with open(CONF, 'w') as f:
for s in out:
f.write(s)
以前 JXA で作ったけど手抜きだったので Python で描き直し。
これで同じ LAN に繋がった iPhone 等から
http://コンピュータ名.local
でアクセスできる、てか今までと変わっていなかった。

Mac の人は面倒なのに vim で書き換えしている人ばかりなのは何故?
スクリプトを作っておけば初期化されても一発で書き換えできるのに。
Python とかのスクリプト言語ってこういうことをする為にある。
これで 2018 Air の頃と同じように使えるようになった。
後は Lightroom か、arm64 版も出たみたいだし。
その前にサブスクについてもう少し調べなきゃだが。