Benutzer:Thomas

Aus LaborWiki
Version vom 14. Juni 2008, 03:57 Uhr von Thomas (Diskussion | Beiträge) (lvm+cryptsetup triple layer)
Wechseln zu: Navigation, Suche

Kontakt

  • Jabber: schnittchen ÄT das-labor PUNKT org

Dienste, die keine X-Clients sind, mit der Gnome Session starten und beenden

Das Problem: Dienste, die selbst keine X-Clients sind, werden beim Beenden der X-Session nicht automatisch beendet. Es ist nämlich keineswegs so, dass das Gnome Session Management allen eingetragenen Prozessen zum Schluss ein entsprechendes Signal sendet -- vielmehr müssen Clients das Ende der Session daraus ableiten, dass ihre Verbundung zum X-Server stirbt.

Das folgende Skript macht sich zu Nutze, dass die dbus-Session zusammen mit der X-Session stirbt. Ein beliebiger X-Client, der nichts tut (dem Nutzer nicht in die Quere kommt), würde es hier tun. Falls jemandem eine "leichtere" Lösung einfällt: bitte melden!

#!/usr/bin/ruby
SUB_COMMAND = "Pfad des Dienstes"
COMMAND_ARGS = "-d -f blahfu".split
TERMINATE_SIG = "TERM" #Ändere zu INT für den Rails Webrick ./script/server

child = fork { exec(SUB_COMMAND, *COMMAND_ARGS) }
puts child

#ein x-client, der sich mit dem Ende der Sitzung beendet
system("dbus-monitor", "sender='yyy.invalid'")

Process.kill(TERMINATE_SIG, child)
Process.wait(child, Process::WNOHANG)

Dieses Skript anpassen, ausführbar ablegen und in die Gnome-Session eintragen (System->Einstellungen->Sitzungen, Tab Startprogramme).

Dinge, die mal jemand machen sollte (Software)

  • -U Option für mkswap, um die UUID zu setzen

LVM+cryptsetup triple layer mit Hibernate auf Ubuntu

Soeben in meiner virtuellen Maschine ausprobiert, dass es prinzipiell funktionieren sollte:

LVM ist ja unter anderem dafür da, sich von der Knechtschaft der Partitionierungsschemata zu befreien, um bei Bedarf Dateisysteme verkleinern oder vergrössern zu können oder weitere anzulegen. Wenn man nun sowohl verschlüsselte als auch unverschlüsselte Dateisysteme haben will UND (gewissermassen) die Grenze zwischen beiden Bereichen verschieben können will UND keine Lust/nicht ausreichend Verschiebeplatz hat, um komplett neuzupartitionieren, dann funktioniert folgendes Layout: (...ausserdem muss man beim booten nur einmal ein passwort eingeben...)

  • auf der untersten Ebene sammelt man, Partition für Partition nacheinander ("fließende Migration"), alle physikalischen Partitionen (ausser einer für /boot) als lvm physical volume (pv) in einer volume group "everything" zusammen
  • in "everything" erstellt man ein logical volume "pvcrypt", das mit cryptsetup aufgesetzt wird.
  • auf dem mit cryptsetup auf "pvcrypt" erstellten verschlüsselten volume "vgcrypt" erstellt man eine lvm volume group (es scheint nicht nötig, das cryptsetup volume noch als physical volume anzumelden) des Namens "crypt"
  • in "crypt" legt man seine logical volumes an, die verschlüsselt sein sollen, etwa swap.

Die unverschlüsselten Dateisysteme legt man direkt in logical volumes aus der volume group "everything" an. Hier gibt es keinen Grund für eine weitere Indirektion.

Entsprechende Einträge in /etc/fstab, /etc/crypttab und /etc/initramfs-tools/conf.d/resume vorausgesetzt und einen Aufruf von

sudo update-initramfs -c -k all

später sollte das System bereits fähig sein, in seinen in diesem Setup verschlüsselten swap zu hibernaten und danach auch daraus aufzuwachen.

Bald mehr dazu hier.

sonstiges

VirtualBox Lösungen