************************************************************************
************************************************************************
Version 18.04.06               Die wichtigsten Befehle -- eine Sammlung:
************************************************************************
************************************************************************


========================================================================
Inhaltsverzeichnis
========================================================================

 0 Einleitung, ein Pamphlet
 1 Tastatur Kommandos bei KDE
 2 Basis Linux / Unix Befehle versus DOS-Befehle
 3 Weitere Linux / Unix Befehle
 4 Format und Mount Devices in Linux / Unix
 5 Administration in Linux / Unix
 6 Bash personalisieren: Funktionen, Kürzel (alias) und Sprachen
 7 Archivierung
 8 Netzwerk
 9 Manual pages
10 LaTeX Befehle
11 Ausdruck in Buchform
12 drucken zu Hause
13 drucken an der ETH (als noch gedruckt werden durfte!)
14 Mail und ftp
15 emacs befehle
16 weitere nützliche Programme
17 Midas Befehle
18 Daophot-Befehle
19 Macintosh-Befehle



========================================================================
Einleitung, ein Pamphlet
========================================================================

Mit dieser Liste von Befehlen, die ich seit meinen ersten Linuxversuchen
anno 1997 angelegt habe, hoffe ich der geneigten Lerserin, dem geneigten
Leser, die ersten Linux-Momente zu erleichtern. Ich jedenfalls habe sehr
schlechte Erinnerungen an die aller erste Informatik Übungsstunde im ETH
Physikstudium:  ohne jegliche Hilfe vor einer UNIX-Maschine sitzend, die
ETH verfluchend. Es hätte den Prof. oder Assi keine 5 Min. gekostet, uns
die Funktionsweise von Unix, einer Shell etc. kurz zu erklären, aber die
Eliteschule ETH hat das nicht nötig, eine Organisation der Übungsstunden
schon gar nicht. Daß der Assi die erste Stunde im Computer Raum hielte?
... vergiß es. So saßen also hunderte von Studenten dutzende Stunden vor
dem Bildschirm, um eine Datei zu erzeugen, compilieren und per e-mail zu
verschicken... was in 3 Minuten erledigt wäre...

Eigentlich sollte vor der ersten Computerübungsstunde (im Physik-/Mathe-
matik-Studium an der ETH) ein Buch besorgt werden, in dem UNIX od. LINUX
erklärt wird, insbesondere die Funktionsweise der Shell, z. B. der bash,
denn sonst ist die Gefahr groß, schon im ersten Moment zu verzweifeln!

Das Buch von C. Newham: Learning the bash shell, kann ich nicht wirklich
empfehlen, hilfreicher war schon dasjenige von U. Cuber: Linux und seine
Werkzeuge. Etwas aktueller (2003) ist ein Buch von W. Schaffrath: Grund-
kurs Unix/Linux. Hier werden immerhin awk, grep, perl und sed erklärt.

Sobald die ersten Befehle bekannt sind, (dazu genügt eigentlich das Info
Blatt der ersten Übungsstunde, oder diese Seite),  empfehle ich das Buch
von P. Ditchen: Shellskript Programmierung zu besorgen,  oder aber: Bash
Ge-Packt von T. Zilm und K. Günther;  letzteres gefällt mir weniger gut,
beinhaltet aber sehr viele nützliche Tipps und Tricks.


*** STOPP, dies soll der Linux Neuling aber lesen ! ***
Bevor es los geht: die Shell oder Konsole ist diese komische Fenster, in
das "hineingeschrieben" werden kann. Falls Linux das erste mal gestartet
wird, und ein solches Fenster nicht erscheint,  liegt es sicher "hinter"
dem Icon das einen Bildschirm darstellt,  vielleicht eine Muschel zeigt,
oder ähnlich.  Wenn so ein Fenster offen ist, dann kann's los gehen: die
Shell erledigt alle Befehle auf Kommando!  Es startet z.B. ein Programm,
indem einfach der Name des Programms eingegeben wird. Falls sich ein Be-
fehl verweigert, dann kann mit der Eingabe von:  man befehl   das Manual
des Befehls aufgerufen werden.  Ich gebe zu, das erste mal kann es schon
extrem mühsam sein, aber mit der Zeit wird es selbstverständlich, so ein
manual zu Gemüte zu führen. Beendet wird die man Anzeige mit q für Quit.

Ah, und noch was: die Befehle (auch mehrere Zeilen) können einfach ange-
strichen werden (mit der Maus, z. B. hier in der Textdatei) und am Ziel-
ort, z. B. eure Shell, mit der mittleren Maustaste hineingepastet! Wow!


========================================================================
Tastatur Kommandos bei KDE
========================================================================
________________________________________________________________________

CTRL + F1,2,3...	Wechsel zum entsprechenden virtual Desktop
CTRL + TAB		schrittweiser virtual Desktop Wechsel
SCROLL mit MAUS		über den virtual Desktops (Pager) scrollen!

ALT + TAB		Wechsel der Fenster im virtual Desktop.

CTRL + ESC		Prozesstabelle
CTRL + ALT + Backspace	X-Server shutdown
________________________________________________________________________



========================================================================
Basis Linux / Unix	Befehle   versus                     DOS-Befehle
========================================================================
________________________________________________________________________

CTRL + ALT + Backspace	 X-Server killen          <CTRL> + <ALT> + <DEL>
________________________________________________________________________

cd			Verzeichnis wechseln (change directory)       cd
cd ..			eine Verzeichnisstufe tiefer               cd ..
cd /			ins root (/) Verzeichnis wechseln          cd C:
cd ~			ins home (~) Verzeichnis wechseln
________________________________________________________________________

ls			Dateien und Verzeichnisse anzeigen           dir
ls | less		Datei- und Verzeichnisanzeige seitenweis  dir /p

ls -l | more		Dateianzeige seitenweise mit Details (-long)

ls -a			Dateianzeige inklusiv versteckter Dateien (Punkt
			vor Dateiname) -a versteckt,
                                                            dir -r -s -h
			mit -h hidden, -s system, -r readonly

ls -lrth		Dateianzeige im Detail und umgekehrter Zeitfolge
			(-rt reverse time ordered) und -h humaner Angabe
			der Dateigroesse
________________________________________________________________________

rm Datei		löscht Datei                                 del

rm -rf verzeichnis	löscht volle Verzeichnisse Rekursiv ohne Fragen
rm -f .verstecktedatei	löscht mit . versteckte Dateien
			-r rekursiv, also auch Unterverzeichnisse
			-f force, ohne Nachfragen
			                                         deltree
________________________________________________________________________

cp quelle ziel		Dateien kopieren                            copy
cp file1 file2                                          copy a.txt b.txt

cp *.sty ~/latex	kopieren aller *.sty Dateien aus dem aktuellen
			Verzeichnis ins home/latex Verzeichnis

cp -v -u *.* /ziel	update aller veraenderten Dateien mit Prozess
			angabe -v verbose.
________________________________________________________________________

mdosbefehl		dos befehle in der shell ausführen, kann z.B.
			nützlich sein, wenn der Name des Disketten
			Laufwerks nicht bekannt ist:

mcopy A:/a2.tex /global/helene/users/login/astro/a2.tex
________________________________________________________________________



========================================================================
Weitere Linux / Unix	Befehle
========================================================================
________________________________________________________________________

man befehl		zeigt im Terminal die Manual-Seite     befehl /?

whatis befehl

apropos befehl		des befehls                                 help

			Befehle, von denen umbedingt einmal die man-page
			angeschaut werden sollte, sind:

awk
cut
grep
head
sed
sort
tail
tr
wc
xargs

________________________________________________________________________

befehl1 | befehl2	Die pipe leitet die Ausgabe eines ersten Befehls
			statt an die standard Ausgabe weiter zu einem 2.
			Befehl. Erst das Ergebnis des letzten Befehls
			wird dann angezeigt. SEHR Nützlich! Beispiele
			folgen weiter unten!
________________________________________________________________________

ps			Prozesse anzeigen,  die Zahl der ersten  Kolonne
			gibt die Prozess-ID an

kill -9 PID		Prozess beenden,  PID ist die mit dem Befehl  ps
			angezeigte Zahl
fg			fortfahren eines mit ^Z gestoppten Prozesses
bg			idem, aber im Hintergrund

top			Fortlaufend Prozeße anzeigen

kill -9 `ps | grep gv | awk '{ print $1}'`
kill -9 `ps u | grep gs | awk '{print $2}'`
			Dieses Konstrukt wird klarer,  wenn grep und awk
			bekannt sind. Hier kurz die Bedeutung. Statt der
			PID wird der Wert des Befhels ausgegeben, --> ``
			der natürlich solche PIDs liefern soll: Die Aus-
			gabe von ps wird zum Befehl grep weiter geleitet
			(ge-piped) --> | der nach Zeilen mit gv sucht.
			Zeilen die gv enthalten werden weiter an awk ge-
			piped.  Awk  gibt dann von diesen Zeilen nur die
			Zahlen des ersten Feldes (Kolonne aus), eben die
			PIDs.  Mit diesem Konstrukt werden also alle gv-
			Prozesse beendet.
killall gv		Es geht auch einfach, oder auch
pkill gv
________________________________________________________________________

du			Größe des Kontos (disk usage)
du -ah			mit allen files und humaner Angabe
du -ch | grep total	nur die totale Größe
du -sk ~/ | more	Größe des Kontos in KB
________________________________________________________________________

df			Belegung des Accounts, Disks (disk free)

df -h | grep /dev/hda1 | cut -c 41-43
________________________________________________________________________

quota -v		quota in einer shell abfragen
________________________________________________________________________

who			um zu wissen wer noch eingeloggt ist
________________________________________________________________________

finger login		Abfrage ob Benutzer mit login eingeloggt ist
________________________________________________________________________

cat file		Anzeige des file im Terminal (wie less, more)

cat > file		um in eine Datei file zu schreiben
text			eingeben, mit Eingabe beenden, und
^d			abspeichern (Control+d)

cat >> file		schreibt am Ende von file weiter
________________________________________________________________________

chown user gglo.ist	Eigentümer der Datei gglo.ist ändern
chmod -R o=-rx dir/	Rechte (read/execute) rekursiv für ein Verzeich-
			nis ändern
chmod 755 hello.cgi	Datei hello.cgi ausführbar machen
chmod +x a.out		Datei ausführbar machen für alle Benützer
chmod u+x a.out		Datei ausführbar machen nur für user
________________________________________________________________________

./a.out			ausführbare Datei aufrufen unter Linux
a.out			ausführbare Datei aufrufen unter Uniux
a.out > out.txt		um Ausgabe eines C++ Programmes umzuleiten, gilt
			ganz allgemein für alle Befehle
________________________________________________________________________

ln ziel_datei name	erstellt einen Verweis name auf die ziel_datei.

ln -s sr1 cdrecorder	um einen symbolischen-Link vom vorhandenen Gerät
			sr1 nach cdrecorder festlegen
________________________________________________________________________

rename bla glo bla??.*	umbenennung von Dateien
rename 's/ld/d/' *	ersetzt die Anfanfsbuchstaben ld durch d
rename 's/\*/_/' *	ersetzt den * in ein _ in einem filename
________________________________________________________________________

Um bei Dateien mit Namen data_blabla.txt die Praefix data_ wegzubekommen
(rename geht in diesem Fall nicht!)

for i in data*.txt ; do
mv $i `ls $i | awk -F_ '{print $2}'`;
done

Oder mit cut statt mit awk! Z.B.

ls -l | cut -d" " -f 7-
________________________________________________________________________

mv $file `echo $file | sed 's/\(.*\.\)html/\1php3/'`
			ersetzt file.html in file.php3
________________________________________________________________________

grep suchwort datei	sucht in datei nach suchwort

grep -n -i 'wrong pattern' wrong.file

'' Sonderzeichen schützen
-n zeigt Zeilennummer an
-i mißachtet Groß-/Kleinschreibung
-v Suche umkehren, nichtzutreffendes ausgeben
-A x  Ausgabe von x Zeilen NACH Kontext
-B x  Ausgabe von x Zeilen VOR Kontext


ls -R | grep -v Track | grep -v '\.'| grep [a-zA-Z0-9] > list.txt

sucht erst nach Einträgen OHNE Track und entfernt dann alle Zeilen mit .
und schließlich alle Leerzeilen.

grep -B 1 '^C'	sucht nach Zeilen die mit C beginnen und gibt
		diese und die jeweils davor liegende Zeile aus.

diff -u -w datei_1.txt datei_2.txt | grep '^[+-]'
		gibt alle unterschiedlichen Zeilen aus.

________________________________________________________________________

find . -name "*.ps"	sucht im . Verzeichnis nach *.ps-Dateien
find . -name finder.dat | xargs rm
			um Datei finder.dat in allen Verzeichnissen zu
			loeschen
________________________________________________________________________

date
date --date='3 Dec 71'	Wochentag des 3. Dezember 1971
date +%Y		aktuelles Jahr
date +%s		Zeit in Sekunden seit 1.1.1970,
			so werden die Mails in KMail benannt!
date --date='3 Dec 71' +%s Zeit in Sekunden zwischen 1.1.1970 und 3.12
			1971
________________________________________________________________________

pwd			print working directory
________________________________________________________________________

awk '{for(i=2; i<=NF; i++) print $i }'
________________________________________________________________________

echo $'\106'		ein ASCII Zeichen ausgeben

Die Frage ist nun, wie ich statt der Zahl 106 eine Variable mit diesem
Wert benützen kann!?
________________________________________________________________________



========================================================================
Format and Mount Devices in Linux / Unix
========================================================================
________________________________________________________________________

To access a device such as CD, Floppy or ZIP, you need to mount them and
unmount, note: umount, to be able to eject the media afterwards.

mount /dev/cdrom	mount device
umount /dev/cdrom	unmount device (note the missing n)
eject

see file /dev/fstab (file-system-table) for names of devices.

Using SuSE (9.3) you can not mount them manually anymore.  This might be
anoying, if you want to access the data,  e. g. if you have a mixed-mode
"audio" CD and you want to mount the data part. Therefore edit the fstab
file (as root: type e.g. pico /etc/fstab) and change the line

/dev/cdrecorder /media/cdrecorder subfs
         noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0

to

/dev/cdrecorder /media/cdrecorder subfs
   users,noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0

i.e. add the word users, to allow users to mount the fs.

Another problem was to write to my vfat windows partition:  normal users
had no write permissions. So again, one has to change the fstab file to:

/dev/hda3  /windows/E  vfat umask=0,codepage=850,iocharset=iso8859-1 0 0

and then one should be able to write to the windows partition. Note, the
iocharset should better not be utf-8!
________________________________________________________________________

fdisk /dev/hda		formatier Harddisk a                       fdisk
________________________________________________________________________

Für Disketten (im ungemounteten Zustand!!!)

fdformat /dev/fd0H1440                                         format a:

mformat a:
________________________________________________________________________

obsolet im Linuxraum

fdformat /dev/fd0H1140; mkdosfs /dev/fd0                       format a:
			Formatiert eine Diskette
			und erzeugt das DOS Dateisystem darauf
________________________________________________________________________

superformat /dev/fd0u1440 ; mkdosfs /dev/fd0                   format a:
			Formatiert eine Diskette
			und erzeugt das DOS Dateisystem darauf
________________________________________________________________________

mke2fs /dev/hda1                                               format C:
________________________________________________________________________

dd if=/dev/zero of=/dev/hda

nach ca. 2Std. und 30 Min ist eine 80GB-Platte astrein:

  dd: writing to `/dev/hda´: No space left on device
156301489+0 records in
156301488+0 records out

oder kürzer:

dd if=/dev/zero of =/dev/hda bs=2k count =1
________________________________________________________________________

Floppy eines anderen Computers ansteuern: im terminal unter UNIX

ssh -l login slab168	Computer wechseln, oder von auswärts
ssh -l login slab4.ethz.ch

Are you sure you want to continue connecting (yes/no)? yes
login@slab168's password:

Option -l für login Name. Ist der login derselbe auf dem entfernten
Rechner, kann diese auch weggelassen werden.

cd /floppy
volcheck		diskette lesen
cd/floppy0
mv v1.tex ~/private/tex/vp
eject
________________________________________________________________________

lsof /media/cdrom	um herauszufinden, welches Programm auf
			/media/cdrom zugreift und ein umount verhindert
________________________________________________________________________

lspci			Gibt wichtige Informationen über die angehängten
			PCI Geräte. Dies ist nützlich, um beispielsweise
			bei einem Notebook herauszufinden,  was für  ein
			Chip auf dem "Noname" Modem steckt.
			Geht ev. nur als root!
________________________________________________________________________

lsmod			Gibt die geladenen Module an
________________________________________________________________________


========================================================================
Administration in Linux / Unix
========================================================================
________________________________________________________________________

xhost +
su			als Superuser einloggen
passwort eingeben
exit
________________________________________________________________________

passwd			Passwort ändern
________________________________________________________________________

Passwort Änderung n.ethz.ch: http://n.ethz.ch
Passwort Änderung stud.phys: http://nic.phys.ethz.ch
________________________________________________________________________

shutdown -r now		neustart (reboot) sofort
shutdown -h +180	runterfahren (halt) in 180 min.
________________________________________________________________________

rpm -qa | grep kde	welche KDE Packete sind installiert?

rpm -i package.rpm	installiere package.rpm
rpm -e package.rpm	entferne package.rpm
rpm -Uvh package.rpm	update package.rpm

--nodeps		Installation trotz Konflikten erzwingen
--oldpackage		Installation eines älteren Pakets (downgrade)
--replacepkgs		Ersetze Pakete von anderen Installationen
--force			erzwingen, installiertes wird überschrieben

rpm -i --force package.rpm
rpm -Uvh --nodeps package.rpm
rpm -Uvh --oldpackage package.rpm
________________________________________________________________________

RPM Pakete aus Quell (source) Paketen erzeugen

rpmbuild --target i686 --rebuild noname-0.0.1.src.rpm
rpmbuild --rebuild kuickshow-0.8.4-1.src.rpm
________________________________________________________________________

Welche Pakete soll ich eigentlich herunterladen, i386, i486, i586, i686?
Das bestimmt die Architektur des Computers, die mit dem Befehl

uname -a

oder auch einfach

arch

herausgefunden werden kann. Aber eigentlich sollte es auch mit Überlegen
gehen: das i steht für Intel, die erste Zahl für die Generation der Pro-
zessor-Familie (i80x86), ergo ist die Architektur i586 die fünfte --> PI
(Pentium I),  demnach gilt i686 für alle weiteren  Pentium Generationen:
PII-PIV!  Bei meinem PIII installiere ich wenn möglich immer i686 rpms!
Oder starte in KDE3.3 das Control-Center, und siehe da, der Begrüssungs-
Bildschirm gibt all diese Informationen!
________________________________________________________________________

Rpm-Pakete entpacken in ein Zielverzeichnies:

1) Den Ihnahlt mit den genauen Dateibezeichnungen im Paket "package"
   herausfinden:

rpm -qpl
rpm2cpio package | cpio -t

2) Entpacken:

rpm2cpio package | cpio -iv --make-directories zielverz

   Beispiel, um eine SPEC Datei zu bekommen:

rpm2cpio streamripper-1.60.10-2.src.rpm | cpio -iv --make-directories \
streamripper.spec
________________________________________________________________________

Rpm-Paket selber herstellen (ausgehend von einer foo.tar.gz-Datei):
Als erstes muß die tarball-Datei ins default Verzeichnis kopiert werden:

cp ripit-2.7.tar.gz /usr/src/packages/SOURCES/


Als nächstes brauchen wir eine Datei mit den Spezifikationen, z.B.
liefert more ripit-2.7-1.spec
---------------------------------- bof ---------------------------------
#
# spec file for package RipIT (Version 2.7)
#
Name: ripit
Summary: Perl Script to Create .ogg or .mp3 Files from an Audio CD
Version: 2.7
Release: 1
License: GPL
Group: Productivity/Multimedia/CD/Grabbers
Source: ripit-%{version}.tar.gz
Packager: Felix Suwald
Url: http://www.suwald.com/ripit/index.html
Requires: cdparanoia vorbis-tools perl perl-CDDB_get
BuildRoot:    %{_tmppath}/%{name}-%{version}-build
BuildArchitectures: noarch

%description
This Perl script makes it easy to create MP3 files from an audio CD. It
tries to find the artist and song titles with the help of CDDB.



Authors:
--------
    Felix Suwald <ripit[_at_]suwald[_dot_]com>
    Mads Martin Joergenson <mmj@mmj.dk>
    Simon Quinn <Simon_contact_me_@_ripit!>

%prep
BINDIR=/usr/bin
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/$BINDIR

%setup

%build

%install
BINDIR=/usr/bin
install -m 755 ripit.pl $RPM_BUILD_ROOT/$BINDIR
ln -s ripit.pl $RPM_BUILD_ROOT/$BINDIR/ripit
chmod a-x README HISTORY

%clean
rm -rf $RPM_BUILD_ROOT

%files

%defattr(-,root,root,755)
/usr/bin/ripit
%config(noreplace) /usr/bin/ripit.pl
%doc README HISTORY
---------------------------------- eof ---------------------------------

Dann können wir mit dem Bau des rpm-Paketes beginnen:
rpmbuild -ba ripit-2.7-1.spec

Umedingt Meldungen beachten!
Die erstellten Pakete können dann kopiert werden

cp /usr/src/packages/SRPMS/ripit-2.7-1.src.rpm .
cp /usr/src/packages/RPMS/noarch/ripit-2.7-1.noarch.rpm .

________________________________________________________________________

tune2fs -i 69d /dev/hda5

tune2fs 1.34 (25-Jul-2003)
Setting interval between check 5961600 seconds

Damit nicht alle 14 Tage beim Systemstart ein fsck stattfindet,  sondern
nur alle 69 Tage...
________________________________________________________________________

hdparm -d1 /dev/hdc	dma Modus einstellen, damit DVD nicht ruckelt.
hdparm -d1 -k1 -c1 /dev/hda	manchmal fliegt der DMA Modus raus...
________________________________________________________________________

DOS-Tricks: *.lnk (link-)Dateien löschen
           start --> run (Ausführen) --> regedit und Code eintippen
           start --> run --> command --> neues Fenster: ftp hg.n.ethz.ch
           start --> run --> ftp.hg.n.ethz.ch
________________________________________________________________________



========================================================================
Bash personalisieren: Funktionen, Kürzel (alias) und Sprachen
========================================================================
________________________________________________________________________
Funktionen (Mehrzeiler)

Z. B. in die Datei ~/.bashrc (die Tilde bezeichnet das Home-Verzeichnis)
können eigene Funktionen eingetragen werden.  Dies kann nützlicher sein,
als unmengen von shell-Scripts zu verwalten und finden.  Damit eine neue
Funktion aufrufbar (erkannt) wird, muß, in diesem Fall die bash, neu ge-
startet werden, indem einfach

bash

eingegeben wird. Hier ein Beispiel eines solchen Eintrags.

# lower-case changes file and directory names
# from upper case to lower case and changes
# the permissions to rwx. This was needed, when
# I had to copy Linux files via Windows...
function lc {
for i in *
do
mv $i `echo $i  | tr 'A-Z'  'a-z'`
done
chmod u=rwx *.*
}
________________________________________________________________________
Aliase (Einzeiler)

Über einen Eintrag in der Datei .bashrc im Home-Verzeichnis können Alias
dauerhaft eingerichtet werden. Trage am Ende der Datei .bashrc mit einem
editor (z. B. pico, kwrite, emacs...) oder mit cat >> folgende Zeile ein

alias dir='ls -l'

Damit dieser Befehl wirksam wird, muß bash "neu gestartet" werden, d. h.
in einer bereits offenen shell nochmals

bash

eingeben, dann erscheint bei der Eingabe von dir kein Command not found,
sondern das gewünschte Ergebnis.
Um zu sehen welche Alias bereits vorhanden sind, gebe einfach alias ein!

Hinweis:  Besteht der Befehl eines Alias aus einem Wort, muß er nicht in
Anführungszeichen gesetzt werden. Das ist nur nötig, wenn der Befehl aus
mehreren Worten mit Leerzeichen dazwischen besteht (wie im obigen Fall).
Sind lediglich Leerschläge vorhanden, dann genügen die doppelten Anführ-
ungszeichen (double quotes), die einfachen (single quotes) sind stärker.

________________________________________________________________________

Im Unix-Raum an der ETH wird die tcsh empfohlen, ganz analog im Home
Verzeichnis Einträge in die Datei .tcsh oder .tcsh.usr anfügen

cat >> .tcsh		oder besser wie vorgeschlagen:
cat >> .tcsh.usr
alias a4he    "vpp -dest=hge26-1 -fo=A4HE.duplex -dev=printer -noflag"
C_d			(Control+d) zum abspeichern
________________________________________________________________________

Auf Linux im home Verzeichnis:

cat >> .tcshrc.user
alias dpp "dvips -o -pp"
alias dp  "dvips -o d.ps"
C_d

neu einloggen, oder einfach tcsh neu starten durch Eingabe von tcsh.
________________________________________________________________________

alias			listet alle gesetzten alias auf
________________________________________________________________________

alias xemacs 'xemacs -bg white&'
________________________________________________________________________

Sprachen und Tastatur in der bash: siehe z.B.
man 7 unicode
man 7 utf-8

Welche lokalen Sprachen kann ich überhaupt benützen?
~> locale -a
Dann mit
~> locale
herausfinden, welche Variablen gesetzt wurden. Um sie zu ändern, z. B.
~> export LANG=de_CH.UTF-8
oder
~> export LANG=en_US.UTF-8
eingeben.

Und wie bringe ich es nun fertig, dass dies bei jedem Neustart so einge-
stellt ist? In der von SuSE generierten .bashrc Datei, in der ich eigene
Funktionen definieren durfte, steht, daß es besser ist, Sprach-Einstell-
ungen in der Datei .profile zu machen. Wenn die Datei noch nicht vorhan-
den ist:
~> cat > .profile
export LANG=de_CH.UTF-8

Control+d zum Abspeichern
oder obige Zeile mit einem Texteditor wie pico hinzufügen! Ober aber mit
cat >> .profile an die bestehende Datei anhängen.
Die globalen Einstellungen habe ich unter /etc/SuSEconfig/ gefunden, in-
dem ich in /etc mit  grep -r 'LANG=' * gesucht habe. Ich fand eine Datei
profile, und habe dort alle Einträge  _DE.UTF-8 nach _CH.UTF-8 geändert.
Damit brauche ich keine Datei .profile in meinem Heimverzeichnis, und es
kommen beim Start von Mozilla etc. keine Fehlermeldungen, daß bei diesen
lokalen Einstellungen das Programm nicht starten kann...

Zum aktiven konvertieren hilft der befehl ivonv. Mit dem Befehl file die
Datei-Art herausfinden!
~> file befehle.txt
befehle.txt: UTF-8 Unicode English text

Jetzt kann mit iconv --list angezeigt werden, was es alles für Formate
gibt, und mit
~> iconv -f UTF-8 -t ISO-8859-15 befehle.txt
die Datei zu (to) ISO-8859-15 konvertiert werden.
________________________________________________________________________

Sprachen und Tastatur in KDE3:

Ich persönlich empfehle, als Sprache US-Englisch zu verwenden. Denn wenn
Probleme auftauchen, kommt Hilfe aus dem Internet meist nur auf Englisch
und kann nur auf Englisch angefragt werden. Daß die Titel-/ Menü-Leisten
der Fenster dann auf Englisch sind, stellt wohl kaum ein Problem dar.
Falls weitere Sprachen installiert werden sollen (mittels Control-Center
eingstellt), dann müssen die entsprechenden kde3-i18n rpm-Pakete instal-
liert werden, mit YaST...! (i18n bedeutet i+18Buchstaben+n und steht für
internationalization).
Also, sollten im Control-Center keine weiteren Sprachen zur Wahl stehen,
dann mit YaST die entsprechenden kde3-i18n Pakete installieren,  dann im
Control Center auswählen und "priorisieren" (d. h. an die oberste Stelle
verschieben), danach ev. X-Session neu Starten.
________________________________________________________________________



========================================================================
Archivierung
========================================================================
________________________________________________________________________

zip name.zip *.tex	komprimiert alle Dateien.tex zu Datei name.zip
unzip name.zip	dekomprimiert alle Dateien
________________________________________________________________________

tar xvf name.tar		entpackt tar datei
tar xvf name.tar -C ~/progs	entpackt tar datei nach  ~/progs
tar xvjf name.tar.bz2		entpackt tar.bz2 datei
tar xvzf name.tar.gz		entpackt g-zipte tar datei
tar xvzf name.war		entpackt g-ziptes web archiv
tar cvfz foo.tar.gz datei dir	archiviert datei und Verzeichnis dir
tar cvfj foo.tar.bz2 datei dir	archiviert datei und Verzeichnis dir

oder in 2 Schritten:
1) gunzip name.tar.gz	und dann
2) tar -xvvf name.tar

x: entpacken
v: verbose
f: file
z: g-zip komprimiert
c: erzeugen (compress)
________________________________________________________________________

Tips und Tricks mit tar- und war-Archiven

Bei KDE gibt es das Web-ARchiv war, dessen Inhalt (die index.html Seite)
vom Konqueror schöner angezeigt wird, als bei einem normalen Archiv  mit
dem voreingestellten Mime Bild.  Es handelt sich aber kein neues  Datei-
format, sondern ein ganz normales (ev. komprimiertes) Archiv! D.h.:

Bei jedem Problem: mit dem Befehl file zuerste einmal überprüfen, in was
für einem Format die Archiv-Datei vorliegt:

file meinarchiv.war	Gibt das Dateiformat an: tar, zip, gzip, bz...

Benenne die Datei dem Format entsprechend um, und versuche erneut zu de-
komprimieren, allenfalls in 2 Schritten, siehe unten. And be aware, that
a simple tar file coming from Windows might become a tar.tar file.  Just
rename it properly file.tar!

You can also rename your archive.tar to file.tar.gz and then try to gun-
zip as usual: gzip -d file.tar.gz and then do tar -xf file.tar or in one
step: tar -xvvzf file.tar.gz


to unpack on the fly...
gunzip < FILE.tar.gz | tar xvf -
to pack on the fly...
tar cvf - FILE-LIST | gzip -c > FILE.tar.gz

If you get an "tar: Archive contains obsolescent base-64 headers" error
message, then rename your archive.tar to db-ojb-1.0.rc3.tgz and use:
tar -xzf db-ojb-1.0.rc3.tgz
________________________________________________________________________

less name.gz            um name.tar.gz zu lesen,           wie DOS: type
________________________________________________________________________

Internetseiten rekursiv archivieren  (kann das Web-Archiv von  Konqueror
3.3 noch nicht):

wget -k -p -r -l3 http://www.accesszone.com/clickdeath/index.html

-k die links werden angepasst
-p pager requisits, alles was benötigt wird
-r rekursiv
-l3 undzwar 3 Ebenen tief

dann die html-Seite zu index.html umbenennen

mv hauptseite.html index.html

und mit den Verzeichnissen html und assets komprimieren:

tar cvf - index.html html assets | gzip -c > click_of_death.tar.gz

schliesslich:

mv click_of_death.tar.gz click_of_death.war

und schon haben wir ein schönes Webarchiv (für Konqueror).
________________________________________________________________________



========================================================================
Netzwerk (Achtung, ev. können Befehle nur als su ausgeführt werden!)
========================================================================
________________________________________________________________________

rcnetwork status
rcnetwork restart
________________________________________________________________________

ifup wlan0
________________________________________________________________________

ifstatus
ifconfig		Info über Netzwerkkarten, z.B. MAC, IP Adresse
ifconfig eth0
iwconfig wlan0
________________________________________________________________________

Probleme bei NFS Server/Client Konfiguration, alles mit YaST:
Beispiel: PC mit WLAN ist NFS Server, Notebook mit ETH ist Client.
Ich mußte die aktuellen IP Adressen (192.168.0.x & 192.168.0.y) heraus-
finden (als su in einem Terminal eingeloggt mittels dem Befehl ifconfig)
und sicherstellen, daß sie in den host Tabellen der anderen Rechner ein-
getragen sind. Dann zuerst am PC den NFS Server starten, danach Notebook
mittels Netzwerkkabel anschließen und NFS Client starten.  Seit SuSE 9.2
bricht der NFS-Client start meist mit einer Fehlermeldung ab, obwohl das
Verzeichnis (mit  more /etc/mtab  kontrollieren) erfolgreich eingebunden
wurde! Es kann also losgehen, auch wenn SuSE einen Mißerfolg meldet. Mit
SuSE 9.3 habe ich weniger Probleme beim Starten des NFS-Client.
________________________________________________________________________



========================================================================
Manual pages
========================================================================
________________________________________________________________________

man man			Allgemeines über man

man man.7		Macros zur Formatierung von man pages, erste
			Informationen um eine man-page zu erstellen.

less /usr/share/man/man1/man.1.gz
			um den Quelltext von man.1 zu betrachten.

________________________________________________________________________



========================================================================
LaTeX Befehle
========================================================================
________________________________________________________________________

In Linux verwende Editor kile!

kile &			um kile von bash aus zu starten
________________________________________________________________________

Anfangs 1990er Jahre an der ETH...

obsolet: vor dem kompilieren: module add latex bzw. module add tex
________________________________________________________________________

Heute via Kommandozeile:

latex title.tex
________________________________________________________________________

xdvi title.dvi &	um title.dvi unter unix anzusehen, oder
kdvi title.dvi &	in linux mit KDE
________________________________________________________________________

dvips -o title.ps m	um m.dvi zu title.ps konvertieren

Option -o:		um den automatischen Ausdruck zu verhindern
Option -pp1,3,5-15	nur die Seiten 1, 3 und 5-15
________________________________________________________________________

dvips -pp 1,3,9-13 title.dvi    druckt Seiten 1,3,9-13 von title.ps aus
________________________________________________________________________

psnup -pa4 -2 m.ps psoutput.ps  druckt mehrere Seiten auf ein Blatt
________________________________________________________________________

gv &			ghostview, um ps-Dateien anzusehen
________________________________________________________________________

BoundingBox in ps-Dateien manipulieren: als normalen Text öffnen und die
ersten 4 Zahlen (stehen nach %%) ändern; (x,y)-Ecke links unten und Ecke
rechts oben.
________________________________________________________________________

ps2ps t1.ps t2.ps	"verschoenert" ps-Dateien
________________________________________________________________________
Um ein Glossar zu erzeugen,  habe ich die "style"-Datei gglo.ist gesucht
und geändert.  Im LaTeX Dokument muß die Zeile \makeglossary stehen, da-
mit die Datei .glo erzeugt wird. Danach kann die Datei glo.tex ans Doku-
ment angehängt werden.

makeindex -s mygglo.ist -c -o glo.tex m.glo

Option -s		eigenes style file benützen
Option -o		um in eine output Datei auszugeben
Option -c		um ueberzaehlige blanks und tabs zu loeschen.
________________________________________________________________________

ps2pdf m.ps		ändert nicht ausdruckbares file.ps nach file.pdf
pdftotext m.pdf		erstellt Datei m.txt, c'p ins LaTeX, genial!
acrored m.pdf		um das file.pdf anzuschauen, dann direkt drucken.
_________________________________________________________________________



========================================================================
Ausdruck in Buchform
========================================================================
________________________________________________________________________

dvips -o m.ps m.dvi
psbook -s16 m.ps t.ps
psnup -pa4 -2 t.ps d.ps
lpr -Zshortbind d.ps                                           am hoengg
vpp -dest=hge26-1 -fo=shortbind.A4H -dev=HP5Si -noflag d.ps    im zentru
vpp -dest=hgg30 -fo=weiss.a4H.shortbind -dev=pts d.ps          g-stock
________________________________________________________________________

Ein einseitig erstelltes ps-Dokument zweiseitig (in Buchform) ausdrucken
(d. h. eine Leerseite als Seite 2 einfuegen):
psmerge scheint nicht zu funktionieren.
1) Deckblatt erstellen:  psselect -p15,1 emacs.ps title.ps
2) Rueckseite: psselect -p14 emacs.ps back.ps
3) pstops  '1:0U(21cm,29.7cm)' back.ps upside.ps
4) psnup -pa4 -2 title.ps d1.ps
5) psnup -pa4 -2 upside.ps d2.ps
6) d1.ps drucken:
   vpp -dest=hge26-1 -fo=manual -dev=HP5Si -noflag d1.ps
7) dann das herusgekommene Blatt wie es ist in
   den Einzeleinzugschacht einlegen, d2.ps drucken.
8) Rest drucken.

Etwas kniffliger wird die Situation,  wenn das Vorder- und Rückblatt nur
rechts bedruckt werden soll, sonst leer. Dann muß bereits die erste Sei-
te die aufs Blatt rechts kommen soll, gedreht werden, dann psnup. Die 2.
Seite muß auch gedreht werden, dann psnup, aber dann nochmals gedreht!
________________________________________________________________________

mp3-Büchlein:

1) Erste Seite des Büchleins nach vorne verschoben drucken, zuerst also
   dvips -O 11.5cm,0in -pp 1 -t landscape -o mp3.p1.ps mp3
   Beachte, Durchmesser ist 11 cm, also entweder <11cm oder <16cm
   verschieben, um ein rundes Büchlein zu erhalten oder Form der
   Laschen der CD-Tasche zu bekommen.
2) danach die vierte Seite erstellen und drucken:
   dvips -pp 4 -t landscape -o mp3.p4.ps mp3
3) Wir wissen, daß der Rand 1in beträgt, der Durchmesser 11+0.5cm, wenn
   wir also um 11,5cm verschieben, dann beträgt der größere Rand 4.16cm,
   d.h. wir müssen die zweite Seite um 1.62cm verschieben:
   dvips -O 1.62cm,0in -pp 2 -t landscape -o mp3.p2.ps mp3
   wegen veränderter Rändereinstellung im Drucker...(?)
   dvips -O 2.0cm,0in -pp 2 -t landscape -o mp3.p2v2.ps mp3
4) die dritte Seite verschieben wir um 29,7cm-2*1in-11.5cm=13.12cm
   dvips -O 13.12cm,0in -pp 3 -t landscape -o mp3.p3.ps mp3
   wegen veränderter Rändereinstellung im Drucker...(?)
   dvips -O 13.5cm,0in -pp 7 -t landscape -o mp3.p7v2.ps mp3
5) lp -o PrintoutMode=High
   lpr -P dj -o PrintoutMode=High
________________________________________________________________________

Da KDE so eine tolle Oberfläche ist, das Eingeben von all den Zeilen nur
um ein Büchlein zu drucken viel zu mühsam, basteln wir uns ein  Service-
Menu! Wir schreiben folgende Zeilen in eine Datei und kopieren  sie nach
~/.kde/share/apps/konqueror/servicemenus/
oder ähnlich (je nach Distribution/Installation).

--------------------------------bof-------------------------------------
[Desktop Action ArrangeSides]
Exec=psbook -s4 %u %u_bk && psnup -2 %u_bk %u_book && rm %u_bk
Name[de]=4-seitige PS-Datei erzeugen
Name=4-page PS-file
Icon=contents

[Desktop Entry]
Actions=ArrangeSides
Encoding=UTF-8
ServiceTypes=application/postscript
--------------------------------eof-------------------------------------

Jetz kann mit dem Kontextmenü (Rechtsklick) einer ps-Datei diese  Aktion
gestartet werden, und ein Booklet wird automatisch erzeugt!
________________________________________________________________________
Es können aber leider immer wieder Probleme auftauchen. Ich habe mir bei
einem bestens funktionierendem Skript die Zähne ausgebissen! Nur weil im
Pfad der Datei die ich angeklickt habe, ein & (amperstand) vorkam, brach
das Skript unverrichteter Dinge ab, natürlich ohne zu sagen wieso... Wie
sollte es auch.  Ich habe die Ausführung des Skripts folgendermassen zum
Sprechen gebracht: statt

Exec=pdfbook %f

verwende ich

Exec=konsole --noclose -e pdfbook %f

wobei pdfbook ein funktionierendes Perl Skript ist, das ich mit /usr/bin
verlinkt habe. Der konsole Befehl öffnet eine neue Schell. In dieser ist
dann die Warnung ersichtlich! Datei nicht gefunden!

Hier noch eine Liste der desktop-entry-specs
http://www.freedesktop.org/wiki/Standards/desktop-entry-spec

  %f   A single file name, even if multiple files are selected. The sys-
       tem reading the desktop entry  should recognize that the  program
       in question cannot handle multiple file arguments,  and it should
       should  probably spawn and execute  multiple copies of a  program
       for each selected file if the program is not able to handle addi-
       tional file arguments.  If files are not on the local file system
       (i.e. are on HTTP or FTP locations),  the files will be copied to
       the local file system and  %f  will be  expanded to  point at the
       temporary file.  Used for programs that do not understand the URL
       syntax.
  %F   A list of files.  Use for apps that can open several  local files
       at once.
  %u   A single URL.
  %U   A list of URLs.
  %d   Directory containing the file that would be passed in a %f field.
  %D   List of directories containing the files that would be  passed in
       to a %F field.
  %n   A single filename (without path).
  %N   A list of filenames (without paths).
  %i   The Icon field of the  desktop entry expanded as two  parameters,
       first --icon and then the contents of the Icon field.  Should not
       expand as any parameters if the Icon field is empty or missing.
  %c   The translated Name field associated with the desktop entry.
  %k   The location of the desktop file as either a URI  (if for example
       gotten from the vfolder system)  or a local  filename or empty if
       no location is known.
  %v   The name of the Device entry in the desktop file.

Eine weitere Anleitung zu einem  speziellen servicemenu mit  Interaktion
(Benutzereingabe) gibt es in der Datei audiocd in dieser Ebene.
________________________________________________________________________


========================================================================
drucken zu Hause
========================================================================
________________________________________________________________________

mit dem alten SuSE-Linux 6.2

lpr -Plp                fuer normalen s/w Ausdruck 300x300dpi
lpr -Pcolor             fuer normalen Farbausdruck 300x300dpi
lpr -Phigh              fuer seltsamen Farbausdruck 600x600dpi
lpr -Pphoto             fuer seltsamen Farbausdruck 600x600dpi
________________________________________________________________________

mit SuSE-Linux 8.2

lp -Pdraft              oder   normal                   oder   high_grey
lp -Pdraft_grey         oder   normal_grey              oder   color
________________________________________________________________________

mit SuSE-Linux 9.0 unter CUPS obsolet
lphelp hp_deskjet845c zeigt Optionen an!
lp filename
lp -o PageSize=A4 -o PrintoutMode=Normal
lp -o PrintoutMode=Draft.Grey
________________________________________________________________________

mit SuSE-Linux 9.0 unter CUPS aktuell

Installation gelingt nur, wenn statt den tatsächlichen Mod. (HP-DeskJet-
845C und LaserJet-1015) die allgemeinen Treiber "DeskJet" und "LaserJet"
gewählt werden! Um das zu realisieren, hat mir SuSE einen ganzen Tag ge-
raubt! Fazit: NIE wieder SuSE!

Um einen bestimmten Drucker zu wählen, kann NICHT einfach wie in der CU-
PS Anleiung geschrieben steht, mit lp -d printer, gewählt werden, es muß
wie beim lpr -P Befehl, ohne Leerschlag:  lp -dlpdj (dj für DeskJet) und
lpr -Plplj (lj für LaserJet) eingegeben werden.

2-seitig drucken wenn Drucker dies nicht unterstützt:

lp -dlplj -o cpi=13 -o lpi=8 -o page-set=odd -o page-top=43 cd.txt

kontrollieren, ob letzte Seite gedruckt wurde oder nicht, falls ja, dann
letzte entfernen, Papier wieder einlegen, und

lp -dlplj -o cpi=13 -o lpi=8 -o page-set=even -o page-top=43
          -o outputorder=reverse cd.txt

lphelp lplj | less

Hilfe Seite:
http://localhost:631/sum.html

Nun kann ich mit dem HP-Deskjet nicht mehr farbig drucken,  was ich aber
eben noch konnte... Was tun? SuSE rausschmiessen? Einrichten einer neuen
Warteschlange plus Test mit dem Befehl lpr -Pcolor file.ps  ergibt einen
weiteren s/w-Druck.

Im nächsten Abschnitt stehen meine Erfahrungen mit SuSE und YaST! Finger
weg! mit dem ControlCenter aus KDE gings dann einwandfrei!

************************************************************************
Also schmeisse ich CUPS und alles raus,  starte neu um neu einzurichten,
womit mir der Hardwareplugger die kalte Schulter zeigt und keine neu er-
kannte Hardware meldet. Beim Einrichten wird die Software zwar eingespi-
elt,  dann schickt der Test mit dem Befehl  lpr -Php_Deskjet845c  irgend
eine Datei ins Nirvana, d. h. Drucker blinkt und bewegt sich auch nach 3
Minuten nicht...  Hingegen ist mal wieder die Uhr total verstellt, statt
wie eben 17.00 habe ich jetzt 7.58... Doofes SuSE. Wichtig scheint diese
Markierung bei local filtering zu sein. Wenn ich dort die Markierung weg
nehme, dann wird wenigstens gedruckt,  in ASCII statt graphisch richtige
Dateien... Ich werde nie wieder SuSE kaufen. Dann klicke ich auf fertig,
YaST schliesst und ein abgestürtztes SuSEplugger Fenster prangt auf mei-
nem Bildschirm... auch noch 3 Minuten später... Zur Hölle mit SuSE.  Bei
weiteren Versuchen von Neuinstallationen wird der CUPS-Server x mal Ini-
tialisiert, was nicht "one or two minutes" dauert, sondern mind. 15 Min-
uten, und das eben x-mal. Schliesslich lade ich nochmals meine ursprüng-
liche user9.0.sel und mache eine letzte Testreihe: CUPS-Server, aber mit
unterschiedlichen Treibern. Mit dem DeskJet_845C-cdj880.ppd.gz wurde be-
reits mit der ersten Testseite meine nagelneue s/w-Patrone fast geleert.
Ein anderer Treiber macht mir Monster-Zombie-Buchstaben, und schließlich
mit dem Treiber DeskJet_845C-gimp-print.ppd.gz geht alles perfekt:
************************************************************************

lphelp dj

schon kann gedruckt werden, auch das Ablegen der Dateien im Printmanager
sollte gehen.

Den lj habe ich dann aus dem ControlCenter heraus installiert.
Zuerst habe ich unter Hewlett-Packard den LaserJet 1100 gimp Treiber ge-
nommen, NICHT so gut. Dann unter HP den LaserJet 1150 hpijs, ist besser,
und schließlich unter HP den LaserJet 1200 hpijs Treiber.

Wie in http://localhost:631/sum.html beschrieben kann ich jetzt drucken:
lpr -P lj -o page-set=odd d.ps
dann nehme ich den Stapel,  kontolliere ob auf dem letzten Blatt bereits
die letzte Seite gedruckt wurde  (und entferne dieses Blatt in dem Fall)
und schiebe den Stapel tel-quel, nein, "Kopf voran" (!) ins Papierfach.
lpr -P lj -o page-set=even  -o outputorder=reverse d.ps

-o page-ranges=1 -o ppi=value

30.08.2004

Einrichten des HP Laserjet 1300N geht problemlos via ControlCenter.

Der Treiber Postsricpt (recommended) geht zwar gut, aber ich habe wieder
die von früher bekannten Probleme mit AutoCAD postscript Zeichnungen, in
denen die Strichstärke zu schwach ist,  und bei erhöhen der setlinewidth
Kurvern dicker werden als gerade Linien... Also verwende ich den Treiber
Foomatic/hpijs Treiber, wie für den HP1015 Drucker.

Druck-Befehle wie oben.

13.09.05
Einaml mehr bleibt unser Drucker einfach hängen. Das ist natürlich nicht
der Fehler von CUPS, YaST etc.,  aber daß diese ollen GUIs und Programme
mir nicht einfach sagen können was los ist, und wieso kein Testdruck den
Drucker erreicht...  Schauen wir also einmal mehr die lokale Hilfe-Seite
http://localhost:631/sum.html
an. Folgende Befehle waren mal aufschlußreich:

lpstat

ui, da hängt einiges

lpstat -p -d

gibt eine Liste von Printern und den Default Drucker,  und die Info, daß
"printer netzwerk1300n disabled since Jan 01 00:00", ahh wie nett! Bitte
was muß ich jetzt machen? Und daß meine Shell auf UTF-8 läuft, scheint
dem CUPS nicht sonderlich zu gefallen! OK, lprm oder cancel:

lprm 159744
lprm: Job or printer not found!

cancel 159744
cancel: cancel-job failed: client-error-not-found

Was ja nicht verwundert, ist doch der Drucker gerade disabled! Hm, wäre
an der Zeit herauszufinden, wie ich den Drucker wieder enable...!
http://www.linuxprinting.org/cups-faq.html#q_1_2 ist sicher ganz nett,
aber es hilft nicht! http://www.nslu2-linux.org/wiki/HowTo/AddPrinter
sagt wenigstens, daß ich es mit
/opt/bin/enable [printer name]
versuchen soll.
bash: /opt/bin/enable: No such file or directory
auch als root! Hm.

http://channels.lockergnome.com/it/archives/20050209_control_printers_in
_linux_from_the_command_line.phtml
/usr/bin/lp		Used to submit print jobs
/usr/bin/lp.cups	Used to submit print jobs
/usr/bin/lpoptions	Gets and sets printer options for a single user
			when run by a user or for the system when used
			by root
/usr/bin/lppasswd	Changes printing passwords for an individual
			user or adds, deletes, and changes printer users
			and passwords when run by root
/usr/bin/lpq		Shows the status of a printer queue
/usr/bin/lpq.cups	Shows the status of a printer queue
/usr/bin/lpr		Used to submit print jobs
/usr/bin/lpr.cups	Used to submit print jobs, forcing use of CUPS
/usr/bin/lprm		Used to remove print jobs from a queue
/usr/bin/lprm.cups	Used to remove print jobs from a queue
/usr/bin/lpstat		Gives status of the CUPS system, such as queue
			lengths and printers
/usr/bin/lpstat.cups	Gives status of the CUPS system, such as queue
			lengths and printers
/usr/bin/cancel		Cancels a print job
/usr/bin/enable		Enables a print queue or class of printers,
			requires a management password
/usr/bin/disable	Disables a print queue or class of
			printers, requires a management password
/usr/sbin/lpadmin	Manages printers and classes, requires a
			management password
/usr/sbin/lpc		A compatibility program for Berkley style
			printers, limited to queue status in CUPS
/usr/sbin/lpc.cups	A compatibility program for Berkley style
			printers, limited to queue status in CUPS
/usr/sbin/lpdomatic	A filter script provided to be used in setting
			up printers
/usr/sbin/lpinfo	Shows available printer devices and drivers on
			the system
/usr/sbin/lpmove	Moves the jobs destined for a queue to
			another queue

Also versuche ich es mal mit
/usr/bin/enable  netzwerk1300n
Password for me on localhost?

habe aber natürlich keine Ahnung, was das für ein Passwort sein soll,
insbesondere, wenn es noch nie gesetzt wurde... Aaargh.

mybox:/home/me # lppasswd me
Enter password:
Enter password again:
lppasswd: user "me" and group "sys" do not exist.

Also wieso fragt es mich oben denn nach einem Passwort, daß ist ja
einfach nicht zu glauben, jetzt google ich schon eine Stunden, nur
um den Drucker via Commandozeile einzuschalten, hey, wo lebe ich?

Gibt nur noch eines, als root den Befehl

/usr/bin/enable  netzwerk1300n

eingeben.

Die Jobs kann ich aber immer noch nicht abschießen, als user, da ich
immer noch nach einem nicht existenten Paßwort gefragt werde! Also muß
ich wohl oder übel eins anlegen (als root). man lppasswd hilft:

lppasswd -x me
lppasswd -a me -g users

jetzt versuche ich alle Jobs zu löschen:

lprm -
Password for me on localhost?

Das kann ich sooft angeben wie ich will, da ändert sich nichts!

cancel -a netzwerk1300n

will natürlich auch das Paßwort haben! Wie auch immer, ist es nicht
schön zu wissen: lppasswd: user "me" and group "sys" do not exist.
Dann erspart man sich das blöde umbringen!
Also: ich wüsste gern, wie ich als user wenigstens meine Druckaufträge
selber löschen kann, konkret, wie ich ein Paßwort setze und welche
Rechte ich habe muß, damit das geht. Kann da jemand helfen?

Konkret: ich habe alr root mit lppasswd -a me einen Benutzer "me"
angelegt, dieser kann sich dann über http://localhost:631/
einloggen und alles machen (z.B. Jobs löschen). Aber über die
Commandozeile wird das selbe Paßwort ignoriert!


Vorgehen alphacd.txt drucken:
1) Zeilen vom Dateiende der cdinvent.txt Liste löschen, speichern
2) sort cdinvent > alphacd.txt
3) alphacd.txt mit kwrite öffnen, kwrite einrichten, unter open/save die
   Felder replace tabs with spaces etc. ankreuzen, neu speichern.
4) Letzte Kolonne mit Block-Selection löschen
5) Datei via Druck-Center nach print-to-file drucken, wobei der default-
   printer "lj" 14 characters und 8 lines per inch druckt, in landscape!
6) dann mit obigen Befehlen "2-seitig" Drucken

________________________________________________________________________

In CUPS unter KDE: Drucker ist gestoppt und kann im GUI nicht mehr akti-
viert werden...
Als su einloggen und dann eingeben
lppasswd -a user
wobei user natürlich für den eigenen Benutzername steht. Mit dem neu ge-
setzten Paßwort kann der Drucker wieder aktiviert werden!
________________________________________________________________________



========================================================================
drucken an der ETH (als noch gedruckt werden durfte!)
========================================================================
________________________________________________________________________

vpp -dest=hge -fo=ds.A4h -dev=X4525 *.ps
________________________________________________________________________

vpp -dest=hge -fo=ds.A4h -dev=printer d.txt
________________________________________________________________________

vpp -dest=hge -fo=A4Q.shortbind -dev=printer alphacd.txt
________________________________________________________________________

vpp -dest=hge22 -fo=ds.A4h -dev=HP5Si -noflag nadja.ps
_________________________________________________________________________

vpp -dest=hge22 -fo=ds.A4h -dev=printer -noflag d.txt
________________________________________________________________________

vpp -dest=hge27 -fo=ds.A4.white -dev=lw2nta -noflag nadja.ps
________________________________________________________________________

vpp -dest=hge27 -fo=simplex.A4.white -dev=lw2nta -noflag nadja.ps
________________________________________________________________________

vpp -dest=hge27 -fo=duplex.A4.white -dev=lw2nta -noflag nadja.ps
________________________________________________________________________

vpp -dest=hge27 -fo=A4H.duplex  -dev=printer -noflag nadja.txt
________________________________________________________________________

vpp -dest=hge26-1 -fo=ds.A4H -dev=HP5Si -noflag nadja.ps
________________________________________________________________________

vpp -dest=hge26-1 -fo=A4H.duplex -dev=printer -noflag d.txt
________________________________________________________________________

vpp -dest=hge26-1 -fo=A4HE.duplex -dev=printer -noflag befehle.txt
________________________________________________________________________

vpp -dest=hge26-1 -fo=A4HE.duplex -dev=printer -noflag cedes.txt
________________________________________________________________________

vpp -dest=hge26-1 -fo=A4HS.duplex -dev=printer -noflag alphacd.txt
________________________________________________________________________

vpp -dest=hge26-1 -fo=LISTH.duplex -dev=printer -noflag d1.txt
                                  bei Zeile 287 beginnt die neue Seite
________________________________________________________________________

vpp -dest=hgg30 -fo=weiss.duplex -dev=printer d.txt
________________________________________________________________________

vpp -dest=hgg30 -fo=weiss.duplex -dev=pts a2.ps
________________________________________________________________________

vpp -dest=hgg30 -fo=duplex.A4H -dev=pts d.ps    oder
________________________________________________________________________

vpp -dest=hgg30 -fo=600DPI.LONGBIND -dev=HPLASER a2.ps
________________________________________________________________________

vpp -dest=rzspez -dev=lbp1760 -form=a4.ds a2.ps    SCHWARZWEISS
________________________________________________________________________

vpp -dest=rzspez -dev=clc1150 -form=a4.ds a2.ps    FARBE
________________________________________________________________________

vpp -dest=rzspez -dev=clc1150 -form="a4.ds.scale(0.95)" d1.ps FARBE
________________________________________________________________________

vpp -dest=rzspez -dev=tek850 -form=folie d1.ps     FARBFOLIE
________________________________________________________________________

vpp -dest=faxnr@FAX filename.txt
________________________________________________________________________

vpp -dest=faxnr@FAX -dev=PTS filename.ps
________________________________________________________________________

lpr -Zduplex m.ps
________________________________________________________________________

lpr -Zshortbind m.ps
________________________________________________________________________

lpr -Zbook m.ps
________________________________________________________________________

lpq  drucker            um den Druckerstatus abzufragen
________________________________________________________________________

lprm                    Druckerjobs zu loeschen
________________________________________________________________________

pf -dw2 a.ps            im Astro-Institut, Stock d, 2-seitig auf weiss
________________________________________________________________________

pf -eg1 d.ps            im Astro-Institut, Stock e, 1-seitig auf grau
________________________________________________________________________

lpr -P lp_sec_e d.ps    im Astro-Institut, Stock e,
lpr -Plp_eg2            im Astro-Institut, Stock e, von Auriga, mit Tabs
lpr -Plp_ew2l           im Astro-Institut, longbind?
________________________________________________________________________

lprm -P lp_sec_e 313    löscht Druckauftrag mit Job-ID 313
________________________________________________________________________

a2ps -B --pages=1-4 --output=d.ps in.txt
________________________________________________________________________



========================================================================
Mail und ftp
========================================================================
________________________________________________________________________

mail to login@city	mail aus einem terminal verfassen
CNTRL + d 		zum abschicken

Beispiel:
mail empfänger@name.net -r from@adresse.ch -R reply@adresse.ch \
     -s "Betreff mit Leerzeichen"
mit Enter zur Texteingabe wechseln
Text eingeben, mit CNTRL + d abschicken.
________________________________________________________________________

ftp
bin
prompt
mget
lcd
________________________________________________________________________
Aus Terminal:

ftp hg.n.ethz.ch        oder auch
ftp rz.n.ethz.ch        um auf nethz-account zuzugreifen.
ftp ftp.phys.ethz.ch    nach Serapis (Hoengg)
ftp saturn.ethz.ch      zum Astro Institut, dann ev. mit user zum login

Aus Konqueror:
ftp://fsuwald@saturn.ethz.ch
ftp://fsuwald:passwort@saturn.ethz.ch passwort verschwindet zwar sofort
                        in der Adressleiste, bleibt aber in der history
                        vorhannden...
________________________________________________________________________



========================================================================
emacs befehle
========================================================================
________________________________________________________________________

xemacs &                zum starten
________________________________________________________________________

Abkuerzungen            C:= CTRL = CTL = STRG
                        M:= ESC = META = ALT = # = EDIT
________________________________________________________________________

beenden                 C-x C-c
________________________________________________________________________

blaettern       runter: C-v    rauf: M-v
________________________________________________________________________

bewegen         Mitte:          C-l
                Zeile:          C-p, C-n  (prev, next)
                Zeichen:        C-b, C-f  (backw, forw)
                Wort:           M-b, M-f  (backw, forw)
                Satz:           M-a, M-e  (Anfang, Ende)
                Datei:          M-<, M->  (Anfang, Ende)
________________________________________________________________________

stopp                   C-g
________________________________________________________________________

Zeile löschen ab Cursor C-k
oops                    C-y
alles zurueck           M-y
________________________________________________________________________

undo                    C-x u
________________________________________________________________________

Datei finden, oeffnen   C-x C-f
________________________________________________________________________

speichern               C-x C-s         alle buffer     C-x s
________________________________________________________________________

buffer listen           C-x C-b         fertig          C-x 1
________________________________________________________________________

suchen                  C-s
weiterspringen          C-s
zurueck                 del
fertig                  enter
________________________________________________________________________

neues Fenster           C-x 2           nur ein Fenster         C-x 1
________________________________________________________________________

Hilfe                   C-h a(propos)   oder    C-h ?   fertig: q
________________________________________________________________________

alles markieren:        M-x mark-whole-buffer   enter
Achtung, es wird nichts angestrichen!!!
Es ist markiert, auch wenn du es nicht glaubst!!!
________________________________________________________________________

sortieren               M-x sort-lines          enter
________________________________________________________________________

save buffer as          C-x C-w
________________________________________________________________________



========================================================================
weitere nützliche  Programme
========================================================================
________________________________________________________________________

xmgr zum plotten von Funktionen
________________________________________________________________________

xv um file.gif und file.ps zu editieren
________________________________________________________________________

ghostwiev datei.ps um postscriptdatei anzuschauen
________________________________________________________________________

pstoedit um ps in ein gif-editierbares format umzuwandeln
________________________________________________________________________

xephem um astronomie zu betreiben
________________________________________________________________________

xsky ein Sternatlas
________________________________________________________________________

qcad
________________________________________________________________________

kile
________________________________________________________________________

ripit
________________________________________________________________________

figurine
________________________________________________________________________

fly
________________________________________________________________________

gocr
________________________________________________________________________

ecasound, extrace, hydrogen, ladcca, swami
________________________________________________________________________

pybliographe
________________________________________________________________________



========================================================================
Midas Befehle
========================================================================
________________________________________________________________________

starten                 inmidas
beenden                 bye
________________________________________________________________________

$unix-Befehl            aus dem Midas heraus
________________________________________________________________________

changedir               genaue Folge ../  etc. beachten
________________________________________________________________________

@@file.prg              um batch im Midas aufzurufen
________________________________________________________________________

echo/off                echo/full
________________________________________________________________________

crea/disp               crea/graph
________________________________________________________________________

clear/over              clear/disp
________________________________________________________________________

aver/col zz=raw0047.bdf cuts=0,100 ergibt Mittelwert der Kolonnen
________________________________________________________________________

aver/im pos1_v=raw0047,raw0048 ? ? median
________________________________________________________________________

plot zz                 zeigt im Graph den averige an
________________________________________________________________________

get/gcur                um Messungen am Graphikdisplay zu machen
________________________________________________________________________

center/gauss cursor
________________________________________________________________________

stat/im raw0047.bdf cursor      ergibt einen Rahmen im Display, mit
                                Pfeiltasten vergroessern/verkleinern
________________________________________________________________________

copy/disp laser  copy/graph laser
________________________________________________________________________

read/tab time2 :UTHR
________________________________________________________________________

show/tab time1
________________________________________________________________________

stat/tab   Minimum: outputr(1) Maximum: outputr(2)
           Mittelwert (mean): outputr(3)
           mittl. quadr. Fehler der Einzelmessung=
           Unsicherheit der Einzelmessung=
           standard Abweichung (st.dev): outputr(4)
           Kolonnen Nummer: outputi(1)
           # Werte nicht gleich Null: outputi(2)
________________________________________________________________________

plot/tab
________________________________________________________________________



========================================================================
Daophot-Befehle
========================================================================
________________________________________________________________________

set/cont doaphot           aus Midas heraus im Terminal aufrufen
daophot
OP> night5.opt enter (oder direkt enter)
OPT> enter  enter
COMMAND> attach v_saw0001 enter
COMMAND> sky (begutachten) enter
COMMAND> find (#Bilder:) 1,1  YES
COMMAND> phot
PHO> enter  enter
COMMAND> pic (um Sterne zu finden) enter
COMMAND> psf (point spread function)
Kontrolliere in einem anderen Midas-Terminal:
load/im file.bdf cuts=3000,3003 oder aehnlich
enter
COMMAND> peak (file.nei heisst file.ap) enter
COMMAND> group critical overlap 0.1
COMMAND> nstar
COMMAND> substar (um unschoen Sterne zu entfernen)
COMMAND> sort (z.B. +4) file.nst
________________________________________________________________________



========================================================================
Teleskop-Bedienung
========================================================================
________________________________________________________________________

Sternwarte Telephon: 63 206 95
Computer einstellen: stern
check star um Focus-Window zu erhalten
identifier steht nachher in der Bildlegende: (eigener Name)
establish link zur Kamera
Temperatur setzen (-10 C)
Kuppel öfnen, Tür öffnen
Deckel entfernen, Netzschalter ein
Messungen....
________________________________________________________________________

Filterrad: 1=neutral, 2=uv (U), 3=blau (B), 4=visuell (V), 5=rot (R)
abends: FF-Reihenfolge U-B-V, d.h. Filterrad 2-3-4
morgens: V_B_U, d.h. Filterrad 4-3-2
________________________________________________________________________

Autoguider-Bedienung
1. AG-Icon anklicken
2. Focus
3. im Teleskopsockel Focus von unten (Handgeraet) auf oben schalten
4. im AG unter Track: Callibrate
5. im AG ...
________________________________________________________________________

CCD-Kamera, Temperatur langsam herauffahren
Daten kopieren
Deckel auf Teleskope
Kamera entfernen
Kuppel schließen
Teleskop nach Süden ausrichten
Teleskop parkieren: alpha = 0, delta = 45, blockieren
Netzschalter aus
Okkulare aufräumen
Schrank schließen, Licht aus, Türe zu.
________________________________________________________________________



========================================================================
Macintosh-Befehle
========================================================================
________________________________________________________________________

um eine Macintosh Diskette zu kopieren:

1) Diskette einlegen
2) Inhalt in einen neuen Ordner auf dem Desktop kopieren
3) ev. ein sich darin befindliches stuffit doppelklicken
4) in der oberen Taskleiste die zu entpackenden Dateien öffnen
5) auswählen und entpacken in einen neuen Ordner
6) stuffit beenden
7) in der Taskleiste des Finders Diskette zurücklegen
________________________________________________________________________

um einen Ordner zu transferiren:

1) Apple --> Chooser
2) Im neuen Fenster auch Knopf: Server Ip Adress klicken
3) Enter the Server Address: hg.n.ethz.ch, enter
4) Registered User: Name, Passwort, auf Connect klicken, enter
5) dann im neuen Fenster Häckchen machen bei allen 3 Einträgen:
   afs, ethz.ch, fsuwald_home, OK, enter
6) Finder oben rechts blinkt, ev. kurz warten, draufklicken...
   es erscheinen neue Icons auf dem Desktop, je eines für
   afs, ethz.ch und fsuwald_home,
7) ins fsuwald_home Verzeichnis klicken, Dateien und Verzeichnisse
   nach belieben verschieben,
8) nach Beenden all diese icons via Finder vom Desktop zurücklegen.
________________________________________________________________________

Um eine externe, ext3 formatierte Harddisk anzusprechen  (geht angeblich
nicht mit Tiger, zum Glück haben wir Panther...).

http://sourceforge.net/projects/ext2fsx/

herunterladen und installieren.
Dann dachte ich: HD anhängen und fertig,  auf Mac ist doch alles so ein-
fach... Aber leider geschieht nichts, rein nichts. Da hilft auch die rtf
Readme Datei nicht, denn ich finde keine Befehle, um der HD nachzuhelfen
oder mir zu helfen... Systemsteuerung ist offen, aber ich bemerke natür-
lich nicht, daß da zuunterst unter:  Sonstige: ein neues Icon entstanden
ist: Manager von ExtFS. Tja, wenn ich das gewußt oder gesehen hätte, wär
ein halber Nachmittag nicht flöten gegangen. Ich hasse Mac. Also:  Klick
auf das Icon, dann erscheinen alle HDs, und ich kann auf mein ext. Lauf-
werk klicken. Leider gibt's dann eine Fehler Meldung, ich solle das Disk
Utility verwenden. Noch nie gehört, was soll das. Aber im Terminal gibts
tatsächlich den Befehl

man diskutil

zuvor eruiere ich noch den Devicenamen des ext. Laufwerks:

disktool -l

sagt mir, daß es disktdisk1s1 heißt. Also rufe ich auf:

diskutil repairDisk disk1s1

womit fsck gestartet wird. Nach einer Weile fängt mein ext. Laufwerk ex-
trem an zu ruckeln, ich will schon abbrechen,  aber nach ca. 20 Sekunden
ist alles erledigt.  Und über die Systemsteuerung kann ich durch Klicken
das Laufwerk aktivieren.  Dann erscheint ein neues Icon auf dem Desktop:
UNTITLED,  wie wir es kennen, und ich kann wunderbar auf meine Daten zu-
greifen.  Alles in allem: super cool,  aber etwas mehr Info für den Mac-
Hasser wäre nett!
Nachteil: Wenn die externe Harddisk wieder an ein modernes Linux gehängt
wird, und dann wieder an das ibook, kommt die Warnung,  die Harddisk sei
viele tausend mal gemountet worden und müsse mit DiskUtility geprüft neu
werden...

________________________________________________________________________

Turm + Q                        beenden
________________________________________________________________________

Turm + Weiche + Esc             sofort beenden
________________________________________________________________________

Pfeil nach oben + Anklicken     zur Auswahl hinzufügen
________________________________________________________________________

Turm + Pfeil nach rechts        Ordner öffnen
________________________________________________________________________

Turm + Pfeil nach links         Ordner schliessen
________________________________________________________________________

Weiche + Verschieben            Kopieren
________________________________________________________________________

Control + Klick                 Kontextmenü
________________________________________________________________________

Turm + Weiche + Esc             sofort beenden
________________________________________________________________________

WEP-Key in hex-Form eingeben: 0x (Null-iks) davor setzen
________________________________________________________________________