Aliase für die Bash anlegen

Bitte beachtet auch die Anmerkungen zu den HowTos!

Wer viel mit Terminals arbeitet, kennt das Problem, sich entweder regelmäßig durch die History zu hangeln oder längere Befehle eingeben zu müssen. Besoders bei Befehlen, die man regemäßig nutzt, eine durchaus lästige Angelegenheit.

Hier bietet die Bash jedoch durch Aliase eine sehr angenehme Arbeitserleichterung an. Aliase werden in die .bashrc Datei im eigenen Home-Verzeichnis eingetragen und stehen nach einem Neustart des Terminals zur Verfügung. Für jeden Alias muss ein neuer Eintrag nach folgendem Muster angelegt werden:

alias $Name='$Befehl'

Wenn man eine größere Anzahl Aliase nutzt, ist es durchaus empfehlenswert, diese aus Gründen der Übersichtlichkeit, in eine separate Datei (zum Beispiel .aliases) auszulagern und diese Datei dann mittels

# Aliase einbinden
if [ -f ~/.aliases ]; then
    . ~/.aliases
fi

in die .bashrc einzubinden.

„Aliase für die Bash anlegen“ weiterlesen

Bash Historie deaktivieren

Bitte beachtet auch die Anmerkungen zu den HowTos!

Wer die Bash Historie deaktivieren möchte, kann anstatt der hier vorgestellten Variante auch folgende Methode nutzen:

Zuerst wird das Schreiben in die .bash_history Datei in der .bashrc deaktiviert. Dazu wird selbige mittels

nano ~/.bashrc

geöffnet und folgende Zeile am Ende der Datei eingefügt:

unset HISTFILE
Möchte man die Bash Historie systemweit für alle Benutzer deaktivieren, muss diese Zeile in der /etc/bashrc am Ende eingetragen werden.

Nach einem Neustart des Terminals wird die vorhandene Historie gelöscht und eine leere .bash_history erstellt.

rm ~/.bash_history
touch ~/.bash_history
history -c

Der letzte der drei Befehle sorgt dafür, das der Zwischenspeicher der Bash geleert wird und somit keinerlei Daten vorhanden sind, die in die .bash_history geschrieben werden könnten.

Update-Benachrichtigungen mit Xfce4 Bordmitteln

Wir haben hier ja bereits gezeigt, wie man die Update-Benachrichtigungen unter Xfce nachrüsten kann.

Es gibt jedoch noch eine etwas elegantere Methode, um das ganze mit Xfce Bordmitteln zu realisieren. Dazu benötigen wir zuerst einmal das Xfce Genmon Plugin, welches wir über

su -c'yum install xfce4-genmon-plugin'

installieren und anschließend auf dem Panel platzieren.

Als nächstes legen wir ein Shell-Script mit folgendem Inhalt an

#!/bin/bash

# Reference: 
http://lists.fedoraproject.org/pipermail/xfce/2011-November/000841.html

# From "man yum"
#    check-update
#        Implemented  so  you  could know if your machine had any updates
#        that needed to be  applied  without  running  it  interactively.
#        Returns exit value of 100 if there are packages available for an
#        update. Also returns a list of the packages  to  be  updated  in
#        list  format. Returns 0 if no packages are available for update.
#        Returns 1 if an error occurred.

# Dependencies:  Oxygen icons
#                gpk-update-viewer  (yum install gnome-packagekit)

updates=$( yum check-update -q )
status=$?

if [ $status = 100 ]
    then
       echo -e "<img>/usr/share/icons/gnome/22x22/status/software-update-available.png</img>"
       echo -e "<tool>Updates Available</tool>"
       echo -e "<click>gpk-update-viewer</click>"
elif [ $status = 1 ]
    then
       echo -e "<img>/usr/share/icons/gnome/22x22/status/error.png</img>"
       echo -e "<tool>the script returned an error</tool>"
       echo -e "<click>gpk-update-viewer</click>"
elif [ $status = 0 ]
    then
       echo -e "<img>/usr/share/icons/gnome/22x22/status/dialog-information.png</img>"
       echo -e "<tool>all updates applied</tool>"
       echo -e "<click>gpk-update-viewer</click>"
else
       echo -e "<img>/usr/share/icons/gnome/22x22/status/stock_dialog-warning.png</img>"
       echo -e "<tool>status is unknown</tool>"
       echo -e "<click>gpk-update-viewer</click>"
fi

Im vorletzten Schritt machen wir das Script ausführbar, indem wir folgenden Befehl im Terminal ausführen

chmod +x <Pfad und Dateiname des Scripts>

Zum Schluss öffnen wir die Eigenschaften des Genmon-Plugins und tragen unter „Befehl“ den Pfad inklusive Dateinamen unseres Scriptes sowie unter „Intervall“ das Intervall für die Update-Prüfung ein. Persönlich würde ich ein Intervall von 3600 Sekunden (= 60 Minuten) empfehlen. Sobald Updates verfügbar sind, ändert sich das Icon in das selbe, welches PackageKit für die Anzeige von verfügbaren Icons verwendet.

Nichts desto trotz übernehmen wir keine Verantwortung, falls das eigene System durch diese Anleitung unbrauchbar gemacht werden sollte. Das Befolgen dieser Anleitung geschieht somit auf eigene Gefahr!

Bilderlisten für den Xfce Desktop per Shell-Skript erstellen/aktualisieren

Der Xfce Desktop bietet die Möglichkeit, anstatt einzelner Bilder auch Bilderlisten als Hintergrundbild zu verwenden. Wenn man jedoch des öfteren solche Bilderlisten erstellt oder aktualisiert, ist die manuelle Erstellung der Listen auf Dauer relativ aufwendig.

Schneller geht es mit folgendem, einfachen, Shell-Skript

#! /bin/bash

if [ -n "$1" ]
then
    echo "# xfce backdrop list" > "$1/$2"
    find "$3" -name "$4"|sort >> "$1/$2"
else
    echo -e "\nUsage:\nlistcreate.sh SavePath FileName SearchPath Pattern\n"
    echo -e "Parameters:"
    echo -e "SavePath: Path where the filelist is saved"    
    echo -e "FileName: Filename of imagelist"
    echo -e "SearchPath: Path where to look for files"
    echo -e "Pattern: The search-pattern\n"
fi

Das Skript erstellt eine Bilderliste gemäß dem übergebenen Parametern und speichert sie an dem angegebenen Ort. Falls dort bereits eine Liste mit dem gleichen Namen existiert, wird die vorhandene Liste überschrieben und somit aktualisiert.

Orage mit dem Google Kalender synchronisieren

Die Xfce Kalender-Anwendung Orage bietet zwar keine direkte Funktion zur Synchronisation mit dem Google Kalender, jedoch kann man die Fremddateien-Funktion für diese Zwecke relativ einfach zweckentfremden und zumindest eine rudimentäre Synchronisation verwirklichen. Dafür machen wir uns den Umstand zu Nutze, das Google für jeden Kalender, den man selber angelegt hat, eine private URL zur Verfügung stellt.

Um die Synchronisation zu realisieren, erstellen wir zuerst ein Shell-Script nach folgendem Muster

#! /bin/bash
/usr/bin/wget -q <private URL>

um den Kalender im nächsten Schritt per Crontab herunter zu laden.

Um den Kalender stets aktuell zu halten, legen wir über

crontab -e

einen zusätzlichen Crontab nach folgendem Muster an:

*/30 * * * * <pfad zum shellscript>

In diesem Fall wird die Kalender-Datei alle 30 Minuten heruntergeladen, was normalerweise ausreichend sein sollte. Im letzten Schritt öffnen wir nun Orage und fügen unter Datei > Tauschdaten > Fremddateien unsere Google-Kalenderdatei zu Orage hinzu.

 

Firefox und Thunderbird Beine machen

Viele kennen sicher das Problem, das Firefox und Thunderbird mit der Zeit immer länger zum Starten brauchen und auch während des Gebrauchs träger werden. Grund dafür sind die diversen SQLite Datenbanken, die sich mit der Zeit immer weiter aufblähen.

Dem Treiben kann man entweder durch spezielle Addons zu Leibe rücken oder folgendes Script einsetzen:

#!/bin/bash

OLDIFS=$IFS
IFS=$'\n'

# Variablen für die Profil-Verzeichnisse
FFDIR="${HOME}/.mozilla/firefox"
TBDIR="${HOME}/.thunderbird"

# Prüfung, ob Firefox oder Thunderbird noch ausgeführt werden
FFRUNNING=$(find "$FFDIR" -name lock)
TBRUNNING=$(find "$TBDIR" -name lock)

# Funktion, um zu prüfen, ob das Programm noch ausgeführt wird
function check_running {
  if [ -n "$1" ]
  then
    echo -e "\n${2} wird noch ausgeführt!\nBitte beenden Sie ${2}, ";
    echo "bevor Sie die Datenbanken komprimieren!\n";
    exit $3;
  fi
}

# Funktion zum Komprimieren der Datenbanken
function shrink_dbs {
  echo -e "\nKomprimiere ${1}-Datenbanken"
  FILES=$(find "${2}" -name *sqlite);

  for db in $FILES;
  do
    echo "VACUUM;" | sqlite3 $db ;
  done;

  echo -e "${1}-Datenbanken komprimiert\n"
}

# prüfen, ob FF und TB noch laufen
check_running "$FFRUNNING" "Firefox" -110
check_running "$TBRUNNING" "Thunderbird" -210

# Datenbanken komprimieren
shrink_dbs "Firefox" "$FFDIR"
shrink_dbs "Thunderbird" "$TBDIR"

IFS=$OLDIFS

Nachdem das Script durchgelaufen ist, sollten Firefox und Thunderbird ihre Aufgaben wieder etwas zügiger verrichten.

Thunderbird-Profil per Shell-Script sichern

Für alle, die ihr Thunderbird-Profil per Shell-Script sichern möchten, habe ich da schon mal etwas vorbereitet: :mrgreen:

#!/bin/bash

FILENAME="backup_thunderbird_"$(date +"%Y%m%d").tar.gz
LOGFILE="backup_thunderbird_"$(date +"%Y%m%d").log
BACKUPDIR="/home/"$(whoami)"/Dokumente/Privat"
TBDIR="/home/"$(whoami)"/.thunderbird"

# prüfen, ob das angegebene Profil-Verzeichnis existiert
if [ ! -d $TBDIR ]
then
  echo "Das Thunderbird-Profil-Verzeichnis ist ungültig!";
  exit -1;
else
  # prüfen, ob Thunderbird noch ausgeführt wird
  RUNNING=$(find "$TBDIR" -name lock)
fi

if [ -n "$RUNNING" ]
then
  echo "Thunderbird wird noch ausgeführt!";
  echo "Bitte beenden Sie Thunderbird, bevor Sie das Backup starten!";
  exit -1;
fi

# Backup erstellen
echo "erstelle Backup"
tar zcvf $BACKUPDIR/$FILENAME $TBDIR > $BACKUPDIR/$LOGFILE

echo "Backup erstellt"

Das Script ist eigentlich selbsterklärend. Falls es dennoch fragen gibt, einfach in den Kommentaren posten 😉