
Ich habe Unified Remote heute installiert, in der Hoffnung, dass ich es mit meinem Bluetooth-Adapter verwenden kann, um meinen PC über mein Telefon zu steuern. Aber als ich Unified Remote installierte und die Weboberfläche lud, erhielt ich diesen Fehler:
Bluetooth: Verbindung zum SDP konnte nicht hergestellt werden
Google hat zu diesem Fehler absolut nichts Hilfreiches zu bieten, daher ist dies eine meiner einzigen Chancen hier.
einige Ausgaben:
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)
Das Starten von Bluetoothd mit dem Argument --compat behebt das Problem nicht.
Was kann ich machen?
/edit: Ich habe dieses Problem behoben, indem ich den einheitlichen Remote-Server als sudo gestartet habe. Ist das wirklich die einzige Option, die ich habe?
Antwort1
Sie müssen den Bluetooth-Daemon im Kompatibilitätsmodus ausführen, um veraltete Befehlszeilenschnittstellen bereitzustellen. Sie verwenden Bluez5 und benötigen einige Bluez4-Funktionen. Sie können dies tun, indem Sie diese Datei bearbeiten
/etc/systemd/system/dbus-org.bluez.service
und diese Zeile ändern
ExecStart=/usr/lib/bluetooth/bluetoothd
dazu
ExecStart=/usr/lib/bluetooth/bluetoothd --compat
und dann Bluetooth so neu starten
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
und Sie müssen auch die Berechtigungen ändern für/var/run/sdp
sudo chmod 777 /var/run/sdp
und starten Sie schließlich den einheitlichen Remote-Server neu
Antwort2
Eine andere Lösung:
Bearbeiten Sie /etc/systemd/system/dbus-org.bluez.service:
ExecStart=/usr/lib/bluetooth/bluetoothd --compat
ExecStartPost=/bin/chmod 777 /var/run/sdp
Weil die Berechtigungen von /var/run/sdp bei jedem Neustart zurückgesetzt zu werden scheinen.
Antwort3
Ich habe es geschafft, es zum Laufen zu bringen, indem ich einen neuen systemd
Dienst erstellt habe.
Erstellen Sie eine Konfigurationsdatei
/etc/systemd/system/urserver.service
mit dem Namen und dem folgenden Inhalt:[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
Legen Sie die Berechtigungen für die Datei fest:
sudo chmod a+x /etc/systemd/system/urserver.service
Daemon neu laden
systemd
:sudo systemctl daemon-reload
Starten Sie den eigentlichen Dienst:
sudo systemctl start urserver
Sie sollten „Server automatisch starten, wenn das Betriebssystem hochfährt“ in den Unified Remote-Einstellungen (Weboberfläche) deaktivieren, weil systemd
der Dienst dann automatisch gestartet wird. systemd
Außerdem wird der Dienst neu gestartet, wenn er aus irgendeinem Grund abstürzt.
Bearbeitet: Umgebung und PID-Datei, danke an Niklas
Antwort4
Ich habe die anderen Antworten kombiniert, um dies zum Laufen zu bringen und dafür zu sorgen, dass es auch nach Neustarts bestehen bleibt. Hier ist eine Schritt-für-Schritt-Anleitung, um es zum Laufen zu bringen:
Deaktivieren Sie das Kontrollkästchen „Server automatisch starten, wenn das Betriebssystem hochfährt“ in der GUI der Unified Remote-Einstellungen.
Stoppen Sie den Server. Dies können Sie tun mit:
user@machine:~$ sudo killall urserver
Weiter alsLeo Pedrazasagte, bearbeiten Sie /etc/systemd/system/dbus-org.bluez.service und ändern Sie diese Zeile
ExecStart=/usr/lib/bluetooth/bluetoothd
dazu
ExecStart=/usr/lib/bluetooth/bluetoothd --compat
Dann machen Sie wieEsa NikulainenUndNiklasvorgeschlagen und erstellen Sie einen neuen systemd-Dienst wie folgt:
Erstellen Sie eine Konfigurationsdatei namens /etc/systemd/system/urserver.service mit folgendem Inhalt:
[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
Systemd-Daemon neu laden:
user@machine:~$ sudo systemctl daemon-reload
Starten Sie Bluetooth wie folgt neu:
user@machine:~$ sudo systemctl restart bluetooth
Starten Sie den neuen Dienst:
user@machine:~$ sudo systemctl start urserver
Aktivieren Sie den neuen Dienst, sodass er beim Start ausgeführt wird:
user@machine:~$ sudo systemctl enable urserver
DANKELeo Pedraza,Esa Nikulainen, UndNiklasfür das Herausfinden aller Teile!