Have you tried opening a text session with Ctrl+Alt+F1 when the problem occurs? If it works, you could log into it and execute the following command to restart the graphical session:
$ sudo restart lightdm
I assume here you use the default display manager. If you use another (e.g., GDM) then replace "lightdm" accordingly.