J'ai installé Unified Remote aujourd'hui dans l'espoir de pouvoir l'utiliser avec mon adaptateur Bluetooth pour contrôler mon PC à l'aide de mon téléphone. Mais lorsque j'ai installé Unified Remote et chargé l'interface Web, j'ai eu cette erreur:
Bluetooth: Impossible de se connecter à SDP
Google n'a absolument rien d'utile à propos de cette erreur, c'est donc l'une de mes seules chances ici.
quelques sorties:
noneatme@noneatme-desktop:/etc/bluetooth$ Sudo sdptool browse local
Failed to connect to SDP server on FF:FF:FF:00:00:00: Connection refused
Ubuntu 16.04
noneatme@noneatme-desktop:/etc/bluetooth$ uname -a
Linux noneatme-desktop 4.4.0-22-generic #40-Ubuntu SMP Thu May 12 22:03:46 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
noneatme@noneatme-desktop:/etc/bluetooth$ /usr/lib/bluetooth/bluetoothd -C
D-Bus setup failed: Connection ":1.129" is not allowed to own the service "org.bluez" due to security policies in the configuration file
(it works with Sudo)
Démarrer Bluetooth avec l’argument --compat ne résoudra pas le problème.
Que puis-je faire?
/ edit: J'ai résolu ce problème en démarrant le serveur distant unifié en tant que Sudo. Est-ce vraiment la seule option que j'ai?
Vous devez exécuter le démon bluetooth en mode de compatibilité pour fournir des interfaces de ligne de commande obsolètes. Vous utilisez Bluez5 et vous avez besoin de fonctions Bluez4. Vous pouvez le faire en modifiant ce fichier
/etc/systemd/system/dbus-org.bluez.service
et changer cette ligne
ExecStart=/usr/lib/bluetooth/bluetoothd
to this
ExecStart=/usr/lib/bluetooth/bluetoothd --compat
puis en redémarrant bluetooth comme ça
Sudo systemctl daemon-reload
Sudo systemctl restart bluetooth
et vous devrez également modifier les autorisations sur /var/run/sdp
Sudo chmod 777 /var/run/sdp
et enfin redémarrer un serveur distant unifié
Une autre solution:
Éditez /etc/systemd/system/dbus-org.bluez.service:
ExecStart=/usr/lib/bluetooth/bluetoothd --compat
ExecStartPost=/bin/chmod 777 /var/run/sdp
Parce que les autorisations de/var/run/sdp semblent se réinitialiser à chaque redémarrage.
J'ai réussi à le faire fonctionner en créant un nouveau service systemd
.
Créez un fichier de configuration nommé /etc/systemd/system/urserver.service
avec le contenu de:
[Unit]
Description=Unified Remote Server
After=syslog.target network.target
[Service]
Environment="HOME=/opt/urserver"
Type=forking
PIDFile=/opt/urserver/.urserver/urserver.pid
ExecStartPre=/bin/chmod 777 /var/run/sdp
ExecStart=/opt/urserver/urserver-start --no-manager --no-notify
ExecStop=/opt/urserver/urserver-stop
RemainAfterExit=no
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=default.target
Définissez les autorisations sur le fichier:
Sudo chmod a+x /etc/systemd/system/urserver.service
Recharger le démon systemd
:
Sudo systemctl daemon-reload
Démarrer le service actuel:
Sudo systemctl start urserver
Vous devez désactiver "Démarrer automatiquement le serveur au démarrage du système d'exploitation". depuis les paramètres distants unifiés (interface Web), car systemd
lancera le service automatiquement. systemd
redémarre également le service s'il se bloque pour une raison quelconque.
Edited: Environment et PIDFile, grâce à Niklas
J'ai combiné les autres réponses pour que cela fonctionne et que cela persiste lors des redémarrages. Voici un guide étape par étape pour le faire fonctionner:
Décochez la case "Démarrer automatiquement le serveur au démarrage du système d'exploitation". dans l’interface graphique des paramètres de Unified Remote.
Arrêtez urserver. Vous pouvez le faire avec:
user@machine:~$ Sudo killall urserver
Suivant en tant que Leo Pedraza dit /etc/systemd/system/dbus-org.bluez.service et changez cette ligne
ExecStart=/usr/lib/bluetooth/bluetoothd
pour ça
ExecStart=/usr/lib/bluetooth/bluetoothd --compat
Ensuite, faites comme Esa Nikulainen et Niklas suggéré et créez un nouveau service systemd comme suit:
Créez un fichier de configuration nommé /etc/systemd/system/urserver.service avec le contenu de:
[Unit]
Description=Unified Remote Server
After=syslog.target network.target
[Service]
Environment="HOME=/opt/urserver"
Type=forking
PIDFile=/opt/urserver/.urserver/urserver.pid
ExecStartPre=/bin/chmod 777 /var/run/sdp
ExecStart=/opt/urserver/urserver-start --no-manager --no-notify
ExecStop=/opt/urserver/urserver-stop
RemainAfterExit=no
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=default.target
Recharger le démon systemd:
user@machine:~$ Sudo systemctl daemon-reload
Redémarrez Bluetooth comme ceci:
user@machine:~$ Sudo systemctl restart bluetooth
Démarrer le nouveau service:
user@machine:~$ Sudo systemctl start urserver
Activez le nouveau service pour qu’il s’exécute au démarrage:
user@machine:~$ Sudo systemctl enable urserver
MERCI Leo Pedraza , Esa Nikulainen , et Niklas pour avoir trouvé toutes les pièces!