Executar:
avahi-resolve -a <IP> | cut -f 2
Isto irá retornar uma lista de nomes de host (um por linha) registrados no mDNS para o endereço IP que você passou. Se você passar em seu próprio IP local, ele retornará o que você registrou. Em circunstâncias normais, ele deve retornar exatamente uma linha com seu nome de host local (ou qualquer nome de host incremental se houver colisões).
Se você remover o comando cut
no final, poderá simplesmente analisar as próprias linhas em seu próprio código dividindo o primeiro caractere de tabulação e tomando a segunda parte de cada linha.
Além disso, pode ser alguma chamada que você possa fazer no DBus para obter essa informação, mas se houver, eu não encontrei nenhuma informação sobre isso.