NixOSでWaybarを使っているとこんな感じのエラーが出て起動しない事がある。
[2025-05-11 00:58:56.976] [error] org.freedesktop.portal.Desktop を StartServiceByName で呼び出すときにエラーが発生しました: タイムアウトしました
(環境によっては英語で表示されることもある)
これがなかなかクセモノなトラブルなので解決方法をメモっておこうと思う。
(暫定的な)解決方法
以下を実行し、xdg-desktop-portal-gtkを無効化する。
systemctl --user mask xdg-desktop-portal-gtk.service
なぜこの方法で解決できるのか
xdg-desktop-portal-gtkはxdg-desktop-portalと併せて起動するプロセスなのだけど、これがいつからか起動に失敗するようになった。 これが失敗するとxdg-desktop-portalも巻き込まれて失敗するため起動できず、これらのサービスを使用するコマンド(この場合だとwaybar)も起動に失敗する。
なのでsystemctl maskを実行して一時的にxdg-desktop-portal-gtkを無効化するとxdg-desktop-portalが起動できるようになって、waybarが起動に失敗することもなくなる。
この手のエラーに出会したってあんまり聞いた事がないのだけど、これはNixOSを使っているからなのかそれともディストリ問わず発生するのかは分からない...