=========================================================================== In order to keep your directory accurate and tidy, as the system already is, you may create your own directories - in your home directory, and nowhere else. So please go home by cd ~ and then make_directory goodies by mkdir goodies ls will show you whether you succeeded. "mkdir" is a command and "goodies" is a parameter that was passed to md. md knows that it needs one and only one parameter, and that this parameter is the name of the directory to be created. cd in there and look around (by ls). There should be no files in there as no one has created some already. Now come back home (e.g., by cd ~), and let us copy your file "AnyFileName1" to ~/goodies. cp AnyFileName1 goodies cp knows: the first parameter "AnyFileName1" is a file to be copied, and the second parameter is the file's destination. destination can be just a filename or a directory. cp assumes first that goodies is a directory, and checks whether there is some directory called goodies. There is, so cp copies AnyFileName1 into directory goodies without changing its name. If there was no directory named goodies (say, you mistyped and said "godies" or "Goodies" or "goodieS"), cp would have taken the second parameter as a new filename, and would have created a new file, with the name "godies" and the same contents as AnyFileName1. So if you want to work on the file AnyFileName1 and make sure that there is an uncorrupted AnyFileName1 on the system, you would only say cp AnyFileName1 AnyFileName1.backup and there would be a backup, in the same directory. Now go home (e.g. cd ~), and remove_directory goodies. (Yes, I know, there is a copy of AnyFileName1 in it.) Do it anyway: rmdir goodies You see, system won't do it. You have to remove the files in there first: rmdir goodies/AnyFileName1 and after that you can remove directory goodies. **************************************************************************** * No file can be reanimated. * * Whatever you delete, will be gone for ever. * * Do not rely on the system to protect you from erasing one or all of your * * files. They are yours, and if you tell the system to remove them, it * * will remove them WITH NO CHANCE TO GET THEM EVER BACK. * **************************************************************************** ============================================================================ So far, we have surfed the directory tree, added and deleted some branches, and now it's time for you to create your own files. The tool to create and manipulate human readable files is vi. vi is the Linux-Editor. And you will love it. Leave this browser and type vi readme2 This will fire up vi, and open the file readme2 to be manipulated or created.
WELCOME TO VI! This Editor claims to be the most hard-to-learn editor beneath the sun. This is obviously not true. Generations of scientists wrote their thesis on vi - so why shouldn't you? Invoking vi with a filename has been done by you, already. Now leave vi by: <esc> :q! <cr> and come back. When vi is fired up, we are in command mode. You can see the word "command" in the bottom line. In command mode, you can manipulate text to an extent you never dreamed of. To enter text, vi must be set into input mode by pressing <i>. vi quits by displaying "input" on the bottom line. The powerful tools of vi are listed in the file vi.txt. There is no problem browsing them now, but there is a problem to switch between them and your work. So, you will learn the task switch. As you know, you are on a multi-user system, that is running on a single x86 computer, with just one screen attached to it. Therefore, Linux provides 7 virtual consoles on this hardware, and they are switched by <Alt>-<F1> to <Alt>-<F7>. You should be now on console 1, so <Alt>-<F1> should bring you back to this document. On the other consoles, you may login with your username, and start some processes just to see that it works. Try "yes" on console2, "mc" on console3, and "man ghostscript" on console4. Now switch a little, then abandon the useless processes with C-c (holding <Ctrl> and typing "c"), logout on console 3 and 4, and start "vi vi.txt" or "less vi.txt" on console2. So you can switch between your document and my help page without worries. Print your text by leaving vi and typing "lpr myfile" where myfile is the name of the file you just created with vi. Have fun!Meiner Beispiel-Userin wird das noch zu viel sein, ich werde also noch etwas feilen müssen. Nichtsdestotrotz war das ja wohl ein guter Tag.
Das istr gar nicht so schwer, wenn man weiß wie's geht (*Seufz*). Ich habe mir ein superkleines zImage gebastelt (ohne Netzwerk, grade mal 273412 Bytes lang) und da den Soundblaster-Treiber hineinkompiliert. Das Ergebnis umfaßt 285700 Bytes, also lumpige 12 k für einen ausgewachsene Midi-Emulator. Der eigentliche Kampf war das Erbasteln der richtigen Bootparameter. Die Sound-HowTo ist ja ziemlich gut, und /dev/MAKEDEV läuft auch von alleine.
Doch der Stein des Weisen ist /usr/src/linux/drivers/sound/readme bzw. /usr/src/linux/drivers/sound/readme.LINUX und legt folgende Kommandozeilenparameter für meinen SoundBlaster 16 Pro nahe:
# sbpcd=0 sound=0x2220a1,0x6220a6,0x7330a0,0x138800Selbstverständlich geht das eingebaute Mikrofon nicht. Möglicherweise habe ich ja mal Lust, auch da noch hinterzusteigen.
workbone funktioniert ganz fantastisch. Sofern man die S.u.S.E.-CD ordentlich abmeldet,
findet der Rechner sie beim nächsten Hochlaufen sogar wieder.
Sonst nicht. Ich weiß das. Ich hab's ausprobiert. Aber die Neuinstallation ist ja nun wirklich
kein Problem.
/etc/XF86config kümmert sich um die Hardwareseite. Hier darf nur der Sysop ran, denn
falsche Einstellungen machen ja bekanntlich den Monitor und/oder die Video-Karte kaputt.
Sodann gibt es die *.ini für den vom User gewählten Fenstermanager und den X-Server:
# Ich habe das meiste rausgeschmissen, weil ich meine Anwendungen lieber über # term oder die Maustasten starte # choose a window manager WM=fvwm # # enable german keymap if [ -f ~/.Xmodmap ]; then xmodmap ~/.Xmodmap fi # if [ -f ~/.Xresources ]; then xrdb ~/.Xresources fi xsetroot -solid black & # $WM
Das ist eine sehr interessante Datei. Im mittleren Teil wird festgelegt, welche Anwendungen beim Starten hochgefahren werden (Bei mir: ein Pager, ein schwarzer Hintergrund und SONST NIX). Im hinteren Teil wird festgelegt, was beim Mausklick passiert. - Ich habe zwar eine bitstar-3-Tasten-Maus, aber deshalb erkennt Linux die mittlere Taste noch lange nicht! Die Programmierstrukturen sind für mich etwas schwer zu lesen, denn sie sind genau andersrum angeordnet wie ein Inhaltsverzeichnis: zunächst sind die kleinen Sachen definiert, dann die größeren, die aus den kleinen bestehen, und zum Schluß die ganz großen - die man ggf wieder nicht versteht, wenn man nicht den ganzen Kleinkram gelesen hat.Wichtiger als der Aufbau der Datei ist ihre Entstehung:
Zunächst war da dieses Paket sgml-1.2.198.tgz oder ähnlich, das ich irgendwann mal auf der Suche nach How to USE Linux.Manuals aus'm Web abgesaugt habe. Ich habe das in /tmp/sgml ausgepackt und angeguckt. Dabei habe ich aber nicht sofort verstanden, daß ich da aus Versehen die Quellen (in c oder c++ oder weiß der Teufel) heruntergeladen hatte, und daß nur das Skript *install ausführbar war (obwohl man das eigentlich sofort am * sehen kann). Das stand aber zum Glück auch in der einen oder anderen readme.*, so daß ich es mir mal in Ruhe angeguckt habe. *install war ein Installationsskript, das root nach diversen Sachen fragt, und dann den gesamten Quelltext vollautomatisch durch den gcc-Compiler jagt. Im Ergebnis stehen dann die ausführbaren Programme (sgml2html, sgml2latex etc.) in genau den Verzeichnissen, die sich root gewünscht hat. *install macht sogar Vorschläge, wo die Sachen hinkommen sollten:
/usr/local/bin die ausführbaren Programme /usr/local/lib die Laufzeit-Bibliotheken (libs) /usr/local/man/man1 die manual-Seiten /usr/local/sgml-tools sgml-style Dokumentation und Beispiele.Ich hatte inzwischen eine ganze Menge über die Lieblingspfade der verschiedensten Programme gelesen. Ich wußte auch, daß sie alle in irgendwas, das auf /bin endete, saßen. Aber nun wollte ich wissen, wie bash (meine Shell) die verflixten Dinger denn nun findet, und wie die wiederum ihre verflixten Libs, Configs etc. finden.
/bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin .Der Punkt in der letzten Zeile ist kein Tippfehler, sondern bedeutet, daß bash auch im aktuellen Verzeichnis nach dem entsprechenden Programm sucht.
Von mir aus, dachte ich, und kopierte die fertig kompilierte Version nach /usr/local.
Woraufhin sie lief. Ist ja prima, dachte ich, und löschte die Version in /tmp/sgml.
Woraufhin nichts mehr ging... Verdammt!
Da ich nicht ganz blöd bin, dachte ich mir, *install fragt bestimmt nach den
absoluten Verzeichnissen, um sie dann irgendwo gegen mich zu verwenden. Des
Rätsels Lösung war demzufolge, das Ganze nochmal, diesmal in seine erklärten
Lieblingsverzeichnisse, zu kompilieren. Vollautomatisch - und trotzdem erfolgreich.
Nach diesem beispiellosen Erfolgserlebnis wurde ich größenwahnsinnig und versuchte, den
netscape-navigator 2.02, den mir Rolf mitgegeben hatte, zu installieren. ich wollte nämlich einen
X-Browser haben, weil arena nicht ging. Ich staunte nicht schlecht, als ich auf
beiden Disketten je eine Datei nlinux20.zip, zu 1,4 MB bzw. 0,5 MB, fand.
Irgendein Unzip, das automatisch vom Dos-Navigator gestartet wurde (glaube ich), behauptete,
diese Dateien seien von einem Backup-Programm erstellt worden, und ich sollte sie
concatenieren (?), bevor ich sie entpackte. Ich klatschte also beide Dateien hintereinander,
unzippte sie und ließ dann tar auf sie los. Das dauerte etwas länger als hier steht, weil ich
mindestens viermal booten mußte (hmmm... warum verwende ich eigentlich nicht die Dos-Box?)
und ohnehin nicht genau wußte, was ich da tat -
aber es lieferte mir die netscape-binary (und noch'n paar Dateien und Verzeichnisse). Die
readme.lin sagte u.a.:
Installation of Netscape is very simple: unpack the tar file, and run the resultant executable. But there are, of course, a few exceptions....Eine der exceptions war, daß netscape unbedingt eine Datei ????????/nls/C haben wollte... es hätte doch genausogut auch nls/C nehmen können.
xterm:$ netscape can't allocate color #0d0b0b (gekürzt) can't allocate color #0g0h0t display not found xterm:$ _ ========================================================= xterm:$ netscape -display mono (8 Seiten voll Fehlermeldungen, dann geht endlich das netscape-fenster auf. In grau-weiß.)Im Menü Optionen_GeneralPreferences gibt es keine Karte Colors. Das ist schade, denn die Links sind zwar underlined, aber haben dasselbe freundliche Grau wie der Fensterhintergrund, so daß sie einfach nicht zu sehen sind!
Wenigstens weiß ich inzwischen, daß von startx sowohl ein Server als auch ein Client hochgefahren wird. Der Server gustiert ~/.xserverrc:
exec X :0 -auth .XauthorityFalls diese Datei, wie bei root defaultmäßig, nicht da sind, defaultet der Server zu seinen defaults. Und läuft - aber möglicherweise anders als die Server der User.
xsetroot -solid blue fvwmIch habe da ein bißchen gekürzt. Immerhin war in man xsetroot was Verwertbares drin.
So. Dann saß ich da vor meinem schönen blauen Hintergrund, und netscape lief immer noch
so komisch. Es fuhr auch immer mit derselben Seite hoch: Hier ist Netscape, oder so.
Diese Seite steht in der Dosen-Version in Klartext irgendwo in netscape.exe. Na dann
habe ich mir halt netscape mal angelesst.
An einer Stelle stand was von -visual und daß man sich doch
bitte mit xdpyinfo Klarheit über die verfügbaren Visuals verschaffen möge.
O bitte sehr: 5 Stück waren vorhanden, von 0x20 bis 0x24.
netscape -visual 0x22 startete monochrom,
netscape -visual 0x21 startete bunt. Falsche Farben vermutlich, aber wesentlich besser
als gar keine.
So! Und damit das S.u.S.E.-Hilfesystem nun auch unter X ging, habe ich noch schnell
~/.fvwm geändert.
vorher:
Exec "S.u.S.E. Hilfesystem" exec arena /SuSE/usr/doc/susehilf/index.html &nachher:
Exec "S.u.S.E. Hilfesystem" exec /tmp/netscape/netscape -visual 0x21 &Dann rief Rolf an und drückte sich um die Aussage, daß er nicht wußte, was ein Visual ist. Natürlich wußte er, was ein X-Server ist, und daß dessen Name zusammen mit der Option -display gegeben werden muß, aber den Namen hatte er gerad nicht im Kopf. Im übrigen, sagt er, ist es Blödsinn, Linux ohne TCP/IP im Kernel laufen zu lassen. Zwar ist mein Rechner als Loopback konfiguriert, aber ob er jemals an seine eigene IP-Adresse kommt?
cd / ls -R * >~/filelist.txtmir eine komplette Liste aller vorhandenen Dateien in meinem Zuhause erstellt. updatedb und locate arbeiten nicht halb so präzise wie ich zu Fuß.
less filelist.txt / povrayoder kürzer mit
grep povray *kam ich dann der Geschichte auf die Schliche;
export POVRAYOPT=/usr/local/lib/pov/includeangereichert wird. Das ist sicher lieb gemeint von den Slackware-Leuten, aber povray gustiert seine Optionen nunmal lieber mit einem vorangestellten + (für Option_aktiviert) L (für include-Pfad). Richtig wäre also gewesen:
export POVRAYOPT=+L/usr/local/lib/pov/include
Weil das so schön geht, habe ich heute danach in Ruhe die
Paketbeschreibungen im Buch gelesen und ein paar Sachen installiert,
die nützlich schienen. xess3 ist tatsächlich SEHR nützlich (auch
wenn ich noch nicht weiß, wie man die Graph-Utility mit Daten füttert) -
tgif auch (auch wenn ich noch nicht weiß, ob und wie man damit
animiertte GIFs erzeugen kann - und
fishtank und ImageMagick wollen noch nicht laufen.
I carry on! Meine Linux-Distribution (so es denn eine geben wird)
wird übrigens als dicke tgz-Datei kommen und mit fetter html-Hilfe für
Neulinge bis PowerUser angereichert sein.
Ich mach's kurz: Zwei Stunden später war mir eingefallen, daß ich in den Urzeiten mal aus
Versehen magicHIT gestartet hatte. Damals noch, ohne damit etwas anfangen zu können.
Und daß ich in jenen Urzeiten noch die fvwm.Module GoodStuff und ProgStuff
eingeschaltet hatte, weil ich nicht wußte, wie man sie ausschaltet.
Die habe ich mir dann per Mausklick wieder auf den Bildschirm geholt, mich mal wieder über
das Ekelbraun geärgert, mit dem sie auf meinem Bildschirm hinterlegt sind, und dann
versuchsweise angeklickt. Und siehe da: magicHIT lief ohne Meckern hoch!
Ein Durchsuchen der ~/.fvwmrc nach magicHIT förderte dann zutage, daß
magicHIT mit dem schönen Befehl
*Progstuff MagicHit magic.xpm Exec "magicHIT" magic &gestartet wird.
Somit weiß ich nun:
Gut zu wissen. Ich habs noch ein bißchen sortiert:
flying Play Billard. Starting procedure unknown. gchess chess. tetris keys were fine for us keyboard oonsoo a game, I think. Won't start. xearth92 just for mono and svga servers... xephem views planets configuration, moon phase, 3d xgammon backgammon xtacy112 obviously misses its data files workbone plays cd's. xlock screen saver
jpeg seejpeg, djpeg, cjpeg, unjpeg. povray raytracer tgif some sort of coral_draw xfig another great drawing program xfract fractint: creates fractals, and makes them 3-D xli image processing xpaint very nice bitmap editor xv another very nice bitmap editor
f2c converts fortran to C, C++ p2c pascal to c translator perl a programming language
elm ??? flex ??? howto ??? xmcd ??? xpm ???
Schließlich bin ich u.a. auch ein User und weiß ziemlich genau, was ich will. Und obendrein noch, inwieweit das System mir dabei helfen kann.
Aber die Idee, Programme mit Optionen zu starten, kann auch nur aus einem kranken Programmierer-Hirn entspringen. Wer zum Teufel soll sich denn den ganzen Scheiß merken?
Ich rede nicht von Revolution. Ich rede nicht davon, alles anders zu machen. Wenn ich mit
Windoze zufrieden wär, würd' ich mich hier nicht rumtreiben.
Ich rede von Evolution, davon, alles besser zu machen. Ich rede davon, die gewachsenen
Systemressourcen für mehr Userfreundlichkeit einzusetzen, ohne am (rechnertechnisch gesehen:
perfekten) System herumzudoktern.
Es muß ein bis zwei Generationen Wissenschaftler vor mir gegeben haben, die unter Un*x ihre
Studienarbeiten geschrieben haben. Schön für die. Und wahrscheinlich würde es noch wesentlich
mehr davon geben, wenn das System diese von mir geforderte Entwicklung schon vor 20 Jahren
genommen hätte.
Warum kommt keine Hilfe nach 30 sec Herumprobieren an einfachsten Kommandos? Die Form wäre
ja egal.
Wo sind die Dateien für den quick-and-dirty Einstieg? Linux Manuals sind vollständig und stilsicher.
Aber
Immerhin weiß ich jetzt, daß ich nicht zu blöd bin, X zu konfigurieren. Seine 1989er Karte zeigte (unter heftigem Flimmern, aber immerhin) 256 Farben bei 1024x768 Pixeln und zappte mit C-M-<Num-> bzw C-M-<Num+> munter durch die drei Auflösungen, und das ohne Ruckeln. Es läuft insgesamt alles ruhiger, als wenn Win 3.1 mir 6 FLI-Dateien im Dauerloop zeigt. Ach, war das schön bunt hier.
Ich hab sie ihm zurückgebracht. Erstens belegte sie einen der beiden ISA-Steckplätze, und die brauche
ich doch für ISDN-Karte und SoundBlaster. Und zweitens habe ich keine Lust, mir an dem Geflimmer
die Augen zu verderben. Zum Sysop-Lernen reichen doch wirklich 640x480 Pixel im schnellen,
dithernden Mono-Server aus.
Außerdem gab er ein LaTeX-Buch ab. Das ist zwar aus den späten Achtzigern, aber seitdem hat
sich da nicht viel geändert. Mir wird es beim Erstellen der LaTeX-Seite helfen, und wenn die fertig
ist, ist das Buch ja nun mal obsolet...
Ich habe mich dann mit ihm gestritten, warum es keine Tools gibt, die meine HTML-Dateien und deren
Links verwalten und grafisch darstellen. Ich meinte unter anderem so etwas wie "Ich ändere index.htm
zu index_e.htm, und er datet alle Links auf den anderen Seiten up." Eine blöde Textdatei, die sowas
fertigbringt, müßte ja sogar als Makro für Winword 2.0 zu machen sein.
Rolf meinte allerdings, ich bräuchte dazu eine Datenbank in PERL. Wieso, sagte ich, unter Win 3.1
gibt's doch auch diesen Setup, wo man alle anwesenden Anwendungen in die Gruppe "Verwendungen"
sich holen LASSEN kann. Dann klickt man sie in Ruhe durch, und was hochläuft, darf in der Gruppe
bleiben.
Natürlich reicht es nicht, wenn Linux dafür einfach nach Executables sucht. Schließlich laufen die meisten
Programme und Shell-Skripte, im gegensatz zu ihren Windoze-Pendants, nicht ohne Optionen.
Natürlich habe ich auch dafür eine Idee: es dürfte nicht zu schwierig sein, Linux zu bitten, beim
Start von *progname erst zu gucken, ob es irgendwo eine Datei progname.sh gibt.
Diese würde dann, solo oder mit *dialog, und natürlich
bereits zum Teil ausgefüllt, so aussehen:
Welcome to ls, the Linux directory inventor. Please choose options: List only files matching [ * ] [ ] show hidden files [ ] recursively o short form o long form [ ] older than: o 1 minute Pipe output to o 1 day o monitor o 1 month o file: [dirlist.txt] o specify: [24 hours ]Na, ich weiß jedenfalls einen, der das nicht macht, sondern höchstens runterlädt...
Meine Diamond Stealth Video 2000 ist zwar wohl das inkompatibelste, was mit auf dem Markt ist,
aber immerhin haben sich die Spinner von Diamond an den VGA-Karten-Standard gehalten.
Der befiehlt: 64 kByte Speicher.
Das reicht für 836x627 Pixel monochrom (und extrem flimmerig, nanu) oder 418x313 Pixel bei
16 Farben (nanu? Nachrechnen ergibt 153600 Byte minimalen Speicherbedarf dafür) oder
295x221 Pixel bei 256 Farben.
Und weil die Jungs von XFree86 nicht geschlafen haben, funktioniert das auch, d.h. ich kann mir
Xtacy, MPEG und *.fli Dateien angucken bis mir total bunt vor den Augen wird.
Genau das habe ich gerade gemacht. Sollte ich die SVGA-Auflösung mal auf (rechnerisch
mögliche) 450*340 erhöhen? Dann würden die SuSE-Menüs auch wieder unverändert auf den
Bildschirm passen...
Heute vielleicht. Schließlich hat dieser Tag erst vor 2,5 h angefangen...