Gehört zu: Betriebssysteme
Siehe auch: Windows, Unix, Linux
Cygwin das Unix-Environment für Windows (aus Wiki)
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
Tabelle 1: 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