iPadのsshクライアントでfish shellをログインシェルにしている環境にログインできなかったという小ネタです。
起きたこと
環境
fish: 3.1.2
theme-bobthefish
iTerminal: Free 8.80 build 1
事象
iTerminalというssh clientを使って、ログインシェルがfishの環境にアクセスしたところ、以下のようなエラーが出て接続を確立できませんでした。
Assertion failed: (!find_prompt_layout(input) &&
"Should not have a prompt layout for this input"),
function add_prompt_layout
対処
fishのバージョンを上げることで対処できました。
参考:Should not have a prompt layout for this input #7528
Canonicalの配布パッケージが今現在3.1.2のため、ppa:fish-shell/release-3を追加してupgradeすればOKです。2022年2月時点で3.3.1–1がインストールされました。
(試してませんがtheme-bobthefish使わず地味なプロンプトにしとけばログインできたはずです)
その他
iTerminalはフォントを変更できないので、fishのバージョンを上げるとログインはできるようになったものの結局綺麗にプロンプト表示できませんでした。
フォント変更できないiPadのクライアントは同様に全滅だと思われます。
iPadへのpowerline系フォントインストール自体はadobe creative cloudを使って可能でした。
Font Families
Noto Mono・Space Monoあたりは含まれているっぽいです。フォント入れるだけなのになんでこんな大掛かりなことやらなきゃならんのだと思ってしまいますが・・・
尚、Termiusはpowerline系フォントを含んだパッケージ構成になってます。有料です。