MS Windows - Taming the Beast

The tyranny of UI ... 87% of desktop/laptop users.


See: Python#PythonOnWindows

See: PythonTwisted, PythonTwistdServer

Python And Windows File Paths

The trick is to enter all of your filename strings using forward slashes, and then let os.path.normpath() change them to backslashes for you, this way.

myDirname = os.path.normpath("c:/aDirname/")

It takes a bit of practice to get into the habit of specifying filenames this way, but you’ll find that you adapt to it surprisingly easily, and you’ll find it a lot easier than struggling with The Wolf.

New in Python version 3.4.

The pathlib module offers classes representing filesystem paths with semantics appropriate for different operating systems.

Path classes are divided between pure paths, which provide purely computational operations without I/O, and concrete paths, which inherit from pure paths but also provide I/O operations.

However, for cross-platform compatibility, you should probably use os.path.join. I think that Python on Windows will automatically handle forward slashes (/) properly, too ...

Just using forward slashes will work under windows - os.path.join() is obviously the strongest solution.

Twisted On Windows

Not sure about specific PythonTwisted server on Microsoft platforms. File-like sockets are an issue. Permissions are a even bigger issue ... #Permissions

Need to workmore with PythonTwisted for starters ... then the 'Big If' PythonTwistdServer#TwistdConch.

Installing Twisted On Windows

Used to problematic ( if not an outright problem ), but now is primary source of top quality servers on Windows.

Install Python 2.7 from msi, Twisted from .msi, pywin32 from .msi, and run for fun ...

Note the reference to PythonWindows#PyWin32.

Twistd FTP On Windows

Start Twistd FTP ...

twistd -n ftp -p 2121 -r C:\_data

... voila !

Still nagging issues of authentication. Potentially, can use as start-on-demand server with anonymous user.

Twistd Conch On Windows

Will Twisted SSH server run on Windows in a safe and sane way ? The 'twistd conch help' says:

... the default authentication methods are UNIX passwords, SSH public keys, and PAM if it is available ...

How does that translate ?

XAMPP for Windows

The old standard, actually easier to install and get running than Linux ... not as secure, obviously.

XAMPP is a completely free, easy to install Apache distribution containing MySQL, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use.

Includes: Apache 2.4.10, MySQL 5.6.21, PHP 5.5.19, phpMyAdmin 4.2.11, OpenSSL 1.0.1, XAMPP Control Panel 3.2.1, Webalizer 2.23-04, Mercury Mail Transport System 4.63, FileZilla FTP Server 0.9.41, Tomcat 7.0.56 (with mod_proxy_ajp as connector), Strawberry Perl 7.0.56 Portable



It works and has good stuff but can I really depend on it ? What do I really need it for ? Cool but too much configuration ?

On the other hand ... it does provide something like a Linux-lie user dimension to Windows that doesn't really exist otherwise ( or maybe better to say kinda sorta but not really ). It's a major piece of functionality but it also can be a major piece of enhanced security as well ...

On the third hand ... I don't know. For all practical purposes, it's almost as if there are two distinct types of Windows systems - with or without Cygwin.

To Cygin or not to Cygwin, that is the question ! But maybe I'm over-dramatizing it :-)

SSH for Windows

There may be an important conclusion about Windows SSH servers here. Don't do it.

See - Security#IsSSHEvil

It is probably better to use invoke-by-message queuing backplates instead of SSH. Even XMLRPC is better from a security standpoint, and maybe much better from a development standpoint. In a pinch, use the somewhat limited capabilities of Twisted Conch if necessary.

Apart from SSH-specific issues, there is an overall issue of responsibility, that is Who is responsible for what on this machine ?.

See Architecture#UserPermissionsAsAnArchitecturalElement

Cywin SSH

SSH Access to Windows 7 Using Cygwin All inside of Cygwin
Installing an SSH server on Windows 2000 / XP
OpenSSH SSHD server on Windows using Cygwin

There's still some hope here. It locks the user into the Cygwin the directory, which is good. Start a server on the public port and you're off and running ... on the other hand, that creates an absolutely requirement for Cygwin, which can be a fairly large hurdle.

Do I really understand this thing well enough to guarantee that permissions on the public port won't break loose somehow ?


OpenSSH Getting a bit old and funky. Included in Cygwin
Install and configure OpenSSH on Windows


How to create a Windows SSH server Plug for freessh
freeSSHd and freeFTPd Definitely looks old and funky



Home Edition: Free

Full SSH server and Unix utilities
Remote shell commands
Secure file transfer (SFTP)
Start as a Windows service
X11-forwarding enabled
Users selection
Installation Uninstallation support
Advanced options for the SSH service




Xming is the leading X Window System Server ...

From the download page:

Authorization Required

This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required.


MinGW, a contraction of "Minimalist GNU for Windows", is a minimalist development environment for native Microsoft Windows applications.

... If you want POSIX application deployment on this platform, please consider Cygwin instead.

From Wikipedia on POSIX:

POSIX for Windows

Cygwin provides a largely POSIX-compliant development and run-time environment for Microsoft Windows.

MinGW, formerly a fork of Cygwin, provides a less POSIX-compliant development environment and supports compatible C-programmed applications via Msvcrt, Microsoft's old Visual C runtime library.

Microsoft POSIX subsystem, an optional Windows subsystem included in Windows NT-based operating systems up to Windows 2000. POSIX-1 as it stood in 1990 revision, without threads or sockets.

Sounds better than actually is. Infrequent releases, unadvertised hurdles, hidden dependencies, etc. MSys 'bash' shell exists more in theory than practice.

GTK Applications

Geany, Gedit. Etc.

See wiki:/Notes/GTKApps

wxWidget Applications

There are a couple of good ones.




Other Applications

Node JS

See wiki:/Notes/NodeJS


Couch DB

Dependencies: None - the installer includes erlang, openssl, ICU, spidermonkey and everything else you need including Microsoft Visual C++ runtimes.

Seems to work well ...

Windows 10

First Impression: Believe it or not, supposedly it's real and it runs on the RaspberryPi !

Later Impression: Not ! It's not Windows 10, it's Windows 10 IoT Core, a specially developed developer's version for device hacking. Effectively no desktop.

Latest Impression: Not, as in no. Basically, a deployment option for Win10 IOT applications, if you're into it. Otherwise ...

There's some good news though ...

... This means full support for the standard UWP languages like C++, C#, JS and VB, but it also means bringing support – including full tools, debugging, and project systems – for Node.js and Python. The project templates for the standard UWP languages create projects that look like standard UWP projects, but for Node.js and Python we’ve worked hard to make these apps look and feel just like they do on other platforms ...

You should be grateful for whatever you get ;-)

Learn how to set up the Raspberry Pi 2 and connect it to your computer.

During its first year of availability, upgrades to Windows 10 will be offered at no charge for consumer users of Windows 7 and Windows 8.1.

Windows 10 is expected to be released in late 2015

On February 2, 2015, Microsoft announced that it would provide a free ARM port of Windows 10 for Raspberry Pi 2 devices ...

How about a better idea ? Run Linux#Raspbian on the RPi and extend Windows functionality via integrated Linux services ... sounds better to me.

See LinuxServers#RaspberryPi

Windows Issues

XForwarding on Windows

Xforwarding Linux->Windows is often flukey and funky.

Using X Forwarding on Windows
SSH and X-forwarding on Windows


What do you do ? It's just not the same as Linux.

Need to develop this one


KDE On Windows

Last release May 2013, but there's still hope ... OSOL projects may dribble along for years, but they never entirely go away either.


A vision ? A dream ? Just another marketing buzz word ? Or what ?

Also See

Last modified 17 months ago Last modified on 12/14/2015 12:20:50 PM