Redmine: Premature end of script headers: dispatch.fcgi

Wenn ihr Redmine über mod_fcgid eingebunden habt und es einfach nicht starten will und auch keine Fehler ausspuckt, außer Premature end of script headers: dispatch.fcgi im Apache error log.

Dann solltet ihr mal überprüfen, ob die Datei configuration.yml die richtigen Berechtigungen aufweist… Hat mich jetzt einige Zeit gekostet, das raus zu finden.

Drauf gekommen bin ich, weil ich Redmine mal via Passenger anstatt via fcgi eingebunden habe. Tolle Sache!

Linux: Aktives Fenster auf anderen Monitor verschieben

Mit diesem kleinen Script lässt sich das aktuelle Fenster leicht per Shortcut von einem auf den anderen Monitor verschieben. Funktioniert auch mit maximierten Fenstern, die nach dem Verschieben weiterhin maximiert bleiben.

Das Script ist für zwei Monitore mit gleicher Auflösung ausgelegt.

#!/bin/bash

# screen width
screen_width=1280

# active window
window=`xdotool getactivewindow`

# get active window size and position
x=`xwininfo -id $window | grep "Absolute upper-left X" | awk '{print $4}'`
w=`xwininfo -id $window | grep "Width" | awk '{print $2}'`

maximized=false
if [[ "$w" -eq "$screen_width" ]]; then
	maximized=true
fi

# window on left monitor
if [ "$x" -lt "$screen_width" ]; then
	
	if $maximized; then
		wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
	fi

	wmctrl -r :ACTIVE: -e 0,$screen_width,-1,-1,-1

	if $maximized; then
		wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz
	fi

# window on right monitor
else
	
	if $maximized; then
		wmctrl -r :ACTIVE: -b remove,maximized_vert,maximized_horz
	fi

	wmctrl -r :ACTIVE: -e 0,0,-1,-1,-1

	if $maximized; then
		wmctrl -r :ACTIVE: -b add,maximized_vert,maximized_horz
	fi

fi

Hallo xorg-server 1.8, tschüs HAL – Eine Gentoo Anleitung

Hi,

hab jetzt mal auf xorg-server 1.8 geupdated.
Kaum ist das emerge durchgelaufen, springt mir auch schon die erste Meldung ins Gesicht, dass HAL scheiße ist und dass ich doch zu udev wechseln soll, weil HAL in zukünftigen Versionen nicht mehr unterstützt wird.

Da dachte ich mir als erstes: WTF?
Ich hatte ja schließlich erst bei einem der letzten major-updates von xorg auf HAL gewechselt, weils ohne nicht mehr funktioniert hat. Und jetzt schon wieder ein backend-Wechsel? Könnt ihr euch mal entscheiden?

Naja gut, da muss ich jetzt eben durch. Aber wenn dann verbann ich HAL aber gleich komplett von meinem System. Ich brauch das Ding ja sonst nicht.

Erstmal die Xorg Config anpassen. Nein, nicht die /etc/X11/xorg.conf, sondern da gibts jetzt ein Verzeichnis /etc/X11/xorg.conf.d/. Da drin installiert einem portage schon mal ne grundlegende config: 10-evdev.conf

In seiner /etc/make.conf sollte man sowieso schon länger folgendes stehen haben:

INPUT_DEVICES="synaptics evdev"

synaptics natürlich nur, wenn man ein touchpad besitzt.
evdev hat schon vor einiger Zeit die alten keyboard- und mouse-Treiber ersetzt.

Zurück zur xorg-config. Ich habe mir einfach zwei weitere Dateien angelegt.

/etc/X11/xorg.conf.d/01-keyboard.conf

Section "InputClass"
	Identifier "keyboard"
	Driver "evdev"
	MatchIsKeyboard "on"
	Option "xkblayout" "de"
	Option "xkbvariant" "nodeadkeys"
EndSection

/etc/X11/xorg.conf.d/02-synaptics.conf

Section "InputClass"
	Identifier "touchpad"
	MatchIsTouchpad "on"
	MatchDevicePath "/dev/input/event*"
	Driver "synaptics"
EndSection

Dann in der make.conf die hal USE-Flag entfernen und dafür die udev USE-Flag einfügen!

Danach empfielt sich:

emerge -ua1NDv world # oder xorg-server
emerge -a1 `qlist -I -C x11-drivers/` # falls noch nicht geschehen
/etc/init.d/hald stop
emerge --depclean -av hal
revdep-rebuild
rm -rf /etc/hal

Wenn alles geklappt hat, hat man nun ein HAL-freies System und einen neuen X-Server.

Viel Spaß dabei ;)

Gentoo LAMP init-script

Hab grad auf die Schnelle ein init-script im Gentoo-Stil gebastelt, das nix andres macht als Apache und MySQL zu starten/stoppen.

#!/sbin/runscript

depend() {
	use apache2 mysql
}

start() {
	ebegin "Starting Apache"
	/etc/init.d/apache2 start
	eend $?

	ebegin "Starting Mysql"
	/etc/init.d/mysql start
	eend $?
}

stop() {
	ebegin "Stopping Apache"
	/etc/init.d/apache2 stop
	eend $?

	ebegin "Stopping Mysql"
	/etc/init.d/mysql stop
	eend $?

	eend 0
}

WinMerge wird nicht mehr aktiv weiterentwickelt

http://kimmov.wordpress.com/2010/02/21/priorities/

oh noes! :(
Kann das bitte bitte bitte jemand mal forken und nach QT oder zumindest GTK portieren?
Ich such schon EWIG nach einer würdigen Alternative für Linux…

Meld finde ich eher nicht so toll.
Ist lange nicht so komfortabel zu bedienen! Die GUI von WinMerge ist einfach super!

Wenn ich doch nur mehr Zeit hätte, würde ich es selbst machen… Schüler müsste man nochmal sein ;)

Kaputte Buttons in Eclipse und gtk+-2.18+

Falls ihr euch wundert, warum nach einem Update auf gtk+-2.18+ diverse Button in Eclipse nicht mehr auf einen Mausklick reagieren, hab ich hier den Grund und einen Workaround gefunden:

Hier zwei Bug-Reports, die das Problem verdeutlichen:
https://bugs.launchpad.net/gtk/+bug/442078/comments/28
https://bugs.eclipse.org/bugs/show_bug.cgi?id=291257

In Eclipse 3.5.2 soll das Problem behoben sein.
Bis dahin hilft dieser Workaround:

GDK_NATIVE_WINDOWS=1 eclipse

xfce: Icons vom Desktop verschwunden

Kleiner Hinweis für alle xfce- und Gentoo-User.

Falls nach einem Update auf einmal alle Icons von eurem Desktop verschwunden sind, liegt das vermutlich daran, dass ihr xfdesktop ohne das „thunar“ USE-Flag compiliert habt.

echo "xfce-base/xfdesktop thunar" >> /etc/portage/package.use && emerge -av1 xfdesktop

Und schon läufts wieder :)

OSDVolume

Tach,

kurz ein kleines Perl-Script, das man hinter einen Keyboard Shortcut legen kann um die Lautstärke zu ändern.
Die neue Lautstärke wird dann als OSD im Balkenformat ausgegeben. Nix neues, aber mir war langweilig.

#!/usr/bin/perl

if($#ARGV == -1){
	print "Usage: $0 percentage(+|-)\n";
	exit;
}

`killall osd_cat`;
`amixer set Master $ARGV[0]`;
`amixer get Master` =~ /^.*\[(.*)%\]/m;
`osd_cat -d 2 -A center -p middle -c lightblue -b percentage -T Lautstärke -s 2 -f -adobe-helvetica-bold-r-*-*-34-*-*-*-*-*-*-* -P $1`;