首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以在vifm中安装google驱动器?

是否可以在vifm中安装google驱动器?
EN

Unix & Linux用户
提问于 2020-04-08 11:22:11
回答 1查看 326关注 0票数 0

我可以安装我的谷歌驱动器使用rclone mount gdrive: localfolder。我还知道如何通过sshfsvifm中自动挂载远程文件系统。但是,是否可以使用rclone自动在vifm中挂载云驱动器?我尝试在vifmrc中添加以下一行:

代码语言:javascript
复制
filetype *.drive FUSE_MOUNT2|rclone %PARAM %DESTINATION_DIR

并创建一个名为google.drive的文件,其中包含以下行:

代码语言:javascript
复制
mount gdrive:

当我试图打开文件google.drive时,vifm会显示一条消息,即尝试挂载,然后永远挂在那里。

一般说来,在vifm中是否有一种通用的方法来处理各种远程安装程序?

EN

回答 1

Unix & Linux用户

发布于 2020-11-12 17:25:19

我也有一个类似的问题,偶然发现了这个未回答的问题。这是我的解决办法。

默认情况下,命令rclone mount在安装遥控器时将运行在前台,将各种消息打印到stdout。这与sshfs不同,后者要求前台的凭据并完成。为了让vifm完成安装过程并接受新的用户输入,rclone mount需要以某种方式被去功能化。这可以通过--daemon标志来完成,但是在本例中,结果是vifm跳转到它刚刚创建的文件夹,并在挂载过程完成之前显示其内容。因此,您将得到一个似乎是空文件夹。按CTRL-L (可能几次)刷新文件列表并显示正确的内容。不过,这有点令人恼火。

另一种可能的方法是编写一个包装器脚本,该脚本将守护rclone mount并等待挂载过程完成。例如,可以通过inotifywait或仅用sleep实现等待。

包装脚本可能如下所示:

代码语言:javascript
复制
#!/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中,您可以放置以下内容:

代码语言:javascript
复制
" Rclone mount
filetype *.drive
       \ {Mount google drive with rclone}
       \ FUSE_MOUNT2| %DESTINATION_DIR %PARAM

请注意,%DESTINATION_DIR在这里位于%PARAMS之前(与问题中的示例不同),因为这正是所提供的包装脚本所期望的。

不幸的是,我不知道你问题的更一般性部分的答案。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/578708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档