을 사용하여 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
원격이 마운트되는 동안 포그라운드에서 실행 상태를 유지하여 다양한 메시지를 stdout에 인쇄합니다. 이는 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
안타깝게도 귀하의 질문 중 보다 일반적인 부분에 대한 답변을 모르겠습니다.