人生シーケンスブレイク

シーケンスブレイク(Sequence breaking、シークエンスブレイクとも)とは、テレビゲームにおいて開発が想定している攻略ルートを逸脱し、ショートカットする行為のことである。

macOS MontereyのApp Storeのアップデートができなくなった時の対処方法

症状

App Store でアプリのアップデートの進んでいるかに見えるものの、ずっとグルグルしていて全くアップデートが完了できなくなった。

環境

  • MacBookPro 14" 2021
  • mac OS Monterey
    • Version 12.3.1

手順

キャッシュの削除

以下2つのフォルダを削除する

rm ~/Library/Caches/com.apple.appstore ~/Library/Caches/com.apple.appstoreagent

App Store と Agent の終了

App Storeを終了させた後で、appstoreagentのタスクを終了させる

App Storeを再起動する

新しくキャッシュが生成され、再度Updateが始められるようになる。Updateをクリックし、しばらく待てば正常にアップデートが完了するはず。

久し振りにすべてアップデート済みになった図。

Linux Mint で デスクトップアプリの Todoist にログインする

環境

症状

OSをアップグレードしたら再ログインを求められたが、ブラウザでのログイン後のxdg-openからのリダイレクトが上手く行われず認証が完了しない。

20.2 の時は

shnsprk.com

で対応したけれども今回はこの方法ではダメだった。

やり方

まずアプリを立ち上げて、ブラウザでのログインを試みる。

f:id:ShineSpark:20220406043903p:plain

ブラウザが立ち上がったら、Dev tools も起動する。

f:id:ShineSpark:20220406044040p:plain

Dev tools を起動したままログインを行うと、consoleに Launched external handler for 'com.todoist:/oauth2redirect/todoist?... のログが流れるので com.todoist:/... 以降のURLをコピーする。

f:id:ShineSpark:20220406044215p:plain

Todoistアプリに戻り、こちらでも Ctrl + Shift + i で Dev tools を立ち上げる。

f:id:ShineSpark:20220406045016p:plain

ElectronっぽいのでDev toolsが普通に立ち上がる。

立ち上がったら、Consoleからlocation.hrefを変更し先程コピーしたURLに移動させる。

location.href='/oauth2redirect/todoist?code=...'

f:id:ShineSpark:20220406045104p:plain

するとログイン完了したことになる。

f:id:ShineSpark:20220406045146p:plain

以降はアプリを再起動してもログイン状態が保持される。

関連記事

shnsprk.com

Ricty に Nerd Font を合成する

あらすじ

Starship: Cross-Shell PromptNerd Fontが必要なので、RictyNerd Fontを合成する。

Before

Rictyをつくる

折角なので最新フォントを集めてRitcyを作り直す。

プログラミング用フォント Ricty生成方法 の通り、FontForgeをインストールし、

  • Inconsolata
  • Migu 1M
  • ricty_generator.sh

を集める。

それぞれのフォントのRegular, Boldフォントを同じディレクトリに突っ込んだら、

chmod +x ./ricty_generator.sh
./ricty_generator.sh auto

Ricty生成。

いいですね。

RictyNerd Font を合成する

https://github.com/ryanoasis/nerd-fonts#option-8-patch-your-own-font

を参考に、自分でフォントを指定してパッチを適用する。

まずリポジトリをclone

git clone --depth=1 https://github.com/ryanoasis/nerd-fonts.git

font-patcher を実行する。 M1 Max MBPでは python に path が通ってなくてエラーになったので python3 を付けて実行した。

python3 ./font-patcher -c ~/tmp/Ricty-Regular.ttf

いいですね。
Node.jsのアイコンを合成するために-c オプションを付けた。

面倒なのでまとめて生成する。

ls ~/tmp/Ricty* | xargs -n 1 python3 ./font-patcher -c

OK.

適用してみる

iTerm2に早速適用してみた。

無事にNode.jsのフォントも表示されるようになった。

zsh-autosuggestions でサジェストされるコマンドの色設定が適用されない

f:id:ShineSpark:20220324235112p:plain

症状

zsh のコマンド補完に zsh-autosuggestions を使っていたが、zsh周りを再構築したらサジェストされた文字の色が白になり、設定しているはずのグレー系の配色にならなくなった。

As is

f:id:ShineSpark:20220324234442p:plain

To be

f:id:ShineSpark:20220324234414p:plain

環境

  • zsh 5.8.1
  • zsh-autosuggestions@a411ef3
  • zsh-syntax-highlighting@c5ce001

解決方法

zsh-syntax-highlightingの不具合のようなので、暫定的に zsh-syntax-highlighting.zsh の以下箇所を書き換える。

diff --git a/zsh-syntax-highlighting.zsh b/zsh-syntax-highlighting.zsh
index 2b42910..2502df0 100644
--- a/zsh-syntax-highlighting.zsh
+++ b/zsh-syntax-highlighting.zsh
@@ -166 +166 @@ _zsh_highlight()
-        if is-at-least 5.8.0.3 $ZSH_VERSION.0.0; then
+        if is-at-least 5.9.0.0 $ZSH_VERSION.0.0; then
@@ -418 +418 @@ _zsh_highlight_call_widget()
-if is-at-least 5.8.0.2 $ZSH_VERSION.0.0 && _zsh_highlight__function_callable_p add-zle-hook-widget
+if is-at-least 5.9.0.0 $ZSH_VERSION.0.0 && _zsh_highlight__function_callable_p add-zle-hook-widget

Highlighting bug after updating to zsh 5.8.1 · Issue #857 · zsh-users/zsh-syntax-highlighting で対応中なので多分その内直るかも。

参考

Linux MintのBluetooth A2DP Sink接続で音が出ない問題を解消する。

f:id:ShineSpark:20220228182232p:plain

環境

症状

骨伝導イヤホンをA2DP接続すると音が出なくなった。 HSP/HFP接続であればかろうじて音が出るものの、A2DP接続に比べて音質が悪いので直したい。

f:id:ShineSpark:20220228180405p:plain

アップデートか何かの拍子に音が出なくなった。

模索

Ubuntu bluetooth A2DP 辺りでググって同事象の解決方法を探す。

GDM 利用時に PulseAudio で A2DP が動作しないケースがあるとのことだが、LinuxMint では LightDM を利用しており、該当しない。

$ systemctl status display-manager.service
● lightdm.service - Light Display Manager
     Loaded: loaded (/lib/systemd/system/lightdm.service; indirect; vendor preset: enabled)
     Active: active (running) since Mon 2022-02-28 14:05:28 JST; 3h 56min ago
       Docs: man:lightdm(1)
    Process: 1191 ExecStartPre=/bin/sh -c [ "$(basename $(cat /etc/X11/default-display-manager 2>/dev/null))" = "lightdm" ] (code=exited, status=0/SUCCESS)
   Main PID: 1196 (lightdm)
      Tasks: 5 (limit: 77008)
     Memory: 262.3M
     CGroup: /system.slice/lightdm.service
             ├─1196 /usr/sbin/lightdm
             └─1307 /usr/lib/xorg/Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch

 2月 28 14:05:27 Linux-Mint systemd[1]: Starting Light Display Manager...
 2月 28 14:05:28 Linux-Mint lightdm[1196]: Seat type 'xlocal' is deprecated, use 'type=local' instead
 2月 28 14:05:28 Linux-Mint systemd[1]: Started Light Display Manager.
 2月 28 14:05:30 Linux-Mint lightdm[1343]: pam_unix(lightdm-autologin:session): session opened for user shinespark by (uid=0)

試しに PulseAudio の設定ファイルを sudo vi /etc/pulse/default.pa

### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
-load-module module-bluetooth-policy
+load-module module-bluetooth-policy
.endif

.ifexists module-bluetooth-discover.so
-load-module module-bluetooth-discover
+unload-module module-bluetooth-discover
.endif

としたがこちらも解消には至らなかった。

基本的な PulseAudio 再起動、Bluetooth再起動、OS再起動も効果なし。

~/.config/pulse 配下のファイルも確認したが、バイナリデータが主で何が原因でこうなっているのか分からない状態。

解決方法

~/.config/pulse 自体を削除したら解消した。

rm -rf ~/.config/pulse

して

f:id:ShineSpark:20220228180405p:plain

A2DPを選択するだけで普通に音が出るようになった。

骨伝導イヤホンは本当に便利。

もう一つ買い増した。

参考

Linux MintでもAppImageをアプリケーションメニューに追加する

Ubuntu のアプリケーションメニューに追加するのは

shnsprk.com

でやったけれども、Linux mint には Menu Editor がなかったので自前でやる。

やり方

1. 適当なディレクトリにAppImageを置く。

自分は ~/Applications/ に配置。

2. ~/.local/share/applications に .desktop ファイルをつくる。

$ pwd
~/.local/share/applications

$ cat Todoist.desktop
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Todoist
Comment=Todoist
Exec=/home/shinespark/Applications/Todoist-1.0.5.AppImage
Terminal=false
StartupNotify=true
MimeType=x-scheme-handler/todoist;x-scheme-handler/com.todoist;

以上。