我可以使用安裝我的Google驅動器rclone mount gdrive: localfolder
。我還知道如何透過sshfs
inside自動掛載遠端檔案系統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
(與問題中的範例不同),因為這是提供的包裝器腳本所期望的。
不幸的是,我不知道你的問題的更一般部分的答案。