Dokumentation für kNetmon
Intro
kNetmon ist freie Software unter den Bedingungen der GNU General Public License.
kNetmon bietet eine einfach benutzbare Oberfläche für den Umgang
und den Zugriff auf lokale Netzwerke an. Ähnlich wie bei der Netzwerkumgebung
im Windows Explorer werden dabei Rechner und Freigaben in einer Baumstruktur
dargestellt. Außer Samba-(Windows-)Freigaben unterstützt kNetmon
transparent NFS und Novell Netware sowie viele weitere Netzwerktools (talk, ping, rlogin u.a.).
Die jeweils neueste Version ist erhältlich unter
http://www.rz.tu-ilmenau.de/~lekus/netmon.html
Features
kNetmon unterstützt Samba 1.x und 2.x
(smbclient, smbmount, smbumount)
-NFS
(mount, showmount)
-Novell Netware, allerdings fast ungetestet
(slist, ncpmount, ncpumount)
-viele Netzwerkhilfsprogramme:
talk, ping, rlogin, nslookup, nmblookup, telnet, finger
Vorraussetzungen
Folgende Programme/Libraries werden benötigt:
-die KDE-libraries (http://www.kde.org), mindestens libkdecore.so und libkdeui.so,
beide in Version 2.0 oder neuer
-die Qt-library 1.4 oder neuer (http://www.troll.no)
Auf meinem System kompiliert es mit:
libqt 1.42
libkdecore 2.0
libc 5.4.33
libg++ 27.2.8
libstdc++ 27.2.8
g++ 2.7.2.1
Bitte informieren Sie mich, wenn Sie es schaffen, kNetmon auf einem anderen System als linux/pc zu kompilieren.
Bugreports, Kommentare, Patches, Vorschläge... an
alexander.neundorf@rz.tu-ilmenau.de
Installieren:
Packen Sie kNetmon-0.##.tgz (tar -zxvf knetmon-0.##.tgz) aus, wechseln Sie in das neue Verzeichnis,
und rufen Sie configure, make und danach make install auf (in dieser Reihenfolge).
Das sollte kNetmon kompilieren und auf Ihrem System installieren.
Nach make install muß KPanel neu gestartet werden (falls
Sie es verwenden). Danach sollten Sie kNetmon im Startmenu unter Internet finden.
Wenn Sie kNetmon manuell installieren wollen:
-kopieren Sie die Binaries knetmon/knetmon und knetmon/netmonwrapper in Ihr KDE-binary-Verzeichnis
($KDEDIR/bin)
-legen Sie ein Verzeichnis $KDEDIR/share/doc/html/de/knetmon an und kopieren Sie
die Datei docs/de/index.html dort hinein
-kopieren Sie die Dateien *.xpm in das Verzeichnis $KDEDIR/share/icons/mini
-kopieren Sie die Datei knetmon/knetmon.kdelnk in das Verzeichnis, in dem sich Ihre anderen *.kdelnk-dateien befinden
Wenn kNetmon läuft, muss es über den Konfigurationsdialog konfiguriert werden
unter ->Datei ->Konfiguriere .
Wenn Sie mit einem Windows-Netzwerk verbunden sind, Stellen Sie sicher, daß Sie das Recht haben, smbmount auszuführen,
das heißt, smbmount und smbumount müssen suid root installiert sein
(der Administrator (root) Ihres Systems muss das "set user id on execution"-Flag
von beiden Dateien setzen).
Kompilieren:
Wenn Sie #define PING in der Datei defines.h auskommentieren, bietet
Ihnen kNetmon eine zusätzliche Möglichkeit an, die Liste
der im Netz befindlichen Rechner zu erhalten (mit nslookup und ping). Ich
empfehle dies allerdings nicht, da diese Variante relativ instabil und unzuverlässig arbeitet.
Wenn Sie #define DEBUG_ON in defines.h auskommentieren und neu kompilieren,
wird kNetmon eine Menge nichtssagender Ausgaben erzeugen ;-)
Wenn beim Kompilieren Probleme auftreten, schreiben Sie mir bitte:
alexander.neundorf@rz.tu-ilmenau.de
Konfiguration:
Wenn kNetmon läuft, muß es konfiguriert werden, den Konfigurationsdialog finden Sie unter
->Datei ->Konfiguriere .
kNetmon liest seine Konfiguration normalerweise aus der Datei ($HOME)/.kde/share/config/knetmonrc
und wenn diese nicht existiert von ($KDEDIR)/share/config/knetmonrc.
Da Netzwerke recht unterschiedlich aufgebaut sein können, ist die Konfiguration
recht komplex, am besten Sie probieren an der Kommandozeile mit smbclient und smbmount aus, welche Parameter
Sie in Ihrem Netzwerk benötigen und wählen diese dann im Konfigurationsdialog aus.
Ein paar Tips zur Konfiguration
Sie sind zu einem Windows-Netzwerk verbunden
Wählen Sie die Option "Aktiviere Samba Unterstützung" im
Konfigurationsdialog.
Dazu müssen Sie das Samba-Paket auf Ihrem Rechner installiert sein.
Vergewissern Sie sich, daß Samba bei Ihnen richtig konfiguriert ist.
Um Samba nutzen zu können, muß Ihr Kernel das smb-Dateisystem unterstützen
und "Network block device support" muß aktiviert sein.
Gibt es einen Windows NT Primary Domain Controller in Ihrem Netzwerk ?
In diesem Fall müssen Sie mindestens Samba 2.0 installiert und
die entsprechende Option im Konfigurationsdialog aktiviert haben.
Außerdem müssen Sie die Option "Benutze immer Paßwort und Benutzername"
aktivieren.
Um Freigaben zu mounten/erkunden, müssen Sie immer "Mounte mit Paßwort"
bzw. "Erkunde mit Paßwort" verwenden. Anderenfalls kann kNetmon abstürzen.
In der Konfigurationsdatei für Samba, smb.conf, muß folgendes eingetragen sein:
security=domain
password server = name_ihres_NT_domain_controllers
Unter Netzwerk-Einstellungens:
Aktive Arbeitsgruppe:
Hier sehen Sie den Namen der momentan angezeigten Arbeitsgruppe und
können zwischen den bereits konfigurierten Arbeitsgruppen umschalten.
Um eine Arbeitsgruppe hinzuzufügen, klicken Sie auf Neue Arbeitsgruppe
und tragen im erscheinenden Dialog einen Namen für die neue Arbeitsgruppe ein.
Der Name sollte mit dem realen Namen Ihrer Arbeitsgruppe übereinstimmen.
Um den Namen einer Arbeitsgruppe zu ändern klicken Sie auf Ändere Name.
Zum Löschen einer Arbeitsgruppe existiert ein Button Lösche Arbeitsgruppe.
mögliche Werte: beliebiger_Name
Voreinstellung: default
knetmonrc: wg_name
Ihr Nutzername:
kNetmon wird diesen Namen überall einsetzen, wo Nutzernamen erforderlich sind,
Sie haben aber immer die Möglichkeit, einen anderen Namen einzutragen.
mögliche Werte: beliebiger_Name
Voreinstellung: tux
knetmonrc: std_user
Verwende NSLookup:
Hier entscheiden Sie, ob kNetmon nslookup für einige Aktionen verwenden wird,
z. B. wird dann die IP-Adresse der Rechner in der Statuszeile angezeigt und Sie
brauchen diese Option, wenn Sie für smbclient/smbmount die IP-Adresse des Zielrechners
angeben müssen.
Wenn Sie diese Option aktivieren, müssen Sie die IP-Adresse Ihres
Nameservers in der Eingabezeile eintragen. Wenn Ihr LAN ordentlich funktioniert, sollte
es auch mit dem Namen des Nameservers klappen.
Wenn Sie sich nicht sicher sind, lassen Sie diese Option aus.
mögliche Werte: inaktiv (no) oder die IP-Adresse oder der Name Ihres Nameservers
Voreinstellung: no
knetmonrc: use_nslookup
Verwende NMBLookup:
Statt nslookup kann auch nmblookup verwendet werden, bei den meisten Konfigurationen
funktioniert beides. nmblookup muß verwendet werden, wenn die Rechner in ihrem Netz
von ihren DNS-Namen abweichende WINS-Namen haben.
mögliche Werte: yes, no
Voreinstellung: no
knetmonrc: use_nmblookup
Aktiviere Samba-Unterstützung
Wenn Sie mit einem Windows-/Samba-Netzwerk verbunden sind, müssen Sie
diese Option auswählen. Damit das funktioniert, müssen folgende
binaries im Pfad zu finden sein:
smbclient
smbmount
smbumount
smbmnt (Samba 2.x oder neuer)
Stellen Sie sicher, daß smbmount, smbumount und smbmnt mit suid root
installiert sind. Das smb-Dateisystem und "Network block device support" müsen
von Ihrem Kernel unterstützt werden.
mögliche Werte: yes, no
Voreinstellung: yes
knetmonrc: enable_samba
Aktiviere NFS-Unterstützung
Mit dieser Option künnen Sie auch die NFS-Exporte anderer (UNIX-)Rechner
sehen und diese mounten und erkunden (wenn Sie ein Benutzer mit entsprechenden Rechten
sind). Ihr Kernel muß das NFS-Dateisystem und "Network block device support"
unterstützen. Außerdem muß die binary showmount im Pfad sein.
Wenn Sie selbst Verzeichnisse via NFS für andere zugreifbar machen wollen,
müssen Sie die datei /etc/exports editieren (nicht kompliziert).
mögliche Werte: yes, no
Voreinstellung: yes
knetmonrc: enable_nfs
Aktiviere Novell-Unterstützung
Wenn Sie mit einem Novell Netware LAN verbunden sind, sollten Sie diese Option
aktivieren. Dann wird kNetmon auch die Netware-Server und deren Volumes
anzeigen. Da ich selbst nicht mit einem Novell-Netz verbunden bin, ist dieses Feature
kaum getestet. Dazu werden die folgenden binaries benötigt:
mögliche Werte: yes, no
Voreinstellung: yes
knetmonrc: enable_novell
Hole browse list von:
kNetmon wird versuchen, die browse list mit "smbclient -L ..."
von dem Rechner zu holen, den Sie hier angeben.
Eventuell können Sie diese Einstellung auf "localhost" lassen, aber normalerweise sollte
es mit dem Nameserver oder etwas ähnlichem besser funktionieren, Sie müssen
es ausprobieren.
Ich empfehle, daß Sie mit smbclient -L ... und seinen Optionen von der
shell aus probieren, bis Sie einen Rechner gefunden haben, der eine komplette Liste
der Rechner im Netz bereitstellt und bis Sie die Kombination von
Parametern gefunden haben, bei der Sie weder ein Paßwort angeben oder Enter
drücken müssen. Bei manchen Konfigurationen benötigen Sie dazu die
Optionen -W oder -U guest.
mögliche Werte: name_eines_samba_oder_windowsrechners
Voreinstellung: localhost
knetmonrc: browselist_server
Frage immer nach Passwort und Nutzername
Wenn Sie diese Option aktivieren, werden Sie jedesmal, wenn Sie auf Freigaben
anderer Rechner zugreifen wollen, nach Nutzername und Passwort gefragt.
Dann wird smbclient wie folgt aufgerufen: smbclient //hostname/IPC$ yourpassword -L hostname -U mylogonname
Diese Option wird (glaube ich) hauptsächlich gebraucht, wenn Ihr Server ein NT PDC ist
und die Freigaben alle über Benutzerebene laufen.
mögliche Werte: yes, no
Voreinstellung: no
knetmonrc: use_pw_allways
Samba ist 2.0 oder neuer
Da sich die Syntax der Optionen von Samba mit der Version 2.0 stark geändert
hat, muß dies hier angegeben werden.
mögliche Werte: yes, no
Voreinstellung: no
knetmonrc: use_samba2
Nutze Arbeitsgruppennamen
Diese Option sollten Sie einschalten, wenn Sie die Option -W benutzen, wenn Sie smbclient manuell aufrufen.
Dies sollte nur nötig sein, wenn es in Ihrem Netzwerk mehr als eine Arbeitsgruppe gibt. Als Name
der Arbeitsgruppe wird dann der Name in Aktive Arbeitsgruppe benutzt.
Wenn Sie sich nicht sicher sind, aktivieren Sie diese Option nicht.
mögliche Werte: yes, no
Voreinstellung: no
knetmonrc: use_wgname_for_samba
Benutze guest-Login für Samba
Bei manchen Netzwerkkonfigurationen ist es notwendig, bei smbclient die Option
-U guest zu benutzen, um auf einen Rechner zugreifen zu können.
mögliche Werte: yes, no
Voreinstellung: no
knetmonrc: use_guest_for_samba
Nutze IP Adresse
Wenn Sie diese Option einstellen, wird kNetmon smbclient wie folgt aufrufen: smbclient -L hostname -I 123.456.789.012
sonst ohne: smbclient -L hostname
In den meisten Fällen ist diese Option nicht nötig.
Wenn Sie diese Option aktivieren, muß auch Verwende NSLookup oder Verwende NMBLookup
aktiviert werden.
Wenn Sie nicht sicher sind, aktivieren Sie diese Option nicht.
mögliche Werte: yes, no
Voreinstellung: no
knetmonrc: use_ip_for_samba
Unter GUI-Einstellungen:
Benutze spezielles Talk:
Wenn Sie das Standard Unix-Talk in einem xterm benutzen wollen, lassen
Sie diese Option inaktiv, wenn Sie ein Xwindows-Talk Programm
(welches nicht in einem xterm läuft) verwenden wollen, tragen Sie diese in die Eingabezeile ein, z.B. ktalk.
Es ist wichtig, daß dieses Talk, wenn man es wie folgt startet:
"ihrXtalk nutzername@rechnername" versucht eine Verbindung zu "nutzername" auf Rechner "rechnername"
herzustellen.
mögliche Werte: jedes funktionierende X Talk
Voreinstellung: inaktiv (standard)
knetmonrc: xtalk
Benutze dieses xterm:
Dieser xterm wird benutzt, um ping, rlogin und so weiter auszuführen.
Kvt funktioniert eventuell nicht, Sie sollten es einfach bei "xterm" lassen.
mögliche Werte: jeder beliebige xterm mit Optionen entsprechend dem Standard-xterm
Voreinstellung: xterm
knetmonrc: xterm
Starte xterm mit diesen Optionen:
Der xterm der bei "Benutze dieses xterm" angegeben wurde, wird mit diesen Optionen gestartet werden,
tragen Sie hier ein, was Ihnen gefällt,
zum Beispiel "-fn 7x14" um die Schriftgröße 7x14 in einem Standard-xterm zu benutzen.
mögliche Werte: gültige Optionen für den gewählten xterm
Voreinstellung:
knetmonrc: xterm_options
Erkunde mit:
Dies ist der Dateimanager, der gestartet wird, wenn Sie "Erkunde Rechner" auswählen.
Wenn Sie Ihren Dateimanager namens "xyz_fm" starten wollen, der das Verzeichnis
"irgendeins" anzeigt, und dazu an der Kommandozeile "xyz_fm -d irgendeins" eingeben
würden, dann tragen Sie hier "xyz_fm -d %dir"
ein, dann sollte es funktionieren.
Wenn Sie einen Textmodus-(Terminal-)Dateimanager angeben, z.B. "mc" in Farbe mit
der Schriftgröße 7x14, müssen Sie eintragen:
"color_xterm -fn 7x14 -e mc -c %dir".
mögliche Werte: jeder funktionierende Dateimanager
Voreinstellung: kfmclient openURL %dir
knetmonrc: filemanager
Unter Mehr Einstellungen:
Mounte Freigaben unter:
Tragen Sie hier das Verzeichnis ein, unter dem die Freigaben anderer Rechner gemountet
werden sollen. Um auf die Freigaben anderer Rechner zugreifen zu können, müssen
diese zuerst gemountet werden.
Wenn Sie zum Beispiel hier "~/Netzwerkumgebung" eingeben, und eine Freigabe mit dem Namen "public" vom Rechner "der_rechner"
aus der Arbeitsgruppe "meine_AG", mounten, wird diese Freigabe unter ~/Netzwerkumgebung/meine_AG/der_rechner/public gemountet.
In diesem Verzeichnis müssen Sie unbedingt Schreibberechtigung haben.
Meiner Meinung nach sollten Sie diese Einstellung so lassen, eine weitere Möglichkeit wäre
irgendwo unterhalb von /tmp/, dort sollte auch jeder Schreibberechtigung haben.
mögliche Werte: ein beliebiges Verzeichnis, in dem Sie Schreibberechtigung haben
Voreinstellung: ~/network/
knetmonrc: mount_point
Aktualisierungszeitraum:
Hier geben Sie die Anzahl von Sekunden an, nach denen kNetmon periodisch
seine Anzeige aktualisiert.
mögliche Werte: 5 bis 3600
Voreinstellung: 300
knetmonrc: refresh
Wartezeit:
Hier tragen Sie die Anzahl der Sekunden ein, die kNetmon auf Antworten von anderen Rechnern
im Netz warten wird, z.B. die Zeit, die kNetmon auf smbclient oder nslookup warten wird.
Abhängig von Ihrem Netzwerk, sollte eine Zeit von 5 Sekunden genug sein.
mögliche Werte: 1 bis 600
Voreinstellung: 15
knetmonrc: killing_time
Teste auf vorhandene binaries bei Programmstart
Diese Option entscheidet darüber, ob kNetmon beim Programmstart überprüft,
ob alle eventuell benötigten binaries auf Ihrem Rechner im Pfad zu finden sind.
Wenn Sie wissen, ob die betreffenden binaries vorhanden sind, können Sie diese Option ausschalten.
mögliche Werte: yes, no
Voreinstellung: yes
knetmonrc: check_for_binaries
Unmounte beim Beenden
Hier entscheiden Sie, ob die Freigaben, die von kNetmon gemountet wurden,
beim Beenden des Programms automatisch geunmountet und die angelegten Verzeichnisse
gelöscht werden.
Diese Option sollte immer gewählt werden, sonst kann es Probleme geben.
mögliche Werte: yes, no
Voreinstellung: yes
knetmonrc: unmount_on_exit
Bekannte Probleme
In dem Fall, daß kNetmon nicht korrekt beendet wird, z.B.
nach kill -9, sind die Verzeichnisse, die kNetmon gemountet hat, immer noch
gemountet. Wenn Sie diese Verzeichnisse unmounten wollen, starten
Sie das Script knetmon_cleanup. Dieses wird von kNetmon automatisch in
Ihrem Heimatverzeichnis angelegt.
Wenn kNetmon normal beendet wird, ist dieses Script leer.
Wenn Sie Mitglied einer Windows NT-Domaine sind, müssen Sie die Option
"Frage immer nach Paßwort und Benutzername" aktivieren,
Ihr Samba muß mindestens Version 2.0 sein und Sie müssen immer
"Mounte/Erkunde mit Paßwort" verwenden. Anderenfalls kann
kNetmon abstürzen oder hängenbleiben.
Während kNetmon sich updatet und der Baum inaktiv ist, sollten Sie
nichts aus dem Menu auswählen, das würde wahrscheinlich zu Problemen
führen.
Wenn Sie mit kNetmon eine Freigabe mounten/unmounten, wird kNetmon nach
einigen Sekunden (Wartezeit im Konfigurationsdialog) überprüfen,
ob die Aktion erfolgreich war. Wenn Sie diese Freigabe unmounten/mounten, bevor
kNetmon diese Überprüfung vorgenommen hat, kann kNetmon eventuell abstürzen.
Wenn alles den Eindruck macht, daß das mounten erfolgreich war (tippen
Sie "mount" ein um zu sehen, was gemountet ist), Sie den Inhalt des gemounteten
Verzeichnisses aber nicht ansehen können, und Ihre Festplatte die ganze
Zeit arbeitet, ist der Grund dafür wahrscheinlich, daß Ihr Kernel
"Network block device support" nicht unterstützt. In diesem Fall müssen
Sie Ihren Kernel neu kompilieren oder das entsprechende Modul (nbd) installieren.
Wenn kNetmon nicht in der Lage ist, Samba-Freigaben zu mounten, sehen Sie zuerst
im Konfigurationsdialog nach und probieren Sie ein bisschen. Wenn das nicht hilft,
vergewissern Sie sich, daß smbmount, smbumount und smbmnt (Samba 2.x) mit suid root
installiert sind. Das bedeutet, daß der root Ihres Systems das "set user id on execution"-Flag
dieser Dateien setzen muß.