更改 pcloud 的默认挂载点

更改 pcloud 的默认挂载点

在 Linux 中,云端是一个应用程序映像。当我们运行该应用程序时,它会在 /tmp 中创建一个挂载点

/tmp/.mount_pcloudjUJB13$ ls
app  AppRun  pcloud.desktop  pcloud.png  usr

并创建一些文件和文件夹:

/home/user/.pcloud
/home/user/pCloudDrive
/home/user/.config/pcloud
/home/user/.config/autostart/pcloud.desktop
etc...

它会显示存储在云中的内容/home/user/pCloudDrive

~/pCloudDrive$ ls
My Music  My Pictures  My Videos

我如何通过命令行运行 pcloud 并更改 pCloudDrive 文件夹的默认挂载点(挂载到我想要的位置)?

答案1

我向 pCloud 反馈了其他问题并在同一天得到了回复#125269:

感谢您联系 pCloud 技术支持。遗憾的是,我们无法更改此设置。

我还问他们,如果 pCloud 未运行时删除挂载点(空目录 pCloudDrive)可以吗?大概 pCloud 下次启动时会重新创建挂载点吧?他们回答说:

我们建议您不要删除挂载点。

答案2

您不需要按照@jmbraben 建议的那样创建新用户:更改HOME变量就足够了。

  1. 首先设置 pcloud 的“home”目录:
mkdir ~/.pcloud_home
cd ~/.pcloud_home
# Ensure pcloud sees the right ~/.config/autostart and ~/.local/share/applications
ln -s ~/.local
ln -s ~/.config
ln -s ~/.pcloud
  1. 如果您以前从未启动过 pcloud,请启动它以创建其桌面文件。
  2. 编辑/.local/share/applications/appimagekit-pcloud.desktop并更改行
Exec="/path/to/pcloud" %U

Exec=env HOME="$HOME/.pcloud_home" "/path/to/pcloud" %U
  1. 从您想要的任何位置创建符号链接~/.pcloud_home/pCloudDrive

如果从 shell 启动 pcloud,请确保将其作为 启动HOME=~/.pcloud_home pcloud。您可以为其创建包装器或别名。

答案3

我不太愿意将挂载放在我的主目录中,也希望移动它。我想到最好的方法是在系统上创建一个用户帐户,并通过此用户帐户登录 pcloud。

这将在以下位置创建 pCloudDrive

/home/pcloud_client/pCloudDrive

看来您必须通过 gui ui 配置 pcloud 服务,但配置完成后,您可以以该用户身份从命令行启动它(但仍需要一些 X 访问权限才能启动)。因此,从我的正常 Ubuntu 18.04 帐户终端登录:

# allow X access to pcloud_client
xhost local:pcloud_client
su pcloud_client
/opt/pcloud &
exit

不幸的是,这个客户端帐户中的挂载无法从我的普通帐户访问。从我的普通帐户,这是看到的权限。我尝试了几个权限游戏,但都没有奏效……我真的认为对 pCloud(和我的所有数据)进行花哨是不明智的:

drwxr-xr-x  4 pcloud pcloud 4096 Jun 11 14:15 .pcloud
d?????????  ? ?      ?         ?            ? pCloudDrive
drwxr-xr-x  2 pcloud pcloud 4096 Jun 11 12:58 Pictures

为了解决这个问题,我创建了一个共享挂载点并通过 bindfs 挂载:

mkdir /media/disk2/pcloud
sudo chown pcloud_client:pcloud_client /media/disk2/pcloud
sudo chmod g+w /media/disk2/pcloud
# add self to pcloud_client group
sudo usermod -a -G pcloud_client jmbraben
# use bindfs to share the mount from client account
# fusermount: option allow_other only allowed if 'user_allow_other' is set in /etc/fuse.conf
su pcloud_client
bindfs -u jmbraben /home/pcloud_client/pCloudDrive/ /media/disk2/pcloud
exit

这样做之后,我可以通过我的普通帐户(作为“pcloud_client”组的一部分)获得以下读/写权限:

/media/disk2/pcloud 

答案4

如果你不想运行 pcloud 应用程序,而只想安装驱动器,那么rclone提供了一个基于 FUSE 的良好解决方案。只需运行rclone config以适当配置远程目录(我们称之为“远程”),创建一个目标挂载目录,在该目录中您可以像往常一样拥有写入权限,例如/mnt/remote,然后运行

rclone mount remote: /mnt/remote

注意,上述命令将作为 FUSE 客户端,因此您可能需要以某种方式将其妖魔化(有一个--daemon选项)。卸载操作通过

fusermount -u /mnt/remote

这里了解更多详细信息、选项(和限制)。

相关内容