Teil 71 - Kronberg Gymnasium

Transcrição

Teil 71 - Kronberg Gymnasium
Teil 71 - CDs Brennen
Was leisten Brennprogramme?
Eine "große" Brennprogramm-Suite wie Nero oder K3b bietet meist eine Vielzahl von Funktionen mit tief
verschachtelten Menüs, die für den Einsteiger oftmals sehr verwirrend sind.
Meist werden vier Funktionen angeboten:
1. Erstellen eines sogenannten Daten-"ISO"-Abbilds aus verschiedenen Dateien aus einem Verzichnis.
2. Brennen eines solchen Daten-"ISO"-Abbilds auf CD (oder DVD, die Begriffe werden hier synonym benutzt).
3. Auslesen (="Rippen") von Musik-CDs, um die einzelnen Titel anschließend im MP3-Format zu speichern.
4. Brennen von Musik-CDs mit einer eigenen Auswahl vorhandener MP3-Dateien.
Welche Funktionen werden in dieser Übung behandelt?
Davon gehören nur die Funktionen 1. und 2., also das Erstellen einer Daten-CD zu den Kernaufgaben eines
Brennprogramms, die Funktionen 3. und 4. eher in den Bereich Multimedia (Vgl. Teil 17 - Multimedia)
Daher wird hier versucht, die grundlegende Arbeitsweise mit Hilfe der im Hintergrund solcher grafischen
"Frontends" benutzten Kommandozeilenbefehlswerkzeuge sichtbar zu machen.
Häufig werden hierfür die Cdrtools ([Cdrkit]) verwendet, die entsprechend der oben angeführten Funktionen u.a.
aus den folgenden Teilprogrammen bestehen:
1. mkisofs ([genisoimage] zum Erzeugen eines ISO-Dateisystems und Bestücken desselben mit Dateien)
2. cdrecord ([wodim] zum Brennen eines ISO-Abbilds auf eine CD)
3. cdda2wav (zum Auslesen einer Audio-CD in WAV-Dateien, wird hier nicht weiter besprochen)
Es ist auch eine Windows-Version dieser Programme erhältlich, was einfaches Brennen per Batch-Programm
erlaubt. (Es wird dann noch die Bibliothek cygwin1.dll benötigt.)
Aufgaben
1. Lade das Archiv brennen.zip herunter und entpacke es. Betrachte nun die beiden darin enhaltenen Dateien
in einem Texteditor mit Syntax-Einfärbung:
Dateiname
Quelltext
brennen1_iso.sh
#!/bin/bash
# brennen1_iso.sh
# Bildschirm Leeren
clear
# Variablen zum Anpassen
ISOPROGRAMM='mkisofs' # alternativ probieren mit 'genisoimage'
BRENNER='/dev/scd0'
ISODATEINAME='cd_lernprogramme.iso'
ISOVERZEICHNIS="$HOME/Desktop"
QUELLVERZEICHNISNAME='cdinhalt'
QUELLVERZEICHNISVERZEICHNIS="$HOME/Desktop"
# Sich daraus ergebende Variablen
ISO="${ISOVERZEICHNIS}/${ISODATEINAME}"
QUELLVERZEICHNIS="${QUELLVERZEICHNISVERZEICHNIS}/$
{QUELLVERZEICHNISNAME}"
# Schritt 1: Erstellen eines ISO-Abbilds
# Schritt 1.1: Test, ob Konsolen-Isoprogramm 'mkisofs' istalliert
ist
ISOPROGRAMMZAHL=$(which $ISOPROGRAMM | wc -l)
if [ $ISOPROGRAMMZAHL -lt 1 ]; then
echo "Isoprogramm 'mkisofs' wurde nicht gefunden"
echo "Installiere es mit 'sudo apt-get install mkisofs' nach"
echo "und starte das Programm erneut"
exit
fi
# Schritt 1.2:
$ISOPROGRAMM \
-rational-rock \
-joliet \
-output "$ISO" \
$QUELLVERZEICHNIS
Dateiname
Quelltext
brennen2_burn.sh
#!/bin/bash
# brennen2_burn.sh
# Bildschirm Leeren
clear
# Variablen zum anpassen
BRENNPROGRAMM='wodim' # alternativ probieren mit 'cdrecord'
BRENNER='/dev/scd0'
ISODATEINAME='cd_lernprogramme.iso'
ISOVERZEICHNIS="$HOME/Desktop"
# Sich daraus ergebende Variablen
ISO="${ISOVERZEICHNIS}/${ISODATEINAME}"
# Schritt 2: Abbild brennen
# Schritt 2.1: Test, ob Konsolen-Brennprogramm 'wodim'
istalliert ist
BRENNPROGRAMMZAHL=$(which $BRENNPROGRAMM | wc -l)
if [ $BRENNPROGRAMMZAHL -lt 1 ]; then
echo "Brennprogramm 'wodim' wurde nicht gefunden"
echo "Installiere es mit 'sudo apt-get install wodim' nach"
echo "und starte das Programm erneut"
exit
fi
# Schritt 2.2: Geraete auflisten
echo "Diese Geraete stehen zur Verfuegung:"
$BRENNPROGRAMM \
--devices
sleep 5
# Schritt 2.3: Informationen ueber die eingelegte CD
echo "Die eingelegte CD hat folgende Eigenschaften:"
$BRENNPROGRAMM \
dev="$BRENNER" \
-atip
sleep 5
# Schritt 2.4: Brennen
echo "Der Brennvorgang wird gestartet..."
$BRENNPROGRAMM \
dev="$BRENNER" \
driveropts=burnfree,noforcespeed \
fs=14M \
speed=8 \
-dao \
-eject \
-overburn \
-v "$ISO"
if [ $? -lt 1 ]; then
echo "Der Brennvorgang wurde abgeschlosen"
fi
2. Lege geeignete Beispieldateien an oder verändere die Pfade so, dass Du beide Schritte auf Deinem PC
erfolgreich nachvollziehen kannst. Wie lautet Dein Pfad zur Gerätedatei des Brenners?
3. Schreibe eine analoge Windows-Batch-Datei
4. Lege eine HTML-Seitenstruktur mit Unterverzeichnissen an und brenne sie möglichst Standardkonform
auf eine CD. Wie könntest Du mit einer autorun.inf erreichen, dass sie möglichst auf jedem
Betriebssystem automatisch geöffnet wird?
5. Vergleiche die in den beiden Skripten hier ausgewählten Kommandozeilen-Optionen und Parameter mit den
Einstellungsmöglichkeiten, die ein "großes" Brennprogramm bietet!
Nur für Fortgeschrittene:
6. Schreibe mit Zenity oder mit Python/Tkinter ein grafisches "Frontend" für die beiden Brennskripte!

Documentos relacionados