を使って Google ドライブをマウントできます。 を使ってrclone mount gdrive: localfolder
リモート ファイル システムを自動的にマウントする方法も知っています。しかし、 を使ってクラウド ドライブを自動的にマウントすることは可能ですか? に次の行を追加しようとしました:sshfs
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
もう 1 つの方法は、デーモン化してマウント プロセスが完了するまで待機するラッパー スクリプトを作成することです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
(質問の例とは異なります)。
残念ながら、あなたの質問のより一般的な部分についての答えはわかりません。