是否可以使用 rclone 在 vi​​fm 中安裝 google 驅動器?

是否可以使用 rclone 在 vi​​fm 中安裝 google 驅動器?

我可以使用安裝我的Google驅動器rclone mount gdrive: localfolder。我還知道如何透過sshfsinside自動掛載遠端檔案系統vifm。但是可以使用自動rclone掛載雲盤嗎vifm?我嘗試在中添加以下行vifmrc

filetype *.drive FUSE_MOUNT2|rclone %PARAM %DESTINATION_DIR

並建立一個文件,google.drive其中包含以下行:

mount gdrive:

當我嘗試開啟檔案時google.drive,vifm 顯示嘗試安裝的訊息,然後永遠掛在那裡。

更一般地說,vifm 中有沒有通用的方法來處理各種遠端安裝程式?

答案1

我有一個類似的問題,並偶然發現了這個懸而未決的問題。這是我的解決方案。

預設情況下,當遠端安裝時,該命令rclone mount保持在前台運行,將各種訊息列印到標準輸出。這與sshfs在前台詢問憑證並完成的不同。為了vifm完成安裝過程並接受新的使用者輸入,rclone mount需要以某種方式進行守護進程。這可以透過--daemon標誌來完成,但在這種情況下,事實證明,vifm在安裝過程完成之前會跳到剛剛建立的資料夾並顯示其內容。因此,您將看到一個看似空的資料夾。按下CTRL-L(可能多次)可重新整理文件清單並顯示正確的內容。然而,這有點令人惱火。

另一種可能的方法是編寫一個包裝腳本,該腳本進行守護進程rclone mount並等待安裝過程完成。例如,可以用inotifywait或僅用 來實現等待sleep

包裝器腳本可能如下所示:

#!/usr/bin/env bash

dest=$1; shift
nohup rclone mount $* "$dest" &> /tmp/rclone_gdrive.log &
inotifywait -me open "$(dirname "$dest")" | while read line; do
    echo "$line" | grep -q "$(basename "$dest")" && break
done
# or sleep 1

(我還沒有對其進行足夠的測試,所以要小心)並且vifmrc您可以放置​​以下內容:

" Rclone mount
filetype *.drive
       \ {Mount google drive with rclone}
       \ FUSE_MOUNT2|<your wrapper script name> %DESTINATION_DIR %PARAM

請注意,這在此處%DESTINATION_DIR之前%PARAMS(與問題中的範例不同),因為這是提供的包裝器腳本所期望的。

不幸的是,我不知道你的問題的更一般部分的答案。

相關內容