linux|n00b Linux für Ein- und Umsteiger

15Okt/110

Screensaver trotz Deaktivierung

Obwohl ich in den Gnome-Einstellungen (also mit gnome-screensaver-preferences) den Screensaver deaktiviert und das Ausschalten der Anzeige in der Energieverwaltung auf "Nie" gesetzt habe, gehen nach einiger Zeit der Nichtbenutzung meine Monitore aus. Selbst wenn ich den gnome-screensaver aus den Startprogrammen entferne oder ihn gar deinstalliere, scheint das mein Fedora-System nicht zu stören. Die Monitore gehen nach einer gewissen Idle-Time aus, was natürlich insbesondere beim Filmgucken recht nervig sein kann.

Um zu prüfen, ob der Bildschirmschoner überhaupt aktiv ist, ist Folgendes im Terminal einzugeben:

[arvid@c64 ~]$ gconftool-2 --get /apps/gnome-screensaver/idle_activation_enabled

Wird dort ein "true" ausgegeben (wie bei mir), so ist dein Bildschirmschoner aktiviert. Zum Deaktivieren gib einfach Folgendes ein:

[arvid@c64 ~]$ gconftool-2 --type bool --set /apps/gnome-screensaver/idle_activation_enabled false

Et voilà. Ein deaktivierter Bildschirmschoner.

Aber die Monitore schalten sich noch immer aus...

Wenn obiges nicht geholfen haben sollte, dann liegt die Ursache für den Energiesparmodus der Bildschirme offenbar nicht an den Gnome-Settings, aber evtl. an den Einstellungen des X-Servers. Diese lassen sich wie folgt beauskunften:

arvid@c64 ~$ xset -q

Wenn weiter unten in den Ausgaben des xset-Befehls etwas dieser Art steht:

DPMS (Energy Star):
  Standby: 600    Suspend: 600    Off: 600
  DPMS is Enabled
  Monitor is On

dann ist wohl genau das der Grund für das Ausschalten der Bildschirme nach einigen Minuten. Abschalten lässt sich das Energiesparverhalten ganz einfach mit dem Befehl:

arvid@c64 ~$ xset -dpms

Jetzt sollte es beim Ansehen eines Films wirklich keine Probleme mehr mit schwarzen Monitoren geben.

5Sep/100

Desktop-Individualisierung mit Gnome

Um deinem Gnome-Desktop eine individuelle Note zu verpassen, lade dir doch mal zur Abwechslung ein Icon-Set herunter, z.b. von GNOME-Look.org. Solche Icon-Themes zu aktivieren, ist schnell erledigt:

1. Herunterladen und speichern

Lade das gewünschte Theme herunter und entpacke es. Speichere das entpackte Theme-Verzeichnis in dein Home-Verzeichnis unter .icons/. Das Verzeichnis ist versteckt, möglicherweise existiert es aber auch nicht, in diesem Falle musst du es natürlich noch anlegen (vergiss dabei nicht den führenden Punkt am Verzeichnisnamen).

2. Einstellungen ändern

Nachdem nun das heruntergeladene Icon-Theme in ~/.icons/ liegt, öffne die "Erscheinungsbild-Einstellungen" (unter Fedora beispielsweise mit einem Rechtsklick auf den Desktop und dann auf den Menüpunkt "Desktop-Hintergrund ändern"). Wähle den Reiter "Thema" und suche dir ein geeignetes Thema aus, klicke anschließend auf den Button "Anpassen". Im sich nun öffnenden Dialog "Thema anpassen" wählst du den Reiter "Symbole". Jetzt suchst du nur noch das Icon-Set, welches du eben noch gespeichert hast und klickst es an.

Fertig.

15Aug/100

Übersicht behalten mit Virtual Desktop

Solltest du noch keine Bekanntschaft mit dem Virtual Desktop, also known as "Arbeitsflächenumschalter", gemacht haben, dann empfehle ich dir, dich mit selbigem vertraut zu machen.

Virtual Desktops gehören auf jeden Fall zu denen Dingen, die ich vor meinem Umstieg auf Linux immer an Windows XP vermisst habe, ohne dass ich damals überhaupt wusste, dass es sie gibt und ich sie eigentlich brauche. Seit ich den "Arbeitsflächenumschalter" kenne und nutze, möchte ich ihn auch auf keinen Fall mehr missen. Er sorgt bei richtigem Umgang für ein Mehr an Übersichtlichkeit bei vielen offenen Programmen.

So simpel und (für manch einen sogar) unbedeutend dieses Feature auch sein mag: Für mich sind Virtual Desktops definitiv ein Highlight im täglichen Umgang mit Linux.

Danke, liebe Tux-Welt für diese hervorragende Funktionalität!

<OFF-TOPIC>
Und mal ehrlich, Apple macht mit seinem Mac OS zwar schon verdammt viel verdammt richtig, aber wer die Spaces kennt, wird mir vielleicht zustimmen: Linux macht das irgendwie besser.
Denn mit den Spaces unter Mac OS hatte ich tatsächlich schon häufiger Probleme (insbesondere beim Wechseln von einem zum anderen Space).

Aber welches Betriebssystem diese oder jene Sache besser oder schlechter macht, gehört wohl in eine andere Geschichte...
Ist ja auch ein Stück weit Geschmackssache. ;-)
</OFF-TOPIC>

12Aug/100

SVN-Integration in den Nautilus

Im Windows-Bereich ist man sich mit ToroiseSVN seit jeher eine nahtlose Einbindung von Subversion in den Win-Explorer gewohnt.
Im Linux-Bereich muss man zumeist auf andere Tools zurückgreifen (die nicht im Dateiexplorer eingebunden werden) oder via Terminal mit dem svn-Kommando arbeiten.

Schritt 1: GnubVersion

Screenshot: GnubVersion ohne SVN Diff (Quelle: GnubVersion Projektseite)

Screenshot: GnubVersion ohne SVN Diff (Quelle: GnubVersion Projektseite)

Wer eine TortoiseSVN-ähnliche Lösung für Linux sucht und bislang noch nichts für seinen Gnome-Desktop gefunden hat, dem sei zunächst GnubVersion empfohlen. Ähnlich wie TortoiseSVN in den Windows-Dateiexplorer integriert sich GnubVersion nach dessen Installation in den Nautilus.

Also, erster Schritt: GnubVersion installieren.

Allerdings ist GnubVersion bei Weitem nicht so funktionsumfangreich wie das Windows-Pendant. Viele Funktionen sind im Grunde auch gar nicht nötig und das Wesentliche beherrscht GnubVersion ja auch, aber eine Sache fehlt: der SVN-Diff.

Schritt 2: Meld und die Nautilus-Aktionen

Um diesen Verlust auszugleichen, habe ich mir etwas Abhilfe verschafft. Folgendes wird dafür benötigt:

  • das Tool Meld (wenn ich mich recht entsinne, habe ich mir auch andere Diff-Betrachter angesehen, aber dieser gefiel mir am besten)
  • die Nautilus-Aktionen
  • und ein Skript, welches SVN mit Meld und den Nautilus-Aktionen verbinden soll (siehe Schritt 3)

Das sind die Zutaten - Wollen wir sie mal miteinander vermischen...

Die Nautilus-Aktionen lassen sich zum Beipiel in yum (dem Fedora-Paketmanager) unter dem Paketnamen "nautilus-actions" schnell finden und installieren. Das Gleiche gilt für Meld, der Paketname lautet schlicht und ergreifend "meld".

Schritt 3: Skript für Nautilus-Aktionen erstellen

Sind beide Tools installiert, folgt der spannende Teil: das Sktipt. Dieses ist zwar vergleichsweise simpel, dafür aber sehr nützlich. Zunächst der Inhalt des Skripts, eine kurze Erläuterung folgt darunter:

#!/bin/bash

# --------------------------------------------------------------------------
# Benutzung des Skripts prüfen

# Anzahl Parameter prüfen
if [ ! $# -eq 1 ]; then
 echo "svndiff benötigt genau einen Parameter, nämlich den Pfad zur Datei (wobei diese natürlich unter SVN-Kontrolle stehen muss)" | zenity --text-info --title="Fehler" --width=600 --height=400
 exit 1
fi

# --------------------------------------------------------------------------
# Variablen anlegen und Dateien prüfen

# Anzahl Wörter, die durch Slash getrennt sind
WORD_COUNT=`echo ${1} | sed 's/\// /g' | wc -w`
WORD_COUNT_PLUS_1=`expr $WORD_COUNT + 1`

# Pfad und Dateinamen ermitteln
FILE_PATH="`echo ${1} | cut -d/ -f1-${WORD_COUNT}`/"
FILE_NAME=`echo ${1} | cut -d/ -f${WORD_COUNT_PLUS_1}`

# Pfade für die SVN-Dateien zusammenstöpseln
# Vergleichsdatei aus SVN-Repository: <pfad>/.svn/text-base/<file>.svn-base
SVN_BASE_FILE="${FILE_PATH}.svn/text-base/${FILE_NAME}.svn-base"
# geänderte bzw. zu prüfende Datei <pfad><file> (kommt direkt aus dem Aufrufparameter, daher kein Zusammenstöpseln notwendig)
SVN_CHANGED_FILE=$1

# Pfade prüfen
# die SVN-Base-Datei
if [ ! -f $SVN_BASE_FILE ]; then
 echo "Datei existiert nicht: $SVN_BASE_FILE" | zenity --text-info --title="Fehler" --width=600 --height=100
 exit 1
fi
# die Datei
if [ ! -f $SVN_CHANGED_FILE ]; then
 echo "Datei existiert nicht: $SVN_CHANGED_FILE" | zenity --text-info --title="Fehler" --width=600 --height=100
 exit 1
fi

# --------------------------------------------------------------------------
# den eigentlichen Zweck des Skripts erfüllen

# meld (das Diff-Tool) starten
meld $SVN_BASE_FILE $SVN_CHANGED_FILE &

exit 0

Was passiert in dem Skript im Klartext...? Diese Frage möchte ich dir natürlich sofort beantworten.

1. Pfade ermitteln
Für die Verwendung des Skripts wird beim Aufruf ein Parameter benötigt, nämlich der Pfad zur Datei, für die ein SVN-Diff angezeigt werden soll. Die Angabe des Parameters wird im Block nach der ersten Trennlinie geprüft. Im nächsten Abschnitt wird aus dem Parameter der Verzeichnispfad vom Dateinamen getrennt. Daraus wird der Pfad erschlossen, der zur entsprechenden SVN-Base-Datei führt. Nun sind beide Pfade bekannt: Der Pfad zur eigentlichen Datei und der Pfad der zugehörigen SVN-Base.

2. Diff-Tool starten
Im letzten Block unter dem dritten Trennstrich wird das Tool Meld gestartet, dieses erhält als Parameter die Pfade der beiden Dateien. Das ist auch schon alles, was wir an dieser Stelle brauchen.

3. That's it.
Mehr passiert da auch gar nicht...

Screenshot: SVN Diff mit nautilus-actions

Screenshot: SVN Diff mit nautilus-actions

Schritt 4: Skript und Nautilus-Aktionen vermählen

Lege nun eine Textdatei an und speichere den Inhalt des oben abgebildeten Skripts darin. Pfad und Dateiname sind egal, denn Namen sind bekanntlich Schall und Rauch. Lege die Datei z.B. im Home-Verzeichnis unter ./.nautilus-actions/ ab und nenne sie svndiff (meinethalben auch "schall und rauch"). Starte dann das Programm nautilus-actions unter System > Einstellungen > Nautilus-Aktionen und füge diese Datei einfach hinzu.

Und fertig ist unser SVN-Diff.

Schritt 5: Have fun!

Wähle im Nautilus Dateien aus, die sich unter Versionskontrolle mit Subversion befinden und lasse dir via Rechtsklick auf "SVN-Diff" eben selbigen anzeigen.

Screenshot: Meld mit SVN-Diff

Screenshot: Meld mit SVN-Diff

5Aug/100

Viele Dateien auf einmal umbenennen mit pyRenamer

Hunderte von Dateien, die du umbenennen möchtest? Aber um Gottes Willen nicht einzeln, sondern in einer Art Batch-Verarbeitung?

Kein Problem! Nimm einfach den pyRenamer. Mit diesem Tool ist das gleichzeitige Umbenennen vieler Dateien möglich. Die Bedienung ist im Übrigen sehr einfach, deshalb schreibe ich dazu mal nichts weiter.

Zwei kleine Anwendungsbeispiele

Fotos von deiner Foto-Kamera kopiert, aber dir gefallen die automatisch gesetzten Dateinamen wie "p4200019.jpg" einfach nicht.
Du wünscht dir stattdessen Bezeichnungen wie "urlaub-ruegen-2010-001", "urlaub-ruegen-2010-002" etc. oder statt einer Durchnummerierung gar zufällige Zahlen.

Oder aber du bist Programmierer und in deinem Projekt gilt es, eine Vielzahl von Log-Dateien zur automatisierten Verarbeitung umzubenennen, weil der Log-Analyzer ein bestimmtes Dateinamenformat ewartet (warum auch immer er das sollte... aber das ist ja nur ein Beispiel)?

Der pyRenamer macht's möglich.