Seite 1 von 1

ubuntu

Verfasst: 14.10.2005 20:53
von luna
hi leuts...

sagt mal.. wie kann ich mein linux dazu überreden, das cd laufwerk aufzumachen?
da muss es doch befehle für geben...

ubuntu

Verfasst: 14.10.2005 20:58
von Silenzium
Da gibt es so einen Schalter draußen am Laufwerk.

SCNR






Ich weiß jetzt nicht, ob du dein Laufwerk Software-technisch öffnen willst oder dein Laufwerk sich bei wiederholtem Knopfdruck nicht öffnen will. Bei letzterem ist das Laufwerk wahrscheinlich noch gemountet und du musst es unmounten, um es öffnen zu können. Für ersteres weiß ich keinen Befehl, ich drücke lieber draußen auf den Knopf.

ubuntu

Verfasst: 14.10.2005 21:07
von fabian
Auf den meisten Systemen gibt es eject. Auszug aus der man-Page:

Code: Alles auswählen

NAME
       eject - eject removable media

SYNOPSIS
       eject -h
       eject [-vnrsfqp] []
       eject [-vn] -d
       eject [-vn] -a on|off|1|0 []
       eject [-vn] -c slot []
       eject [-vn] -t []
       eject [-vn] -x  []
       eject -V

DESCRIPTION
       Eject allows removable media (typically a CD-ROM, floppy disk, tape, or
       JAZ or ZIP disk) to be ejected under software control. The command  can
       also  control  some  multi-disc CD-ROM changers, the auto-eject feature
       supported by some devices, and close  the  disc  tray  of  some  CD-ROM
       drives.
kannte ich bislang auch noch nicht, aber:

Code: Alles auswählen

[fabian@fkurz fabian]$ apropos eject
eject                (1)  - eject removable media
mzip                 (1)  - change protection mode and eject disk on Zip/Jaz drive
aha! Natuerlich intuitiv zu bedienen:

Code: Alles auswählen

$ eject /dev/cdrom
machte exakt was ich erwartete.

Ansonsten, (wenn man des Englischen nicht maechtig ist und das Wort \"eject\" nicht kennt: Google ist dein Freund. Suchworte: cd rom laufwerk oeffnen linux

Quelle: http://files.hanser.de/hanser/docs/2005 ... eprobe.pdf

Code: Alles auswählen

 /* 
  * eject.c - CDROM-Laufwerk oeffnen 
  */
# include 
# include 
# include 
# include 
# include 


int main()
{
    int fd;
    if ((fd = open(\"/dev/cdrom\", O_RDONLY | O_NONBLOCK)) == -1) {
        perror(\"eject: Can t open /dev/cdrom\");
        return(1);
    }

    if (ioctl(fd, CDROMEJECT) == -1) {
         perror(\"eject: ioctl() failed\");
        return(1);
    }

     close(fd);
    return(0);
}

Kompilieren mit gcc, testen::

Code: Alles auswählen

$ gcc cd.c -o cdeject
$ ./cdeject
und es funktioniert :-)

ubuntu

Verfasst: 15.10.2005 09:55
von luna
@fabian: danke!

ubuntu

Verfasst: 15.10.2005 13:23
von netAction
Vorher sicherstellen, dass es nicht gemountet ist:

Code: Alles auswählen

mount
und ggf. unmounten:

Code: Alles auswählen

umount /dev/bla