Ich habe ein Live-Debian-Squeeze-System auf einem USB-Laufwerk, das ein Skript enthält, mit dem ich ein Image eines anderen Laufwerks verwende. Dieses Skript dient udisks
zum Mounten eines Laufwerks nach Label, funktioniert jedoch nicht über eine serielle Konsole. Der Grund dafür ist, dass die der seriellen Konsole zugeordnete Sitzung nicht "aktiv" zu sein scheint. Dies bedeutet, dass udisks
Folgendes fehlschlägt:
user@my-live-usb:~$ udisks --mount /dev/disk/by-label/image-data --mount-options ro
Mount failed: Not Authorized
Das Ändern des allow_any
Schlüssels /usr/share/polkit-1/actions/org.freedesktop.udisks.policy
hilft nicht, daher möchte ich wissen, wie ConsoleKit mitgeteilt wird, dass die serielle Konsole "aktiv" ist. Der Versuch, dies über die DBUS-Schnittstelle zu tun, schlägt fehl:
user@my-live-usb:~$ dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Session7 org.freedesktop.ConsoleKit.Session.Activate
Error org.freedesktop.DBus.GLib.UnmappedError.CkSeatError.Code0: Unable to activate session
Session7 ist diejenige, die als / dev / ttyS0 aufgeführt ist.
Wie kann ich ConsoleKit dazu bringen, die serielle Konsole als aktive Sitzung zu erkennen?
(In meinem Fall ist die udisks-Version 1.0.1 + git20100614-3, consolekit ist 0.4.1-4.)
Es ist wahrscheinlich auch erwähnenswert, dass das Debian-Live-System den Live-Benutzer automatisch auf allen 6 Videokonsolen und der seriellen Konsole anmeldet.
ck-launch-session bash
und ausführeck-list-sessions
, hat die Konsole noch Zeitactive = FALSE
für diese Sitzung.