在 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控制台工具,但它缺少这样的选项。
发生错误的原因是该命令尝试连接到您手机的端口 22 并使用您的SSH 密钥。为了挂载 KDE Connect 公开的文件系统,您应该使用其端口和 SSH 密钥。
在我的手机上,该端口是1740(您可以检查您的计算机上运行的端口是否相同netstat)。KDE Connect 密钥位于~/.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因为它允许非特权用户更轻松地安装。
更多信息请点击这里。
| 归档时间: |
|
| 查看次数: |
2654 次 |
| 最近记录: |