Wie man den Timer-Dialog beim Abschalten von Karmic vollständig ausschaltet ist ja hinlänglich bekannt, zuletzt hier:
http://forum.ubuntuusers.de/topic/den-60-sekunden-countdown-deaktivieren/ und hier: http://forum.ubuntuusers.de/topic/direkt-runterfahren-wie/ .
Aber wie wäre es denn wenn man diese Zeit anpassen könnte ? Vielleich einfach auf 10 Sekunden oder so ?
- "Geht nicht, ist ja hart codiert.. " ?
Na ja, auf dem niederländischen Forum haben wir da doch etwas gefunden: http://forum.ubuntu-nl.org/software-en-configuratie/pjotr-delay-bij-afsluiten-weghalen/ 🇳🇱
Möglichkeit 1: selber kompilieren:
Dieser Dialog versteckt sich im Paket indicator-session , und der Quelltext ist hier zu finden: http://archive.ubuntu.com/ubuntu/pool/main/i/indicator-session/indicator-session_0.1.7.orig.tar.gz
Wenn man da ein bisschen sucht findet man die Verzögerung (60 sek) in der Datei indicator-session-0.1.7/src/gtk-dialog/logout-dialog.c , mit der Zuweisung
logout_dialog->timeout = 60;
(Zeile 258) - Wenn man nun diesen Wert nach Wunsch anpasst und dann das Paket neu kompiliert, hätte man ja was man wollte.
Allerdings muss man vorher noch die Header installieren, dann noch den Ubuntu-Patch ausführen, schließlich alles installieren, und das hoffentlich alles ohne Fehler. Das war selbst mir zu heiß und umständlich. Also die Frage, gibt es eine andere Möglichkeit ?
Möglichkeit 2: Binärdatei patchen:
Eigentlich braucht man doch nur diesen einen Zahlenwert anpassen, nicht wahr .. ?
Gut, wie haben wir das denn damals zu DOS-Zeiten gemacht ? Richtig, den HEX-Editor angeschmissen und die kleinen Bytes gepatcht. Und warum soll das nun bei Uby nicht gehen ? Schließlich ist es ja nur eine einzige Zahl, und wir wissen wo wir suchen müssen. Vielleicht enstpricht das nicht dem Stil der Kunst, ist aber die einfachste Lösung.
Artikel für fortgeschrittene Anwender
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
- Also installieren wir einen HEX-Editor: ghex aus den Repo's, am besten mit synaptic
- Da wir jetzt Systemdateien bearbeiten wollen, müssen wir nautilus im Terminal mit "root"-Rechten starten:
gksu nautilus
Achtung: mit root-Rechten können wir natürlich viel kaputt machen. Also bitte vorsichtig, und möglichst bald wieder schließen !
- Wir suchen die Datei gtk-logout-helper im Verzeichnis /usr/lib/indicator-session/ auf und sichern eine Kopie dieser Datei.
(bei mir heißt die dann gtk-logout-helper0 )
- Jetzt können wir den HEX-Editor starten: Rechtsklick auf die Datei gtk-logout-helper , [öffnen mit] → Hex-Editor
- Die gesuchte Zahl "60" ist hexadezimal "00 00 00 3C" (wir haben ja ein 32-bit-System !) oder oktal "74". Also suchen wir danach:
Dieses Makro ist nicht verfügbar
Diese Zahl kommt zweimal vor, davon ist die zweite die Richtige:
Dieses Makro ist nicht verfügbar
Und die ändern wir jetzt auf "10", das ist hexadezimal "00 00 00 0A" oder oktal "12":
Dieses Makro ist nicht verfügbar
und [Datei] - speichern.
- Da wir ja vorsichtige Menschen sind kontrollieren wir am Ende dass auch wirklich nur dieses eine Byte verändert ist:
trackd@ubuntu:~$ cmp -l /usr/lib/indicator-session/gtk-logout-helper0 /usr/lib/indicator-session/gtk-logout-helper 11603 74 12
Wenn das Ergebnis so aussieht ist alles gut: 1 Byte Unterschied, vorher 74 (oktal) - nachher 12 (oktal), genau was wir wollten.
Und sollte etwas schief laufen: wir haben ja noch die Sicherungskopie. (und zur Not installieren wir das Paket indicator-session neu)
track
p.s.: Ergänzungen, Korrekturen und Kommentare willkommen !