Resurrecting this one since I have experienced this issue and have a fix:
The init.d/gpm script is broken on lines 9 and 27.
Currently it reads:
if ps | awk '{print $3}' | grep -e "gpm" >/dev/null; then
This is incorrect, since the script is also called "gpm"! So it will find its own entry and abort.
Instead, the code should read:
if ps | awk '{print $3}' | grep -e "/usr/local/sbin/gpm" >/dev/null; then
This will ensure searching for current gpm processes identifies the actual gpm executable, not the init.d script. This is in keeping with the many explicit references to /usr/local/sbin/gpm in the rest of the script.
Otherwise, gpm will never actually be started. Spent a minute scratching my head over this one.
I am happy to submit this fix more formally - is posting in the forums the official method, or is there some place I can submit a pull request?
Thanks!