Prüfen ob leere CD eingelegt ist
Prüfen ob leere CD eingelegt ist
Hallo zusammen,
kann man mit einem Shellskript prüfen ob eine leere CD bzw DVD eingelegt ist und entsprechend des Ergebnisses dann einen Brennvorgang starten?
lg FK
kann man mit einem Shellskript prüfen ob eine leere CD bzw DVD eingelegt ist und entsprechend des Ergebnisses dann einen Brennvorgang starten?
lg FK
Re: Prüfen ob leere CD eingelegt ist
Ist die Annahme richtig, dass du keine GUI hast ?
Re: Prüfen ob leere CD eingelegt ist
Ja, genau.
Ich lasse ein Skript laufen, das mir bestimmte Daten zusammenstellt und ein ISO daraus macht. Danach möchte ich prüfen, ob eine leere DVD im Laufwerk eingelegt ist und den Brennprozess entsprechend starten oder eben nicht starten.
lg FK
Ich lasse ein Skript laufen, das mir bestimmte Daten zusammenstellt und ein ISO daraus macht. Danach möchte ich prüfen, ob eine leere DVD im Laufwerk eingelegt ist und den Brennprozess entsprechend starten oder eben nicht starten.
lg FK
Re: Prüfen ob leere CD eingelegt ist
Ist zwar nicht meinen Baustelle, da ich für so was die GUi benutze, aber ich denke, dass die Prüfung vom Brennprogramm eh vorgenommen wird:
Aus der Beschreibung von burn ist das jedenfalls zu entnehmen.
Wenn du eh ein Skript zum erstellen des ISOs hast, kannst du doch die Befehle zum Brennen des ISOs hinten dran hängen.
Hier gibt es was dazu:
http://www.bigpaul.org/burn/
Aus der Beschreibung von burn ist das jedenfalls zu entnehmen.
Wenn du eh ein Skript zum erstellen des ISOs hast, kannst du doch die Befehle zum Brennen des ISOs hinten dran hängen.
Hier gibt es was dazu:
http://www.bigpaul.org/burn/
Re: Prüfen ob leere CD eingelegt ist
Nein.fiberkill hat geschrieben:17.09.2018 10:01:04kann man mit einem Shellskript prüfen ob eine leere CD bzw DVD eingelegt ist und entsprechend des Ergebnisses dann einen Brennvorgang starten?
Es gibt keine systemnahen Methoden, den Brenner auf vorhandensein eines beschreibbaren Rohlings zu testen. Das kann nur das Brennprogramm.
Wenn du den Brennvorgang einfach ohne vorherige Prüfung startest, führt das Brennprogramm ohnehin eine Prüfung aus und bricht ggfls. mit einer entsprechenden Fehlermeldung ab. Eine vorherige Prüfung ist also eigentlich überflüssig.
- heisenberg
- Beiträge: 3545
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Prüfen ob leere CD eingelegt ist
Ich finde die Vorgehensweise von fiberkill durchaus umsichtig und sinnvoll. Wenn man weiss, dass keine leere CD drin ist, dann braucht man gar nicht anfangen zu brennen. Dann kann man eine spezifische Fehlermeldung ausgeben, mit der ein Nutzer viel mehr anfangen kann als nur "Beim Brennen ist ein Fehler aufgetreten".MSfree hat geschrieben:17.09.2018 11:34:18Wenn du den Brennvorgang einfach ohne vorherige Prüfung startest, führt das Brennprogramm ohnehin eine Prüfung aus und bricht ggfls. mit einer entsprechenden Fehlermeldung ab. Eine vorherige Prüfung ist also eigentlich überflüssig.
Über Kommandozeilenbrennprogramme kann man das auslesen, ob ein leeres Medium eingelegt wurde. Z. B. mit cdrskin.
Beispiel
Code: Alles auswählen
# cdrskin -minfo
cdrskin 1.4.6 : limited cdrecord compatibility wrapper for libburn
cdrskin: scanning for devices ...
cdrskin: ... scanning for devices done
cdrskin: pseudo-atip on drive 0
cdrskin: status 1 burn_disc_blank "The drive holds a blank disc"
scsidev: '8,0,0'
Device type : Removable CD-ROM
Vendor_info : 'HL-DT-ST'
Identifikation : 'DVDRAM GSA-5120D'
Revision : 'A115'
Drive id : 'K2449HE0739 '
Driver flags : BURNFREE
Supported modes: TAO SAO
cdrskin: burn_drive_get_write_speed = 7056 (40.0x)
ATIP info from disk:
Is not erasable
ATIP start of lead in: -11607 (97:27/18)
ATIP start of lead out: 359849 (79:59/74)
1T speed low: 4 1T speed high: 40
Product Id: 97m27s18f/79m59s74f
Producer: Plasmon Data Systems Ltd
Mounted media class: CD
Mounted media type: CD-R
Disk Is not erasable
disk status: empty
session status: empty
first track: 1
number of sessions: 1
first track in last sess: 1
last track in last sess: 1
Disk Is not unrestricted
Disk type: undefined
Track Sess Type Start Addr End Addr Size
==============================================
1 1 Blank 0 359846 359847
Next writable address: 0
Remaining writable size: 359847
Jede Rohheit hat ihren Ursprung in einer Schwäche.
Re: Prüfen ob leere CD eingelegt ist
Vielleicht sowas? ein Script.
https://www.mrunix.de/forums/archive/in ... 35441.html
eventuell anpassen.
gruss MaGe
https://www.mrunix.de/forums/archive/in ... 35441.html
eventuell anpassen.
gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.
Uns rottet die soziale Kälte viel früher aus.
Re: Prüfen ob leere CD eingelegt ist
evt hilft dir das: https://www.kernel.org/doc/Documentatio ... /cdrom.txt
Du kannst CDROM_DISC_STATUS abfragen, das sollte dir einen dieser Werte liefern:
evt steht CDS_NO_INFO für eine leere CD. Ich kann es mangels Rohlinge nicht testen...
Du kannst dieses Script als Template nehmen: https://github.com/reox/kodi-discdetect ... trayopen.c
Du kannst CDROM_DISC_STATUS abfragen, das sollte dir einen dieser Werte liefern:
Code: Alles auswählen
CDS_NO_INFO
CDS_AUDIO
CDS_MIXED
CDS_XA_2_2
CDS_XA_2_1
CDS_DATA_1
Du kannst dieses Script als Template nehmen: https://github.com/reox/kodi-discdetect ... trayopen.c
-
- Beiträge: 265
- Registriert: 21.07.2009 13:50:22
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Köln
Re: Prüfen ob leere CD eingelegt ist
Das wird dir helfen.
#!/bin/bash
# Leider habe ich eine Menge CD's bei denen beide Seite absolut gleich Aussehen
# und ich nicht weiß welche Seite die Beschreibbare ist. Damit ist jetzt Schluss.
# Das nette Script sagt mir ob eine Disk eingelegt oder die Disk bereits Beschrieben ist
# und natürlich auch ob die Disk Beschreibbar ist.
# checkdisk v1.0 28.4.2014
# 20.9.2015 Fehlerabfrage eingebaut
# 14.10.2015 Kommandozeilen version fertig
# 17.10.2015 Farb definition
# checkdisk-cli v1.1 17.10.2015 von Rolf Klein soundrolf@web.de
# 26.10.2015 noch mehr Fehlerabfragen. Parameter ja nein und ist der
# Brenner Überhaupt vorhanden.
# Little help
if [[ $1 = "-h" ]]; then
echo -e
echo -e "Die Gerätedatei (device) kann als Parameter Übergeben werden.
Ohne Parameter Übergabe ist es Gerätedatei /dev/sr0"
echo -e "Benutzung: ${0##*/} [device] \nBeispiel:checkdisk /dev/sr0"
exit 1
fi
# Farbdefinition
RED='\e[1;31m'
YELLOW='\e[1;33m'
CYAN='\e[1;36m'
GREEN='\e[1;32m'
NC='\e[0m'
# Wo ist unser Brenner. evtl. anpassen, oder auf Kommandozeile übergeben.
brenner=/dev/sr0
# Falls wir ein device übergeben haben, dann nehmen wir das.
if [ "$1" != "" ]
then brenner=$1
fi
# Gibt es überhaupt einen Brenner ?
if [ -e "$brenner" ]; then
echo -e "${GREEN}Brenner $brenner vorhanden${NC}"
else
echo -e "${RED}Kein Brenner $brenner vorhanden${NC}"
exit 1
fi
# Fehlermeldung wenn 'udisks' fehlt.
if [ ! -f /usr/bin/udisks ]; then
echo -e "${CYAN}Das Programm 'udisks' fehlt. \nBitte erst das fehlende Paket 'udisks' Installieren${NC}"
exit 1
fi
# Ab hier gehts los.
# Check ob ein Rohling einliegt.
udisks --show-info $brenner |grep -c "blank: *1" >/dev/null
# Auswertung
if [ $? -eq 0 ]; then
# Treffer
echo -e "${YELLOW}Disk in $brenner ist leer und damit Beschreibbar.${NC}"
else
# Mist
echo -e "${RED}Keine Disk in $brenner eingelegt, oder Disk bereits beschrieben.${NC}"
fi
# Ende
exit
LG
#!/bin/bash
# Leider habe ich eine Menge CD's bei denen beide Seite absolut gleich Aussehen
# und ich nicht weiß welche Seite die Beschreibbare ist. Damit ist jetzt Schluss.
# Das nette Script sagt mir ob eine Disk eingelegt oder die Disk bereits Beschrieben ist
# und natürlich auch ob die Disk Beschreibbar ist.
# checkdisk v1.0 28.4.2014
# 20.9.2015 Fehlerabfrage eingebaut
# 14.10.2015 Kommandozeilen version fertig
# 17.10.2015 Farb definition
# checkdisk-cli v1.1 17.10.2015 von Rolf Klein soundrolf@web.de
# 26.10.2015 noch mehr Fehlerabfragen. Parameter ja nein und ist der
# Brenner Überhaupt vorhanden.
# Little help
if [[ $1 = "-h" ]]; then
echo -e
echo -e "Die Gerätedatei (device) kann als Parameter Übergeben werden.
Ohne Parameter Übergabe ist es Gerätedatei /dev/sr0"
echo -e "Benutzung: ${0##*/} [device] \nBeispiel:checkdisk /dev/sr0"
exit 1
fi
# Farbdefinition
RED='\e[1;31m'
YELLOW='\e[1;33m'
CYAN='\e[1;36m'
GREEN='\e[1;32m'
NC='\e[0m'
# Wo ist unser Brenner. evtl. anpassen, oder auf Kommandozeile übergeben.
brenner=/dev/sr0
# Falls wir ein device übergeben haben, dann nehmen wir das.
if [ "$1" != "" ]
then brenner=$1
fi
# Gibt es überhaupt einen Brenner ?
if [ -e "$brenner" ]; then
echo -e "${GREEN}Brenner $brenner vorhanden${NC}"
else
echo -e "${RED}Kein Brenner $brenner vorhanden${NC}"
exit 1
fi
# Fehlermeldung wenn 'udisks' fehlt.
if [ ! -f /usr/bin/udisks ]; then
echo -e "${CYAN}Das Programm 'udisks' fehlt. \nBitte erst das fehlende Paket 'udisks' Installieren${NC}"
exit 1
fi
# Ab hier gehts los.
# Check ob ein Rohling einliegt.
udisks --show-info $brenner |grep -c "blank: *1" >/dev/null
# Auswertung
if [ $? -eq 0 ]; then
# Treffer
echo -e "${YELLOW}Disk in $brenner ist leer und damit Beschreibbar.${NC}"
else
# Mist
echo -e "${RED}Keine Disk in $brenner eingelegt, oder Disk bereits beschrieben.${NC}"
fi
# Ende
exit
LG