Manjaro Linuxでターミナルアプリが起動しなくなってしまった。
一応、解決したのでメモ。
結論
gnome-terminal-fedora
というパッケージがいつの間にか Orphaned になっており、vte
というパッケージのバージョンにミスマッチが起こっていたようです。
前提
2025年5月初旬に不具合を確認しました。
起動できなかったターミナル:
- gnome-terminal
- terminator
- lxterminal
起動できたターミナル:
- VSCode のターミナル
- Qterminal
なお、ファイルブラウザやインターネットブラウザなどは正常に起動できました。
調査
答えだけ知りたい方は、次章まで飛ばしてください。
再起動
再ログイン、再起動を試してみましたが、解決しませんでした。
パッケージ類のアップグレード
ひとまずパッケージ類のアップグレードを試みます。
GUI が使えなくなってしまったときの回避策として、仮想コンソールというものがあります。
仮想コンソールは Ctrl
+ Alt
+ F2
などで接続できます。
ちなみに Ctrl
+ Alt
+ F7
で普段の GUI に戻ることができます。
yay
パッケージのアップグレードは正常に完了しました。
残念ながら、ターミナルはまだ起動できません。
CLIから起動してみる
CLIから起動を試みると、エラー内容がコンソールに表示されることがあります。
gnome-terminal
エラーが出ました。
error while loading shared libraries libicuuc.so.75 cannot open shared object file No such file or directory
解決済みの先人がいることを願って、エラーメッセージでググってみます。
……ありました!
原因
ターミナル起動時に発生したエラーメッセージは icu
に関するものでしたが、実際の原因は icu
に依存する vte
のバージョンミスマッチのようです。
ターミナルの背景を透過させたかったため、 gnome-terminal
ではなく gnome-terminal-fedora
というパッケージを使用していました。
gnome-terminal-fedora
がいつの間にか Orphaned になっており、同時に AUR で導入されていた vte3
のバージョンが古いまま残されてしまい、バージョンが上がった icu
とバージョンがミスマッチしてしまったようです。
解決
gnome-terminal-fedora
を削除し、 vte
も標準リポジトリにある新しいバージョンのものに切り替えました。
AUR で導入されていた古い vte
については、新しいバージョンのパッケージをインストールする際に衝突するため削除を要求されました。
yay -R gnome-terminal-fedora
yay -S gnome-terminal
yay -S vte3 vte-common
無事、起動するようになりました!
余談
yay
実行時、AUR で導入した vte
のバージョンが、標準リポジトリのものよりも古くなってるよ、と表示がでていました。
先に気がつけばよかった。。
余談2
gnome-terminal
では、ターミナルの背景が透過できません。
どうしても透過させたいので、若干の恐怖を感じつつ AUR から背景透過版のターミナルを導入します。
yay -S gnome-terminal-transparency