Autorarchive: André P.

Über André P.

Seit einigen Jahren in der IT unterwegs, teile ich nun auch meine Gedanken und Ideen in Form dieses Blogs.

Microsoft Lync 2013 Alternative für Ubuntu 13.04, 13.10 (Pidgin + Sipe Plug-In)

Ist man beruflich auf Windows Anwendungen wie den Microsoft Lync 2013 Client angewiesen, fällt ein totaler Umstieg auf Linux basierende Betriebssysteme schwer. Die einzigen „echten“ Möglichkeiten bieten sich derzeit nur mit Dual-Boot oder einer virtuellen Maschine. Beides benötigt natürlich weiterhin gültige Lizenzen und im letzteren Fall viele Resourcen.

Anmerkung: Die Verbindung mit einem stets gepatchtem Mircrosoft Lync 2013 sowie die korrekte Darstellung der Kontakte in der Kontaktliste, funktioniert nur mit der aktuellsten Version aus dem Git-Repository für mich zuverlässig. Natürlich wäre es einfacher, fertige Pakete zu installieren. Diese sind jedoch schnell veraltet.

Was funktioniert?

Leider funktioniert nur all das, was mit Texteingabe zu tun hat. Video- und Telefonie wird auch mit dem Sipe Plug-In nicht auf wundervolle Art möglich. Dateitransfers kann ich bislang nicht ausschließend, mir fehlte allerdings die (Frei-)Zeit zur Überprüfung.

Wie funktioniert es?

Das Sipe Plug-In ist grundsätzlich kompatibel mit Pidgin, Adium, Miranda und Telepathy. Beschreiben werde ich die Installation mit Pidgin, jedoch sollte sich das Vorgehen auf die anderen Messenger übertragen lassen.

Installation

Ich entferne vorab den Empathy Messenger, der in der Standardkonfiguratin mit Ubuntu kommt. Empathy wird durch die Installation von Pidgin quasi unnötig, da Pidgin die Funktionalitäten von Empathy weitesgehend abdeckt. Natürlich unterscheiden sich beide im Detail.

sudo apt-get remove empathy

Nun die Abhängigkeiten für das Kompilieren des Plug-Ins sowie Pidgin installieren:

sudo apt-get install gettext build-essential autogen autotools-dev \
pkg-config libglib2.0-dev libgtk2.0-dev libpurple-dev libtool intltool \
comerr-dev libkrb5-dev libgmime-2.6-dev libnss3-dev libxml2-dev git \
libxml2-dev pidgin

Im Home-Verzeichnis das Verzeichnis „build“ erstellen, dort hinein wechseln und das Repository des Sipe Plug-Ins klonen:

cd && mkdir build && cd build
git clone git://repo.or.cz/siplcs.git

Der Source-Code liegt jetzt im Verzeichnis siplcs, in welches hinein gewechselt wird, um anschließend die grundsätzliche Konfiguration vorzunehmen:

cd siplcs
./autogen.sh
./configure --prefix=/usr

Abschließend mit dem Kompilieren beginnen und die Installation durchführen:

make
sudo make install

Pidgin mit Sipe Plug-In
Pidgin mit Sipe Plug-In

Pidgin kann jetzt geöffnet- und der Account hinzugefügt werden. Betitelt wird das Plug-In als „Office Communicator“. Die Einstellungen hierfür sind sehr weitreichend, für eine sauber konfigurierte Lync-Umgebung reicht aber oft schon die reine Eintragung der Login-Daten, wie man es aus dem Lync Client für Windows kennt.

Festplattenbelegung mit ncdu ohne GUI analysieren

Eine kurze Vorstellung eines sehr praktischen Tools, um die Festplattenbelegung auf einem Server schnell und übersichtlich zu analysieren:

Das Programm „ncdu“ (NCurses Disk Usage) ist ein kleines Programm, das mal eben eingetippt ist und mit Sicherheit oft Anwendung findet, unter Debian, Ubuntu und Derivaten mit folgendem Befehl zu installieren:

sudo apt-get install ncdu

Den Befehl „ncdu“ eintippen und loslegen, falsch machen kann man „eigentlich“ nichts:

ncdu ohne Parameter
ncdu ohne Parameter

Es können auch Verzeichnisse und Dateien, die ein bestimmtes Muster beinhalten übersprungen werden, etwa mit „ncdu –exclude *nagios“. Wildcards sind erlaubt:

ncdu mit "exclude" Parameter
ncdu mit „exclude“ Parameter

Shrew Soft VPN Client auf Ubuntu 13.04 / 13.10 installieren

In früheren Versionen fand sich der Shrew Soft VPN Client im offiziellen Repository Ubuntus. Leider ist das nicht mehr der Fall. Allerdings lässt sich der Client recht einfach auch für neuere Ubuntu Versionen installieren.

Changelog

  • 02. Mär – Init-Script „update-rc.d“ was missing

Client Installation

Zuerst den Client von der offiziellen Shrew Soft Seite laden. Zum aktuellen Zeitpunkt ist die neueste Version 2.2.1. Im Anschluss entpacken und in das neue Verzeichnis wechseln:

cd ~/Downloads
wget https://www.shrew.net/download/ike/ike-2.2.1-release.tbz2
tar xfvj ike-2.2.1-release.tbz2
cd ike

Folgende Abhängigkeiten sind für das Bauen des Clients notwendig:

sudo apt-get install cmake build-essential libedit-dev libssl-dev flex bison lsb-cxx lsb-qt4 qt4-qmake libqt4-core libqt4-dev

Nun kann der Client kompiliert werden:

cmake -DCMAKE_INSTALL_PREFIX=/usr -DQTGUI=YES -DETCDIR=/etc -DNATT=YES
make
sudo make install

Leider wird hierbei keine Verknüpfung zur GUI erstellt, auch fand ich kein hochauflösendes Icon. Google hat geholfen. Das Icon habe ich auf meinen Server geladen. Eine Quellenangabe hierzu fand ich leider nicht:

sudo wget https://www.debinux.de/wp-content/uploads/shrew.png -O /usr/share/icons/shrew.png
sudo nano /usr/share/applications/ike.desktop

Im Editor nun folgenden Inhalt einfügen:

[Desktop Entry]
Name=Shrew Soft VPN Access Manager
Name[en_CA]=Shrew Soft VPN Access Manager
Name[de]=Shrew Soft VPN Zugangsverwaltung
Comment=Application to manage remote site configurations
Comment[en_CA]=Application to manage remote site configurations
Comment[de]=Anwendung zum Verwalten der VPN-konfigurationen
Exec=/usr/bin/qikea
Icon=/usr/share/icons/shrew.png
Terminal=false
Type=Application
Categories=Network

Das ganze sieht dann etwa so aus:

Shrew Soft VPN Icon
Shrew Soft VPN Icon

Die Beispielkonfiguration für den Daemon, der parallel läuft, reicht in der Regel aus. Diese Konfiguration hat erstmal nichts mit der VPN Konfiguration zu tun, die man später im Client importiert/erstellt:

sudo cp /etc/iked.conf.sample /etc/iked.conf

Der Client kann nun gestartet werden, allerdings wird eine Verbindung zum Server nicht funktionieren, da der „iked“ Dienst erst noch gestartet werden muss. Der Fehler lautet dann etwa „failed to attach to key daemon„.

Automatischer Start

Anstatt die Datei „/usr/sbin/iked“ jedes mal manuell anzustoßen, kann entweder ein Upstart- oder Init-Script verwendet werden.

Upstart

sudo nano /etc/init/iked.conf

Folgender Inhalt muss eingefügt werden:

# this script will start/stop the IKE daemon
# that the IKE client depends upon

description "Start and stop the IKE daemon"
expect fork

start on startup
stop on runlevel [!2345]
script
exec /usr/sbin/iked
end script

Anschließend den Dienst starten:

sudo initctl start iked

Init-Script

sudo nano /etc/init.d/iked

Folgender Inhalt muss eingefügt werden:

#! /bin/sh -e
### BEGIN INIT INFO
# Provides: IKE daemon
# Required-Start: $network $syslog
# Required-Stop:  $network $syslog
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Description:    start and stop the Shrew Soft IKE daemon
### END INIT INFO

test -x /usr/sbin/iked || exit 0

. /lib/lsb/init-functions

export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"

case "$1" in
  start)
	log_begin_msg "Starting Shrew Soft IKE daemon..."
	start-stop-daemon --start --quiet --exec /usr/sbin/iked || log_end_msg 1
	log_end_msg 0
	;;
  stop)
	log_begin_msg "Stopping Shrew Soft IKE daemon..."
	start-stop-daemon --stop --quiet --oknodo --exec /usr/sbin/iked || log_end_msg 1
	log_end_msg 0
	;;

  restart)
	log_begin_msg "Restarting Shrew Soft IKE daemon..."
	start-stop-daemon --stop --quiet --oknodo --retry 30 --exec /usr/sbin/iked || log_end_msg 1
	start-stop-daemon --start --quiet --exec /usr/sbin/iked || log_end_msg 1
	log_end_msg 0
	;;

  *)
	log_success_msg "Usage: /etc/init.d/iked {start|stop|restart}"
	exit 1
esac

exit 0

Die Datei ausführbar machen und den Dienst installieren und starten:

sudo chmod +x /etc/init.d/iked && sudo update-rc.d iked defaults && sudo /etc/init.d/iked start

Die Verbindung sollte jetzt funktionieren!

Per RDP auf Ubuntu >=12.10 zugreifen mit xrdp und gnome-session-fallback

Da ich häufig an verschiedenen Maschinen arbeite und diese auf Grund meiner Arbeit fast immer mit Windows laufen, habe ich mich gegen VNC und halb-fertige (und vor allem verbuggte) Lösungen wie Splashtop oder Teamviewer entschieden. WIN+R, „mstsc“, „Enter“ geht eben doch schneller als erst einmal Fremdsoftware zu installieren. Mit „xrdp“ und „gnome-session-fallback“ ist das möglich.

Aber Vorsicht! Auf die 3D-Oberfläche Unity muss verzichtet werden.

Als Ausweichlösung verwende ich gnome-session-fallback, sozusagen die 2D-Alternative für den Ubuntu Desktop. Damit auch das Menü korrekt angezeigt wird, kommen noch ein paar Indikatoren dazu:

sudo apt-get install xrdp gnome-session-fallback indicator-applet-complete indicator-applet-session indicator-applet-appmenu

Beim Verbinden mit einem RDP-Client, liest xrdp die Datei „~/.xsession“. Über diese kann also die zu verwendende Session definiert werden:

echo "gnome-session --session=gnome-fallback" > ~/.xsession

Am besten noch einmal den Dienst neustarten:

sudo /etc/init.d/xrdp restart

Nun sollte die Verbindung zum Ubuntu Desktop so funktionieren, wie sie es auch zu einem Windows Client täte.

minidlna: Einrichtung unter Ubuntu

minidlna stellt einen DLNA-Server zur Verfügung. Jeder Linux-Rechner wird damit zum Medienserver (Bilder, Videos, Hörbücher, etc.) für alle digitalen Geräte, die DLNA unterstützen und an das Heimnetz angeschlossen sind. DLNA/UPnP-Geräte erkennen den Medienserver automatisch. Die Inhalte des Medienservers werden auf den Geräten angezeigt und sind von dort als Stream abrufbar.

…schreibt http://wiki.ubuntuusers.de/MiniDLNA

Getestet habe ich es unter Ubuntu 12.04, 13.04 und 13.10. Ich denke nicht, dass sich sonderlich viel in zukünftigen Versionen ändern wird.

Die Einrichtung läuft wie folgt ab; zuerst die Installation:

sudo apt-get install minidlna

Nun die Konfiguration als root öffnen, dazu sudo und einen Editor verwenden:

sudo gedit /etc/minidlna.conf

Folgende Punkte sind zu ändern:

media_dir=V,/path/to/media
db_dir=/var/lib/minidlna
log_dir=/var/log
log_level=warn
friendly_name=MiniDLNA
inotify=yes

media_dir: Das vorangestellte „V“ steht für Video. Möglich sind außerdem A (Audio), P (Pictures) oder nichts (media_dir=/path).
db_- und log_dir empfehle ich zu setzen, um bei Fehlern einfacher debuggen zu können.
Das log_level „warn“ ist recht ruhig, trotzdem noch hilfreich.
inotify dient zum automatischen scannen von Änderungen. Durch inotify werden neue Dateien quasi sofort erkannt.
friendly_name ist lediglich der Anzeigenarme des Servers im Netzwerk. Kann beliebig verändert werden.
Achtung! Ohne Erweiterung der „max_user_watches“ für inotify, könnte eine große Bibliothek in minidlna schnell Probleme machen, daher wird diese via /etc/sysctl.conf erhöht:

gksudo gedit /etc/sysctl.conf

An das Ende einzufügen:

fs.inotify.max_user_watches=1048576

Die Datei speichern, schließen und die Änderungen wirksam machen:

sudo sysctl -p

Abschließend den minidlna Dienst reloaden:

sudo /etc/init.d/minidlna force-reload

Die aktuelle Datenbank mit indizierten Dateien, kann ganz einfach im Browser aufgerufen werden: