54 lines
1.4 KiB
Bash
Executable File
54 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# 1) Obtener client_path
|
|
client_path=$(
|
|
gdbus call --system \
|
|
--dest org.freedesktop.GeoClue2 \
|
|
--object-path /org/freedesktop/GeoClue2/Manager \
|
|
--method org.freedesktop.GeoClue2.Manager.GetClient |
|
|
cut -d "'" -f2
|
|
)
|
|
|
|
echo "Cliente asignado a: $client_path"
|
|
|
|
# 2) Asignar DesktopId y precisión
|
|
gdbus call --system \
|
|
--dest org.freedesktop.GeoClue2 \
|
|
--object-path "$client_path" \
|
|
--method org.freedesktop.DBus.Properties.Set \
|
|
org.freedesktop.GeoClue2.Client DesktopId "<'location-tester.desktop'>"
|
|
|
|
gdbus call --system \
|
|
--dest org.freedesktop.GeoClue2 \
|
|
--object-path "$client_path" \
|
|
--method org.freedesktop.DBus.Properties.Set \
|
|
org.freedesktop.GeoClue2.Client RequestedAccuracyLevel "<3>"
|
|
|
|
# 3) Iniciar el cliente
|
|
gdbus call --system \
|
|
--dest org.freedesktop.GeoClue2 \
|
|
--object-path "$client_path" \
|
|
--method org.freedesktop.GeoClue2.Client.Start
|
|
|
|
# 4) Espera ubicación
|
|
sleep 2
|
|
|
|
# 5) Obtener ruta de Location
|
|
location_path=$(
|
|
gdbus call --system \
|
|
--dest org.freedesktop.GeoClue2 \
|
|
--object-path "$client_path" \
|
|
--method org.freedesktop.DBus.Properties.Get \
|
|
org.freedesktop.GeoClue2.Client Location |
|
|
grep -o '/org/freedesktop/GeoClue2/Location/[0-9]*'
|
|
)
|
|
|
|
echo "Location path: $location_path"
|
|
|
|
# 6) Mostrar propiedades (Latitude, Longitude, etc.)
|
|
gdbus introspect --system \
|
|
--dest org.freedesktop.GeoClue2 \
|
|
--object-path "$location_path"
|
|
|