Когда в 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)
Так была составлена эта команда:
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
Но это приводит к следующей ошибке:
read: Connection reset by peer
В качестве альтернативы, можно просто вызвать KDEConnect для монтирования раздела, если не установлен? Там это kdeconnect-cli
консольный инструмент, но он пропускает такие опции.
Ошибка происходит, потому что та команда пытается подключить к порту 22 из Вашего телефона и использует Ваши ключи SSH. Для монтирования файловой системы, выставленной Подключением KDE, необходимо использовать его порт и ключи SSH.
По моему телефону тот порт 1740
(можно проверить, если Ваш то же выполнение netstat
на Вашем компьютере). И ключ Подключения KDE в ~/.config/kdeconnect/privateKey.pem
в моей системе.
Таким образом, необходимо смочь выполнить монтирование с командой, такой как:
sshfs -o rw,nosuid,nodev,identityfile=$HOME/.config/kdeconnect/privateKey.pem,port=1740 kdeconnect@PHONE_IP:/ MOUNT_POINT
Не забудьте заменять PHONE_IP
и MOUNT_POINT
соответственно. Также заметьте, что я использую sshfs
вместо mount
потому что это позволяет более легкое монтирование для непривилегированного пользователя.