更改 pcloud 的默认挂载点

ajc*_*jcg 3 linux mount cloud-storage command-line

在 Linux 中,pCloud是一个 appimage。当我们运行应用程序时,它会在 /tmp 中创建一个挂载点

/tmp/.mount_pcloudjUJB13$ ls
app  AppRun  pcloud.desktop  pcloud.png  usr
Run Code Online (Sandbox Code Playgroud)

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

/home/user/.pcloud
/home/user/pCloudDrive
/home/user/.config/pcloud
/home/user/.config/autostart/pcloud.desktop
etc...
Run Code Online (Sandbox Code Playgroud)

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

~/pCloudDrive$ ls
My Music  My Pictures  My Videos
Run Code Online (Sandbox Code Playgroud)

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

PD:由于这个限制,我目前使用 rclone 来挂载 pcloud 驱动器

Eri*_*rik 7

您不需要像@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
Run Code Online (Sandbox Code Playgroud)
  1. 如果您以前从未这样做过,请启动 pcloud 以使其创建桌面文件。
  2. 编辑/.local/share/applications/appimagekit-pcloud.desktop并更改行
Exec="/path/to/pcloud" %U
Run Code Online (Sandbox Code Playgroud)

Exec=env HOME="$HOME/.pcloud_home" "/path/to/pcloud" %U
Run Code Online (Sandbox Code Playgroud)
  1. 从您想要的任何地方创建符号链接~/.pcloud_home/pCloudDrive

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


jmb*_*ben 5

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

这将在下面创建 pCloudDrive

/home/pcloud_client/pCloudDrive
Run Code Online (Sandbox Code Playgroud)

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

# allow X access to pcloud_client
xhost local:pcloud_client
su pcloud_client
/opt/pcloud &
exit
Run Code Online (Sandbox Code Playgroud)

不幸的是,我的普通帐户无法访问此客户帐户中的挂载。从我的普通帐户来看,这是可见的权限。我尝试了几个许可游戏,但没有任何效果……我真的认为喜欢 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
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我创建了一个共享挂载点并由 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
Run Code Online (Sandbox Code Playgroud)

这样做,我通过我的普通帐户(作为“pcloud_client”组的一部分)在以下位置拥有读/写权限:

/media/disk2/pcloud 
Run Code Online (Sandbox Code Playgroud)


Nei*_*ilG 2

我向 pCloud 反馈了其他问题,并于当天得到了回复#125269:

感谢您联系 pCloud 的技术支持。不幸的是,这是不可能改变的。

我还问他们如果我在pCloud没有运行的情况下删除挂载点,空目录pCloudDrive,可以吗?大概 pCloud 会在下次启动时重新创建挂载点?他们回应道:

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