Things under legendu
It is suggested that you use 32 bit Cygwin as it has a better package support.
Some tools (e.g., terminator) are not included in the regular release of Cygwin, but can be installed using Cygwin Ports.
Configuration files for many applications (e.g., bash and Vim) in Linux can be migrated to Cygwin directly and work out of the box.
You might get an error about “... unexpected token ...” if you edit your bash script in Windows and try to run it under Cygwin. You can fix the problem by convert DOS text file format to Unix/Linux text file format using the command
dos2unix. You can do the opposite using the commandunix2dos.If you are running Cygwin behind a (corpate) firewall, you have to choose “use http proxy” when you install packages.
To install new packages, run the Cygwin installer again and select new packages that you want to install. Installed packages will be kept by default. There’s a script
apt-cygwitten by Stephen Jungels which gives users similar experience toapt-getandaptin Debian/Ubuntu.You can use
keychainto manager your SSH public key in Cygwin.Sometimes Cygwin fails to download and install new packages (even there is no problem with the network and proxy). Restalling it can often solve the problem in this situation.
Use gawk instead if awk does not work in Cygwin.
It is best to put your configurations files in the $HOME/archives. And link to the home directory in Cygwin. Do not put data directly in Cygwin, because it makes things not portable.
The
renameutility on Cygwin/MobaXterm has very limited functionality. It mimics therenamecommand on older version (2.6) of Linux. The new version ofrename(on latest version of Linux) is not compatible with the older version one (on Cygwin/MobaXterm).By default, the
PATHenvironment variable in Cygwin contains some Windows executable paths before Cygwin executable paths. This shelter some Linux commands from being used directly. For example, Windows has afindcommand which might shelter the Linuxfindcommand. If this is case, you can either use the full path to the Linuxfindcommand, or you can put it into a Cygwin executable path before Windows executable paths. Sometimes, this causes seriously problems. For example, if you install R and its executables into the PATH environemtn variable, its executables shelter Cygwin’s and make it not work well. It is suggested that you manually prepend PATH in the.bashrcfile in Cygwin.
Recommended Packages¶
Compiler Related¶
make, cmake
Python Related¶
python-dateutil (via Cygwin Ports), python-pip (manually)
pip install python-dateutilpython-setuptools (contains easy_install)
However, notice that if you have Python (e.g., Anaconda Python) installed on Windows, it might confuse yourself about which one you are using ... Avoid installing Python on Windows if you have it installed in Cygwin or at least be careful about the path ...
it seems to me that the best way to install Python packages on Cygwin is to use Python directly,
python setup.py --install package_namePackages that Fail to Work¶
FuzzyWuzzy
NLTK
NumPy
Git Related¶
git
git-completion (required for Git to auto complete in Cygwin)
Editor¶
Vim
Text Manipulation Tools¶
colordiff
Available Tools Installed by Default¶
cd, ls, cp, mv, chmod, chown, ln
du, df
grep, sed, awk
Availabe Tools not Installed by Default¶
terminator (available via Cygwin Ports)
shutdown, halt, reboot (availabe via the
shutdownpackage)openssh-client, scp, rsync, keychain (keyring for ssh)
wget (better supported in 32 bit version of Cygwin until 1.7.35), curl, unison, w3m
gcc, git
screen (no help doc available, which is odd)
Vim
pdftk (only available on 32 bit as of Mar 6, 2015)
tmux
convert (in the ImageMagic package)
rename (available via the util-linux package, not as powerful as rename in linux but OK for simple batch rename)
clear (available via the ncurses package)
TexMacs
Texlive
dos2unix, unix2dos
Missing Tools¶
openssh-server
dvipng
netstat (use X-NetStat as an alternative)
pandoc, wkhtmltopdf, pdfgrep