Linux: definir manualmente a posição geográfica

Linux: definir manualmente a posição geográfica

Eu tenho uma estação de trabalho desktop rodando Linux (Debian Sid, se relevante). Não possui GPS ou outro meio específico para obter sua própria localização geográfica (o Gnome Maps o coloca corretamente em Roma, Itália, com um erro de cerca de 11,5 Mi!).

Existe alguma maneira de dizer onde ele está colocado?

eu tenho vistoessa questão, mas trata apenas de aplicativos baseados em navegador. Eu gostaria de substituir o posicionamento padrão (ou seja: a mesma coisa que o Gnome Maps usou para obter dados aproximados).

Responder1

O Linux não possui uma API de posição geográfica “padrão” – alguns programas obtêm dados resumidos degeoclua(parte do GNOME), enquanto outros conversam com dispositivos GPS/GNSS/Wi-Fi por conta própria (duplicando o que o geoclue faz).

O GNOME Maps sempre obtém sua posição do daemon Geoclue. Na falta de GPS, o Geoclue obtém sua localização aproximada com base em 1) seu endereço IP e 2) suas redes Wi-Fi próximas (que ele envia ao serviço de localização da Mozilla, mas pode usar o do Google se uma chave de API for fornecida). Como você também não tem Wi-Fi, tudo depende de onde o banco de dados de geolocalização IP pensa que você está.

Atualmente Geocluenãotem um parâmetro para definir um local fixo. Suas opções restantes são:

  • Hackeie o código-fonte do Geoclue para sempre retornar uma resposta fixa.
  • Substitua o próprio daemon Geoclue por um personalizado (escrito em Python ou qualquer outra linguagem que tenha ligações de API D-Bus decentes) e faça com que ele sempre retorne uma resposta fixa.
  • Faça com que o Geoclue pense que existe um dispositivo GPS conectado, instalando ogpsddaemon e usando o incluídogps falsoferramenta (veja abaixo).
  • Altere a URL do serviço de localização Mozilla no Geoclue para apontar para um serviço web personalizado que sempre retorna uma resposta fixa.(Isso foi mencionado no tópico do Bugzilla, mas como você não tem nenhum hardware Wi-Fi, não acho que o Geoclue se preocupará em perguntar ao MLS em primeiro lugar...)
  • Adicione um adaptador Wi-Fi para que o Geoclue possa procurar redes próximas e mapeá-las para sua localização através do Mozilla Location Service (isso também precisa do NetworkManager).

Para programas que não utilizam o Geoclue mas possuem suporte GPS conversando diretamente comgpsd(como o Firefox), você pode usargps falsopara fingir que sempre há um sensor GPS conectado. No entanto, ele não possui opções simples para especificar as coordenadas – você precisará fornecer a saída capturada de um dispositivo GPS real, possivelmente editado manualmente para ter as coordenadas corretas.

informação relacionada