estimate the impulse response after equalization
Note that what you're trying to do is equalization, as opposed to channel estimation. If we ignore the noise for the moment then, ideally, the concatenation of the equalizer and the channel (modeled as a linear system) should be a pure delay:

$$(h\star w)[n]\stackrel{!}{=}\delta[n-K]\tag{1}$$

where $h[n]$ is the channel impulse response, $w[n]$ are the coefficients of the linear equalizer, and $K$ is some delay that depends on the system design. So by using the LMS algorithm to adapt a linear equalizer you do not directly estimate the channel coefficients $h[n]$. As far as I know there is no straightforward way to reliably estimate the channel weights directly from the equalizer weights.

Regarding your second question, the LMS algorithm doesn't require the source signal to be Gaussian.

A final comment on your code: with only $2$ filter taps you won't be able to sufficiently equalize the given channel. And I would recommend to use vectors in the coefficient update, so you can use different filter lengths without changing your code.