Reliable screen lock on sleep in Cinnamon

December 2nd, 2014 No comments

I’ve been having some problems with Cinnamon’s default lock screen cinnamon-screensaver not reliably being active after resume. Sometimes my screen was still visible for a blink of an eye, sometimes it didn’t even activate at all (often coinciding with hangs of Cinnamon, e.g. caused by FUSE).
In order to fix this I created a simple systemd service following the template in the Arch Wiki.

/etc/systemd/system/screenlock.service:
[Unit]
Description=Lock X session on sleep
Before=sleep.target

[Service]
User=username
Environment=DISPLAY=:0
ExecStart=/usr/bin/cinnamon-screensaver-command -l

[Install]
WantedBy=sleep.target

After enabling the service (systemctl enable screenlock.service) I got a reliable lock screen. It takes my notebook about an extra second to go to sleep now, but I don’t mind that.

GraphicsSwitcher 1.0.1.0

November 17th, 2009 2 comments

Just uploaded an improved version of GraphicsSwitcher.

Changes:
– When hovering over the tray icon it is displayed which graphics adapter has been activated
NOTE: Switches made through PowerManager are not detected (That’s on my todo list for the next days).

Download

Automatic graphics switching in Windows 7

November 12th, 2009 1 comment

A feature I liked very much was the automatic graphics switching depending on the used power source that the Catalyst Control Center offered on my T400 in Vista. For those not knowing what I am talking about: some Lenovo notebooks are equipped with two graphics chips – one saving energy and one having more performance. In Vista / Windows 7 a dynamic switching between these chips is possible.
One (constructional?) flaw the T400 has is that only this high performance adapter is connected to the digital video output. This makes it necessary to use the high performance card for displays connected via DVI. Still I want to use the energy saving adapter when I am on the road as it gives at least 25% longer runtimes on battery.
Bottom line: Automatic switching would be great in Win 7.

Some days ago I stumbled over an article (link below) describing how to use Lenovo’s PowerManager libraries to switch the active graphics adapter and decided to implement the automatic switching myself.
To avoid trouble with Lenovo my graphics switcher does not need the PowerManager libraries in its folder but rather loads them from the PM directory (provided PM is installed).

Download GraphicsSwitcher (executable and source)

Usage:

  • Extract the bin folder to a location of your choice
  • Run GfxSwitcher.exe
  • Automatic switching now occurs on power source changes
  • To quit GraphicsSwitcher right click the belonging tray icon (right in the task bar) and click Close

Warning: Please use GraphicsSwitcher carefully (save documents before power source changes) as the current version of Lenovo’s graphics drivers are not perfect yet and tend to crash sometimes (which happens as often when you switch using PowerManager).

Licence: MIT licence, see licence.txt in the downloaded archive.

Source (graphics switching using PowerManager libraries): http://zabadab.eu/switchablegraphics/

Worms World Party unter Windows 7

October 13th, 2009 1 comment

Worms World Party. Wer es schon einmal gespielt hat kennt seinen Suchtfaktor.

Leider gestaltet es sich seit Windows Vista recht kompliziert in den Genuss von WWP zu kommen, da es im besten Fall mit recht psychedelischen Farben daherkommt. Seit einiger Zeit gibt es hierfür einen Fan-Patch im Forum von Team 17.

Da ich Installationen von Programmen unbekannter Herkunft gegenüber abgeneigt bin suche ich immer Wege, diese zu umgehen. In diesem Fall ist dies leicht möglich:

  • Im Tab Kompatibilität der Programm-Datei wwp.exe folgende Haken (das Standardprogramm für ältere Spiele) setzen:

    • Im Kompatibilitätsmodus ausführen -> Windows XP (SP 2)
    • Desktopgestaltung deaktivieren
    • Als Administrator ausführen
  • Mittels pssuspend oder Process Explorer alle explorer.exe Prozess-Instanzen anhalten
  • Worms spielen : )
  • Den Explorer fortsetzen

Leider ermöglicht auch dieser Workaround auf meinem PC nur das Spielen in 640×480, aber immerhin.

Quelle: http://forum.team17.com/showthread.php?t=38883

PSSuspend: http://technet.microsoft.com/en-us/sysinternals/bb897540.aspx
Process Explorer: http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Categories: Deutsch, Windows 7

Win7: Buttons on a window preview

September 11th, 2009 No comments

For more than a month now I am enjoying Windows 7. I really enjoy it. As too many folks out there are blogging about all its greatness I did not see myself invoked to jump onto that train – until now.

Some minutes ago my mouse hovered casually above the Media Player taskbar icon – and suddenly: What is that? Controls beneath the preview? Again, one of these WOW moments.

Buttons on a preview window.

A quick websearch brought up a nice article by Arian T. Kulp, which I can really recommend. It is about creating this and some other of the new taskbar “effects”.
Link: http://blogs.msdn.com/coding4fun/archive/2009/08/25/9874533.aspx

Categories: English, Programming, Windows 7

Delete projects on MS Team Foundation Server

August 20th, 2009 No comments

Ever tried deleting a project from TFS? If so, then you found out that there is no GUI option for this.
Some minutes ago I found a nice CodeProject article describing the needed procedure to get rid of a project. In short: use the tfsdeleteProject command ; )

Link: http://www.codeproject.com/KB/dotnet/VSTS-Project-Delete.aspx

TypeBuilder is a Type!

June 4th, 2009 No comments

Today, although it would have been quite obvious by simply reading the MSDN (yes, RTFM fits in this situation), I spent some minutes searching for a way to dynamically create two mutually referencing classes via TypeBuilder. What I was looking for was a way to generate something like:

class A { public B b; }
class B { public A a; }

My first attempt was to create A without any fields, use the type to generate B and modify the former afterwards. As one cannot change a type once TypeBuilder.CreateType() has been called, that attempt failed.
After some searching I found out that TypeBuilder is a subclass of Type. Knowing this, the initial problem is easily solvable through:

TypeBuilder aBuilder = moduleBuilder.DefineType(…);
TypeBuilder bBuilder = moduleBuilder.DefineType(…);
aBuilder.DefineField("b", bBuilder, FieldAttributes.Public);
bBuilder.DefineField("a", aBuilder, FieldAttributes.Public);
aBuilder.CreateType();
bBuilder.CreateType();

Once again the simplest solution was the best.

Categories: .NET / C#, English, Programming

Introducing PET – Process Enactment Tool

May 24th, 2009 No comments

Es war nun lange Zeit still um mich und meinen Blog. Von der hierfür eingeplanten Zeit floss ein Großteil in die Weiterentwicklung und Fertigstellung von PET.

Das plastische Akronym steht für ein Framework – entwickelt am Lehrstuhl für Software- und Systems-Engineering der TU München – welches die Forcierung von Prozessen unterstützt. Unser ursprüngliches Ziel bestand in der Abbildung eines prozessspezifisch angepassten V-Modell XT auf Microsofts Team Foundation Server 2005/08 und somit in der Ablösung des bestehenden Werkzeugs CollabXT.

Schnell stellte sich heraus, dass bei sorgfältigem Design des Frameworks eine Abbildung beliebiger Prozesse auf beliebige Tools möglich ist. PET war geboren.

Alle Besonderheiten des erstellten Frameworks aufzuzählen würde die Länge eines gut leserlichen Blog-Eintrags sprengen, deshalb hier nur einige Kernpunkte:

  • Liest beliebige Prozessmodelle und erzeugt daraus Eingabedaten für prozessunterstützende Werkzeuge
  • Benutzerfreundlicher Konvertierungsassistent für Windows XP, Vista, Server 2003/08
  • Vollständig lokalisiert in Deutsch und Englisch
  • Dynamische geladene Plugins zum Lesen des Prozessmodells
    • Im aktuellen Release ist ein Plugin für das V-Modell XT enthalten
  • Dynamische geladene Plugins zum Erstellen von Werkzeugvorlagen und direkten Endprodukten
    • Plugins für Microsofts Team Foundation Server, SharePoint und Word 2007 liegen bereits vor
  • kompletter Quelltext in C#, .NET 3.5
  • Open Source

Bei Interesse verweise ich auf die Codeplex-Homepage des Projekts: http://pet.codeplex.com. Hier finden sich eine ausführliche Beschreibung des Projekts, sowie die Programmdateien. Bald folgen an gleicher Stelle der vollständige Quelltext von PET, sowie eine Ausarbeitung über die inneren Strukturen des Systems.

NAS im Eigenbau – Der erste Anlauf

March 18th, 2009 No comments

Mittlerweile sind alle Komponenten meines NAS angekommen.

Das Chieftec-Gehäuse traf zuerst bei mir ein und begeistert mich seitdem: Super Verarbeitung, sehr gute Geräuschdämmung (wenn man die Mesh-Bauweise bedenkt) und erträgliches Gewicht. Ein besonderes Lob verdient die Aufhängungstechnik der Laufwerke: ich musste keine einzige Schraube bewegen, um die Festplatten an Ort und Stelle zu bringen. Der Einbau der restlichen Komponenten verlief ohne Komplikationen.

Zum Aufspielen des Betriebssystems nutzte ich ein noch herumliegendes IDE-DVD-Laufwerk. Der Windows Server lässt sich, wenn man bereits Erfahrung mit Windows-Administration hat, sehr leicht einrichten und macht keine Probleme. Die von mir benötigten SMB-Shares, sowie die Festplattenspiegelung (RAID 1) waren innerhalb von 2h einsatzbereit.
Positive Erwähnung sollen hier die beiden Western Digital-Festplatten finden: Sie brechen keine Geschwindigkeitsrekorde, sind dafür aber flüsterleise.
Bemerkenswert ist auch das be quiet!-Netzteil; es liefert eine stabile Stromversorgung und unhörbar.

Weniger begeistert bin ich vom ASRock-Mainboard. Es bietet mir keine Möglichkeit manuell auf die Lüfterdrehzahlen Einfluss zu nehmen. Dies wäre kein Problem, würde das Board diese selbst zufriedenstellend regeln, was aber nicht geschieht. Der Scythe-Lüfter (mit Fensterdämmband vom Gehäuse entkoppelt), als auch der zum Prozessor gehörige von AMD sind zwar keineswegs laut, dennoch störend bei konstanter Drehzahl von über 1000 Upm.

Ein schneller Test der Stromaufnahme des Gesamtsystems ergab rund 40W, was ich als sehr zufriedenstellend – wenn auch noch nicht perfekt – empfinde.

Fazit: Das Mainboard, sowie der 80x80mm Scythe-Lüfter werden zurück geschickt. Letzter, da ich einen mit 92x92mm benötige, um ausreichende Kühlung für die Festplatten zu gewährleisten.

Auf der neuen Bestellliste befinden sich:

Mainboard: Gigabyte GA-MA78GM-UD2H
AMD 780G, 5x SATA300, eSata, GBit LAN, 3x Lüfter mit PWM

Festplatte: Western Digital Caviar GP WD10EADS
1 TB, 5400/7200 Upm, 32MB Cache

CPU-Kühler: Scythe SCNJ-2000 Ninja 2

Lüfter: Scythe Kama PWM 92x92x25mm

Die zusätzlich benötigten rund 120€ ergeben sich aus der dritten Festplatte und dem CPU-Kühler, welcher hoffentlich Passivkühlung des Prozessors ermöglicht.

Categories: Deutsch, NAS, Projects

NAS im Eigenbau – Auswahl des Betriebssystems

February 26th, 2009 No comments

Da ich schon ziemlich lange von den Konzepten des Dateisystems ZFS begeistert bin hätte die Betriebssystemwahl für mein NAS eigentlich eine leichte sein sollen: OpenSolaris. Einige Tests mit OpenSolaris in virtuellen Maschinen (ich bin begeisterter VirtualBox-Nutzer) stimmten mich sehr positiv, alles war super bis …

… ich mich über die Unterstützung von AMDs Cool and Quiet Technologie informierte. Diese ist schlichtweg nicht vorhanden; Pläne diese zu integrieren gibt es nicht, da scheinbar zu wenige Nutzer OpenSolaris auf stromsparenden Athlon64 X2-Maschinen einsetzen.

Solaris fällt also weg. Wo gibt es weitere sinnvolle Implementierungen von ZFS? OpenBSD. Auch hier klapperte ich wieder meine Checkliste ab. ZFS? Cool and Quiet? DHCP-Server? VirtualBox? … Letzteres gibt es leider (noch) nicht für OpenBSD. Schade, aber ohne Virtualisierung kann ich benötigte Windows-Anwendungen (z.B. einen ASP.NET 3 Server) nicht ausführen.

Linux in allen Varianten scheint die logische Konsequenz. Meine Checkliste wird hier oberflächlich komplett erfüllt, jedoch nur mit einem im User-Space “emulierten” ZFS (FUSE), welches weder sonderlich schnell noch stabil zu sein scheint – ergo unbrauchbar. Schade.

Das Ende des Liedes ist, dass ich den auf jeden Fall benötigten Windows Server 2008 nicht virtualisiere, sondern direkt als Haupt-System nutze.

Kurzes Fazit: Für alle, die eine Windows Server Lizenz besitzen und ein Athlon64-basiertes System einsetzen möchten, gibt es keinen Grund, ein anderes Betriebssystem für das NAS einzusetzen. Ist diese Lizenz nicht vorhanden, so lohnt ihre (doch ziemlich teuere) Anschaffung nicht, da sie den Preis der Hardware locker übersteigt. In diesem Fall empfehle ich aufgrund seiner einfachen Einrichtung und Verwaltung Ubuntu Linux in einer LTS-Version.

Categories: Deutsch, NAS, Projects