Dan gave me a copy of Windows 7 to try out. Since I was having trouble with my installation of Windows XP, it didn’t take much to motivate me to try out the new, widely heralded Operating System from Microsoft.
Installation was easy and fast, just like I had heard. The UI is very responsive and looks nice (although I haven’t yet figured out how to make the window borders slightly thinner — advice would be welcome). The OS overall feels well-done and new, yet familiar enough that I don’t feel lost in a foreign world.
I set about installing a bunch of my most important apps — first Firefox, IrfanView, and Cygwin. This is when I ran into the first major problem that I have with Windows 7. In my previous version of XP, I had achieved what I considered the perfect blend of Windows and Linux functionality: cygwin running an ssh server that I accessed via PuTTY, just as I would access any remote server, such as nexus, attu, or frankenputen.
The coup de grace was the fact that I could launch Windows GUI programs from the ssh process — normally not achievable, but when the sshd service is allowed to “interact with the desktop”, then wonderful things such as KDiff3 working seamlessly with mercurial is possible on Windows. It was basically a perfect development setup for me.
I planned on setting up the same thing with Windows 7, and by following a tutorial about setting up the Cygwin SSHd service on Windows Server 2003, I was able to get almost all the way there. However, there is one key difference between XP and Windows 7: For security reasons, the System User is not allowed to setuid, which means that the Cygwin SSH server can not run as System anymore. There is an easy workaround for this — just set up a new privileged user, and run sshd under those credentials. However, it turns out that only the system user has an option to allow services to interact with the desktop.
This means that the perfect setup I had achieved earlier is effectively impossible on Windows 7. I’m pretty sure that this is an edge case that Microsoft has no plans on doing anything about in the near-term because it will affect almost no one. So the question then becomes, what does Windows 7 give me that Windows XP did not?
This machine has 4GB of RAM, but even if I can only access 3.5 under XP, that was good enough for everything I was doing. I think I’ll give Windows 7 another day, and unless I find a compelling reason to keep it, I’ll just do a fresh install of XP, which probably would have fixed the blank screen problem anyway.
At any rate, there are a few other things that I really like about Windows 7: The text box in the start menu is genius. It does exactly what it should, as far as I can tell. The UI really is pretty. The Wireless connection tools are much better than XP. It is a good OS, but I’m not sure it is so much better than XP that it will compell me to stick with it.
While writing this post, I remembered seeing something called PuttyCyg, which allows one to use putty as the front-end of Cygwin, which was the main thing I was trying to do anyway; this may be the solution to all of my problems.