Custom XRandR settings @ KDE startup

Wednesday, 28. October 2009

In folgendem Beispiel sieht man wie man seinen kleinen Notebookdesktop um einen schönen grossen LCD auf die linke Seite erweitert (Bigdesktop) – oder zumindest eine von vielen möglichkeiten ^^

xrandr --output LVDS --auto --output VGA-0 --auto --left-of LVDS

Das wars !! ^^  Vorrausgesetzt die Displaybezeichner stimmen. Dies kann man leicht vorher überprüfen durch den Befehl “xrandr”   das Attribut -h hilft !

Wer diese Einstellung permanent mache möchte und sicherstellen will dass diese bei jedem KDE Startup geladen wird erstellt folgende Datei und füllt sie mit nachstehendem Inhalt:



/etc/X11/Xsession.d/45custom_xrandr-settings
# If an external monitor is connected, place it with xrandr

# External output may be "VGA" or "VGA-0" or "DVI-0" or "TMDS-1"
EXTERNAL_OUTPUT="VGA-0"
INTERNAL_OUTPUT="LVDS"
# EXTERNAL_LOCATION may be one of: left, right, above, or below
EXTERNAL_LOCATION="left"

case "$EXTERNAL_LOCATION" in
 left|LEFT)
 EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT"
 ;;
 right|RIGHT)
 EXTERNAL_LOCATION="--right-of $INTERNAL_OUTPUT"
 ;;
 top|TOP|above|ABOVE)
 EXTERNAL_LOCATION="--above $INTERNAL_OUTPUT"
 ;;
 bottom|BOTTOM|below|BELOW)
 EXTERNAL_LOCATION="--below $INTERNAL_OUTPUT"
 ;;
 *)
 EXTERNAL_LOCATION="--left-of $INTERNAL_OUTPUT"
 ;;
esac

xrandr |grep $EXTERNAL_OUTPUT | grep " connected "
if [ $? -eq 0 ]; then
 xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --auto $EXTERNAL_LOCATION
else
 xrandr --output $INTERNAL_OUTPUT --auto --output $EXTERNAL_OUTPUT --off
fi

Dieses Script bietet einfache Konfigurationsmöglichkeiten und stellt sicher dass X auch startet falls kein zweiter Monitor angeschlossen ist.

Da KDE ein sehr freies Panelmanagment erlaubt kann man überall auf den beiden Screens (versteckte) Panels in verschiedenen Grössen platzieren und viele Vorteile aus einem solchen Setup ziehen. Selbstverständlich ist auch der Positionierung der Plasmoids keine Grenze gesetzt!

Django – AdminSplitDateTime() Widget in View

Monday, 19. October 2009

Wie man dieses feine Date und Time Select Widget aus der Adminoberfläche in sein View bekommt (wo die Auswahl der Widgets eher nicht so umwerfend ist) wird in Folge stichwortartig beschrieben:

calender

# in den head des templates

<script type="text/javascript" src="/my_admin/jsi18n/"></script>
<script type="text/javascript" src="/media/admin/js/core.js"></script>
{{ form.media }}

# in die urls.py

(r'^my_admin/jsi18n', 'django.views.i18n.javascript_catalog'),

# in forms.py

from django.contrib.admin import widgets
class NotesForm(ModelForm):
todo_date_time = forms.DateTimeField(widget=widgets.AdminSplitDateTime(), required=False)
class Meta:
model = Note

Das ganze jetzt noch in Kürze erläutert….

Template: jsi18n/  und core.js sowie die zwei js Files die “form.media” noch reinholt werden einfach mal benötigt.

Urls: Damit /my_admin/ auch etwas liefern kann muss dieser Aufruf über die urls.py abgefangen und auf den javascript_catalog umgeleitet werden.. daher der Eintrag in der urls.py

Forms: hier wird “Note” aus der models.py quasi gesubclassed und dem “todo_date_time” Feld (name ist natürlich Schall und Rauch) ein Widget aufgezwungen – der Rest wird einfach bei dem belassen was “modelform” üblicherweise aus dem definierten Model macht. Im enstprechenden View kann man diese Form namens “NotesForm” natürlich importieren und an das Template weiterleiten .. rendern lassen.

glhf

AVCHD (MTS) Kdenlive und linux

Monday, 19. October 2009

Nivida Grafikkartenbesitzer haben seit kurzem (Betastadium) die Möglichkeit mit proprietärem Treiber das Decoden dieser Files auf der GPU erledigen zu lassen und haben somit wahrscheinlich eine akzeptable Videoperformance.. (der ensprechende Videoplayer muss VDPAU unterstützen) wirklich gut zum Editieren scheint sich dieses Videomaterial aber dennoch nicht zu eignen.

1440×1080 50fps schafft auf linux auf Anhieb (zumindest bei mir) ohnehin nur VLC abzuspielen und hier ruckelt es auf einem PC aus dem Jahre 2008 (ohne Nvidia VDPAU) – Kdenlive kann diese Videos importieren und theoretisch auch editieren – Spass ist das aber keiner ^^  Das Gute muss man aber auch noch erwähnen : selbst eine Canon HD Cam kann man anstecken und die MTS files einfach auf die Platte kopieren da die Cam als externe Festplatte eingebunden wird. (da wern die windowsuser neidig 😉 )

Um diese Files aber mit Freude anzusehen und zu bearbeiten habe ich mir erlaubt diese, recht einfach, in ein qualitativ gleichwertiges MPEG4 im .mov container zu verwandeln. Damit man die Zeile Code nicht für jeden einzelnen Clip eintippen und dann warten muss kommt das alles in ein kleines Shellscript, dieses legt man in den Folder mit den .MTS Files und führt es aus..  je nach dem geht man dann essen oder schlafen ^^

#!/bin/bash
for n in *.MTS;
do ffmpeg -y -threads 2 -i "$n" -acodec libfaac -ab 256k -vcodec mpeg4 -vb 36M -s 1440x1080 -intra -flags +ildct+ilme "${n%.MTS}.mov";
done

Man sollte unbedingt auf das Pixelseitenverhältnis achten (könnte ja auch höher oder niedriger sein je nach Cam). Vielleicht wäre es geschickt anstelle der -vb -s  Parameter -sameq einzusetzen um “same quality like source” zu implizieren.

Kdenlive wird diese Videos dann einwandfrei bearbeiten können. Die Version 0.7.6 ist übrigens einen Versuch wert. (ist mir heute kein einziges Mal abgeschmiert Oo )

http://www.kdenlive.org/

Samba (LAN Filesharing) Konfiguration

Monday, 12. October 2009

Seit Jahren schon ist Samba bereit dafür zu sorgen, dass Linux und Windows sich im LAN zusammenfinden und einander ihre Dateien anbieten können. Grafische Hilfen dafür gibt es inzwischen einige – benutzerfreundlich sind Diese jedoch leider in keiner Weise und darüber hinaus sind Diese noch nicht einmal “per default” unter KDE zu finden. KDE liefert von Haus aus die Möglichkeit den samba-Client mit Username und Passwort zu konfigurieren .. das wars.

Ein hervorragendes Werkzeug ist übrigens smb4k, welches man in den Repos findet. Dies eignet sich jedoch in erster Linie zum Browsen im samba-Netzwerk.

Um samba generell überhaupt verwenden zu können, muss dieser zunächst einmal installiert sein..

sudo apt-get install samba kdenetwork-filesharing system-config-samba smb4k

Die letzten beiden Pakete (mit Anhang) werden benötigt damit samba über die KDE Oberfläche administriert werden kann und die Tab “Filesharing” bei Rechtsklick auf einen Ordner auch tatsächlich etwas bewirkt.

Letzlich ist die allerbeste und sicherste Methode Filesharing schnell und schmerzlos zum laufen zu bringen leider immernoch die Konsole. Eine fertige smb.conf in das Verzeichnis /etc/samba/ kopieren, samba neustarten und das wars. Eine solche smb.conf als Anhaltspunkt will ich hier mal zur freien Verfügung stellen:

[global]
 netbios name = TEST
 server string = %h server (Samba, Kubuntu)
 workgroup = WORKGROUP
 security = user
 encrypt passwords = true
 invalid users = root
 log level = 2
 log file = /var/log/samba/log.%m
 max log size = 1000
 dns proxy = no
 socket options = TCP_NODELAY
 wins support = yes
 name resolve order = wins bcast lmhosts hosts
 os level = 65
 local master = yes

 browse list = true
 guest account = testuser

[testshare]
 comment = share auf test
 read only = no
 writable = yes
 path = /home/testuser/public
 browseable = yes
 available = yes
 guest ok = yes

Diese Konfigurationsdatei will freilich jederzeit verfeinert werden und ist sicher nicht für jeden Einsatzzweck geeignet – in einem kleinen privaten LAN zb. ist sie durchaus brauchbar ^^. Was diese Konfiguration garantiert zusammenbringt ist eine sichere Auflistung aller Shares im lokalen Netz und ganz simple und einfach das, was sie verspricht..  die Freigabe des Ordners “/home/testuser/public”

Bei der Anpassung der Konfigurationsdatei an das eigene System sollte auf die rot hervorgehobenen Attribute besonderes Augenmerk gelegt werden. Bei Diesen geht es zwar meist  nur um Bezeichner, der PATH jedoch ist durchaus relevant, der -guest account- könnte/sollte “nobody” lauten (in diesem Beispiel ist “guest” der gleiche wie der angemeldete Hauptbenutzer, was womöglich sicherheitstechnisch fragwürdig ist) – dann sind jedoch auch die Dateirechte (write,read,execute,..) im freigegebenen Ordner zu bedenken und evtl. anzupassen.(über den Dateimanager)

Darüber hinaus sollte nur ein Rechner im Netz das

   os level = 65

besitzen. Der Wert 65 ist der höchste und bedeutet, dass diese Maschine immer den -lokal master- an sich reissen und als zentrale Schnittstelle fungieren wird – andere rechner im Netz bekommen einen niedrigeren Wert.

Ich bin freilich kein samba Experte und freue mich über Hinweise, kritische Punkte an der Konfiguration und genauere Erklärungen.

Danke und viel Erfolg beim Freigeben von Ordnern!

ADDRCONF(NETDEV_UP): eth0 : link is not ready

Sunday, 11. October 2009

vielleicht ist es dem einen oder anderen folgende zeile schon einmal untergekommen und hat für verzweiflung gesorgt?

ADDRCONF(NETDEV_UP): eth0 : link is not ready

diese zeile ist ein ausschnitt des “dmesg” output … ein dmesg das durchgeführt wurde nachdem trotz erfolgreicher ifconfig konfiguration und 10facher netzwerkkabelüberprüfung immernoch keine netzwerkverbindung steht, die leds nicht leuchten, rmmod – modprobe, ethtool, mii-tools etc. nichts gebracht haben.. acpi einstellungen keine wirksamkeit zeigen – der link einfach “not ready” ist und bleibt- was in der regel bedeutet dass das netzwerkkabel nicht eingesteckt ist, was aber nicht stimmt.

in diesem fall liegt die lösung allerdings dort wo man sie kaum suchen würde versteckt.. in windows!

die lösung in aller kürze: windows starten – windows den stecker ziehen (5sek powerdown) sodass es nicht runterfahren kann – linux starten – fertig!

was passiert da? keine ahnung ! 😉   windows fährt den netzwerkadapter offenbar in einen zustand aus dem ihn linux nicht mehr richtig aktivieren kann.. dies kann man wie erwähnt verhindern.. (ich bin über jede verfeinerung dieses brachial howtos glücklich – vorallem weil man dazu ein dualbootsystem braucht, bzw. das eben erst erfolgreich entfernte windows wieder installieren muss^^)

so long.. glhf und am besten