Fedora 45のsystemd環境変数管理提案、FESCoが却下——コンテナ互換性が壁に

.bashrcを書き換えなくても、環境変数がシェルに関係なく反映される。そんな「あったらいい」機能が、Fedoraの審査を通過できなかった。

Fedora 45のsystemd環境変数管理提案、FESCoが却下——コンテナ互換性が壁に

.bashrcを書き換えなくても、環境変数がシェルに関係なく反映される。そんな「あったらいい」機能が、Fedoraの審査を通過できなかった。


Fedora 45に向けた提案の中身

問題の出発点は単純だ。

Fedoraにはbashzsh以外にも、Fish、nushell、xonshといった代替シェルが存在する。しかし~/.local/bin~/binをPATHに追加するための設定ファイルはbashzshにしか用意されていない。代替シェルに切り替えたユーザーが突然スクリプトを実行できなくなる――この地味に困る問題を根本から解決しようとしたのが今回の提案だ。

提案者のフェイズ・マフルス氏は2026年3月10日、Fedora 45の変更提案としてsystemd.environment-generatorの活用を提唱した。/etc/skel/.config/environment.d/にファイルを置くだけで、シェルの種類を問わずすべてのユーザープロセスに環境変数が適用される。シンプルで一貫性があり、理屈のうえでは筋の通った解決策だった。

現在のFedoraはシェルrcスクリプト(~/.bashrc~/.zshrc)に環境変数の管理を依存している。しかし代替シェル向けには同等のスクリプトが用意されていないため、ユーザーが意図せずPATH設定を失う状況が生じている。

FESCoが却下した理由——コンテナ互換性の壁

2026年4月上旬、FESCoは投票の結果、+0票・3票賛成・6票反対でこの提案を却下した。

反対の核心は一点に集約される。コンテナ環境との非互換だ。

DockerやPodmanのコンテナではsystemdが起動していないケースが大半を占める。そうした環境でsystemd.environment-generatorを前提とした仕組みを導入すれば、環境変数が正しく設定されないまま静かに動き続ける。FESCoメンバーのngompa氏は「systemdが環境のセットアップに呼び出されることを前提にしているが、コンテナではそれが保証されない」と反対票の理由を明示した。予期しない方法で多くのものを壊すリスクがある——これがFESCoの総意だった。

否決(+0, 3, -6)。現状の提案はsystemdが存在しない環境への配慮が不十分であり、そのままの形では受け入れられない。これらの問題点を解消し、より多くの設定例を示したうえで再提出することを推奨する。

コミュニティの反応——賛否が真っ二つ

Phoronixのフォーラムでは30以上のコメントが飛び交い、意見は割れた。

systemdによる環境変数管理に賛同する声も少なくない。「シェルスクリプトの山よりずっと論理的だ」「移行は遅かれ早かれ必要になる」という実用派の意見がある一方、技術的な議論の中心にいたのは反対派だった。「この問題はシェルとは無関係だ。/etc/profileのドロップイン対応で十分に解決できる」「systemdが唯一の選択肢のように振る舞うことが問題の本質だ」という批判は、一定の支持を得ていた。

systemdの開発者たちは、systemdが存在する世界だけを想定して考える傾向がある。コンテナのような、systemdが存在しない文脈で使われる可能性を軽視しがちだ。(Phoronixフォーラム、coderユーザー)

FishやnushellユーザーのPATH問題という実際に存在する課題に対して、提案のアプローチが唯一解ではなかったことも否定できない。


提案の行方——却下は終わりではなく宿題

FESCoは完全な否定ではなく、再提出の余地を残している。

systemdレス環境への配慮」と「より多くの設定例の提供」という2点が修正条件として示されており、提案者が対応すれば再審査の可能性がある。Fedora 45のリリースは2026年秋が見込まれており、今回の判断によってこの変更の採用は少なくとも次バージョン以降に持ち越された。

シェルの多様化が進む今、環境変数管理の統一という課題はいずれ再浮上するだろう。良いアイデアでも、十分な準備がなければ通らない——それはオープンソース開発の原則でもある。


参照元

関連記事