Schlagwort-Archiv: Ubuntu

Multi-Desktop über SSH-Terminal

Wer oft via SSH in einem Terminal auf einem Remotesystem arbeitet der kennt das Problem: Man muss zum Beispiel ein Tool starten und gleichzeitig ein Logfile prüfen und vielleicht auch gleich noch die Auslastung einsehen können. Das Problem von SSH, dafür müssen gleich 3 Verbindungen aufgebaut werden und man wechselt zwischen 3 Fenstern hin und her.
Doch heute bin ich auf das Tool “Screen” gestossen – ein praktisches kleines Stück Software, das mir bisher leider vorenthalten wurde. Screen ermöglicht das Aufbauen, Umschalten und Verwalten von mehreren Anzeigen in nur einer Session. Auch ist es möglich, eine Anzeige wieder aufzunehmen, selbst wenn die Session zwischenzeitig beendet wurde – also auch durchaus geeignet für fehleranfällige Verbindungen. Oder es kann einer anderen Session ermöglicht werden, den selben Inhalt einer Anzeige zu sehen, wie ich auch in meiner Session sehe.

Unter Ubuntu gibt es Screen direkt aus den Paketquellen:

apt-get install screen

Das Handling von Screen benötigt ein kleines bisschen an Wissen, doch die paar Parameter und Tastenkombinationen sollte man sich problemlos merken können… Wenn man nun mit Screen loslegen will, so sollte man zuerst einen neuen Screen erzeugen und diesen mit einem Namen versehen:

screen -S initial

Will man innerhalb einer aktiven Anzeige eine Neue erstellen, so verwendet man CTRL + A + C (create). Zum Wechseln zwischen einzelnen Anzeigen gibt es CTRL + A + SPACE und zum löschen CTRL + A + D (delete / detach).

Weiterlesen

VMWare vSphere Perl SDK für Ubuntu 10.04

Für ein Nagios Modul habe ich mir die neuste Version von Vmware’s Perl vSphere SDK runtergeladen und wollte dies installieren.
Normalerweise ist die Installation von Vmware-Produkten ja keine grosse Sache, da kommen immer so nette Autoinstall-Scripts mit – genau wie auch dieses mal.
Also schnell heruntergeladen, entpackt und gestartet:

wget https://download2.vmware.com/software/sdk/VMware-vSphere-Perl-SDK-5.0.0-615831.x86_64.tar.gz
tar -zxvf VMware-vSphere-Perl-SDK-5.0.0-615831.x86_64.tar.gz
cd vmware-vsphere-cli-distrib
./vmware-install.pl

Doch irgendwie kommt da ein interessanter Fehler:

Please wait while configuring CPAN ...
Please wait while configuring perl modules using CPAN ...
CPAN is downloading and installing pre-requisite Perl module "Archive::Zip" .
CPAN is downloading and installing pre-requisite Perl module "Class::MethodMaker" .
CPAN is downloading and installing pre-requisite Perl module "UUID" .
CPAN is downloading and installing pre-requisite Perl module "Data::Dump" .

CPAN not able to install following Perl modules on the system. These must be
installed manually for use by vSphere CLI:
UUID 0.03 or newer

Das Problem sind einige fehlende Abhängigkeiten, welche nicht automatisch nachinstalliert werden. Also machen wir das manuell:

apt-get install libarchive-zip-perl libcrypt-ssleay-perl libclass-methodmaker-perl libdata-dump-perl libsoap-lite-perl perl-doc libssl-dev libuuid-perl liburi-perl libxml-libxml-perl ia32-libs

Nun sieht das ganze schon besser aus:

The installation of vSphere CLI 5.0.0 build-615831 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command:
"/usr/bin/vmware-uninstall-vSphere-CLI.pl".

This installer has successfully installed both vSphere CLI and the vSphere SDK
for Perl.

The following Perl modules were found on the system but may be too old to work
with vSphere CLI:

Compress::Zlib 2.037 or newer
Compress::Raw::Zlib 2.037 or newer
version 0.78 or newer
IO::Compress::Base 2.037 or newer
IO::Compress::Zlib::Constants 2.037 or newer
UUID 0.03 or newer
LWP::Protocol::https 5.805 or newer

Weiterlesen

Notification von Nagios ans iPhone

Auf der Suche nach einer Lösung, wie ich die Notifications von meinem Ubuntu Server mit Nagios auf mein iPhone bekomme, bin ich über eine Funktion gestolpert, die ich zuerst gar nicht bedacht habe….
Meine erste Idee war via SMS; nur bräuchte ich dazu einen SMS-Gateway, der meine Notifications weiterleitet, und diese sind nicht immer ganz billig leider. Auch eMail hatte ich bedacht, jedoch ist dies nicht gerade komfortabel, da diese nicht so schnell und nicht so offensichtlich auf dem iPhone erscheinen wie eine SMS.
Erst beim googeln bin ich auf die iPhone-Push-Benachrichtigung gestossen, welche jedes iPhone ja standardmässig integriert hat. Ich habe dabei zuerst Lösungen mit Mac-Server gefunden, und wollte die Idee auch schon abschreiben, als ich über den Dienst Prowl gestossen bin. Diese bieten eine API und ein Perl-Script an, welche eine Mitteilung von meinem Linux-Server über den Mac-Server von Prowl auf mein iPhone übertragen kann. Alles was ich dazu brauche ist die Prowl App aus dem App-Store.

Und das Einrichten ist auch gänzlich einfach.
Auf der Seite von Prowl muss ich mich registrieren und die passende App aus dem Store herunterladen.
Nun lade ich das Perl-Script von der Seite auf meine Server:

wget http://www.prowlapp.com/static/prowl.pl

Hier muss man daran denken, dass das Script für den Benutzer zugänglich sein muss, unter welchem auch das Nagios läuft!

Nun müssen noch die passenden Pakete installiert werden:

aptitude install libwww-perl libcrypt-ssleay-perl

Wenn nun alles funktioniert hat, so kann die erste Nachricht versandt werden:

./prowl.pl -apikey="ENTER_APIKEY" -application="Nagios" -event="Notification" -notification="Dies ist ein Test"

Klinget es auf dem Handy, so kann man das ganze noch in Nagios integrieren. Dazu wird ein neuer Kontakt angelegt unter /usr/local/nagios/etc/objects/contacts.cfg:

define contact {
        contact_name                    patrick_iphone
        alias                           Patrick
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r,f,s
        host_notification_options       d,u,r,f,s
        service_notification_commands   notify-service-by-prowl
        host_notification_commands      notify-host-by-prowl
        _prowl_apikey                   ENTER_APIKEY
}

Weiterlesen

Bildschirmauflösung setzen

Vor kurzem hatte ich das Problem, dass ich an einer Linux-Maschine eine Bildschirmauflösung einstellen musste, welche der Bildschirm so eigentlich gar nicht unterstützen kann oder will. Doch mit ein bisschen Gewalt kann man auch das schaffen ;)

Als erstes setzt man über das GUI von Nvidia eine fixe Auflösung und Frequenz, welche der Bildschirm unterstützen kann.

Somit hat man mal wieder eine saubere und funktionierende xorg.conf-Datei, was in meine Fall wichtig war, da der Kunde schon viel selbst probiert hat.

Gehen wir mal davon aus, die Auflösung soll 1680×1050 mit einer Frequenz von 60 Herz sein.
Wir gebrauchen das Tool gtf um eine Modline für diese Auflösung generieren zu lassen:

1
gtf 1680 1050 60

Als Ausgabe erhalten wir folgendes:

1
2
# 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz
Modeline "1680x1050_60.00"  147.14  1680 1784 1968 2256  1050 1051 1054 1087  -HSync +Vsync

Dies fügen wir nun in unsere X11-Konfigurationsdatei ein unter /etc/X11/xorg.conf in der Sektion Monitor:

1
2
3
4
5
6
7
8
9
10
Section "Monitor"
    # HorizSync source: xconfig, VertRefresh source: xconfig
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "CRT-1"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
    Modeline "1680x1050_60.00"  147.14  1680 1784 1968 2256  1050 1051 1054 1087 -HSync +Vsync
EndSection

Nun ist unser Bildschirm soweit, dass er die Auflösung unterstützen kann, jetzt soll er diese aber auch noch verwenden. Also ändern wir unter der Sektion Screen noch die aktuelle Auflösung:

1
2
3
4
5
6
7
8
9
10
11
Section "Screen"
    Identifier     "Screen0"
    Device         "Videocard0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "1680x1050_60 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Nun nur noch den X-Server neustarten und die neue Auflösung bewundern.