Synapse 啟動器:locate
命令和簡單搜尋有什麼區別?
我喜歡 Xfce 中的 Synapse,並想了解更多關於改進其使用的資訊。
我用它來重啟、註銷或關機、啟動應用程序、訪問文件和文件夾。
我一直在嘗試解決一些影響第二個驅動器上文件訪問的問題,因為它涉及打開具有可執行權限的文件並在 NTFS 分區上搜尋。
我不確定第二個問題是否已解決:到目前為止,我在第二個分區上搜尋的所有文件都是通過
locate
命令訪問的——也就是說,鍵入文件名沒有顯示任何內容,我必須按 ENTERlocate
才能執行並找到它們。以這種方式找到並打開後,我希望下次直接找到它們(無需定位),但事實並非如此。此類文件甚至不會顯示在最近的文件中(打開 Synapse 並按向下箭頭;如果從文件管理器而不是 Synapse 訪問,文件會顯示在最近的文件列表中)。另一方面,至少**$HOME 中的一些文件和文件夾直接顯示在 Synapse 中,無需
locate
查找它們**。是什麼觸發了這些和其他的區別?
我猜 Zeitgeist 參與了所有正常的 Synapse 搜尋(不涉及的那個
locate
),而 Synapse 只是向我顯示 $HOME 文件的事實是因為 Synapse 未搜尋 NTFS 分區(上面連結)的問題尚未解決!我不確定我是否了解locate
外掛應該如何工作?Zeitgeist 在某些情況下是否需要它,或者它們是完全獨立的過程?
試圖了解這一點,我發現了 Synapse 操作的基礎知識,可以在此處作為答案提供。
Synapse 啟動器不僅有許多增強其操作的外掛,而且它完全基於外掛。禁用所有這些使其無用:即使應用程序搜尋也是一個外掛。
當只輸入 Synapse 時,文件搜尋是通過Zeitgeist 外掛完成的,該外掛在 Zeitgeist 日誌中提供搜尋。這些是事件日誌,而不是文件日誌。更多在這裡。要以這種方式找到一個文件,它必須已經以某種方式被訪問過。Synapse 不能也不打算通過簡單地輸入文件的部分或全部名稱來搜尋任何文件。
這可以通過
locate
搜尋來完成,該搜尋基於旨在執行該命令的特定外掛(通過選擇簡單 Synapse 搜尋列表中的最後一個條目 - 這是找不到任何內容時的唯一條目)。
locate
搜尋是在updatedb 準備的數據庫中進行的。需要該sudo updatedb
命令來更新數據庫。找到後locate
,如果文件被訪問/打開,則可以通過簡單的 Synapse 搜尋找到它們。要被locate
文件找到,需要 (1) 位於未通過 中的設置排除的分區上/etc/updatedb.conf
,以及 (2) 在執行之前已創建sudo updatedb
。Synapse 會立即找到在桌面上創建的文件。
文件夾搜尋基於一個單獨的外掛。
打開一個文件並將其添加到 Zeitgeist 後,只需簡單搜尋即可(不帶
locate
),其他類似文件將以相同方式找到(例如,具有相同副檔名,在同一文件夾中);這是由於其他外掛:“混合搜尋”和“相關文件”。上述問題的答案是,普通的 Synapse 文件搜尋(只需輸入 Synapse)使用的方法和工具與使用
locate
命令進行的搜尋(在簡單搜尋後選擇最後一個條目並按 ENTER)不同。僅通過鍵入進行的正常搜尋涉及僅記錄事件的工具(Zeitgeist),因此僅查找已訪問的文件的名稱(由於上述其他外掛而給出了補充結果)。搜尋locate
適用於sudo updatedb
上次執行時列出的所有文件。因此,這是在 Synapse 中查找以前未訪問過且與此類文件無關的文件的唯一方法。