Wiki-Cygwin

Cygwin

Contents

 Cygwin das Unix-Environment für Windows

Cygwin wird von der Firma Redhat (Linux Distribution) zur Verfügung gestellt, um unter Win32 eine Unix-Umgebung (genauer: Posix) bereitzustellen (Cygwin = GNU + Cygnus + Windows). Damit kann man (wenn alles klappt) Linux/Unix-Software auf Win32 nutzen.

Meine Beispiele:

  • OpenSSHServer
  • RCS (für TWiki)

Weitere Beispiele:

  • CVS
  • KDE mit XFree86
  • FileManager: Midnight Commander (MC) (Win32 File Manager: Total Commander, Servant Salam, Directory Opus, Advanced File Manager….)
  • FileManager: XFE (mit FOX >= 1.4)
  • FileManager: gentoo (Worker File Manager) mit Cygwin gtk

 Installation von Cygwin

  • Definitive Software Library ID: Cygwin
  • Version: cygcheck -s sagt: cygwin.dll version 1.5.9
  • Hersteller/Quelle: Redhat http://www.cygwin.com
  • Root Install Directory: d:\programme\cygwin
  • Local Package Directory: e:\var\cygwin ……
  • Programmstart: s.u.

 Konfiguration: Mount Points

Standardmässig wird das Installationsverzeichnis (Hier: d:\programme\cygwin) als “/” gemountet.
Unterhalb des so als Root-Verzeichniss definierten Installationsverzeichnisses (d:\programme\cygwin) werden die Standard-Unix-Verzeichnisse angelegt:

  • /bin
  • /c (Mount Point)
  • /d (Mount Point)
  • /etc
  • /home
  • /lib
  • /tmp
  • /twiki (Mount Point)
  • /usr
  • /var

Hierhin gehören dann auch Mount-Punkte wie z.B. /c, /d oder /twiki (letzteres für TWikiInstallation). An so einen Mount-Punkt werden dann die echten Verzeichnisse eingehängt. Z.B. könnte man mit “mount -b -s d:/home /home” an den Mount-Point “/home” (s.o.) den Windows-Ordner “d:/home” hängen.

Die Mounts sind “permanent” und werden gespeichert im Windows-Registry unter: HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\…

 Konfiguration: User-Konten

Anlegen der Dateien group und passwd, diese werden mit den Daten der Windows-User-Konten gefüllt.

  • cd \Programme\OpenSSH\bin
  • mkgroup -l >../etc/group
  • mkpasswd -l >../etc/passwd
  • Das in der Datei passwd angegebene User-Verzeichnis (z.B. /home/dkracht) muss vorhanden sein.

 Konfiguration Diverse

  • Umgebungsvariable CYGWIN: set CYGWIN=”…winsymlinks….” (siehe auch: HardLinks )

 Starten von Cygwin

Cygwin wird durch Aufruf der BAT-Datei cygwin.bat, die sich im Root Install Directory (hier: D:\Programme\cygwin) befindet, gestartet.

 @echo off
 D:
 chdir D:\Programme\Cygwin\bin
 bash --login -i

 Die Bash Shell

Global Startup-File: /etc/profile

Das Home-Verzeichnis für den User solle sich aus der Eintragung in /etc/passwd ergeben… Ich habe da folgende Eintragungen:

  • User Administrator: /home/Administrator (/cygdrive/d/home/Administrator ????)
  • User dkracht: /home/dkracht
  • User lonzo: /home/lonzo

Nützliche Befehle:

  • ln -s hugo otto Erstellen eines “Symlink” namens otto für die Datei hugo
  • cp -L otto emil Kopieren von otto nach emil, wobei der Symlink dereferenziert wird (target, Follow links)

 X-Windows

 Installation

  • Installiertes Cygwin-Packet: xorg-x11-base
  • Installiertes Cygwin-Paket: mc (FileManager: Moonlight Commander)

 Konfiguration

  • Konfigurationsdatei: /etc/X11/xorg.conf
  • Interessantes Problem: Grafikkarte mit TVout z.B. für MythTV
    • Option “TVOutFormat” “SVIDEO” oder “COMPOSITE” oder “RGB” (Composite —> FBAS)
    • Option “TVStandard” “PAL-G” oder “PAL-B” oder …?
    • Option “ConnectedMonitor” “TV” ????

 Aufruf Schritt für Schritt

Schritt für Schritt

  • cd /usr/X11R6/bin
  • export DISPLAY=127.0.0.1:0.0
  • echo $DISPLAY
  • run -p /usr/X11R6/bin XWin -multiwindow -clipboard
  • xterm -e /usr/bin/bash -l &

Bei “run XWin” wird ein Init-Shell-Script ausgeführt: /etc/X11/xinit/xinitrc

 Aufruf kompakt

  • startx (mit kofortabler Konfiguration im Shell-Script)
  • Oder: xinit (sehr einfache Konfiguration)

 Installed Cygwin Packages

Package Category Version Remarks
rcs Devel 5.7-3 TWiki
bash Base 2.05b-16 TWiki
binutils Devel 2004031 TWiki
diffutils Base 2.8.1-1 TWiki
gcc Devel 3.1.3-4 TWiki
grep Base 2.5-1 TWiki
gzip Base 1.3.5-1 TWiki
make Base 3.80-1 TWiki
nano Editors 1.2.2-1 TWiki
ncftp Net 3.1.4-1 TWiki
pcre Devel 4.5-1 TWiki
perl Interpreters 5.6.1-2 TWiki

— Main.DietrichKracht – 23 Mar 2004