A Cygwin egy nagyon jó kis unix klón a vindoz világ számára. Szinte minden van alá! Installáció egy kattintás (pl. ide). Perl, gcc, g++, gcj (java compiler!), LaTeX2e, és minden más is, mi szem-szájnak ingere! Videó lejátszáshoz én már régóta az mplayer-t használom, ami javarészt magyar fejlesztés (erről már korábban írtam). Bár van windows-os kivitel is (smplayer).
Találtam egy jó kis honlapot, ami adott pár tippet, hogyan is lehet jobban beállítani. Pl. az rxvt terminál emulátor jó ötletnek tűnt, de sokat kellett reszelni, hogy jó is legyen. Pl. bash prompt-ban nem ment a HOME és END billentyű, és az ékezetes karakterekkel is sok bajom volt amúgy is. No ezeket a beállításokat szedtem egy csokorba.
- Naszóval az alapon túl felraktam az ncourses (clear miatt), a win32 kiegészítéseket (mert sokat szoktam mindenféle windows dolgokat hívogatni) és az rxvt csomagot is. Meg persze egy csomó mást is, de az most nem érdekes.
- Az install után én a keletkezett windows short-cut-ot rögtön át szoktam írni erre:
C:\cygwin\bin\bash.exe --login -i
- De most, hogy rxvt is fent van, ezért most átírtam erre:
C:\cygwin\bin\rxvt.exe -sr -bg #000020 -fg #a0a000 -sl 5000 -geometry 80x43 -fn 9x15 -e /bin/bash --login -i
-sr: a scroll bar-t balra teszi és nem a szokásos jobbra. Szerintem így kevesebb egérhuszárkodás kell (érdekes, hogy nekem az egyik gépen ez működött, de a másikon nem. Hmmm...).
-bg #000020 és -fg #a0a000: sötétkék háttér, sárga tenta
-sl 5000: 5000 soros a screen buffer. Szeretek sokat visszagörgetni. :-)
-geometry 80x43: 43 soros legyen kapásból a kép
-fn 9x15: Nem szeretem a túl kicsi betűket
-e /bin/bash --login -i: Login shell-nek jó lesz a bash - Nekem ekkor nem ment a HOME és az END billentyű, meg az ékezetek. Ezért a $HOME könyvtárba csináltam egy .inputrc file-t, amit a bash jól fel fog olvasni induláskor. Na ez igy néz ki (az összes összerendelést a bind -p beírásával irathatjuk ki):
~$ cat .inputrc
# Ignore case while completing
#set completion-ignore-case on
# Make Bash 8bit clean
set meta-flag on
# meta-flag ugyanaz, mint az input-meta
set input-meta on
set convert-meta off
set output-meta on
#set editing-mode vi
# If prompt is too long, scroll the command line
set horizontal-scroll-mode on
"\e[7~": beginning-of-line
"\e[8~": end-of-line - Mivel volt egy kis gondom, hogy a HOME és END billentyű mit küldd be, ezért kódolásra vetemedtem. Az alábbi pár sort, lefordítva megnézhetjük, hogy mit is kell beírni a .inputrc-be.
#include <stdio.h>
int main() {
int c;
printf("Start\n");
for(;;) {
if ((c = getchar()) != 10) printf("%x ", c);
if (c >= 32) printf("(%c) ", c);
}
} - A $HOME könyvtárba még egy jól elhelyezett .bash_profile-t is beraktam. Ezekbe ilyenek szoktam írogatni:
export CYGWIN="codepage:ansi title nostrip_title server"
(Ezt folyamatosan hegesztik. Szóval vagy megy, vagy nem. :-( Most éppen nem. 2010-06-04)
export CYGWIN32="$CYGWIN"
export OUTPUT_CHARSET=iso-8859-2
export EXINIT="se ai sw=4 nocp"
# CYGWIN 1.7.xx
export CYGWIN="tty glob title nostrip_title export nodosfilewarning"
# Nem szeretem a magyar nyelvű üzeneteket
export LANG=en_US.UTF-8
# vim-ben viszont szeretném látni az ékezeteket!
export LC_CTYPE=hu_HU.ISO-8859-2
# Sajnos a glob nem nagyon akar működni!
# Meg a path kiegészítés. Ennek utána kell még járnom!
# Nem tudom, hogy ezt hol láttam és kell-e egyáltalán
export OUTPUT_CHARSET=ISO-8859-2
export PRINTER=//server//printer_neve
És még ilyen, mert ezeket nagyon szeretem:
..() { cd ..; }
A nyomtatóra az lpr paranccsal lehet nyomtatni (hasznos még a fold (a hosszú sorokat betördeli), pr parancs). Az alapértelmezett nyomtató a $PRINTER környezeti változóból veszi, de természetesen megható parancssorból is.
...() { cd ../..; }
....() { cd ../../..; }
lm() { ls -l --color "$@"|less -eRrXF; }
export -f .. ... .... lm
Belefutottam egy érdekességbe. Az iconv(1) (Cygwin) és iconv(1) (Debian Linux) vajon miért tér el egymástól? Szerintem az első lényegesebben jobb verzió! No majd utánanézek, hogy vajon valamelyik Debian csomagban elérhető-e az első változat!
Van több oldal is, ami segít a beállításokat beállítani :-):
- http://en.wikibooks.org/wiki/Cygwin
- http://www.mcclean-cooper.com/valentino/cygwin_install/
- http://www.bsp-gmbh.com/hercules/herc_cygwin.html
Jó állítgatást!
+jegyzések