¿Cómo configurar el ícono del escritorio de mi aplicación para Linux: KDE, Gnome, etc.?

Tengo un programa multiplataforma que se ejecuta en Windows, Linux y Macintosh. Mi versión de Windows tiene un icono, pero no sé cómo hacer que tenga uno para mi compilación de Linux. ¿Hay un formato estándar para KDE, Gnome, etc. o tendré que hacer algo especial para cada uno?

Mi aplicación está en c ++ y se distribuye como fuente para que el usuario final la compile con gcc.

Si puedo tener el icono incrustado directamente dentro de mi binario exe, sería el mejor.

Respuestas a la pregunta(3)

Su respuesta a la pregunta