権限のないユーザーとして実行しているときにmeldが/ dev / fd / *にアクセスできない理由は何ですか?

権限のないユーザーとして実行しているときにmeldが/ dev / fd / *にアクセスできない理由は何ですか?

私はmeldにも書くことができるはずだと思います。ただし、(「読み取り」を参照)と書かれていますCould not read file。これは、ルートにそのようなエラーがないため、ルートで書き込むことができることを意味します。

~$ diff <(echo foo) <(echo bar)
1c1
< foo
---
> bar

~$ meld <(echo foo) <(echo bar)  # not working, see comment below
~$ sudo -s
~# meld <(echo foo) <(echo bar)  # works just fine

最初はCould not read file合計を返します[Errno 2] No such file or directory: '/dev/fd/63'

なぜこのような行動を疑うのですか?

スクリーンショット

一番上は権限のないユーザーで、一番下はルートです。

スクリーンショット、ルート

答え1

これは、Meldウィンドウがすでに開いている場合に発生します。この場合、再実行するとmeld既存のMeldプロセスを使用しようとしますが、そのプロセスは/dev/fd交換に使用されたファイルにアクセスできません。

Meldが「新しい」プロセスを使用し、他のすべてのプロセスを無視するように強制する方法はないようです。

関連情報