Most of my development happens on a Linux-powered web server!
I have http://staticresource.com as a server running Ubuntu, and it's a special kind of server called a 'KVM' server, which means my server runs as a VM and I'm able to connect to the server hosting it via VNC (screen sharing) and watch it reboot :D I can also screen share with it and use it as a Linux desktop any time I need to test something in Linux or use linux-specific software, but for the majority of the time I'm just using it to serve websites.
I usually log in to that server via SSH so I can edit the projects I'm working on from any device I have to work on, and I'm able to preview the files I'm working on live online (on any/many devices) instantly. This has been a lot better for testing websites on different mobile devices, as well as being able to test sites I'm working on using online validation and testing tools than trying to work from localhost.
The other place I end up writing code is right on the device I'm working on. Usually just a throwaway test, technique, or a bit of code I'm preparing that later gets added to something else I'm working on!
So far: