Here is another solution:
We can write:
$$X=\{ g>1\}\cup(\bigcup\limits_{k=1}^{\infty}\left\{ 2^{-k}<g\leqslant2^{1-k}\right\})\cup \{g=0\}$$
Notice that the above sets are all disjoint.
Apply Egoroff's theorem to each of the sets:
$$\{ g>1\},\bigcup\limits_{k=1}^{\infty}\left\{ 2^{-k}<g\leqslant2^{1-k}\right\}$$
Then there exist $A\subset G=\{g>1\}$ ,and $A_k\subset G_k=\left\{ 2^{-k}<g\leqslant2^{1-k}\right\}, $ such that:
$$\mu (A)<\varepsilon/2 , \mu (A_k)<\varepsilon 4^{-k} $$ and $$f_n\longrightarrow f$$uniformly in $E^c=(G\setminus A)\cup(\bigcup\limits_{k=1}^{\infty}G_k\setminus A_k)\cup \{f_n=0,\forall n\}$, where the last set in the union is a superset of $\{g=0\}$.
Now, it suffices to prove that $\mu (E)<\varepsilon$.
Indeed, after some simple set calculations (using the fact that we decomposed X in disjoint sets) we can obtain that:
$$E=X\setminus\left\{(G\setminus A)\cup(\bigcup\limits_{k=1}^{\infty}G_k\setminus A_k)\cup \{f_n=0,\forall n\}\right\}\subset$$ $$(X\setminus(G\setminus A))\cap(X\setminus(\bigcup\limits_{k=1}^{\infty}G_k\setminus A_k))\cap (X\setminus\{g=0\})\subset$$
$$A\cup(\bigcup\limits_{k=1}^{\infty} A_k)$$
Therefore, $$\mu (E)\leqslant \mu (A\cup(\bigcup\limits_{k=1}^{\infty} A_k))\leqslant \mu(A)+\mu (\bigcup\limits_{k=1}^{\infty} A_k))<\varepsilon/2+\sum\limits_{k=1}^\infty \varepsilon4^{-k} =\varepsilon/2+\varepsilon/3 <\varepsilon$$