Tengo una estación de trabajo de escritorio que ejecuta Linux (Debian Sid, si corresponde). No tiene GPS ni otros medios específicos para obtener su propia ubicación geográfica (Gnome Maps lo sitúa correctamente en Roma, Italia, con un error de unos 11,5 Mi!).
¿Hay alguna manera de saber dónde está colocado?
He vistoesta pregunta, pero se ocupa únicamente de aplicaciones basadas en navegador. Me gustaría anular el posicionamiento predeterminado (es decir, lo mismo que usó Gnome Maps para obtener sus datos aproximados).
Respuesta1
Linux no tiene una API de posición geográfica "estándar": algunos programas obtienen datos resumidos degeopista(parte de GNOME), mientras que otros hablan con dispositivos GPS/GNSS/Wi-Fi por su cuenta (duplicando lo que hace geoclue).
GNOME Maps siempre obtiene su posición del demonio Geoclue. Al carecer de GPS, Geoclue obtiene su ubicación aproximada basándose en 1) su dirección IP y 2) sus redes Wi-Fi cercanas (que envía al servicio de ubicación de Mozilla, pero puede usar el de Google si se proporciona una clave API). Como tampoco tienes Wi-Fi, todo depende de donde la base de datos de geolocalización de IP crea que estás.
Actualmente geopistano esTiene un parámetro para establecer una ubicación fija. Las opciones restantes son:
- Hackea el código fuente de Geoclue para devolver siempre una respuesta fija.
- Reemplace el demonio Geoclue por uno personalizado (escrito en Python o cualquier otro lenguaje que tenga enlaces API D-Bus decentes) y haga que siempre devuelva una respuesta fija.
- Haga que Geoclue piense que hay un dispositivo GPS conectado, instalando elGPSdemonio y usando el incluidogpsfalsoherramienta (ver más abajo).
Cambie la URL del servicio de ubicación de Mozilla en Geoclue para que apunte a un servicio web personalizado que siempre devuelva una respuesta fija.(Esto se mencionó en el hilo de Bugzilla, pero como no tienes ningún hardware Wi-Fi, no creo que Geoclue se moleste en preguntarle a la MLS en primer lugar...)- Agregue un adaptador Wi-Fi para que Geoclue pueda buscar redes cercanas y asignarlas a su ubicación a través del Servicio de ubicación de Mozilla (esto también necesita NetworkManager).
Para programas que no usan Geoclue pero tienen soporte GPS hablando directamente conGPS(como Firefox), puedes usargpsfalsopara que parezca que siempre hay un sensor GPS conectado. Sin embargo, no tiene opciones simples para especificar las coordenadas: deberá proporcionarle la salida capturada de un dispositivo GPS real, posiblemente editada a mano para tener las coordenadas correctas.