Einbindung von USB-Geräten: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Ovion (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 14: | Zeile 14: | ||
aus. Dies installiert bzw. reinstalliert das entsprechende Paket. | aus. Dies installiert bzw. reinstalliert das entsprechende Paket. | ||
Danach muss D-Bus noch gestartet werden. Da dies vermutlich ohnehin bei jedem Systemstart geschehen soll, empfiehlt es sich, ihn direkt in das Daemons-Array in der Datei /etc/rc.conf einzutragen, indem man die Zeile „DAEMONS=(...)“ durch den Eintrag "dbus" in den Klammern ergänzt. Dadurch wird D-Bus bei jedem Systemstart im Hintergrund gestartet. Zum Starten des Dienstes ist ein Neustart vonnöten. | Danach muss D-Bus noch gestartet werden. Da dies vermutlich ohnehin bei jedem Systemstart geschehen soll, empfiehlt es sich, ihn direkt in das [[Daemons]]-Array in der Datei /etc/rc.conf einzutragen, indem man die Zeile „DAEMONS=(...)“ durch den Eintrag "dbus" in den Klammern ergänzt. Dadurch wird D-Bus bei jedem Systemstart im Hintergrund gestartet. Zum Starten des Dienstes ist ein Neustart vonnöten. | ||
== Einbinden eines USB-Sticks unter grafischen Benutzerumgebungen == | == Einbinden eines USB-Sticks unter grafischen Benutzerumgebungen == | ||
Soll ein USB-Stick lediglich von einer grafischen Benutzerumgebung aus verfügbar sein, ist es meist ausreichend, statt des reinen Startens der gewünschten Benutzeroberfläche (in diesem Beispiel [[GNOME]]) mittels der entsprechenden Rechteverwaltung zu starten. | Soll ein USB-Stick lediglich von einer grafischen Benutzerumgebung aus verfügbar sein, ist es meist ausreichend, statt des reinen Startens der gewünschten Benutzeroberfläche (in diesem Beispiel [[GNOME]]) mittels der entsprechenden Rechteverwaltung zu starten. | ||
Zunächst stelle man noch sicher, dass auch das Policy Kit installiert ist. Im Zweifel hilft ein | Zunächst stelle man noch sicher, dass auch das [[Policy Kit]] installiert ist. Im Zweifel hilft ein | ||
sudo pacman -S polkit | sudo pacman -S polkit | ||
Danach ist die Datei /home/<benutzername>/.xinitrc insofern abzuändern, dass die Zeile | Danach ist die Datei /home/<benutzername>/[[.xinitrc]] insofern abzuändern, dass die Zeile | ||
exec gnome-session | exec gnome-session | ||
auf | auf | ||
Zeile 31: | Zeile 31: | ||
== Hinweis zu NTFS == | == Hinweis zu NTFS == | ||
Sollte man beim Einbinden von NTFS-Datenträgern kein Schreibrecht auf diesen haben, hilft möglicherweise eine Installation des Pakets "ntfs-3g", welches einen lese- & schreibfähigen Treiber für NTFS enthält. | Sollte man beim Einbinden von [[NTFS]]-Datenträgern kein Schreibrecht auf diesen haben, hilft möglicherweise eine Installation des Pakets "ntfs-3g", welches einen lese- & schreibfähigen Treiber für NTFS enthält. | ||
Version vom 8. Juni 2012, 22:37 Uhr
Dieser Artikel oder Artikelabschnitt bedarf einer stilistischen Überarbeitung laut Empfehlungen in Artikelstil.
Dieser Artikel wurde als veraltet markiert, und sollte kontrolliert, und gegebenfalls korrigiert bzw. aktualisiert werden.
Bei einem frisch aufgesetzten Arch-Linux-System kann es vorkommen, dass sich USB-Geräte nicht verwenden lassen. Dies kann unter anderem an einem fehlenden Programm namens D-Bus liegen, welches das automatisch Mounten von Hardware verwaltet. D-Bus ist ein System, mit dem verschiedene Prozesse untereinander kommunizieren können und kümmert sich um das Mounten von Geräte. So kann sich der Dateimanager beispielsweise mit der Hardwareverwaltung (in diesem Fall D-Bus selbst) austauschen, welche Datenträger aktuell verfügbar sind.
Bei den einzelnen Schritten sollte man ein Terminalfenster geöffnet haben. Die angegebenen Befehle sollten jeweils hier eingegeben werden.
Vorbereitung
Um D-Bus ins System integrieren zu können, muss zunächst das entsprechende Paket "dbus" installiert sein. Ist dies noch nicht der Fall oder ist man sich nicht sicher, führt man ein
sudo pacman -S dbus
aus. Dies installiert bzw. reinstalliert das entsprechende Paket.
Danach muss D-Bus noch gestartet werden. Da dies vermutlich ohnehin bei jedem Systemstart geschehen soll, empfiehlt es sich, ihn direkt in das Daemons-Array in der Datei /etc/rc.conf einzutragen, indem man die Zeile „DAEMONS=(...)“ durch den Eintrag "dbus" in den Klammern ergänzt. Dadurch wird D-Bus bei jedem Systemstart im Hintergrund gestartet. Zum Starten des Dienstes ist ein Neustart vonnöten.
Einbinden eines USB-Sticks unter grafischen Benutzerumgebungen
Soll ein USB-Stick lediglich von einer grafischen Benutzerumgebung aus verfügbar sein, ist es meist ausreichend, statt des reinen Startens der gewünschten Benutzeroberfläche (in diesem Beispiel GNOME) mittels der entsprechenden Rechteverwaltung zu starten. Zunächst stelle man noch sicher, dass auch das Policy Kit installiert ist. Im Zweifel hilft ein
sudo pacman -S polkit
Danach ist die Datei /home/<benutzername>/.xinitrc insofern abzuändern, dass die Zeile
exec gnome-session
auf
exec ck-launch-session dbus-launch gnome-session
abgeändert wird. Hierbei wird die entsprechende Umgebung (hier Gnome mittels des Befehls "gnome-session") als Unterprozess des dbus-Prozesses gestartet ("dbus-launch") und kann somit auf D-Bus zugreifen, der sich um die Verwaltung der Datenträger wie USB-Sticks kümmert. Dies wird wiederum als Unterprozess des Policy Kits ("ck-launch-session") gestartet, welches sich um die Rechteverwaltung kümmert, damit man in der grafischen Benutzerumgebung überhaupt die Rechte hat, derer es bedarf, um einen USB-Stick einzubinden. Da die grafische Benutzerumgebung vom Policy Kit verwaltet wird, kümmert dies sich um die entsprechende Berechtigung.
Hinweis zu NTFS
Sollte man beim Einbinden von NTFS-Datenträgern kein Schreibrecht auf diesen haben, hilft möglicherweise eine Installation des Pakets "ntfs-3g", welches einen lese- & schreibfähigen Treiber für NTFS enthält.
Einbinden von USB-Sticks unabhängig von einer grafischen Benutzeroberfläche
Zunächst sollte man sich alle Gerätedateien mittels
ls /dev/
anzeigen lassen. Dies sind alle Geräte, die in irgendeiner Weise verfügbar sind. Man sollte hierbei insbesondere auf Geräte namens "sd**", z.B. "sda1", "sda2", sdb1" etc. achten. Ein USB-Stick dürfte in diesem Namensmuster eingebunden werden.
Nun steckt man den USB-Stick ein und lässt sich wiederum alle Gerätedateien anzeigen. Es sollte ein Eintrag hinzugekommen sein, hinter dem sich der USB-Stick verbirgt. Alternativ kann man auch mittels
udevatm monitor
über Events wie das einstecken eines USB-Sticks informiert werden. Steckt man nach diesem Befehl einen USB-Stick an, sollte sich in der letzen Zeile der Ausgabe ein Hinweis darauf finden, unter welchem Namen der Stick eingebunden wurde.
Füge der Datei /etc/fstab folgende Zeile hinzu:
/dev/sda1(oder ähnlich, wie oben ermittelt) /mnt/usb auto rw,users,umask=0000 0 0
Durch den Schalter "users" kann jeder Nutzer den Stick ein- oder aushängen.
Wenn du nur vfat formatierte Sticks hast, schreibe "vfat" statt "auto" als Dateisystem, das funktioniert manchmal zuverlässiger.
Hast du Dateien oder Verzeichnisse mit Umlauten auf dem Stick und dein System ist auf utf8 eingestellt, füge zwischen "users," und "umask" noch "utf8," ein.
Wenn der USB-Stick jedoch automatisch mittels HAL gemountet werden soll, entfällt der Eintrag in /etc/fstab komplett.
Ansonsten:
lege das Verzeichnis /mnt/usb an.
root@myhost # mkdir /mnt/usb
Der Stick sollte sich nun manuell ein- und aushängen lassen.
user@myhost # mount /mnt/usb
bzw.
user@myhost # umount /mnt/usb
Udev Regel erstellen
Damit ein bestimmter USB-Stick (oder auch eine Festplatte) immer den gleichen Device Namen zugewiesen bekommt, kann man sich eine Udev Regel erstellen.
Zuerst muss man die Sereinnummer des Sticks herausfinden. Dazu geht man folgendermaßen vor:
- udevadm monitor starten
- den Stick einstöpseln, und sich das Device merken (z.B. /dev/sdc)
Jetzt kann man sich mit Hilfe von udevinfo und grep die Serienenummer anzeigenlassen.
udevadm info -a -p `udevadm info -q path -n /dev/sdc` | grep ATTRS{serial}
Die Ausgabe sollte etwa so aussehen:
ATTRS{serial}=="14AB0000000096" ATTRS{serial}=="0000:00:02.2"
Um herauszufinden welche Nummer die des Sticks ist führt man den Befehl nochmal aus, ersetzt aber ATTRS{serial} durch ATTRS{product}.
udevadm info -a -p `udevadm info -q path -n /dev/sdc` | grep ATTRS{product}
Jetzt erhält man eine Ausgabe die in etwa so aussieht:
ATTRS{product}=="USB Mass Storage Device" ATTRS{product}=="EHCI Host Controller"
Die gesuchte Nummer des Sticks ist also die erste.
Jetzt kann man sich eine eigene udev Regel erstellen. Dazu legt man am besten eine neue Datei unter /etc/udev/rules.d/ an. (Hinweis: udev arbeitet die Dateien in alphabetischer Reihenfolge ab). Die Datei könnte man z.B. 50-myusb.rules nennen. In die Datei trägt man nun folgendes ein.
SUBSYSTEMS=="usb", ATTRS{serial}=="14AB0000000096", KERNEL=="sd*", SYMLINK+="usbstick%n"
Jetzt noch die udev Regeln neu laden.
udevadm control --reload-rules
Udev sollte jetzt beim einstöpseln (vorausgesetzt der Stick enthält eine Partition) zwei Symlinks, die auf das "reale" Device zeigen, in /dev erstellen. usbstick für den Stick ansich und usbstick1 für die (erste) Partition. Ab jetzt kann über diese Links auf den Stick zugegriffen werden. Enthält der Stick mehr als eine Partition wird für jede ein eigener Link mit der Partitionsnummer angelegt. Wie bei einer Festplatte auch.
zum Beispiel
/dev/usbstick /dev/usbstick1 /dev/usbstick2