In this paper, we propose a practical adaptive coding modulation scheme to approach the capacity of free-space optical (FSO) channels with intensity modulation/direct detection based on probabilistic shaping. The encoder efficiently adapts the transmission rate to the signal-to-noise ratio, accounting for the fading induced by the atmospheric turbulence. The transponder can support an arbitrarily large number of transmission modes using a low complexity channel encoder with a small set of supported rates. Hence, it can provide a solution for FSO backhauling in terrestrial and satellite communication systems to achieve higher spectral efficiency. We propose two algorithms to determine the capacity and capacity-achieving distribution of the scheme with unipolar M-ary pulse amplitude modulation (M-PAM) signaling. Then, the signal constellation is probabilistically shaped according to the optimal distribution, and the shaped signal is channel encoded by an efficient binary forward error correction scheme. Extensive numerical results and simulations are provided to evaluate the performance. The proposed scheme yields a rate close to the tightest lower bound on the capacity of FSO channels. For instance, the coded modulator operates within 0:2 dB from the M-PAM capacity, and it outperforms uniform signaling with more than 1:7 dB, at a transmission rate of 3 bits per channel use.