Привет всем и спасибо за отличную работу, которую вы делаете; вот мой вопрос
два телефона android: M, где установлен kdeconnect и S ПК Kubuntu 20.04 Устройство Ethernet Wi-Fi
Случай 1 - Я подключаюсь к Интернету с помощью телефона M через USB-модем, и kdeconnect работает без сбоев
Случай 2 - Я подключаюсь к Интернету, используя телефон M в качестве точки доступа и устройство Wi-Fi Ethernet, и kdeconnect работает плавно
Случай 3 - Я подключаюсь к Интернету с помощью телефона S с USB-модемом, но мне нужно использовать kdeconnect на телефоне M в качестве пульта дистанционного управления для моего компьютера: на самом деле он не может найти устройство, даже если я вручную добавьте ip из приложения kdeconnect для Android. как только я отключу это соединение, kdeconnect начнет работать
Как я могу это сделать в случае 3? как я могу использовать S-соединение для просмотра веб-страниц, одновременно используя сеть M только для kdeconnect? есть ли способ направить только трафик kdeconnect к соединению M (которое в обоих случаях является 192.168.43.x, а S всегда 192.168.42.x)?
В любом случае спасибо за помощь
Похоже, мне удалось добиться желаемого результата! Я создал еще одно соединение Ethernet с помощью диспетчера соединений, которое использую для своего устройства Wi-Fi Ethernet, и назвал его «Ethernet-Local»: в разделе «Настройки IPv4» я выбрал «Маршруты» и поставил галочку «Использовать это соединение только для ресурсов в своей сети». Когда я хочу использовать USB-соединение другого телефона, я включаю соединение «Ethernet-Local», и кажется, что они сосуществуют в гармонии! Когда я использую M в качестве точки доступа, я переключаюсь обратно на обычное соединение, называемое «Ethernet-Web»,
это даже легко автоматизировать
нам понадобится скрипт, который запускается каждый раз, когда что-то меняется между соединениями, и он должен принадлежать пользователю root
sudo nano /etc/NetworkManager/dispatcher.d/90-kdecon
А вот что внутри скрипта
#!/bin/sh
ethweb=$(nmcli dev | grep "Ethernet-Web" | grep -w "connected")
usb=$(nmcli dev | grep "usb0" | grep -w "connected")
ethlocal=$(nmcli dev | grep "Ethernet-Local" | grep -w "connected")
if [ -n "$usb" ] && [ -n "$ethweb" ] ; then
nmcli c up Ethernet-Local
elif [ -z "$usb" ] && [ -n "$ethlocal" ] ; then
nmcli c up Ethernet-Web
fi
нужно сделать его исполняемым
sudo chmod +x /etc/NetworkManager/dispatcher.d/90-kdecon