Unix


openproj.jpg Wer eine freie und kostengünstige Alternative zu Microsoft Project sucht, kann mit OpenProj fündig werden. Als Java-Anwendung unterstützt die Software Mac, Unix, Linux und Windows.

Außerdem steht OpenProj unter der Common Public Attribution License 1.0 (CPAL) und ist damit Open-Source.

Die Firma hinter OpenProj heißt Projity und stellt folgende Features heraus:

  • OpenProj basiert auf einer SaaS-Lösung (Software as a Service oder Project-On-Demand)
  • es handle es sich um einen vollwertigen Ersatz für Microsoft Project (Datei-Format ist überführbar!)
  • keine hohen Lizenzkosten
  • Gantt-Diagramme
  • Netzwerk-Diagramme (PERT Charts)
  • Projektstrukturpläne
  • Leistungswertanalysen

Also das klingt doch vielversprechend.

Falls Putty verwendet wird und nur komische Zeichen im Midnight Commander dargestellt werden, dann einfach folgende Einstellung vornehmen:

  • Putty-Konfiguration
  • Window: Translation
  • Character Set Translation On Received Data
  • Passenden Zeichensatz auswählen (z.B. meistens UTF-8)

Vorher: Putty 01
Nachher: Putty 02

workaround: add in /boot/grub/menu.lst kernel parameter i8042.noloop

Ein tolles Projekt ist das Linux Libertine Open Fonts Project:

Wir arbeiten an einer Schriftartenfamilie im TrueType-Format. Sie ist entworfen, Ihnen eine Alternative zu den bekannten Schriftarten wie T*mes New Roman zu geben. Wir schreiben freie Software und veröffentlichen unsere Schriftarten unter den Bedingungen der General Public License – GPL.

Die Schriftarten gefallen mir. Ich werde sie sicherlich oefter nutzen und auch in meiner Masterarbeit machen sie sich sicherlich gut.

mount fat16 fat32

einleitung
wer windows und linux auf einem rechner installiert hat, möchte natürlich unter beiden betriebssystemen auf seine daten zugreifen. am besten eignet sich dazu eine partition mit dem fat-datei-system.
dazu wird einfach ein eintrag in die mount-datei “/etc/fstab” gesetzt und man kann die gewünschte partition unter linux einbinden. windows bindet soundso alle laufwerke für die es unterstützung hat ein.
beispiel für mount-eintrag (partiitionsnummer 5, 2. festplatte):

/dev/hdb5  /mnt/fat  vfat  0 0

user-spezifisch mounten
möchte man jedoch den zugriff auf das fat-laufwerk user-spezifisch gestalten, damit man für andere benutzer einschränkungen treffen kann, so muss kann man folgendes tun:
- als root anmelden:

su

- anlegen einer neuen gruppe (z.b. name = fat):

groupadd fat

- auflisten der bisherigen gruppen des users:

groups user

- hinzufügen der authorisierten nutzer zur gruppe (=fat):

usermod -G fat,..(bisherige gruppen des users).. user

- mount-eintrag anpassen:

/dev/hdb5  /mnt/fat  vfat  users,gid=fat,umask=0007  0 0

damit wird der mount eintrag an die gruppe “fat” gebunden und es darf nur noch von mitgliedern dieser gruppe von dieser partition gelesen werden.
gid weißt die gruppe “fat” dem mount-eintrag zu.
umask gibt nun das muster für die einschränkung an.

falls schwierigkeiten beim einbinden von fat-laufwerken auftreten, sollte unbedingt noch folgendes angegeben werden:

..umask=0007,iocharset=iso8859-15,code=437

iocharset und code geben noch zusätzliche sprachinformationen über die daten auf dem laufwerk an.

ich hoffe, dass manchen diese information weiterhilft ;-)

einleitung
es ist sicherlich schon jedem begegnet: eine ascii-datei (zum beispiel eine simple textdatei), die unter windows abgespeichert wird, hat unter unix diese hässlichen “^M” am Ende jeder Zeile und umgekehrt hat eine datei von einem unix-system unter windows keine zeilenumbrüche mehr (alles steht in einer zeile). es muss also konvertiert werden, falls man keinen guten editor zur hand hat, wie zum beispiel ultraedit unter windows oder quanta unter unix.

ursache
die zeilenumbrüche werden unter windows und linux unterschiedlich dargestellt:
- unix verwendet: LF (=line feed)
- win verwendet: CR LF (=carriage return & line feed)

CHAR ASCII PROG

LF   10   'n'

CR   13   'r'

konvertieren
abhilfe schaffen 2 möglichkeiten:
1) man benutzt für die jeweilige konvertierung folgende programme:
- unix2dos (unter /usr/bin/unix2dos)
- dos2unix (unter /usr/bin/unix2dos)

oder

2) ein kleines einzeiler script:

perl -pi -e 's/rn/n/g' #win to unix

perl -pi -e 's/n/rn/g' #unix to win

am besten werden die scripte als sog alias in die konfiguration der shell-umgebung eingegeben. damit sind sie als befehl aufrufbar, ohne dass eine datei angelegt wurde.

- kommandozeile öffnen und in einem editor die anpassungen vornehmen:

ee /home//.bashrc

- nun kopieren sie folgenden code:

alias w2u="perl -pi -e 's/rn/n/g'"

alias u2w="perl -pi -e 's/n/rn/g'"

achten sie darauf, dass am ende der datei wieder eine leerzeile stehen sollte. möchten sie diese aliase auch benutzen, wenn sie sich von einem entfernten rechner anmelden, müssen sie die einträge auch in der datei .bash_profile vornehmen.
falls sich die datei .bashrc nicht öffnen lässt, sollte sie mit ‘touch .bashrc’ erstellt werden. ausserdem müssen sie die shellumgebung bash benutzen, andernfalls müssen die einträge in eine andere datei gemacht werden (und ggf verändert werden).

die konvertierung erfolgt nun durch:

w2u  #win to unix

u2w  #unix to win
sync myhandy?

einleitung
dieser artikel richtet sich an besitzer eines siemenshandys der neueren generation. unter linux ist es leider immer noch sehr umständlich zugriff auf das Handy zu bekommen, zumal z.z. von siemens nur software für das windows-betriebssystem angeboten wird.
Für folgende geräte kann man in diesem artikel unterstützung finden:
- SL55
- SL45i / SL45
- SL 42
- S55
- S45i / S45
- S40
- ME45
- MT50
- M50
- M35i / M35
- CL55 / C55
- C45
- A55
- A50

es kommt auf die neue modemfunktionalität an, die zum austauschen / synchonisieren von daten verwendet wird.
auf den flexible-memory (wird z.b. für java-programme und bilder genutzt) kann außerdem zugegriffen werden.

durch eine recherche findet man einiges an programmen, die den gewünschten zweck erfüllen sollen. doch leider wird man bei manchen programmen auch enttäuscht feststellen, dass nicht alles gold ist was glänzt.

was brauche ich?
um daten (adressbuch / telefonbuch / kalender / ..) zu synchronisieren braucht man eigentlich nur ein tool, welches die modemfunktionalität des handys beherrscht. (z.b. über irda, serielles kabel, usb)

um auf den flexible-memory (bilder, töne, java-programme) zuzugreifen, benötigt man ein tool, das eine serielle verbindung zum handy herstellen und den speicher des handys auslesen kann. um java-games auf dem handy zu installieren ist diese verbindungsart notwendig.


kandy

kandy wird bereits dem kde-paket mitgeliefert. leider ist es bisweilen sehr umständlich eine funktionsfähigkeit mit siemens-handys herzustellen, da man die modembefehle selbst bearbeiten und diese für siemens-handys anpassen muss.
eins geht auf jeden fall – man kann statusinformationen vom handy abrufen.

die verbindung wird auf dem folgenden weg hergestellt
- handy und computer durch das serielle kabel verbinden
- im menü unter kandy einrichten die serielle schnittstelle bestimmen:
– für COM1 – “/dev/ttyS0″ und für COM2 – “/dev/ttyS1″
- im menü modem die verbindung herstellen

ich bin gespannt auf die nächste version, die hoffentlich einige neuerungen mitsichbringt.

scxx


scmxx mit gscmxx

scmxx ist ein kommandozeilen-tool, welches beim testen mit mehreren siemens-handys sehr gut funktioniert hat. damit ist dieses tool auch mein persönlicher favourit.
die installation ist eigentlich auch sehr einfach:
- programm hier downloaden
- kommandozeile öffnen (z.b. xterm)
- datei (in ein verzeichnis) extrahieren:

tar zxf *.tar.gz

- in das neue verzeichnis wechseln

cd verzeichnis

- folgenden befehl ausführen:

perl Makefile.PL

- wenn keine fehler gemeldet wurden:

make

- als root anmelden:

su

- wenn keine fehler gemeldet wurden:

make install

- ausführen (als normaler user) mit:

scmxx

gscmxx ist das grafische frontend zu scmxx. dieses tool zeichnet sich durch eine sehr bedienungsfreundliche oberfläche aus und eignet sich vor allem für kommandozeilen-scheue user.
die installation ist ebenfalls ganz leicht auszuführen. folgen sie einfach den anweisungen von oben oder nutzen sie die informationen auf der homepage.

die verbindung wird auf dem folgenden weg hergestellt
- handy und computer durch das serielle kabel verbinden
- bei verwendung von scmxx folgenden parameter angeben (com1):

scmxx -d /dev/ttyS0

- bei verwendung von gscmxx einfach unter einrichten den richtigen anschluss wählen:
– /dev/ttyS0 für com1 und /dev/ttyS1 für com2

achtung! mit diesem tool können sie ihr adressbuch, telefonbuch, sms-speicher, betreiber-logo, … bearbeiten. jedoch bekommen sie keinen zugriff auf den flexible-memory ihres siemens-handys. dazu finden sie weiter unten ein tool mit dem namen “siefs”.

viel spass beim handy hacken ;-)
kandy


sieFS – mounten des fexible-memorys

für das syncronisieren habe ich ihnen nun schon ein paar tools vorgestellt. doch um an das dateisystem des siemens-handy heranzukommen, benötigen sie ein weiteres tool, das es erlaubt den flexible-memory ihres telefon als dateisystem in ihr system einzubinden (tolle sache wie ich finde).

sieFS ist eine software die das kernel-modul fuse benutzt, das datei-systeme erzeugen kann. nach dem herunterladen muss nur noch kompiliert werden und nach einem mount-eintrag, kann das handy abgerufen werden.

anleitung
- auf der sieFS-seite das paket siefs-0.x.tar.gz downloaden
- ausserdem benötigen sie das fuse-paket (fuse-1.x.tar.gz)
- kommandozeile öffnen (z.b. xterm)
- beide dateien (in je ein verzeichnis) extrahieren:

tar zxf *.tar.gz

- beginnen sie nun mit dem paket fuse und machen sie dann das gleiche mit dem anderen paket
- in das neue verzeichnis wechseln

cd verzeichnis

- stellen sie sicher, dass sie den kernel-source installiert haben (gewöhnlich unter “usr/src/linux”)
- folgenden befehl ausführen:

./configure

- wenn keine fehler gemeldet wurden:

make

- als root anmelden:

su

- wenn keine fehler gemeldet wurden:

make install

- nun muss unter “/lib/modules/kernel-xx/kernel/fs/fuse/” das modul “fuse.o” existieren
- falls dem nicht so ist, dann muss diese datei von hand aus dem source-verzeichnis kopiert werden (fuse.o)
- nun sind noch ein paar kleine einträge in der mount-datei nötig:
- als root anmelden mit

su

- die datei “/etc/fstab” in einem editor öffnen:

ee /etc/fstab

- folgenden eintrag am ende hinzufügen (für com1):

/dev/ttyS0   /mnt/mobile   siefs   noauto,user   0 0

- achtung: am ende der datei muss immer eine leerzeile (enter) stehen!
- nun muss noch das mount-verzeichnis “/mnt/mobile” erstellt werden:

su
mkdir /mnt/mobile

die verbindung wird dann so hergestellt:
- falls sie nicht neu booten, müssen sie zuerst das kernel-modul fuse laden:

su
insmod fuse

- handy und computer durch das serielle kabel verbinden
- die kommandozeile öffnen und folgenden befehl eingeben:

mount /mnt/mobile

anmerkung: auf manchen systemen kann der fehler “couldn’t execute modprobe.old” auftreten. abhilfe dazu schafft ein symlink, der unter /bin/modprobe.old angelegt wird und auf /sbin/modprobe.old zeigt. ich denke es ist ein bug.

mit diesem tool können sie nun auf ihren flexible-memory zugreifen. bei den java-fähigen handys können so nun ganz leicht java-programme installiert werden durch kopieren der entsprechenden datei in das verzeichnis “/mnt/mobile/Java/jam/”.

viel spass!

einleitung
unter unix kann die unterstützung für die eingabegeräte durch den prozess für die grafische ausgabe erfolgen (den x11). dieser prozess verarbeitet dann also auch mauseingaben. alternativ können aber auch andere programme verwendet werden (zum beispiel gpm). damit man eine maus mit den x11-treibern benutzen kann, muss eine notwendige einstellung in der konfigurationsdatei “/etc/X11/XF86Config” für den x11 gemacht werden. folgende einträge sind zum beispiel für eine intelli maus (mit 5 tasten) von microsoft notwendig:

#Auszug aus der /etc/X11/XF86Config

Section "InputDevice"

Driver  "mouse"

Identifier  "Mouse[1]"

Option  "ButtonNumber" "7"

Option  "Device" "/dev/mouse"

Option  "Name" "Autodetection"

Option  "Protocol" "ExplorerPS/2"

Option  "Vendor" "Sysp"

Option  "ZAxisMapping" "6 7"

EndSection

InputDevice gibt an, dass es sich um ein eingabegerät handelt,
Driver “mouse” legt fest, dass es sich um eine maus handelt,
Identifier gibt einen beliebigen namen an,
ButtonNumber: linke, rechte, mittlere, seitlich linke, seitlich rechte, scoll-up und scroll-down taste,
Protocol (maustreiber) ist wohl der wichtigste eintrag,
ZAxisMapping gibt an, auf welche tasten das scrollrad definiert ist.

achtung! wenn sie änderungen an konfigurationsdateien vornehmen, vergessen sie bitte nicht, stets sicherheitskopien anzulegen, z.b. als root:

cp /etc/X11/XF86Config /etc/X11/XF86Config.backup

nach jeder änderung an der dieser konfigurationsdatei müssen sie ihr grafisches system neu booten. dies können sie zum beispiel mit der tastenkombination strg+alt+backspc tun. falls das grafische system nicht erneut bootet (auch “startx” nicht funktioniert), ist ein fehler aufgetreten und sie sollten ihre sicherheitskopie wiederherstellen.

wenn sie die grafische oberfläche wieder erfolgreich gestartet haben, können sie mit dem programm “xev” (einfach aus der konsole ausführen) die funktionalität der tasten testen.

scrollrad
damit das scrollrad funktioniert ist ein tool namens “imwheel” notwendig. damit werden bestimmte tastenereignisse (nämlich die vom scrollrad) auf die aktionen scrollen-hoch und scrollen-runter abgebildet.
wenn sie dieses tool noch nicht auf diesem system haben sollten sie es hier downloaden und den dortigen installationsanweisungen folgen.
damit jetzt noch die richtigen tasten für das scrollen an imwheel gesendet werden ist noch eine letzte einstellung notwendig. unter /home/user muss eine datei namens “.Xmodmap” erstellt werden, falls sie noch nicht existiert, und folgender eintrag gemacht werden:

pointer = 1 2 3 6 7 4 5

damit wird nun noch das richtige tastenereignis an imwheel gesendet.

einleitung
unter unix kann die unterstützung für die eingabegeräte durch den prozess für die grafische ausgabe erfolgen (den x11). dieser prozess verarbeitet dann also auch mauseingaben. alternativ können aber auch andere programme verwendet werden (zum beispiel gpm). damit man eine maus mit den x11-treibern benutzen kann, muss eine notwendige einstellung in der konfigurationsdatei “/etc/X11/XF86Config” für den x11 gemacht werden.

möchte man eine zweite maus zusätzlich anschließen, ist folgende konfiguration notwendig:

#Auszug aus der /etc/X11/XF86Config

Section "InputDevice"

Identifier  "Mouse1"

Driver  "mouse"

Option  "Device" "/dev/mouse"

Option  "Protocol" "PS/2"

Option  "Emulate3Buttons" #linke+rechte Taste gleichzeitig=mittlere

Option  "EmulateWheel" "true" #emuliere Mausrad..

Option  "EmulateWheelButton" "2" #..durch mittleren Taste

Option  "EmulateWheelInertia" "20" #Mausrad scrollt .. Zeilen

EndSection

Section "InputDevice"

Identifier  "MouseUSB"

Driver  "mouse"

Option  "Device" "/dev/usbmouse"

Option  "Protocol" "imPS/2"

Option  "ZAxisMapping" "4 5" #Scrollrad ansprechen

EndSection

#[...]

Section "ServerLayout"

Identifier  "Layout1"

Screen  "Screen0"

InputDevice  "Keyboard1" "CoreKeyboard"

InputDevice  "Mouse1" "CorePointer"

InputDevice  "MouseUSB" "SendCoreEvents"

EndSection

notebook besitzer werden häufig diese lösung für das problem der 2 mäuse suchen.

InputDevice gibt an, dass es sich um ein eingabegerät handelt,
Driver “mouse” legt fest, dass es sich um eine maus handelt,
Identifier gibt einen beliebigen namen an,
Protocol (maustreiber) ist wohl der wichtigste eintrag,
ZAxisMapping gibt an, auf welche tasten das scrollrad definiert ist.

achtung! wenn sie änderungen an konfigurationsdateien vornehmen, vergessen sie bitte nicht, stets sicherheitskopien anzulegen, z.b. als root:

cp /etc/X11/XF86Config /etc/X11/XF86Config.backup

nach jeder änderung an der dieser konfigurationsdatei müssen sie ihr grafisches system neu booten. dies können sie zum beispiel mit der tastenkombination strg+alt+backspc tun. falls das grafische system nicht erneut bootet (auch “startx” nicht funktioniert), ist ein fehler aufgetreten und sie sollten ihre sicherheitskopie wiederherstellen.

wenn sie die grafische oberfläche wieder erfolgreich gestartet haben, können sie mit dem programm “xev” (einfach aus der konsole ausführen) die funktionalität der tasten testen.

einleitung: papierkorb unter linux?title
vielen linux-usern passiert es: es wird eine datei gelöscht und diese ist *(fast) unwiderruflich weg, weil es keinen papierkorb gibt.

zwar hat der windowmanager kde auf seinem desktop einen papierkorb, doch können nur kde-programme diesen nutzen und die wenigsten tun dies auch. also müsste ein tool her, welches schon von grund auf den papierkorb implementiert. ich denke die beste lösung haben hier die entwickler von libtrash gefunden.

*(fast): man kann mit hilfe von speziellen kommandos eine festplatten-wiederherstellung starten und hoffen, dass die gelöschte datei wiederhergestellt wird. dies ist im allgemeinen nur möglich, wenn der computer sofort ausgeschaltet wird und auf der platte nicht wieder neue informationen den wichtigen bereich auf der platte überschreiben.

libtrash
libtrash ist eine shared library (gemeinsam genutzte bibliothek), die wenn sie geladen ist, auf linux-systemen die papierkorb-funktion implementiert.

installation
sie können entweder den installationsanweisungen auf der libtrash-seite folgen oder ein fertiges paket installieren – es beliebt ihnen. für schnelle, die kurzanleitung:
- herunterladen der neusten version
- die heruntergeladene datei entpacken und ggf kompilieren (dazu README lesen)
- die datei ‘libtrash.so.xx’ nach ‘/lib/libtrash.so.xx’ kopieren
-

konfiguration
die konfiguration wird nun wie folgt vorgenommen:
- die konfigurationsdatei für libtrash downloaden (siehe unten)
- die kommandozeile öffnen und als root anmelden

su

- die heruntergeladene datei nach /etc kopieren

cp libtrash.conf /etc/libtrash.conf

- ggf die datei anpassen, indem sie mit einem editor geöffnet wird

ee /etc/libtrash.conf

- sie sollten, falls noch nicht geschehen, wieder als normaler user arbeiten (nicht als root)

exit

- folgende dateien anpassen, falls sie existieren:
.bashrc – wird ausgeführt wann immer eine shell gestartet wird
.bash_profile – wird ausgeführt, wenn man sich von einem entfernten rechner einloggt
.profile – wird ausgeführt, wenn sich der user lokal anmeldet

ee /home//

- in die dateien muss nun folgender eintrag gemacht werden:

export LD_PRELOAD=/lib/libtrash.so.1

damit ist die konfiguration abgeschlossen und nach einem ab-/anmelden steht die volle papierkorb-funktion zur verfügung.

benutzung
unter dem verzeichnis /home//Trash befinden sich jetzt alle veränderten oder gelöschten dateien. sie können diese von dort wiederherstellen, indem sie einfach die gewünschte datei dorthin kopieren, wo sie sie benötigen. falls sie die vorgeschlagene konfiguration benutzt haben, hat das papierkorb-verzeichnis zwar keinen schreibzugriff (sie können dann den papierkorb nicht einfach so leeren), aber eine wichtige absicherung dafür, falls sie einmal ihr home-verzeichnis löschen sollten, nicht der papierkorb mit gelöscht wird und alle daten doch unwiederruflich weg wären. den papierkorb leeren können sie entweder als root (dann haben sie immer schreibrechte) oder mit hilfe eines einfachen scriptes automatisch. dabei werden alle dateien die älter als xx tage sind aus dem papierkorb entfernt. sie müssen das script herunterladen und einfach in das Verzeichnis /etc/cron.daily/clear_libtrash kopieren:

su

cp clear_libtrash /etc/cron.daily/clear_libtrash

beachten sie, dass sie das script natürlich ausführbar machen müssen und dem user root zuordnen:

chmod uga+x clear_libtrash
chown root:root clear_libtrash

zum schluss muss nur noch ihr home-verzeichnis angegeben werden. dazu öffnen sie die das script in einem editor:

ee /etc/cron.daily/clear_libtrash

- und ändern in zeile 15 den vorgegebenen pfad in ihren trash-pfad ab

TRASH_HOME="/home//Trash"

- übrigens, möchten sie für mehrere user den papierkorb automatisch leeren, können sie – getrennt mit leerzeichen – mehrere pfade angeben
- standardmäßig ist eine zeit von 7 tagen angegeben, nach der dateien gelöscht werden. sie können diese zeit beliebig verändern unter zeile 18:

MAX_DAYS_IN_TRASH="x"

ist doch toll dieser papierkorb ;-)

make kernel?

einleitung
die vorteile, sich einen eigenen kernel zu bauen liegen eigentlich klar auf der hand:
- performance
- system wird auf die plattform abgestimmt
- unterstützung für besondere hardware
- unnötige balast kann entfernt werden
- macht spass

was brauche ich?
um einen kernel selbst zu kompilieren wird folgendes benötigt:
- kernel-source (z.b.: von kernel.org)
- compiler gcc
- tool make

ok, alles vorhanden, wie geht’s nun los?
- zuerst als root anmelden:

su

- den kernel-source in das verzeichnis “/usr/src/” verschieben

mv kernel.tar

- den kernel-source entpacken:

tar xvzf kernel.tar

- einen symlink anlegen (oder falls vorhanden ändern) mit “/usr/src/linux” -> “/usr/src/new_kernel_dir“:

ln -s /usr/src/linux /usr/src/new_kernel_dir

- in das source verzeichnis wechseln:

cd /usr/src/new_kernel_dir

- die kernel-konfiguration starten, hier gibt es verschiedene varianten
– möchte man eine neue konfiguration aus der vorhandenen ableiten:

make cloneconfig

– möchte man eine neue konfiguration aus der konsole erstellen (ncurses ist installiert):

make menuconfig

– möchte man eine neue konfiguration aus der konsole erstellen (geht immer):

make config

– möchte man eine neue konfiguration mit einer grafischen oberfläche erstellen:

make xconfig

- nun müssen die abhängigkeiten (dependencies) erstellt werden:

make dep

- alte build-dateien löschen:

make clean

- kernelimage:

make bzImage

- neuen kernel installieren:

make install

- module bauen:

make modules

- module installieren:

make modules_install

- ist das alles ohne fehler abgelaufen – dann glückwunsch!
- achtung! jetzt muss noch lilo ausgeführt werden, sonst kann es passieren, dass linux nicht mehr startet:

lilo

- wird ein anderer bootmanager als lilo benutzt, sollte man in dessem manual nachschlagen, ob eine neukonfiguration notwendig ist!
- und zu guter letzt neu starten ;-)