如何像KDEConnect那样挂载分区?

Te *_* Ri 3 kde-connect

在 KDEConnect 中按“浏览此设备”时,它会通过 sftp 挂载分区(如果尚未挂载)。

如何以编程方式执行此操作,以便我始终可以安装设备并且不会自动按下此按钮?

我尝试像 KDEConnect 一样在按下“浏览此设备”按钮后进行安装:

$ mount | grep kdeconnect
kdeconnect@192.168.1.51:/ on /run/user/1000/xxxxxxxxxxxxxxxx type fuse.sshfs (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
Run Code Online (Sandbox Code Playgroud)

所以精心设计了这个命令:

mkdir -p /run/user/1000/xxxxxxxxxxxxxxxx
sudo mount -v -t fuse.sshfs \
  -o rw,nosuid,nodev,uid=1000,gid=1000 \
  kdeconnect@192.168.1.51:/ /run/user/1000/xxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)

但它会导致以下错误:

read: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)

或者,如果未安装,是否可以简单地触发 KDEConnect 来安装分区?那里有一个kdeconnect-cli控制台工具,但它缺少这样的选项。

Raf*_*nti 5

发生错误的原因是该命令尝试连接到您手机的端口 22 并使用您的SSH 密钥。为了挂载 KDE Con​​nect 公开的文件系统,您应该使用其端口和 SSH 密钥。

在我的手机上,该端口是1740(您可以检查您的计算机上运行的端口是否相同netstat)。KDE Con​​nect 密钥位于~/.config/kdeconnect/privateKey.pem我的系统中。

因此,您应该能够使用以下命令执行安装:

sshfs -o rw,nosuid,nodev,identityfile=$HOME/.config/kdeconnect/privateKey.pem,port=1740 kdeconnect@PHONE_IP:/ MOUNT_POINT
Run Code Online (Sandbox Code Playgroud)

PHONE_IP请记住相应地进行替换MOUNT_POINT。另请注意,我使用sshfs而不是mount因为它允许非特权用户更轻松地安装。

更多信息请点击这里