Acontece que, como um primeiro comentador apontou, não posso usar $HOME (ou qualquer variável de ambiente) em um arquivo .desktop . Eu tenho que usar o caminho literal ou um comando mais elaborado. E tendo copiado o ícone para /usr/share/pixmaps/eclipse.xpm , basta escrever Icon=eclipse para criar um ícone. Portanto, meu eclipse.desktop é assim:
[Desktop Entry]
Name=Eclipse
Type=Application
Exec=/home/[my username]/opt/eclipse/eclipse
Comment=Launches eclipse IDE
Icon=eclipse
E isso funciona! Obrigado a todos que ajudaram.