O arquivo .desktop é a chave aqui porque não apenas configura como um aplicativo é aberto a partir do iniciador Unity (veja Unity Launchers E arquivos da área de trabalho ), mas também como ele é usado para abrir um arquivo específico quando chamado pelo gerenciador de arquivos, etc.
Para que o último funcione corretamente, o arquivo .desktop precisa especificar como passar argumentos para o comando que está sendo chamado. Isso é feito usando códigos de campo na linha Exec , que será substituída por valores reais quando o comando for chamado.
No seu caso, o arquivo .desktop original não especificou como informar ao Firefox qual URL abrir, então o Firefox foi chamado sem argumentos e aberto na sua home page padrão.
O código de campo para inserir o URL na linha de comando é %u , portanto, adicioná-lo como um argumento ao comando firefox na linha Exec do arquivo .desktop resolve o problema. Por exemplo, o arquivo padrão firefox.desktop usa a linha:
Exec=firefox %u
Para referência, o arquivo padrão pode ser encontrado em /usr/share/applications/firefox.desktop se você tiver instalado a partir de um pacote; é gerado por firefox.desktop.in como encontrado no repositório do firefox no Launchpad.
Para mais informações sobre códigos de campo Exec em .desktop files, a especificação está disponível no site freedesktop.org .