You can't use SFML to draw stuff (using the graphics module) to your window without letting SFML take ownership of the window in question. If you don't mind letting SFML take over the window, there is an example that shows you how to do this
here.
That was the simple solution. The more "involved" solution involving the RenderTexture should only be chosen if you can't or don't want to let SFML take control of the window.
Like zsbzsb said, you need to watch your OpenGL states, and also which context is currently active. Any time you draw something to an SFML RenderTarget, it will activate that target's context so you don't need to worry about that. What the drawing doesn't do, is reactivate your own (window's) GLX context. If you try to do any OpenGL stuff after drawing to the RenderTexture, the operations will still affect the RenderTexture and not your window. pushGLStates() and popGLStates() are only useful if you are working with OpenGL within the same context in which you use SFML's draw methods. If you have completely independent contexts as in your case, then pushing/popping doesn't do anything useful.
Now... what you also must not forget is that if you do just try to grab and bind the texture to draw in your own context, it won't work. You will end up binding the texture which only exists in SFML's context and not yours. From your context's perspective nothing is bound, since the bind didn't happen in it. This will end up being really slow, since the only way of transferring the texture data from SFML's context to your context would be via a CPU round trip.
The problem lies in the fact that SFML doesn't let you share its contexts with your application, even if you let it take ownership of the window. In the case you do let SFML take over the window, it would still create its own context for drawing to it.
So, long story short, let SFML construct a RenderWindow from your window, and it will work great. Don't do it, and it can work, albeit really slowly.