|
|
(8 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| Cygwin provides a unix-like environment to run processes under windows by emulating unix syscalls.<br> | | Cygwin provides a unix-like environment to run processes under windows by translating unix syscalls.<br> |
| It has no CLI package manager, but the installer can be scripted to install packages. | | It has no CLI package manager, but the installer can be scripted to install packages. |
|
| |
|
Line 8: |
Line 8: |
| |- | | |- |
| | [[cygwin package management]] | | | [[cygwin package management]] |
| | |- |
| | | [[cygwin configuration]] |
| |- | | |- |
| | [[cygwin programs]] | | | [[cygwin programs]] |
Line 15: |
Line 17: |
| |} | | |} |
| </blockquote><!-- Notes --> | | </blockquote><!-- Notes --> |
|
| |
| = Install =
| |
| <blockquote>
| |
| '''chocolatey installs cygwin to C:\programdata\chocolatey\cygwin\tools\cygwin'''
| |
|
| |
| Cygwin is built to be able to be run in a portable way. You install, update, and get new packages by
| |
| re-running the cygwin installer.
| |
|
| |
| Always install the 32 bit version of cygwin, unless you absolutely need it to be 64bit. It is much
| |
| more supported. Cygwin doesn't seem to require any registry keys to be set, the only things that
| |
| affect it's portability are some environment variables.
| |
|
| |
| '''NOTE''' If you are using my package-setup script, always run it with a normal
| |
| cygwin http-repo as a source, reboot, then run with the private key for a cygports repo.
| |
| If you fail to do this, and run the cygports repo first, you may end up with corrupted packages.
| |
| </blockquote><!-- Install -->
| |
|
| |
| = Package Management =
| |
| <blockquote>
| |
| {| class="wikitable"
| |
| !colspan=3| Best Sources
| |
| |-
| |
| | http://lug.mtu.edu || || standard cygwin packages
| |
| |-
| |
| | http://mirrors.kernel.org/sources.redhat.com/cygwinports/ || || precompiled cygports (https://sourceware.org/cygwinports/)
| |
| |}
| |
|
| |
| <syntaxhighlight lang="bash">
| |
| ## Start Cygwin with GPG key for cygports
| |
| /path/to/setup-x86.exe -K http://cygwinports.org/ports.gpg
| |
| </syntaxhighlight>
| |
|
| |
|
| |
| ''' CYGPORTS CONTAINS DWM, MPD, NCMPC, PYSIDE '''<br>
| |
| Cygwin doesn't have a traditional package manager. There are a few terminal programs you
| |
| can use to emulate apt-get, but since on Windows files cannot be deleted or overwritten while they
| |
| are running it is best to quit cygwin, and install programs using the installer.
| |
|
| |
| Because of cygwin's limited options in the default repo, I find myself compiling packages myself
| |
| quite a lot. I created a git repo for compiled (and attempts at compiling) programs for quick (manual)
| |
| installations on new machines.
| |
|
| |
| There is also a system loosely based on Gentoo's portage to assist in compilation. It is called cygports,
| |
| and can be installed from the main package manager.
| |
|
| |
| <br>
| |
| <br>
| |
|
| |
| </blockquote><!-- Package Management -->
| |
|
| |
| = Common Problems =
| |
| <blockquote>
| |
| == rebase ==
| |
| <blockquote>
| |
| Almost all issues related to cygwin can be resolved by rebasing. You can do it
| |
| the quick/dirty way:
| |
|
| |
| <syntaxhighlight lang="bash">
| |
| C:/cygwin/bin/dash.exe
| |
| /bin/rebaseall
| |
|
| |
| </syntaxhighlight>
| |
|
| |
| Or the full proper way:
| |
| <syntaxhighlight lang="bash">
| |
|
| |
| - Open Task Manager and close any processes that look to be Cygwin related.
| |
| - Open C:\Cygwin\bin in Windows Explorer
| |
| - Verify that dash.exe, ash.exe, rebase.exe, and rebaseall exist in this folder
| |
| - If any of them are missing, re-run Cygwin setup and select the dash, ash, and rebase packages
| |
|
| |
| - right-click your C:\Cygwin folder, uncheck Read-only (if its checked), and press OK.
| |
| - When an error about not being able to switch some files comes up, select "Ignore All". Wait for this process to complete.
| |
|
| |
| - Browse to C:\Cygwin\bin in Windows Explorer
| |
| - Right click dash.exe and click "Run as Administrator". A command Prompt should appear with nothing but a $
| |
| - Type /usr/bin/rebaseall -v, hit enter, and wait for the process to complete.
| |
| - If you get errors about Cygwin processes running, try Step 1 again. If that still doesn't work, Restart your computer into safe mode and try these steps again.
| |
| - A commenter noted that, depending on your settings, you may have to type cd /usr/bin && ./rebaseall -v instead.
| |
| - Try opening Cygwin again.
| |
| </syntaxhighlight>
| |
|
| |
| {| class="wikinotes"
| |
| |-
| |
| | http://stackoverflow.com/questions/9300722/cygwin-error-bash-fork-retry-resource-temporarily-unavailable
| |
| |-
| |
| | http://cygwin.wikia.com/wiki/Rebaseall
| |
| |}
| |
|
| |
|
| |
| </blockquote><!-- rebaseall -->
| |
|
| |
| </blockquote><!-- Common Problems -->
| |
|
| |
| = Programs =
| |
| <blockquote>
| |
| Cygwin does not by default include a CLI package manager. Instead, you run cygwin.exe with the flag
| |
| 'config', which updates your existing cygwin (labeled as installation, but only checks for missing/out
| |
| of date files). I have included the option of running 'CygwinPers.bat --config'. There are package
| |
| managers available for cygwin, such as apt-cyg, but they're pretty awful. It is much better to just
| |
| use the default installer.
| |
|
| |
| Base Packages:
| |
| <syntaxhighlight lang="bash">
| |
| ## Cygwin Packages
| |
| bc
| |
| offlineimap
| |
| msmtp
| |
| mutt
| |
| w3m
| |
| ncurses
| |
| abook
| |
| xclip
| |
| git, git-completion, gitk, tig
| |
| openssh
| |
| gcc
| |
| automake
| |
| python2
| |
| python3
| |
|
| |
| xorg
| |
| rxvt-unicode
| |
| nc
| |
| nc6
| |
| tmux
| |
| zsh
| |
| irssi
| |
| rsync
| |
|
| |
|
| |
| ## External Packages:
| |
| urlview (win32) -- http://www.oocities.org/win32mutt/win32.html
| |
| mutt with sidebar -- http://www.alexbr.com/wblog/?p=183
| |
|
| |
| </syntaxhighlight>
| |
|
| |
| == X Programs ==
| |
| <blockquote>
| |
| === Xserver ===
| |
| <blockquote>
| |
| ==== WINAPI ====
| |
| I'm not entirely sure what this is, or how it works but this is how DWM is able to run
| |
| natively in windows, and manage win32 windows ( but not cygwin windows unless launched with
| |
| startxwin /usr/bin/<progrm> )
| |
|
| |
|
| |
| </blockquote><!-- Xserver -->
| |
| <br>
| |
| <br>
| |
|
| |
| === Fonts ===
| |
| <blockquote>
| |
| {|
| |
| | <pre>/usr/share/fonts/font.ttf</pre> || font dir
| |
| |-
| |
| | <pre>fc-list</pre> || list all fonts
| |
| |}
| |
| There is not a lot of options for fonts in the cygwin package repo, Here
| |
| are the fonts that I use most frequently:
| |
|
| |
| <syntaxhighlight lang="bash">
| |
| ## Droid-Sans-Mono (preference)
| |
| http://www.fontsquirrel.com/fonts/droid-sans-mono
| |
|
| |
| ## DejaVu
| |
| http://sourceforge.net/projects/dejavu/
| |
|
| |
| ## copy fonts to /usr/share/fonts/
| |
| fc-list ##List all currently available fonts
| |
| Urxvt.font: xft:Droid Sans Mono-10 ##Setting font for urxvt in ~/.Xdefaults
| |
|
| |
| </syntaxhighlight>
| |
| </blockquote><!-- Fonts -->
| |
|
| |
| === feh ===
| |
| <blockquote>
| |
| feh is an awesome image viewer. requires imlib2
| |
|
| |
| <syntaxhighlight lang="bash">
| |
| ## CYGWIN DEPENDENCIES:
| |
| # imlib2, libcurl, libcurl-devel, libpng, libX11, libXinerama, libXt-devel
| |
| # make sure to install all imlib, imlib2, libiml, and devel packages from setup.exe
| |
| #
| |
| # note that when hunting down a package because of a compile error, you can use
| |
| # cygcheck for more info ex: cygcheck -p x11/Intrinsic.h
| |
|
| |
| curl -#O http://feh.finalrewind.org/feh-2.12.tar.bz2
| |
| make
| |
| make install
| |
| cp feh.exe /usr/bin/
| |
| </syntaxhighlight>
| |
|
| |
| </blockquote><!-- feh -->
| |
| </blockquote><!-- X Programs -->
| |
| </blockquote><!-- Programs -->
| |