以非特權使用者身分運作時,meld 無法存取 /dev/fd/* 的可能原因是什麼?

以非特權使用者身分運作時,meld 無法存取 /dev/fd/* 的可能原因是什麼?

我懷疑 meld 需要它們也是可寫的。然而,它確實說Could not read file(注意“閱讀”);再加上,這意味著它們對 root 來說是可寫的,因為 root 沒有這樣的錯誤。

~$ 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'

您懷疑這種行為的原因是什麼?

螢幕截圖

上面是非特權用戶,下面是root。

截圖,root

答案1

當 Meld 視窗已經開啟時會發生這種情況。在這種情況下,再次運行meld會嘗試使用現有的 Meld 進程;但該進程無法存取/dev/fd用於替換的檔案...

似乎沒有辦法強迫 Meld 使用「新」流程,而忽略所有其他流程。

相關內容