【macOS】gnubin への PATH を一括で通す

【macOS】GNU パッケージの PATH
GNU gsed をインストールした後の表示。


GNU "sed" has been installed as "gsed".
If you need to use it as "sed", you can add a "gnubin" directory
to your PATH from your bashrc like:

     PATH="$HOMEBREW_PREFIX/opt/gnu-sed/libexec/gnubin:$PATH"

👉 gnu-sed — Homebrew Formulae hatena-bookmark

sed のように利用するには PATH を優先しておく、とのことだが。

GNU パッケージは、「パッケージごとに」シンボリックシンクが分かれている。


Commands also provided by macOS and the commands dir, dircolors, vdir have been installed with the prefix "g".
If you need to use these commands with their normal names, you can add a "gnubin" directory to your PATH with:
    PATH="$HOMEBREW_PREFIX/opt/coreutils/libexec/gnubin:$PATH"

👉 coreutils — Homebrew Formulae hatena-bookmark

自分のマシンで見てみる。


❯ ls -l $(brew --prefix)/opt/*/libexec/gnubin
/opt/homebrew/opt/gnu-sed/libexec/gnubin:
total 0
lrwxr-xr-x@ 1 mao  admin  14 Nov  7  2022 sed@ -> ../../bin/gsed

/opt/homebrew/opt/gsed/libexec/gnubin:
total 0
lrwxr-xr-x@ 1 mao  admin  14 Nov  7  2022 sed@ -> ../../bin/gsed

/opt/homebrew/opt/libtool/libexec/gnubin:
total 0
lrwxr-xr-x@ 1 mao  admin  18 Mar 17  2022 libtool@ -> ../../bin/glibtool
lrwxr-xr-x@ 1 mao  admin  21 Mar 17  2022 libtoolize@ -> ../../bin/glibtoolize

そうか、インストール時に作ってくれてるんだシンボリックリンク。

sed@ が2個あるけど実体は同じでした。


❯ ls -al /opt/homebrew/opt/gnu-sed
lrwxr-xr-x@ 1 mao  admin  21 Oct  5 22:58 /opt/homebrew/opt/gnu-sed@ -> ../Cellar/gnu-sed/4.9

❯ ls -al /opt/homebrew/opt/gsed
lrwxr-xr-x@ 1 mao  admin  21 Oct  5 22:58 /opt/homebrew/opt/gsed@ -> ../Cellar/gnu-sed/4.9

よって、以下のようにして GNU パッケージの PATH を一括で通すと良い、とな。


if type brew &>/dev/null; then
  HOMEBREW_PREFIX=$(brew --prefix)

  # gnubin; gnuman
  for d in ${HOMEBREW_PREFIX}/opt/*/libexec/gnubin; do export PATH=$d:$PATH; done

  # I actually like that man grep gives the BSD grep man page
  #for d in ${HOMEBREW_PREFIX}/opt/*/libexec/gnuman; do export MANPATH=$d:$MANPATH; done
fi

👉 macos - Homebrew: Easy way to add 'gnubin' to path for multiple packages? - Ask Different hatena-bookmark

他パッケージのインストーラーがこけたりするときないのか、と思ったので眺めておきました。


【macOS Sonoma】sudo のパスワード入力を Touch ID (指紋認証) で永続的に越えてゆく

Touch ID (指紋ボタン) を使って、sudo パスワードを入力する。

Touch ID can be allowed for sudo with a configuration that persists across software updates using /etc/pam.d/sudo_local. See /etc/pam.d/sudo_local.template for details.

こんなことできたんですね。

で、こんな新機能が紹介されています。


Touch ID can be allowed for sudo with a configuration that persists across software updates using /etc/pam.d/sudo_local. See /etc/pam.d/sudo_local.template for details.

👉 What's new for enterprise in macOS Sonoma - Apple Support hatena-bookmark


❯ ls -al /etc/pam.d/sudo*
-r--r--r--  1 root  wheel  283 Sep 16 22:28 /etc/pam.d/sudo
-r--r--r--  1 root  wheel  179 Sep 16 22:28 /etc/pam.d/sudo_local.template

❯ cat /etc/pam.d/sudo
# sudo: auth account password session
auth       include        sudo_local
auth       sufficient     pam_smartcard.so
auth       required       pam_opendirectory.so
account    required       pam_permit.so
password   required       pam_deny.so
session    required       pam_permit.so

ということで、OSアップデートの度に更新されてしまう /etc/pam.d/sudo


auth       include        sudo_local

が追加されたそうです。

便利です。

👉 macOS Sonoma 14.xでsudo実行時にTouch IDで認証する機能を有効化する手順 - Qiita hatena-bookmark
👉 Enable Touch ID for Sudo / Terminal (Sonoma Ready) | by La Clementine | Aug, 2023 | Medium hatena-bookmark
👉 Persistent Touch ID for sudo hatena-bookmark


【Apple】ヤマト運輸 (クロネコヤマト) の「ADSC支店」は今どこにあるのか

調べてみると、2013年の記事です。

調べてみるとADSC支店は国内だと言うことが判明。どうやら国内まで到着しているようだ。そしてこの謎の支店は「Apple Delivery Support Center」の略だとか。

国内AppleStoreで購入したものは中には海外からの発送される物があり、そういった商品は一度ADSC支店に集められそこから再出荷するのである。ちなみに場所は有明ね。あの倉庫だらけの有明。つまり私が2日に注文した商品は今日ADSC支店から出荷され近々届けられるのである。

👉 アップル製品をオンライン注文時の「ADSC支店」って何? その謎に迫る! | ガジェット通信 GetNews hatena-bookmark

実際、Mac を購入、下取りを Apple 公式サイトでやってみた結果。

以下、購入時の状況経過。注文から、1週間で到着しました。

【Apple】ヤマト運輸 (クロネコヤマト) の「ADSC支店」は今どこにあるのか

「深セン」の次が「ADSC支店」で次が「羽田クロノゲートベース」。

続いて、下取り送付時の流れ。

【Apple】ヤマト運輸 (クロネコヤマト) の「ADSC支店」は今どこにあるのか

「羽田クロノゲートベース」のあと「ADSC支店」で終了。

この時点で、下取り完了のメールを受け取りました。

【Apple】ヤマト運輸 (クロネコヤマト) の「ADSC支店」は今どこにあるのか

なんとなく「ADSC支店」は、「東京ベース」のある有明ではなく、羽田空港近くの「羽田クロノゲートベース」近辺にあるように見えます。



ADSC支店

オンラインのApple Storeで購入した商品が、必ず通るとされるヤマト運輸の支店。

具体的な場所は公開されていないため確定できないが、これを著している時点では羽田クロノゲート外部リンク内に存在し、管轄は南東京主管と予想されている。

👉 ADSC支店 ‐ 通信用語の基礎知識 hatena-bookmark

羽田主管支店 ADSC支店(ロジ)

京急空港線「穴守稲荷」駅 徒歩5分 JR「蒲田」駅より無料送迎バス利用可

👉 ヤマト運輸株式会社 物流センターの作業スタッフ 求人情報:東京都大田区 hatena-bookmark

「羽田クロノゲート」内にありそうです。

配達の方に聞けば良かったわ。

まあ、どっちでもいいか。

👉 羽田クロノゲート | ヤマト運輸 hatena-bookmark


【Mac Book Pro】HDMI L型コネクタでスッキリ

これいいですよ。

エレコム HDMI延長コネクタ L字 【右方向】 HDMI (メス) - HDMI (オス) ブラック AD-HDAAB03BK

狭い机で無理してると端子がぐらついてやばそうだったので。

エレコム HDMI延長コネクタ L字 【右方向】 HDMI (メス) - HDMI (オス) ブラック AD-HDAAB03BK

最適なのは写真のように「右型」です。



エレコム HDMI延長コネクタ L字 【右方向】 HDMI (メス) - HDMI (オス) ブラック AD-HDAAB03BK


Material3 へのアップグレードで PullRefresh (SwipeRefresh) ができない件

👉 [Feature Request] PullRefreshIndicator for Material 3 [261760718] - Visible to Public - Issue Tracker hatena-bookmark

2023 年 1 月 17 日 05:01AM

accompanist/swiperefresh が非推奨になったので、M3 に実際の代替機能がないのは迷惑です。

2023年2月11日午後12時07分

こんにちは、機能リクエストありがとうございます! 返信が遅くなり申し訳ございません。現時点では、私たちの主な焦点は、PullRefreshIndicator が含まれていないマテリアル 3 デザイン仕様の内容を構築することです。これを完了した後 (今年中頃を目指しています)、データを調べて M2 PullRefresh の使用方法を学び、M3 ライブラリでのビルドの優先順位を評価します。

2023 年 3 月 21 日 12:34AM

私たちと同じように、これが人々の M2 から M3 への完全な移行を妨げる最後の問題になると思います。

2023 年 5 月 5 日 03:25AM

最新のアップデートはこちら:

M2 の pullrefresh には設計上の重大な問題がいくつかあり、このコンポーネントの M3 実装を提供することを最終的に決定する前に、この問題に対処したいと考えています。この M2 の作業が優先されると、M3 の実装に関するより具体的なタイムラインを提供できるようになります。

2023 年 8 月 8 日 09:38AM

こんにちは、いつ発売されるかについての情報はありますか?

そして現時点では、プルを使用して機能を更新するにはどうすればよいでしょうか?

2023 年 8 月 16 日 03:06AM

PullRefresh は、M2 からの既知の移行ギャップであり、現在開発中です。そのタイムラインについてはまだ正確な見積もりがありませんが、この動作のさまざまなコンポーネントが実装されるにつれて、このバグは更新されるでしょう。

現在、M3 で PullRefresh を使用する最良の方法は、その間に M2 ロジックをフォークすることです。

2023 年 8 月 22 日 09:54AM

この問題がこんなに長く続いていることに本当に驚いています。おそらく M3 はまだ準備ができていないので、アップグレードすべきではありません。

2023 年 8 月 28 日 12:17AM

Material3 にアップグレードしたかったのですが、これによってブロックされました。

2023年9月1日 08:22PM

これは私たちにとっても M3 へのアップグレードを妨げる問題です。

2023年9月23日 02:21AM

[マテリアル3][PullRefresh] PullRefreshIndicatorをM3に更新

* APIはPullRefreshState に依存しないように更新されました
* TonalElevation の動作は M3 に移植されていません
* PullRefreshIndicatorTransformation ロジックはここに移動されました
* 注: PullRefreshIndicator と PullRefreshIndicatorDefaults は、PullRefresh 動作の導入とともにパブリックとしてマークされます。

ということでもう少しかかりそうです。

とりあえず、これ、使ってみますか。

Material3 へのアップグレードで PullRefresh (SwipeRefresh) ができない件

👉 Omico/androidx-compose-material3-pullrefresh: A temporary solution for Jetpack Compose Material 3 pull refresh. hatena-bookmark