My attempt is by using the contrapositive in each direction:
($\Rightarrow$) Suppose that $g_1x=g_2x$ for some $x\in X$ and some $g_1,g_2\in G$ such that $g_1 \neq g_2$. This means that $g_2^{-1}g_2x=x$ and so $g_2^{-1}\neq e$ is an element that fixes $x$. Thus $G$ doesn't act faithfully on X.
($\Leftarrow$) Suppose that G doesn't act faithfully on X, then $\exists g_1,g_2 \in G$ such that $g_1x=x=g_2x$ for some $x\in X$. Thus $g_1x=g_2x$ and so two distinct elements of $G$ have the same action on an element of $X$.
Is my proof correct?
Given the level of the proof, you should probably be using all the axioms. Namely, we say $G$ acts on $X$ if there is a multiplication map $G\times X\to X$, $(g,x)\mapsto g.x$ satisfying
(i) $e.x=x$ for all $x\in X$, and
(ii) $g_1.(g_2.x)=(g_1g_2).x$ for all $g_1,g_2\in G$ and $x\in X$.
Now, for ($\Rightarrow$) I believe you mean to say \begin{align*} g_1.x&=g_2.x\\ g_2^{-1}.(g_1.x)&=g_2^{-1}.(g_2.x)\\ (g_2^{-1}g_1).x&=(g_2^{-1}g_2).x&\mbox{by (ii)}\\ (g_2^{-1}g_1).x&=e.x\\ (g_2^{-1}g_1).x&=x&\mbox{by (i)} \end{align*} Therefore, the action is not faithful.
For ($\Leftarrow$), you need to find two explicit elements that act the same way on $X$. You cannot just assert there exists two elements that act trivially on $X$ (which two?).
However, notice that if the action is not faithful, then there exists $g\in G$ with $g\neq e$ such that $g.x=x$ for all $x\in X$. Therefore, by (i), both $g$ and $e$ act the same way on all elements of $X$.