Linux TTYs is how I do it. If you press Ctrl+Alt+2, you can open a new terminal and run a new graphical interface. If you use a tiling Window Manager, you can have different "desktops" for every project. By switching you TTY, you move to that work environment where you have left your editor, tabs open, database editor, servers, etc...
It gets you in the zone almost instantly.