2025-05-28 18:33:04 +02:00

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"