Warning: Creating default object from empty value in /var/customers/webs/nook/wp-content/plugins/role-scoper/taxonomies_rs.php on line 73
NooK24.eu

XServer mit STRG + ALT + BACKSPACE neustarten

On 2. April 2013, in Allgemein, Kubuntu, Linux, by Daniel Ziegler

Ihr habt es mit Sicherheit bemerkt, das man den XServer seit längerem nicht mehr mit STRG + ALT + BACKSPACE abschießen kann. Da ich mir die neue Kombination einfach nicht merken kann, stelle ich bei meinem PC das immer wieder auf die alte Kombination um. Solltet ihr das auch vorhaben, das geht so:

1
sudo dpkg-reconfigure keyboard-configuration

Diese Seite ist nicht mehr aktuell und wird bald durch eine neue Version von NooK24.eu ersetzt!

 

Einrichtung Kubuntu 12.10 / Steam Linux

On 26. Januar 2013, in Allgemein, Kubuntu, Linux, by Daniel Ziegler

Heute habe ich Kubuntu 12.10 auf meinem Computer installiert. Die Installation habe ich von einem USB-Stick aus durchgeführt.

Zuerst einmal habe ich mir unter Windows mit LinuxLive USB Creator den USB-Stick erstellt:

Das Installieren der Windows Updates überspringe ich dann einfach einmal mit:

1
shutdown -s -t 1

Danach habe ich vom eben erstellten USB-Stick gestartet und mit der Installation begonnen. Nach der installation habe ich ersteinmal für mich unverzichtbare Tools installiert:

1
apt-get install mesa-utils recorditnow htop mc vim kdenlive vlc x264 libdvdread4 libxvidcore4 flac kscreensaver kscreensaver-xsavers kscreensaver-xsavers-extra

Mit diesem Befehl installiert ihr einmal die Mesa-Tools (erklärung später), den VLC-Mediaplayer, einige Codecs, Bildschirmschoner und kdenlive (erklärung später)

Danach habe ich den Grafikkartentreiber installiert:

Im Screenshot lasse ich nach der installation der Treiber, glxgears laufen um die Treiber zu testen (Im Paket mesa-utils enthalten)

Jetzt wo die Grafikkartentreiber installiert sind, fehlt noch ein Guter Musikplayer. Früher fand ich Amarok immer toll. Allerdings in der neuen Version gefällt mir dieser garnicht. Aber es gibt eine Lösung für die alten Amarok Fans! Es heist: Clementine und kann über die Paketquellen von Ubuntu bezogen werden:

Jetzt haben wir alle guten Player für Film und Audio, fehlt noch ein Videoschnittprogramm.

In dem Befehl oben habe ich einaml recorditnow und kdenlive installiert.

Mit recorditnow könnt ihr euren Desktop aufnehmen. Das Video das dabei entsteht, könnt ihr dann mit kdenlive bearbeiten. Kdenlive erinnert mich dabei sehr an Sony Vegas.

Jetzt fehlt noch etwas für den Spaß! Aber moment! Der Beta-Cleint für Steam ist ja da! Also habe ich gleich noch Steam installiert ;)

Umstieg zu Kubuntu

On 25. Januar 2013, in Allgemein, Kubuntu, Linux, by Daniel Ziegler

Immer mehr Applikationen können unter Linux verwendet werden. Die gebotenen Tools werden immer stabiler und besser. Da ich mit Linux, ins besonderer Debian, Ubuntun und Suse schon lange im Serverbereich arbeite, möchte ich jetzt auch meinen Desktop-PC mit Kubuntu ausstatten.
Dafür habe ich mich für Kubuntu entschieden.

Meine Erfahrungen und Hürden auf die ich dabei stoße, werde ich in der neuen Kategorie Linux -> Kubuntu festhalten. Eventuell hilft es euch, den Umstieg zu wagen, und eventuelle Probleme vorzubeugen.

How To: Install phpVirtualBox Ubuntu

On 7. Januar 2013, in Allgemein, How to, by Daniel Ziegler

Viele von euch kennen bestimmt den VMWare Server mit seiner Weboberfläche. Diese Oberfläche hat einem immer eine schnelle Konfiguration seiner virtuellen Maschinen erlaubt. Leider läuft der VMWare Server unter neuen Systemen nicht mehr ohne weiteres. Mittlerweile habe ich Oracle VirtualBox recht schätzen gelernt und benutze es unter allen Systemen. Sowohl auf meinem Mac OS X, meinem Kubuntu, oder Windows PC. Jeder dieser Rechner hat VirtualBox installiert.

Auf meinem Ubuntu Server hatte ich über viele Jahre KVM im Einsatz. Eines Tages kam der Moment, wo der Server komplett neu installiert werden musste. Da die Konfiguration von KVM doch etwas größer war, habe ich nach einer schnellen Alternative gesucht und habe dabei phpVirtualBox gefunden. Nachdem ich mir die Projektwebseite angeschaut hatte, war ich sofort überzeugt und wollte das Tool testen!

Das tolle an phpVirtualBox ist, das es alle Funktionen bietet, die auch von Oracle VirtualBox geboten werden, also die GUI Version die wir alle kennen. phpVirtualBox kommuniziert mit Oracle VirtualBox über eine angebotene API. Dadurch ist es möglich, komplett VirtualBox vom Browser aus zu steuern und virtuelle Maschinen zu erstellen, konfigurieren, starten und stoppen. In diesem How To möchte ich euch zeigen, wie Ihr phpvirtualbox richtig installiert.

Die Anleitung zur Installation kann auch nach dem offiziellen Wiki Artikel erfolgen:
http://code.google.com/p/phpvirtualbox/wiki/Installation

Bekannte Probleme:

Ich hatte bei mir das Problem, dass das Init-Scrit /etc/init.d/vboxweb-service nicht vorhanden war. Aus diesem Grund habe ich meine Installation aus dem Ubuntu Repository wieder gelöscht (Ubuntu 12.04.1 LTS Precise) und die aktuelle VirtualBox Version direkt von der Herstellerwebseite heruntergeladen und installiert:

https://www.virtualbox.org/wiki/Linux_Downloads

1
apt-get remove virtualbox
2
wget http://download.virtualbox.org/virtualbox/4.2.6/virtualbox-4.2_4.2.6-82870~Ubuntu~precise_amd64.deb
3
dpkg --install virtualbox-4.2_4.2.6-82870~Ubuntu~precise_amd64.deb

 

Danach sollten alle benötigten Ini-Scripte vorhanden sein:

1
root@kubuntu01:~# ls /etc/init.d/vbox*
2
/etc/init.d/vboxautostart-service  /etc/init.d/vboxballoonctrl-service  /etc/init.d/vboxdrv  /etc/init.d/vboxweb-service
3
root@kubuntu01:~# 
4

Los gehts:

 Ich führe bei mir die Installation unter dem root Benutzer durch:

1
sudo su

 Installation von VirtualBox (bitte bekannte Probleme beachten!):

1
apt-get install virtualbox

Eventuell ist der nächste Schritt optional, probiert es einfach mal aus!

1
VBoxManage setproperty websrvauthlibrary null

Das VirtualBox Extension Pack wird benötigt, um eine VRDP Verbindung auf die virtuellen Maschinen aufzubauen. (Weitere Infos zum Thema bietet Wikipedia)

1
wget http://download.virtualbox.org/virtualbox/4.2.6/Oracle_VM_VirtualBox_Extension_Pack-4.2.6-82870.vbox-extpack
2
VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.2.6-82870.vbox-extpack

Die Benutzergruppe vboxusers sollte an eurem System schon existieren. Jetzt müsst Ihr dieser Gruppe noch einen Benutzer zuweisen:

1
adduser vbox
2
adduser vbox vboxusers

Existiert die Gruppe vboxusers nicht, könnte Ihr diese manuell erstellen:

1
groupadd vboxusers

Das Passwort des Benutzers wird später von phpVirtualBox genutzt, um auf die VirtualBox API zuzugreifen. Dieses Passwort benötigt nur die phpVirtualBox Oberfläche! Ihr solltet hier ein sehr sicheres Passwort wählen!

 In die Datei /etc/default/virtualbox müsst ihr jetzt noch euren eben angelegten Benutzer eintragen:

1
VBOXWEB_USER=vbox
2

Damit ist die Konfiguration an VirtualBox abgeschlossen und Ihr könnte den vboxweb-service starten:

1
/etc/init.d/vboxweb-service start

Download und Konfiguration von phpVirtualBox:

1
mkdir -p /var/www/vbox
2
cd /var/www/vbox/
3
wget http://phpvirtualbox.googlecode.com/files/phpvirtualbox-4.2-4.zip
4
unzip phpvirtualbox-4.2-4.zip
5
rm phpvirtualbox-4.2-4.zip
6
mv phpvirtualbox-4.2-4/* .
7
rm -r phpvirtualbox-4.2-4/
8
mv config.php-example config.php

Jetzt müsst ihr noch die Konfiguration von phpVirtualBox anpassen

1
vim /var/www/vbox/config.php

Passt hier folgende Variablen an:

1
var $username = 'vbox';
2
var $password = 'pass';
3
var $language = 'de';
4
var $consoleKeyboardLayout = 'DE';
5
var $consoleHost = '192.168.1.100'; //Eure IP-Adresse/Domain Name

Das Passwort für $password= habt ihr gesetzt, als Ihr den Benutzer vbox angelegt habt!

Danach könnt ihr euch unter http://EURE-IP-ADRESSE/vbox anmelden. Die Benutzerdaten lauten:

Benutzername: admin

Passwort: admin

In der phpVirtualBox Oberfläche könnte Ihr dann unter Datei -> Passwort ändern ein neues Passwort für den aktuellen Benutzer setzen.

SSL Einrichten:

Wenn Ihr den Server aus dem Internet erreicht, solltet ihr unbedingt die Verbindung mit SSL (https) sichern! Ich zeige kurz an meinem Beispiel, wie es mit einem selbst erstellten SSL Zertifikat funktioniert.

Zuerst müsst Ihr folgende Schritte ausführen:

1
mkdir -p /etc/apache2/vbox_ssl/
2
cd /etc/apache2/vbox_ssl/
3
openssl req -new > vbox.server.csr
4
openssl rsa -in privkey.pem -out vbox.server.key
5
openssl x509 -in vbox.server.csr -out vbox.server.csr  -req -signkey vbox.server.key -days 730
6
a2enmod ssl

Jetzt habt ihr schonmal ein SSL Zertifikat erstellt. Jetzt müsst Ihr euren Apache noch beibringen, dass er das ganze auch noch laden soll. Dazu müsst ihr die Datei /etc/apache2/conf.d/vbox.conf erstellen und mit folgendem Inhalt füttern:

1
vim /etc/apache2/conf.d/vbox.conf
2
<VirtualHost EURE-IP-ADRESSE:443>
3
    ServerName EURE-IP-ADRESSE
4
    SSLEngine on
5
    SSLCertificateKeyFile /etc/apache2/vbox_ssl/vbox.server.key
6
    SSLCertificateFile /etc/apache2/vbox_ssl/vbox.server.csr
7
    DocumentRoot /var/www/vbox/
8
</VirtualHost>
9

Danach müsst ihr den Webserver noch neustarten, damit er die neue Konfiguration übernimmt:

1
/etc/init.d/apache2 restart

Fertig! Wenn ihr jetzt https://EURE-IP-ADRESSE im Browser aufruft, solltet Ihr direkt auf die phpVirtualBox Oberfläche kommen und das ganze SSL verschlüsselt.

Lizenz (Stand 07.01.2013)

Noch ein Wort zum aktuellen Lizenzmodell von Oracle. Wenn ihr eine Privatperson seit, könnte ihr VirtualBox kostenlos nutzen, auch das Extension Pack. VirtualBox an sich steht seit der Version 4.0 unter der GPLv2. Das bedeutet, VirtualBox kann jeder, auch Firmen kostenlos benutzen. Wenn ihr allerdings das VirtualBox Extension Pack installiert, ändert sich die Lizenz!

Das bedeutet, die Grundfunktionen die VirtualBox bereitstellt können von jedem Benutzer in der Firma genutzt werden. Die Funktionen die durch das Extension Pack hinzukommen wie (PXE, VRDP oder USB2.0) darf nur von der Person benutzt werden, die das Extension Pack installiert hat. Alle anderen Benutzer dürfen nur die standard VirtualBox Funktionalitäten nutzen!

Das nur als kleiner Tipp am Rande. Allerdings ist das nur das, was ich unter dem Lizenzmodell von VirtualBox verstehe! Wenn dieser Fall bei euch eintritt, und ihr VirtualBox nicht als Privatperson nutzt, fragt auf jeden Fall bei Oracle nach, ob ihr eine Lizenz benötigt! Ich übernheme keine Gewährleistung oder Haftung für die Richtigkeit meiner Aussage bezüglich des Lizenzmodells!

Mehr zum Thema Extension Packhttp://de.wikipedia.org/wiki/VirtualBox#Funktionen_des_propriet.C3.A4ren_Moduls

Viel Spaß :-)

Verwandte Themen:

How To: VMWare » VirtualBox – Ubuntu

Ich habe heute die Funktion zum Zeichen von Graphen noch etwas überarbeitet und einige Bugs behoben. Um das ganze etwas zu testen, habe ich mir ein USB Termometer von TEMPerl bestellt. Den Treiber für Linux habe ich mit etwas Googlen recht schnell gefunden. Ter Treiber an sich ist in C geschrieben. Um den Aufwand so klein wie möglich zu halten, habe ich den C-Code in PHP einfach via exec() aufgerufen. Den Output des Treibers habe ich mir auch etwas angepasst, ich bekomme bei mir nurnoch die Temperatur als float zurück, ohne Einheit oder anderen Text.

Danach habe ich ein kleines PHP-Script geschrieben, welches die Temperatur ausliest und an das Display übergibt. Über meine PHP Klasse raspilcd_dz lasse ich dann einen Graphen von der Temperatur erstellen. Und so sieht das ganze dann aus:

Ich werde eine neue Version der PHP Klasse zum Download anbieten, sobald ich durch den VLC-Player durchsteige. Ich würde gerne noch eine Audiovisualisierung auf das Display bringen, wenn man Musik über den VLC abspielt. Das ganze funktioniert auch schon fast, ich habe nur noch so meine Probleme mit den Videofiltern des VLC.

Sobald es dort etwas neues gibt, werde ich die PHP Klasse mit Graphenfunktion und Audiovisualisierung wie gewohnt hier zum Download anbieten.

Hier mein Quelltext, mit dem ich die Temperatur auslese und über meine PHP Klasse raspilcd_dz auf das Display schreibe:

01
<?php
02
require_once "raspilcd_dz.php";
03
$LCD = new raspilcd_dz();
04
$LCD->CLI->_echo("|---------------------------------------|", 'green');
05
$LCD->CLI->_echo("|\t\t\t\t\t|", "green");
06
$LCD->CLI->_echo("| Daniel Ziegler - www.nook24.eu \t|", 'yellow');
07
$LCD->CLI->_echo("| Raspberry PI Temp 2 LCD\t\t|", 'purple');
08
$LCD->CLI->_echo("|\t\t\t\t\t|", "green");
09
$LCD->CLI->_echo("|---------------------------------------|", 'green');
10
$LCD->CLI->_echo();
11
 
12
//apt-get install libusb-dev
13
 
14
$TEMPerlBinary = '/var/www/LCD/TEMPerl/pcsensor';
15
$LCD->lcd_init();
16
$LCD->CLI->_echo("LCD Display geladen", 'green');
17
 
18
 
19
$GraphAsArray = array();
20
 
21
while(true){
22
 exec($TEMPerlBinary, $output);
23
 if(isset($output[0]) && is_numeric($output[0])){
24
 array_push($GraphAsArray, $output[0]);
25
 $LCD->CLI->_print_r($LCD->drawGraphFromArray($GraphAsArray, 'Temperatur: ', 10));
26
 $LCD->CLI->_echo("Aktueller Wert : ".end($GraphAsArray),'yellow');
27
 $LCD->CLI->_echo("Abbruch -> [STRG] + [C]",'red');
28
 }
29
 unset($output);
30
 usleep(50000);
31
}

Weitere Links:

Raspberry PI LCD Display mit PHP v2.1

Raspberry PI LCD Display mit PHP v2

Raspberry PI LCD Display mit PHP

Raspberry PI LCD Display mit PHP v2.1

On 30. Dezember 2012, in Allgemein, Programmierung, Raspberry PI, by Daniel Ziegler

Ich habe wieder etwas an meiner PHP Klasse raspilcd_dz geschraubt und um eine Funktion zum Zeichnen von Graphen erweitert.

Download + Video coming soon. Hier schon einmal ein paar Screens:

Funktion aus der Klasse:

01
 /**
02
   * drawGraphFromArray()
03
   * Benötigt ein Array mit Werten und zeichnet diese dann als Graph auf das Display
04
   * @param $data Array mit Werten => array(1,6,20,12,65.30,...)
05
   * @param $text Beschreibung des Graph
06
   * @param $flush Wie viele Punkt im Graph dargestellt werden sollen, beginnend mit dem letzten Punkt im Array
07
   * @author Daniel Ziegler
08
   */
09
 function drawGraphFromArray($data = array(), $text = "Aktueller Wert: ", $flush = 100){
10
    .
11
    .
12
    .
13
}

Aufruf der Funktion:

1
$LCD->drawGraphFromArray(explode(',', $_POST['Werte']), $_POST['Text'], $_POST['Flush']);

Graph 1:

Aufbau:

Punkte: 13, Text: Mein Graph :-) , Flush: 100

Graph 2:

Aufbau:

Punkte: 13, Text: Mein Graph :-) , Flush: 5 (die ersten 8 Punkt werden verworfen und nur die letzten 5 Punkt im Graph gezeichnet)

Graph 3:

Aufbau:

Punkte: 9, Text: Temperatur, Flush: 1000

Dezimalzahlen auf dem Display:

Sobald ich kann, werde ich eine neue Version der PHP Klasse hochladen!

Weiteres zum Thema:

Raspberry PI LCD Display mit PHP

Raspberry PI LCD Display mit PHP v2

vb.net IP-Checker

On 30. Dezember 2012, in Allgemein, Programmierung, Windows, by Daniel Ziegler

So könnt Ihr mit Hilfe von vb.net ganz einfach prüfen, welche IP-Adresse in eurem Netzwerk vergeben sind:

01
Public Class Form1
02
 
03
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
04
        Dim ip As Integer
05
        Dim ip2check
06
        Dim pingResult
07
        For ip = 0 To 255
08
            ip2check = "192.168.1." & ip
09
            pingResult = My.Computer.Network.Ping(ip2check)
10
            If (CheckBox1.Checked = True) Then
11
                If (pingResult = True) Then
12
                    ListBox1.Items.Add(ip2check)
13
                    ListBox2.Items.Add(pingResult)
14
                End If
15
            Else
16
                ListBox1.Items.Add(ip2check)
17
                ListBox2.Items.Add(pingResult)
18
            End If
19
 
20
            ProgressBar1.Value = ip
21
            Threading.Thread.CurrentThread.Sleep(250)
22
            Application.DoEvents()
23
 
24
        Next
25
 
26
    End Sub
27
 
28
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
29
        Me.Text = "IP Checker"
30
    End Sub
31
 
32
End Class

Raspberry PI LCD Display mit PHP v2

On 20. November 2012, in Allgemein, How to, Programmierung, Raspberry PI, by Daniel Ziegler

Wie versprochen poste ich euch einmal alles was ich bisher zum Thema Raspberry PI und LCD Displays mit PHP weis.

Ich habe mir dazu das LCD Display von Emsystech gekauft. Hier noch ein Link auf die aktuelle Version + Software Download von Emsystech (GPLv3).

Hier könnt ihr mein C-Programm + PHP Klasse herunterladen.

Inhalt:

raspilcd_dz.c (GPLv3)

raspilcd_dz.php (GPLv2)

index_2.php (GPLv2)

index_3.php (GPLv2)

html.helper.php (GPLv2)

+ zwei Testbilder ;-)

Weitere Links:

Raspberry PI LCD Display mit PHP v2.1 -> Graph der Temperatur mit PHP

Raspberry PI LCD Display mit PHP v2.1

 

Wenn ihr auch dieses Display habt, müsst Ihr erst einmal das Kernel-Modul laden:

1
echo spi-bcm2708 >> /etc/modules

Danach müsst ihr euch den Sourcecode von Emsystech herunterladen (RaspiLCD V0.9.0.zip oben verlinkt). Das ZIP-File das ihr da bekommt müsst ihr natürlich entpacken und einmal compilen:

1
make -f makefile

Jetzt könnt ihr das Programm starten

1
./raspilcd

Wenn alles geklappt hat, solltet ihr folgendes auf dem Display sehen:
Ok, so weit so gut. Jetzt löscht ihr die Datei main.c und ladet euch mein .zip Paket herunter (Downloadlink oben).
Kopiert alle Dateien in den selben Ordner, wo auch die Dateien aus dem ersten Programm liegen.
Setzt auf die run.sh die Rechte zum Ausführen und startet sie:

1
chmod +x run.sh
2
./run.sh fliesstext hallo welt

Wenn alles geklappt hat, solltet Ihr jetzt folgenden Text auf dem Display sehen:
Damit habt ihr mein C-Programm compiled und konntet es ausführen.
Jetzt kannst du dir anschauen, was das C-Programm alles kann:

1
./raspilcd_dz --help

Damit lässt du dir folgende Hilfe anzeigen:

Jetzt müsst ihr die .php Dateien in den DocumentRoot eures Webservs kopieren. Ich gehe in dem ganzen Text einmal davon aus, dass ihr wisst was ihr tut, und das PHP, GCC und co installiert sind.

Danach musst du eventuell noch in der Datei raspilcd_dz.php den Pfard zu meinem C-Programm anpassen.

1
 function __construct(){
2
 $this->color = 1;			//Farbe mit der auf das Display geschrieben wird
3
 $this->width = 128;			//Breite des Displays in px
4
 $this->height = 64;			//Höhe des Displays in px
5
 $this->maxChar = 21;		//Maximale Zeichen je Zeile
6
 $this->maxLines = 7;		//Maximale Zeilen
7
 $this->delimiter = ".!.";	//Trennzeichen für explode und co.
8
 $this->useSudo = true;		//Führt die Exec Befehle als Root aus (visudo -> www-data ALL=(ALL) NOPASSWD: ALL)
9
 $this->pathToBinary = $this->escStr("/root/raspilcd_dz");		//Pfard zur ausführbaren C-Datei <-- HIER ggf Anpassen

Danach sollte alles funktionieren, und du kannst die Datei index_2.php und index_3.php in deinem Browser öffnen.

Wenn ihr euch eine eigene PHP-Datei erstellen wollt, müsst ihr zu erst immer die Funktion lcd_init aufrufen, um das Display zu initialisieren. Diese Funktion muss nur einmal aufgerufen werden!

1
require_once "raspilcd_dz.php";
2
$LCD = new raspilcd_dz();
3
$LCD->lcd_init();

In meinen zwei Beispieldateien mache ich das natürlich und ihr müsst dort nichts ändern damit es funktioniert.

Mit der Datei index_2.php kannst du das Display initialisieren, Texte darauf schreiben, alles löschen, Linien malen, oder ein eigenes Bild malen.

Zum Beispiel so etwas:

Die Datei index_3.php ermöglicht dir einen Bilderupload und zeigt eine Vorschau des Bildes im Browser und auf dem Display.

Am besten wandelt ihr die Bilder vorher in sehr kontrastreiche Schwarz/Weis Bilder, ansonsten wird nicht viel davon auf dem Display dargestellt werden können. Das liegt allerdings nicht daran, dass PHP keine Schwarz/Weiß Bilder erstellen kann. Das Problem kommt daher, dass im Hintergrund kein Graustufenbild, sondern wirklich ein Schwarz/Weiß bild erstellt wird. Jeder Pixel kann also entweder schwarz, oder weiß sein.

So könnte das ganze dann aussehen:

Einmal die Vorschau im Browser:

Und auf dem Display:


Viel Spaß! :-)

Raspberry PI LCD Display mit PHP

On 18. November 2012, in Allgemein, Programmierung, Raspberry PI, by Daniel Ziegler

Wenn du wegen dem RPI Display mit PHP hier bist, dazu werde ich demnächst alles zum Download + Doku berreitstellen, was du dafür brauchst. Bin leider noch nocht dazu gekommen :/

Hier findest du das Display