Lazarus (Lazarus.freepascal.org) has an own CHM viewer for *nix that is instrumented over a IPC class. (the IPC is abstracted, and exact IPC means used might vary with OS)
I assume it wouldn't be too hard to instrument this. The html widget in the viewer is quite basic though.
An CHM compiler is also included (chmcmd) in the Lazarus/Free Pascal distribution.