rcloneを使用してvifmにGoogleドライブをマウントできますか?

rcloneを使用してvifmにGoogleドライブをマウントできますか?

を使用してGoogleドライブをマウントできますrclone mount gdrive: localfolder。また、sshfsinsideを介してリモートファイルシステムを自動的にマウントする方法も知っていますvifm。しかし、rcloneクラウドディスクの自動マウントを使用できますかvifm?次の行を追加してみましたvifmrc

filetype *.drive FUSE_MOUNT2|rclone %PARAM %DESTINATION_DIR

google.drive次の行を含むファイルを作成します。

mount gdrive:

ファイルを開こうとすると、google.drivevifmはインストールを試みるメッセージを表示し、永久に停止します。

より一般的には、vifmにはさまざまなリモートインストーラを処理する普遍的な方法がありますか?

答え1

私は同様の問題を抱えていて、この一般的な質問を偶然見つけました。私の解決策は次のとおりです。

デフォルトでは、リモートでインストールすると、このコマンドはrclone mountフォアグラウンドで実行され続け、さまざまなメッセージを標準出力に出力します。これはsshfs、フロントデスクで資格情報を要求して完了するのとは異なります。vifmインストールプロセスを完了し、新しいユーザー入力を受け入れるには、いかなるrclone mount方法でもデーモン化する必要があります。これはフラグで行うことができますが、この場合、インストールプロセスが完了する前に作成されたフォルダに移動してその内容を表示することがわかり--daemonました。vifmしたがって、空のように見えるフォルダが表示されます。CTRL-Lファイルのリストを更新して正しい内容を表示するには、数回クリックします。しかし、これはちょっと迷惑です。

rclone mount別の可能なアプローチは、デーモン化してインストールプロセスが完了するのを待つラッパースクリプトを作成することです。たとえば、inotifywaitwaitまたはonlyを実装するために使用できます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

残念ながら、あなたの質問のより一般的な部分に対する答えがわかりません。

関連情報