Sedelmaier.at

Subscribe to Sedelmaier.at feed
Updated: 1 hour 14 min ago

Vaadin-Selenium-Integration-Tests in SpringBoot mit SpringBootTest in Maven

Thu, 02/07/2019 - 21:53

Um einen Selenium-Integration-Test für Vaadin-Flow als SpringBootTest mit Maven-Surefire zu starten muss das Property -Dsurefire.useManifestOnlyJar=false gesetzt werden.
IntegrationTests mit der Standardendung IT werden von maven per default mit dem Failsafe-Plugin ausgeführt, wird in Netbeans ein IT-Test mittels "Test File" ausgeführt wird, wird aber das Goal surefire:test -Dtest=MeinTestIT ausgeführt.
Ein @SpringBootTest mit Selenium-Webdriver gegen eine Vaadin-Page funktioniert hierbei aber nicht; im Browser wird eine Fehlermeldung "TypeError: $0.$connector is undefined" angezeigt, eine genauerer Analyse ergibt das die Bower-Components "frontend/bower_components/*" nicht geladen werden können.
Das Problem ist hier Spring-Boot mit Surefire: surfire erstellt in target/surefire einen surfirebooter.jar nur mit manifest.mf, und allen Classpath Einträgen, diese ist dann das einziege Jar im TestClasspath. StaticResourceJars von SpringBoot liest aber nicht das manifest.mf und fügt somit nur das surfirebooter.jar als TomcatResource hinzu, somit kann das VaadinServlet die frontend-Resourcen nicht aus den Jars laden.

Thema  Programmieren, Java, Spring, Vaadin, Selenium

X-Server Multihead mit RandR

Wed, 11/30/2016 - 07:24

Debian verwendet seit Debian 4.0 (etch) als Standard X-Server X.Org. Der X-Server ermittelt die notwendige Konfiguration für Grafikarten und Eingabegeräte automatisch, es sollte keine Änderung an der Konfiguration notwendig sein.
Bei Probleme mit X autoconfigure das Log-File /var/log/Xorg.*.log konsultieren, die Devices werden über udev gefunden.
Grundsätzlich wird hier beschrieben wie bei einer Grafikarte mit mehreren Anschlüssen die Anschlüsse jeweils einem Monitor zugewiesen wird,
die Manpage man xorg.con und debian.org sorgen für das notwendige Hintergrundrauschen.
Eine funktionierende xorg.conf ist immer eine gute Basis für individuelle Anpassung.

xorg.conf erstellen

Als root in /etc/X11 mit

Xorg --configure

eine neu Konfiguration erstellen, mit

Xorg --config xorg.conf.new

wird die neu erstelle Konfiguration gestartet, ein -br macht den Hintergrund weiss. Mit Strg+Alt+F1 auf die Console zurück, Strg+C beendet X.
Die Datei nach /etc/X11/xorg.conf verschieben/umbennen. MIt xinit wird X mit einem X-Term gestartet, mit startx wird eine komplette X-Session gestartet.

xorg.conf konfigurieren Section "Device"

Die automatische Konfiguration schreibt aufgrund des ermittelten Treiber, alle möglichen Options als Kommentare hinzu. Komplexere Treiber haben eigene Manpages, z.b radeon unter man radeon
BusID wird Aufgrund der Ausgabe von lspci -v | gep VGA ermittelt

$ lspci -v | grep VGA 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series] (prog-if 00 [VGA controller])

01:00.0 wird dann zu

BusID "PCI:1:0:0"

Die Anschlüsse der Monitore werden mit grep Output /var/Xorg.0.log gefunden, hier 2x DVI

$ grep Output /var/log/Xorg.0.log [ 15735.959] (II) RADEON(0): Output DVI-0 has no monitor section [ 15735.991] (II) RADEON(0): Output DVI-1 has no monitor section

Mit der Option "monitor-" können "Monitor"-Sections zugewiesen werden

Option "monitor-DVI-0" "Monitor links" Option "monitor-DVI-1" "Monitor rechts"

Die Zuordnung der Grafikarten-Anschlüsse zu den Monitoren wird mit

$ grep monitor /var/log/Xorg.0.log [ 15816.757] (II) RADEON(0): Output DVI-0 using monitor section Monitor links [ 15816.791] (II) RADEON(0): Output DVI-1 using monitor section Monitor rechts

kontrolliert.

Section "Monitor"

Bei mehreren Monitoren und wenn RandR 1.2 aktiv ist, können hier die physikalische Anordnung der Bildschirme beschreiben werden

Section "Monitor" Identifier "Monitor links" VendorName "ASUS" ModelName "VE258" EndSection Section "Monitor" Identifier "Monitor rechts" VendorName "ASUS" ModelName "VE258" #randr options Option "RightOf" "Monitor links" EndSection

Die anderen Sections sind dann eigentlich selbsterklärend bzw gibt's im Internet genügend Anleitung...

Thema  Debian, X

X-Server Multihead mit RandR

Wed, 11/30/2016 - 07:24

Debian verwendet seit Debian 4.0 (etch) als Standard X-Server X.Org. Der X-Server ermittelt die notwendige Konfiguration für Grafikarten und Eingabegeräte automatisch, es sollte keine Änderung an der Konfiguration notwendig sein.
Bei Probleme mit X autoconfigure das Log-File /var/log/Corg*log konsultieren, die Devices werden über udev gefunden.
Grundsätzlich wird hier beschrieben wie bei einer Grafikarte mit mehreren Anschlüssen die Anschlüsse jeweils einem Monitor zugewiesen wird,
die Manpage man xorg.con und debian.org sorgen für das notwendige Hintergrundrauschen.
Eine funktionierende xorg.conf ist immer eine gute Basis für individuelle Anpassung.

xorg.conf erstellen

Als root in /etc/X11 mit

Xorg --configure

eine neu Konfiguration erstellen, mit

Xorg --config xorg.conf.new

wird die neu erstelle Konfiguration gestartet, ein -br macht den Hintergrund weiss. Mit Strg+Alt+F1 auf die Console zurück, Strg+C beendet X.
Die Datei nach /etc/X11/xorg.conf verschieben/umbennen. MIt xinit wird X mit einem X-Term gestartet, mit startx wird eine komplette X-Session gestartet.

xorg.conf konfigurieren Section "Device"

Die automatische Konfiguration schreibt aufgrund des ermittelten Treiber, alle möglichen Options als Kommentare hinzu. Komplexere Treiber haben eigene Manpages, z.b radeon unter man radeon
BusID wird Aufgrund der Ausgabe von lspci -v | gep VGA ermittelt

$ lspci -v | grep VGA 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series] (prog-if 00 [VGA controller])

01:00.0 wird dann zu

BusID "PCI:1:0:0"

Die Anschlüsse der Monitore werden mit grep Output /var/Xorg.0.log gefunden, hier 2x DVI

$ grep Output /var/log/Xorg.0.log [ 15735.959] (II) RADEON(0): Output DVI-0 has no monitor section [ 15735.991] (II) RADEON(0): Output DVI-1 has no monitor section

Mit der Option "monitor-" können "Monitor"-Sections zugewiesen werden

Option "monitor-DVI-0" "Monitor links" Option "monitor-DVI-1" "Monitor rechts"

Die Zuordnung der Grafikarten-Anschlüsse zu den Monitoren wird mit

$ grep monitor /var/log/Xorg.0.log [ 15816.757] (II) RADEON(0): Output DVI-0 using monitor section Monitor links [ 15816.791] (II) RADEON(0): Output DVI-1 using monitor section Monitor rechts

kontrolliert.

Section "Monitor"

Bei mehreren Monitoren und wenn RandR 1.2 aktiv ist, können hier die physikalische Anordnung der Bildschirme beschreiben werden

Section "Monitor" Identifier "Monitor links" VendorName "ASUS" ModelName "VE258" EndSection Section "Monitor" Identifier "Monitor rechts" VendorName "ASUS" ModelName "VE258" #randr options Option "RightOf" "Monitor links" EndSection

Die anderen Sections sind dann eigentlich selbsterklärend bzw gibt's im Internet genügend Anleitung...

Thema  Debian, X

Debian 8 (Jessie) als Microsoft Exchange 2007 Client

Tue, 11/29/2016 - 14:39

Mithilfe von Evolution ist ein Anbindung an den Microsoft Exchange Server möglich. Seit Microsoft Exchange 2007 wird hierfür das Backend evolution-ews benötigt. Das backend wird in der aktuellen Stable-Distribution ("Jessie") in der Version 3.12.9 ausgeliefert. Installiert wird evolution-ews mit

sudo aptitude install evolution-ews

Beim erstmaligen start bzw falls noch keine E-Mail-Konten konfiguriert wurden, wird der Willkommen-Dialog angezeigt, die benötigten Daten eingeben.
Bei "Abrufen von E-Mails" die Server-Art Exchange-Webdienste für evolution-ews auswählen, mit "Fertigstellen" bzw. "Weiter" die Konfiguration abschliessen.
Unter Umständen wird danach das Konto nicht angezeigt, in diesem Fall evolution mit

evolution --force-shutdown

beenden und danach evolution neu starten.

Problembehandlung

Bei Problem können die verschiedenen Backends mit Umgebungs-Variablen zu mehr Ausgabe überredet werden, Details sind unterEvolution Debugging verfügbar.

CAMEL_DEBUG=all evolution >& evolution.log evolution-ews

Die Umgebungs-Variable EWS_DEBUG setzt den Log-Level für evolution-ews
lt. kurzer Code-Analyse von e-ews-debug.c sollte der Wert 1 die request-body und der Wert 2 die response-code und response-headers ausgeben.

EWS_DEBUG=2 evolution >& evolution.log Thema  Debian, Gnome, Evolution, Microsoft Exchange

Debian 8 (Jessie) als Microsoft Exchange 2007 Client

Tue, 11/29/2016 - 14:39

Mithilfe von Evolution ist ein Anbindung an den Microsoft Exchange Server möglich. Seit Microsoft Exchange 2007 wird hierfür das Backend evolution-ews benötigt. Das backend wird in der aktuellen Stable-Distribution ("Jessie") in der Version 3.12.9 ausgeliefert. Installiert wird evolution-ews mit

sudo aptitude install evolution-ews

Beim erstmaligen start bzw falls noch keine E-Mail-Konten konfiguriert wurden, wird der Willkommen-Dialog angezeigt, die benötigten Daten eingeben.
Bei "Abrufen von E-Mails" die Server-Art Exchange-Webdienste für evolution-ews auswählen, mit "Fertigstellen" bzw. "Weiter" die Konfiguration abschliessen.
Unter Umständen wird danach das Konto nicht angezeigt, in diesem Fall evolution mit

evolution --force-shutdown

beenden und danach evolution neu starten.

Problembehandlung

Bei Problem können die verschiedenen Backends mit Umgebungs-Variablen zu mehr Ausgabe überredet werden, Details sind unterEvolution Debugging verfügbar.

CAMEL_DEBUG=all evolution >& evolution.log evolution-ews

Die Umgebungs-Variable EWS_DEBUG setzt den Log-Level für evolution-ews
lt. kurzer Code-Analyse von e-ews-debug.c sollte der Wert 1 die request-body und der Wert 2 die response-code und response-headers ausgeben.

EWS_DEBUG=2 evolution >& evolution.log Thema  Debian, Gnome, Evolution, Microsoft Exchange

Debian-Paket compilieren und patchen

Tue, 11/22/2016 - 08:58

Debian ist ein freies Betriebssystem, frei auch im Sinne der Freiheit alles zu ändern, um die größtmögliche Freiheit zu gewährleisten steht die komplette Software von Debian als Source-Code bereit, und kann den eigenen Bedürfnissen angepasst werden.
Damit ein existierendes Debian-Paket (*.deb) gebuildetet werden kann muss
das Source-Repository konfiguriert werden. Die Source-Repository werden in /apt/sources/list konfiguriert und beginnen mit deb-src

deb-src http://ftp.at.debian.org/debian/ stable main contrib non-free

sudo aptitude update aktualisiert die geänderten Paktelisten und die Source-Pakete stehen zur Verfügung. Das System zum kompilieren vorbereiten

sudo aptitude install build-essential fakeroot devscripts Arbeitsverzeichnis

Damit mit den Sources gearbeitet werden kann empfiehlt es sich ein eigenes Verzeichnis dafür zu erstellen.

mkdir -p ~/src/debian; cd ~/src/debian

In diesem Beispiel wird das Paket "cvs" verwendet.
Zuerst das Paket installieren sudo aptitude install cvs
Das Source Paket mit

sudo apt-get source cvs

in das aktuelle Verzeichnis herunterladen. Es wurden 3 Dateien (.dsc, .tar.gz, .diff.gz) heruntergeladen und in den Ordner cvs-1.12.13+real entpackt. Debian-Source-Pakages können manuell mit dpkg-source -x .dsc entpackt werden.
Jedes Debian-Paket (und auch die Pakete der Debian Devirate) enthält einen Ordner debian, in diesem sind alle Debian-spezifischen Dateien, wie Patches, Manpages und Dokumentation enthalten. Wichtig sind debian/rules, das Executable zum builden und debian/patches welches die Maintainer Patches enthält.

Build-Abhängigkeiten

Damit eine Programm kompiliert kann sind werden Entwicklungsdateien benötigt, diese sind üblicherweise in den -dev Paketen enthalten. Die benötigten Build-Abhängigkeiten werden mit

sudo apt-get build-dep cvs

installiert.

Das Paket ohne Änderungen bauen

In den Source Ordner wechseln

cd ~/src/debian/cvs-1.12.13+real

Das Paket wird mit debuild erzeugt

debuild -b -uc -us

das fertige *.deb kann dann mit sudo dpkg -i ../cvs_1.12.13+real-15_*.deb installiert werden

Das Paket mit Änderungen und bauen

Für Debian sind verschiedene Patch-Systeme vorhanden, die Vor- und Nachteile sind unter debian/patches beschrieben, im Nachfoglenden wird quilt verwendet.

quilt konfigurieren

Im Home-Verzeichnis die quilt Konfiguration ~/.quiltrc mit folgenden Inhalt erstellen

QUILT_PATCHES=debian/patches QUILT_NO_DIFF_INDEX=1 QUILT_NO_DIFF_TIMESTAMPS=1 QUILT_REFRESH_ARGS="-p ab" QUILT_DIFF_ARGS="--color=auto" # If you want some color when using `quilt diff`. existierende Patches anwenden

In das zu bauende Source-Verzeichnis wechseln (cd ~/src/debian/cvs-1.12.13+real).

quilt push -a

"push" wendet alle existierende Patches auf dem Source-Tree an.

einen neuen Patches erstellen

In diesem Beispiel wird PAM aktiviert.
mit "new" wird ein neuer Patch erstellt

quilt new enable-pam.diff

mit "add" werden die zu ändernden Dateien zum Patch hinzugefügt

quilt add debian/rules quilt add debian/control

Die Änderungen in debian/rules vornehmen:

CONFIGURE_ARGS:= --prefix=/usr \ --infodir=/usr/share/info \ --mandir=/usr/share/man \ --sysconfdir=/etc \ --disable-dependency-tracking \ --disable-maintainer-mode \ --enable-pam \

Dadurch entsteht eine neue Abhängigkeit, also debian/control anpassen, libpam0g-dev hinzufügen

Build-Depends: debhelper (>= 5), autopoint, autotools-dev, bsdmainutils, dh-autoreconf, groff, libbsd-dev, libkrb5-dev | heimdal-dev, procps, texinfo, texlive-latex-base, texlive-fonts-recommended, texlive-latex-recommended, zlib1g-dev, libpam0g-dev

Den Patch mit den Änderungen aktualisieren.

quilt refresh

Ein Beschreibung zum Patch hinzufügen

quilt header -e

Nachdem alle Änderungen abgeschlossen sind den Source auf den Originalzustand zurücksetzen

quilt pop -a einen Patche editieren

quilt unterstüzt mehrere Patches, es kann aber nur ein aktuelle Patch ediert werden.

quilt push enable-pam.diff

Jetzt kann der Patch editiert werden, mit

quilt refresh enable-pam.diff

aktualisieren und noch ein

quilt pop -a einen externen Patches importieren

In diesem Beispiel wird zusätzlich noch bug #35432 korrigiert.
Es gibt für diesen Bug bereits ein Patch (für den upstream source).
Den externen Patch herunterladen

wget -o ../cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch http://git.savannah.gnu.org/cgit/gnulib.git/patch/lib/vasnprintf.c?id=913c09becd9df89dbd9b9f386e7f35c240d5efe8

quilt import importiert den Patch

quilt import ../cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch einen Patch löschen

ein Patch wird mit quilt delete aus der series-Datei gelöscht. -r entfernt den Patch komplett

quilt delete -r Das Paket bauen

Bevor das Paket mit den Patches gebaut wird muss das Paket noch als Unterschiedlich vom Original markiert werden.

dch -n

Damit wird ein neuer Eintrag in changelog hinzugefügt.

Das Paket wird debuild gebaut, mit der Option -tc wird ein clean build erstellt.

debuild -b -uc -us

Das fertige Paket kann mit dpkg instlaliert werden.

sudo dpk -i ../cvs_1.12.13+real-15.1_amd64.deb

installiert werden.

Thema  Debian, Paketmanagment

Debian-Paket compilieren und patchen

Tue, 11/22/2016 - 08:58

Debian ist ein freies Betriebssystem, frei auch im Sinne der Freiheit alles zu ändern, um die größtmögliche Freiheit zu gewährleisten steht die komplette Software von Debian als Source-Code bereit, und kann den eigenen Bedürfnissen angepasst werden.
Damit ein existierendes Debian-Paket (*.deb) gebuildetet werden kann muss
das Source-Repository konfiguriert werden. Die Source-Repository werden in /apt/sources/list konfiguriert und beginnen mit deb-src

deb-src http://ftp.at.debian.org/debian/ stable main contrib non-free

sudo aptitude update aktualisiert die geänderten Paktelisten und die Source-Pakete stehen zur Verfügung. Das System zum kompilieren vorbereiten

sudo aptitude install build-essential fakeroot devscripts Arbeitsverzeichnis

Damit mit den Sources gearbeitet werden kann empfiehlt es sich ein eigenes Verzeichnis dafür zu erstellen.

mkdir -p ~/src/debian; cd ~/src/debian

In diesem Beispiel wird das Paket "cvs" verwendet.
Zuerst das Paket installieren sudo aptitude install cvs
Das Source Paket mit

sudo apt-get source cvs

in das aktuelle Verzeichnis herunterladen. Es wurden 3 Dateien (.dsc, .tar.gz, .diff.gz) heruntergeladen und in den Ordner cvs-1.12.13+real entpackt. Debian-Source-Pakages können manuell mit dpkg-source -x .dsc entpackt werden.
Jedes Debian-Paket (und auch die Pakete der Debian Devirate) enthält einen Ordner debian, in diesem sind alle Debian-spezifischen Dateien, wie Patches, Manpages und Dokumentation enthalten. Wichtig sind debian/rules, das Executable zum builden und debian/patches welches die Maintainer Patches enthält.

Build-Abhängigkeiten

Damit eine Programm kompiliert kann sind werden Entwicklungsdateien benötigt, diese sind üblicherweise in den -dev Paketen enthalten. Die benötigten Build-Abhängigkeiten werden mit

sudo apt-get build-dep cvs

installiert.

Das Paket ohne Änderungen bauen

In den Source Ordner wechseln

cd ~/src/debian/cvs-1.12.13+real

Das Paket wird mit debuild erzeugt

debuild -b -uc -us

das fertige *.deb kann dann mit sudo dpkg -i ../cvs_1.12.13+real-15_*.deb installiert werden

Das Paket mit Änderungen und bauen

Für Debian sind verschiedene Patch-Systeme vorhanden, die Vor- und Nachteile sind unter debian/patches beschrieben, im Nachfoglenden wird quilt verwendet.

quilt konfigurieren

Im Home-Verzeichnis die quilt Konfiguration ~/.quiltrc mit folgenden Inhalt erstellen

QUILT_PATCHES=debian/patches QUILT_NO_DIFF_INDEX=1 QUILT_NO_DIFF_TIMESTAMPS=1 QUILT_REFRESH_ARGS="-p ab" QUILT_DIFF_ARGS="--color=auto" # If you want some color when using `quilt diff`. existierende Patches anwenden

In das zu bauende Source-Verzeichnis wechseln (cd ~/src/debian/cvs-1.12.13+real).

quilt push -a

"push" wendet alle existierende Patches auf dem Source-Tree an.

einen neuen Patches erstellen

In diesem Beispiel wird PAM aktiviert.
mit "new" wird ein neuer Patch erstellt

quilt new enable-pam.diff

mit "add" werden die zu ändernden Dateien zum Patch hinzugefügt

quilt add debian/rules quilt add debian/control

Die Änderungen in debian/rules vornehmen:

CONFIGURE_ARGS:= --prefix=/usr \ --infodir=/usr/share/info \ --mandir=/usr/share/man \ --sysconfdir=/etc \ --disable-dependency-tracking \ --disable-maintainer-mode \ --enable-pam \

Dadurch entsteht eine neue Abhängigkeit, also debian/control anpassen, libpam0g-dev hinzufügen

Build-Depends: debhelper (>= 5), autopoint, autotools-dev, bsdmainutils, dh-autoreconf, groff, libbsd-dev, libkrb5-dev | heimdal-dev, procps, texinfo, texlive-latex-base, texlive-fonts-recommended, texlive-latex-recommended, zlib1g-dev, libpam0g-dev

Den Patch mit den Änderungen aktualisieren.

quilt refresh

Ein Beschreibung zum Patch hinzufügen

quilt header -e

Nachdem alle Änderungen abgeschlossen sind den Source auf den Originalzustand zurücksetzen

quilt pop -a einen Patche editieren

quilt unterstüzt mehrere Patches, es kann aber nur ein aktuelle Patch ediert werden.

quilt push enable-pam.diff

Jetzt kann der Patch editiert werden, mit

quilt refresh enable-pam.diff

aktualisieren und noch ein

quilt pop -a einen externen Patches importieren

In diesem Beispiel wird zusätzlich noch bug #35432 korrigiert.
Es gibt für diesen Bug bereits ein Patch (für den upstream source).
Den externen Patch herunterladen

wget -o ../cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch http://git.savannah.gnu.org/cgit/gnulib.git/patch/lib/vasnprintf.c?id=913c09becd9df89dbd9b9f386e7f35c240d5efe8

quilt import importiert den Patch

quilt import ../cvs-1.12.13.1-fix-gnulib-SEGV-vasnprintf.patch einen Patch löschen

ein Patch wird mit quilt delete aus der series-Datei gelöscht. -r entfernt den Patch komplett

quilt delete -r Das Paket bauen

Bevor das Paket mit den Patches gebaut wird muss das Paket noch als Unterschiedlich vom Original markiert werden.

dch -n

Damit wird ein neuer Eintrag in changelog hinzugefügt.

Das Paket wird debuild gebaut, mit der Option -tc wird ein clean build erstellt.

debuild -b -uc -us

Das fertige Paket kann mit dpkg instlaliert werden.

sudo dpk -i ../cvs_1.12.13+real-15.1_amd64.deb

installiert werden.

Thema  Debian, Paketmanagment

Debian 8 (Jessie) als RDP-Server mit echter multimon Unterstützung

Sun, 11/20/2016 - 20:01

Durch die großartige Arbeit von xrdp ist es möglich einen freien RDP-Server mit "echter" multimon-Unterstützung zu betreiben. Debian beinhaltet im aktuellen "stable"-Release natürlich ein Paket "xrdp", leider ist dies in der Version 0.6.1 welches per default VNC zur Kommunkation mit dem X-Server verwendet, zusätzlich wird die Library X11rdp, welche eine speziellen X-Server mit "echter" RDP Unterstützung bietet, nicht mit ausgeliefert. Da im VNC-Protokoll keine Unterstützung für mehrere Monitore vergesehen ist, geht die Information der Monitor zwischen xrdp und X verloren, der RDP-Client kann nur mit span (ein grosses Window, welches beide Monitore umschliesst) betrieben werden.

In der xrdp-Version 0.9.0 welches in den Jessie-Backports enthalten ist wurde dies korrigiert. Hier wird zusätzlich "xorgxrdp" installiert, per default wird "sesman-xorgxrdp" verwendet. Bei dieser Konfiguration startet der "sesman" einen X-Server mit einem Device "xrdpdev", es wird also von xrdp-Server kein VNC-Server für die Kommunikation mit X-Server verwendet.

Installation

Eine eventuell bestehende xrdp Installation inklusive Konfigurationsdateien entfernen ("purge")

$ sudo systemctl stop xrdp $ sudo aptitude purge xrdp

Die Jessie-Backports je nach Geschmack in /etc/apt/sources.list oder als eigene Datei /etc/apt/sources.list.d hinzufügen. Details unter https://backports.debian.org/Instructions/

# jessie backports deb http://ftp.at.debian.org/debian jessie-backports main contrib non-free

Die geänderten Paketlisten aktualisieren

$ sudo aptitude update

Da die Backports auf "100" gepinnt sind muss das Release mit der Option "-t" explizit angegeben werden

$ sudo aptitude -t jessie-backports install xrdp

Nachdem die Installation abgeschlossen ist, sollte der xrdp-Server gestartet sein und ein xfreerdp /multimon /v:MyXrdpServer von einem Client mit mehreren Montioren sollte funktionieren.

X-Server

Nachdem der Login erfolgreich war wird die Standard X-Sitzung gestartet, genauer wird /etc/xrdp/startwm.sh ausgeführt, dieses wiederum setzt aufgrund von /etc/default/locale die sprachspezifischen Umgebungsvariabeln, schlussendlich wird die X-Sitzung mit /etc/X11/Xsession gestartet. Die systemweite X-Session, also auch jene die eine Grafikarte und Monitor verwendet kann wird mit

update-alternatives --config x-session-manager

konfiguriert, Userspezifische Einstellungen sind dann in ~/.xsession- oder ~/.Xsession möglich. Details in Debian-Wiki/Xsession oder im Debain reference manual

Problembehandlung

Bei Probleme befinden sich die Logfiles unter /var/log/xrdp*.log

Thema  Debian, RDP, xrdp

Debian 8 (Jessie) als RDP-Server mit echter multimon Unterstützung

Sun, 11/20/2016 - 20:01

Durch die großartige Arbeit von xrdp ist es möglich einen freien RDP-Server mit "echter" multimon-Unterstützung zu betreiben. Debian beinhaltet im aktuellen "stable"-Release natürlich ein Paket "xrdp", leider ist dies in der Version 0.6.1 welches per default VNC zur Kommunkation mit dem X-Server verwendet, zusätzlich wird die Library X11rdp, welche eine speziellen X-Server mit "echter" RDP Unterstützung bietet, nicht mit ausgeliefert. Da im VNC-Protokoll keine Unterstützung für mehrere Monitore vergesehen ist, geht die Information der Monitor zwischen xrdp und X verloren, der RDP-Client kann nur mit span (ein grosses Window, welches beide Monitore umschliesst) betrieben werden.

In der xrdp-Version 0.9.0 welches in den Jessie-Backports enthalten ist wurde dies korrigiert. Hier wird zusätzlich "xorgxrdp" installiert, per default wird "sesman-xorgxrdp" verwendet. Bei dieser Konfiguration startet der "sesman" einen X-Server mit einem Device "xrdpdev", es wird also von xrdp-Server kein VNC-Server für die Kommunikation mit X-Server verwendet.

Installation

Eine eventuell bestehende xrdp Installation inklusive Konfigurationsdateien entfernen ("purge")

$ sudo systemctl stop xrdp $ sudo aptitude purge xrdp

Die Jessie-Backports je nach Geschmack in /etc/apt/sources.list oder als eigene Datei /etc/apt/sources.list.d hinzufügen. Details unter https://backports.debian.org/Instructions/

# jessie backports deb http://ftp.at.debian.org/debian jessie-backports main contrib non-free

Die geänderten Paketlisten aktualisieren

$ sudo aptitude update

Da die Backports auf "100" gepinnt sind muss das Release mit der Option "-t" explizit angegeben werden

$ sudo aptitude -t jessie-backports install xrdp

Nachdem die Installation abgeschlossen ist, sollte der xrdp-Server gestartet sein und ein xfreerdp /multimon /v:MyXrdpServer von einem Client mit mehreren Montioren sollte funktionieren.
Bei Probleme befinden sich die Logfiles unter /var/log/xrdp*.log

Thema  Debian, RDP, xrdp

Teamviewer 11 in Debian 8 (Jessie) amd64 installieren

Sun, 11/20/2016 - 17:59

Damit der allseits bekannte und beliebte Teamvier auf Debian 8 (Jessie) amd64 installiert werden kann muss Multiarch für die Architektur i386 aktiviert sein. Ein detailiertes (englisches) HOWTO gibts im Debian Wiki.
dpkg --print-foreign-architectures muss i386 ausgeben, anderfalls mit dpkg --add-architecture i386 aktiviern und mit aptitude update die aktuellen Paketlisten downloaden.
Teamviewer v11.x deb von https://www.teamviewer.com/de/download/linux/ downloaden

$ wget https://download.teamviewer.com/download/teamviewer_i386.deb

Die Abhängigkeiten werden leider nicht automatisch richtig aufgelöst, somit müssen zuerst die notwendigen Libraries händisch installiert werden

$ sudo aptitude install libdbus-1-3:i386 libasound2:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libjpeg62:i386 libpng12-0:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 zlib1g:i386 libc6:i386

Das teamviewer-i386.deb kann jetzt mit dpkg installiert werden.

$ sudo dpkg -i teamviewer_i386.deb

Abschliessen noch die manuell installierten Libraries als "automatisch Installiert" markieren, damit bei einer neuen Teamviewer Version eventuell nicht benötige Libraries wieder entfernt werden.

$ sudo aptitude markauto libdbus-1-3:i386 libasound2:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libjpeg62:i386 libpng12-0:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 zlib1g:i386 libc6:i386

Nach der Installation ist Menü-Eintrag in der Kategorie "Network" verfügbar.

Thema  Debian, Multiarch, Teamviewer

Teamviewer 11 in Debian 8 (Jessie) amd64 installieren

Sun, 11/20/2016 - 17:59

Damit der allseits bekannte und beliebte Teamvier auf Debian 8 (Jessie) amd64 installiert werden kann muss Multiarch für die Architektur i386 aktiviert sein. Ein detailiertes (englisches) HOWTO gibts im Debian Wiki.
dpkg --print-foreign-architectures muss i386 ausgeben, anderfalls mit dpkg --add-architecture i386 aktiviern und mit aptitude update die aktuellen Paketlisten downloaden.
Teamviewer v11.x deb von https://www.teamviewer.com/de/download/linux/ downloaden

$ wget https://download.teamviewer.com/download/teamviewer_i386.deb

Die Abhängigkeiten werden leider nicht automatisch richtig aufgelöst, somit müssen zuerst die notwendigen Libraries händisch installiert werden

$ sudo aptitude install libdbus-1-3:i386 libasound2:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libjpeg62:i386 libpng12-0:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 zlib1g:i386 libc6:i386

Das teamviewer-i386.deb kann jetzt mit dpkg installiert werden.

$ sudo dpkg -i teamviewer_i386.deb

Abschliessen noch die manuell installierten Libraries als "automatisch Installiert" markieren, damit bei einer neuen Teamviewer Version eventuell nicht benötige Libraries wieder entfernt werden.

$ sudo aptitude markauto libdbus-1-3:i386 libasound2:i386 libexpat1:i386 libfontconfig1:i386 libfreetype6:i386 libjpeg62:i386 libpng12-0:i386 libsm6:i386 libxdamage1:i386 libxext6:i386 libxfixes3:i386 libxinerama1:i386 libxrandr2:i386 libxrender1:i386 libxtst6:i386 zlib1g:i386 libc6:i386

Nach der Installation ist Menü-Eintrag in der Kategorie "Network" verfügbar.

Thema  Debian, Multiarch, Teamviewer

Debian als Active Directory Server

Sat, 11/19/2016 - 16:39
debian@pdc:~$ sudo aptitude install samba winbind debian@pdc:~$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig debian@pdc:~$ sudo samba-tool domain provision --server-role=dc --use-rfc2307 --dns-backend=SAMBA_INTERNAL --realm=EXAMPLE.COM --domain=EXAMPLE --adminpass=MyPass01

Eine eventuell vorhanden /etc/krb5.conf entfernen oder verschieben

debian@pdc:~$ sudo mv /etc/krb5.conf /etc/krb5.conf.orig

Das samba-tool hat eine krb5.conf erstellt damit diese Verwendet wird einen Symlink auf /etc/krb5.conf setzen

debian@pdc:~$ sudo ln -sf /var/lib/samba/private/krb5.conf /etc/krb5.conf debian@pdc:~$ sudo /etc/init.d/samba restart Thema  Debian, Samba, Active Directory

D-Link DES-3225G Firmware update

Tue, 03/15/2016 - 09:22

Voraussetzung für ein Firmware-Update ist vom Switch erreichbarer TFTP-Server. Debian verwendet als default TFTP-Server (aptitude install tftp-server tftpd-hpa. Der tftp-root liegt dann unter /src/tftp, kann über /etc/default/tftpd-hpa angepasst werden).
Hier am besten einen Ordner "des-3225g" erstellen und die notwendigen PROM, RUNTIME und CONF-Files ablegen.

tux:/srv/tftp# ls des-3225g/ 25.cfg 3225prom.219 3225_run.218

Im Config-File müssen die richtigen Pfade (vom tftp-root) zu den Image-Files eingetragen sein.

# Specify the Code type. Note all of keywords can only appears once at most. # If the keyword is not used, please pound sign at the beginning of the line. Code_type=PROM Image_file="des-3225g/3225prom.219" Code_type=RUNTIME Image_file="des-3225g/3225_run.218"

Das Firmware-Update kann über die Console oder über das Web-Interface gestartet werden ("Reset und Update" -> "Change Configuration File"). Falls der Username bzw. das Password abhanden gekommen ist, muß zwingend die Console verwenden.

Firmware-Update ohne Passwort

Voraussetzung für ein Firmware-update über die Console ist natürlich ein Serielles Kabel welches über den RS-232 Port mit einem Computer verbunden wird.
Port-Settings:

baudrate 9600 bits 8 parity N stopbits 1 rtscts No

Mit minicom oder einem Äquivalent zum Switch verbinden. Wenn der Login-Sreen erscheint, funktioniert die grundsätzliche Verbindung.

DES-3225G Fast Ethernet Switch Console Management Copyright(C) 1999-2000 D-Link Corporation Username: [ ] Password: [ ] ******************************************************************************* Message Area: Enter case-sensitive username.

Den Switch neustarten (also Stecker ziehen), einige male CTRL+C drücken, dann wird der Bootvorgang unterbrochen und das "BOOT MENU" wird angezeigt.

BOOT MENU--- D-Link DES-3225G Standalone Switch ------------------------------------------------------------------------------- Configure IP Switch Information Update Firmware and Configuration Files Console Options Save Changes Restart System RESUME BOOT ******************************************************************************* Message Area: Configures the Management Module internal software.

Punkt 3 "Update Firmware and Configuration Files" auswählen, den richtigen TFTP Server eintragen, "Use Config File" auf "enabled" stellen.
Unter "Config File Name" des-3225g/25.cfg eintragen.
Enter auf "REBOOT TO START UPDATE" startet das Firmware-Update.
Auf der Console wird der Fortschrittsverlauf und etwaige Probleme bzw Fehler angezeigt. Nachdem das Update abgeschlossen ist, ist der Switch wieder auf Factory-Default, Username und Password sind nicht gesetzt.

IM Anhang befindet sich die Firmware 2.00-B18

Attachments  AttachmentSize D-Link DES-3225G Firmware 2.00-B18904.26 KB Thema  Hardware, D-Link DES-3225G, Debian

D-Link DES-3225G Firmware update

Tue, 03/15/2016 - 09:22

Voraussetzung für ein Firmware-Update ist vom Switch erreichbarer TFTP-Server. Debian verwendet als default TFTP-Server (aptitude install tftp-server tftpd-hpa. Der tftp-root liegt dann unter /src/tftp, kann über /etc/default/tftpd-hpa angepasst werden).
Hier am besten einen Ordner "des-3225g" erstellen und die notwendigen PROM, RUNTIME und CONF-Files ablegen.

tux:/srv/tftp# ls des-3225g/ 25.cfg 3225prom.219 3225_run.218

Im Config-File müssen die richtigen Pfade (vom tftp-root) zu den Image-Files eingetragen sein.

# Specify the Code type. Note all of keywords can only appears once at most. # If the keyword is not used, please pound sign at the beginning of the line. Code_type=PROM Image_file="des-3225g/3225prom.219" Code_type=RUNTIME Image_file="des-3225g/3225_run.218"

Das Firmware-Update kann über die Console oder über das Web-Interface gestartet werden ("Reset und Update" -> "Change Configuration File"). Falls der Username bzw. das Password abhanden gekommen ist, muß zwingend die Console verwenden.

Firmware-Update ohne Passwort

Voraussetzung für ein Firmware-update über die Console ist natürlich ein Serielles Kabel welches über den RS-232 Port mit einem Computer verbunden wird.
Port-Settings:

baudrate 9600 bits 8 parity N stopbits 1 rtscts No

Mit minicom oder einem Äquivalent zum Switch verbinden. Wenn der Login-Sreen erscheint, funktioniert die grundsätzliche Verbindung.

DES-3225G Fast Ethernet Switch Console Management Copyright(C) 1999-2000 D-Link Corporation Username: [ ] Password: [ ] ******************************************************************************* Message Area: Enter case-sensitive username.

Den Switch neustarten (also Stecker ziehen), einige male CTRL+C drücken, dann wird der Bootvorgang unterbrochen und das "BOOT MENU" wird angezeigt.

BOOT MENU--- D-Link DES-3225G Standalone Switch ------------------------------------------------------------------------------- Configure IP Switch Information Update Firmware and Configuration Files Console Options Save Changes Restart System RESUME BOOT ******************************************************************************* Message Area: Configures the Management Module internal software.

Punkt 3 "Update Firmware and Configuration Files" auswählen, den richtigen TFTP Server eintragen, "Use Config File" auf "enabled" stellen.
Unter "Config File Name" des-3225g/25.cfg eintragen.
Enter auf "REBOOT TO START UPDATE" startet das Firmware-Update.
Auf der Console wird der Fortschrittsverlauf und etwaige Probleme bzw Fehler angezeigt. Nachdem das Update abgeschlossen ist, ist der Switch wieder auf Factory-Default, Username und Password sind nicht gesetzt.

IM Anhang befindet sich die Firmware 2.00-B18

Attachments:  AttachmentSize D-Link DES-3225G Firmware 2.00-B18904.26 KB Thema: 

Oracle JDK als Debian-Packet (.deb) installieren

Sat, 02/27/2016 - 01:05

Bei der Installation von Oracle-JDK in Debian gibt es einige Dinge die beachten werden sollten. Dadurch das Oracle-JDK wegen inkompatibler Lizenzbedinungen nicht über den Packetmanager ausgeliefert werden kann und zusätzlich beim Download noch per JavaScript die Oracle Binary Code License Agreement for Java SE akzeptiert werden müssen, ergeben sich Schwierigkeiten bei der Debian-konformen Installation vom JDK.

Zusammenfassung debian@tux:~$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u74-b02/jdk-8u74-linux-x64.tar.gz debian@tux:~$ make-jpkg jdk-8u74-linux-x64.tar.gz debian@tux:~$ sudo -i oracle-java8-jdk_8u74_amd64.deb

Mit drei einfachen Befehlen wird das Oracle JDK downgeloadet, debianisiert und installiert.

Schritt für Schritt Anleitung

Minimalste Voraussetzung sind die Packete wget und java-package. java-package befindent sich contrib; also eventuell /etc/apt/sources.list anpassen.

# Debian 8 "Jessie" deb http://ftp.at.debian.org/debian/ jessie main contrib

java-package installieren

debian@tux:~$ aptitude update && aptitude install java-package

Auf der Oracle JDK Dowloads die richtige Version auswählen, das License Agreement aktzeptieren und den Download-Link kopieren. In diesem Fall für JDK 8u74, für andere Versionen die URL und die Dateinamen entsprechen anpassen.

debian@tux:~$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u74-b02/jdk-8u74-linux-x64.tar.gz debian@tux:~$ make-jpkg jdk-8u74-linux-x64.tar.gz

Die ermittelte Archiktur und Java Version kontrollieren und bestätigen, auf nicht erfüllte Bauabhängigkeiten achten, im Falle von einer puristischen netinst-Installation sind das libgl1-mesa-glx libxslt1.1 libxtst6 libxxf86vm1, diese mit aptitude installieren

Das fertige Debian-Packet liegt nach dem build in aktuellen Verzeichnis. diesen als root bzw einfacher mit sudo installieren.

debian@tux:~$ sudo dpkg -i oracle-java8-jdk_8u74_amd64.deb

Empfohlen ist auf alle Fälle noch das Packet java-common. Dies stellt unteranderem den Befehl /usr/sbin/update-java-alternatives zu Verfügung.
update-java-alternatives -l listet alle verfügbaren JVM auf

debian@tux:~$ sudo update-java-alternatives -l jdk-8-oracle-x64 318 /usr/lib/jvm/jdk-8-oracle-x64

update-java-alternatives -s jdk-8-oracle-x64 setzt die zu verwendende Standard JVM
update-java-alternatives -a ermittelt automatisch Aufgrund der Nummer (mittlere Spalte) die verwendende Standard JVM.

Somit können verschiedene JVM Version installiert werden und es kann genau defniert werden welche Version verwendet werden soll.

Thema  Debian, Oracle, Java

Oracle JDK als Debian-Packet (.deb) installieren

Sat, 02/27/2016 - 01:05

Bei der Installation von Oracle-JDK in Debian gibt es einige Dinge die beachten werden sollten. Dadurch das Oracle-JDK wegen inkompatibler Lizenzbedinungen nicht über den Packetmanager ausgeliefert werden kann und zusätzlich beim Download noch per JavaScript die Oracle Binary Code License Agreement for Java SE akzeptiert werden müssen, ergeben sich Schwierigkeiten bei der Debian-konformen Installation vom JDK.

Zusammenfassung debian@tux:~$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u74-b02/jdk-8u74-linux-x64.tar.gz debian@tux:~$ make-jpkg jdk-8u74-linux-x64.tar.gz debian@tux:~$ sudo -i oracle-java8-jdk_8u74_amd64.deb

Mit drei einfachen Befehlen wird das Oracle JDK downgeloadet, debianisiert und installiert.

Schritt für Schritt Anleitung

Minimalste Voraussetzung sind die Packete wget und java-package. java-package befindent sich contrib; also eventuell /etc/apt/sources.list anpassen.

# Debian 8 "Jessie" deb http://ftp.at.debian.org/debian/ jessie main contrib

java-package installieren

debian@tux:~$ aptitude update && aptitude install java-package

Auf der Oracle JDK Dowloads die richtige Version auswählen, das License Agreement aktzeptieren und den Download-Link kopieren. In diesem Fall für JDK 8u74, für andere Versionen die URL und die Dateinamen entsprechen anpassen.

debian@tux:~$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u74-b02/jdk-8u74-linux-x64.tar.gz debian@tux:~$ make-jpkg jdk-8u74-linux-x64.tar.gz

Die ermittelte Archiktur und Java Version kontrollieren und bestätigen, auf nicht erfüllte Bauabhängigkeiten achten, im Falle von einer puristischen netinst-Installation sind das libgl1-mesa-glx libxslt1.1 libxtst6 libxxf86vm1, diese mit aptitude installieren

Das fertige Debian-Packet liegt nach dem build in aktuellen Verzeichnis. diesen als root bzw einfacher mit sudo installieren.

debian@tux:~$ sudo -i oracle-java8-jdk_8u74_amd64.deb

Empfohlen ist auf alle Fälle noch das Packet java-common. Dies stellt unteranderem den Befehl /usr/bin/update-alternatives zu Verfügung.
update-java-alternatives -l listet alle verfügbaren JVM auf

debian@tux:~$ sudo update-java-alternatives -l jdk-8-oracle-x64 318 /usr/lib/jvm/jdk-8-oracle-x64

update-java-alternatives -s jdk-8-oracle-x64 setzt die zu verwendende Standard JVM
update-java-alternatives -a ermittelt automatisch Aufgrund der Nummer (mittlere Spalte) die verwendende Standard JVM.

Somit können verschiedene JVM Version installiert werden und es kann genau defniert werden welche Version verwendet werden soll.

Thema: 

Energieverschwendung bei falsch montierten Rohranlegefühler

Sat, 02/20/2016 - 17:12

Vor ein paar Jahren wurde unser Haus komplett saniert, im Zuge dessen wurde bei der bestehenden Fernwärme-Heizung ein zusätzlicher Misch-Heizkreis für die Fussbodenheizung installiert. Die bestehende Eisen-Verrohung wurde belassen der alte Fernwäremeregler wurde durch einen Honeywell SDC12-31 WM Regler ersetzt, die alten Eintauchfühler wurden durch Anlegefühler Honeywell VF10A ersetzt.
In den freigewordene Tauchfühler-Aufnahme habe ich einen 1-Wire Tauchfühler gesteckt und mittels Raspberry PI und openHAB begonnen die Vorlauftemperatur (durch das T-Stück nur für WW, Direkt- und Mischkreis1 aussagekräftig) zu loggen.
Es wurde sofort offensichtlich, dass beim Wasserheizen die Temperatur zwischen Tauchfühler und Anelgefühler um ca 15°C unterschiedlich ist.
Nach intensiver Nachforschung war schnell klar dass der Anlegefühler durch die Bauweise des T-Stück nicht komplett am Rohr anliegt, durch das Spannen der Schelle wurde der Fühler nach unten gedrückt und die Fühlerfläche lag nicht vollständig plan am T-Stück. Nachdem die Position des Anlegefühler auf die Unterseite verlegt wurde und zusätzlich der Lack abgeschmirgelt wurde sank die Vorlauftemperatur beim Wasserheizen um ca 10°C, der Energieverbrauch, gemessen am Fernwärmezähler sank um 2-3 kw/h pro Heizvorgang!

Rechts der Anschluss von der Fernwärme, Links der Anschluss zur Fussbodenheizung, Senkrecht der Vorlauf der "alten" Heizung. Der Anlegefühler war senkrecht montiert, durch die Schweissnaht und doppelte Rundung des T-Stücks konnte der Fühler nicht plan am Rohr anliegen, durch die optimierte Position des Fühler liegt die Fühlfläche jetzt plan am Rohr an, die Temperatur wird jetzt zusätzlich vor der Verteilung des T-Stücks gemessen.


Die Spitzen über 40°C werden beim Wasser heizen erreicht, obwohl lt. Regler die Vorlauftemperatur eigentlich ca 70°C sein sollte. zwischen 11:00 Uhr und 13:00 Uhr wurde der Fühler abmontiert, sichtbar durch den Vorlauftemperatur anstieg, weil der abmontierte Fühler auskühlte, der Regler somit die Vorlauftemperatur erhöht. Nach 13:00 Uhr wurden die Spitzen deutlich reduziert.


Die Spitzen über 3 kw/h werden beim Wasser heizen erreicht, nach 13:00 Uhr die Aufzeichnung mit optimierter Fühlerposition; offensichtlich wird beim Wasser heizen weniger kw/h verbraucht.

Thema  Heizung

Energieverschwendung bei falsch montierten Rohranlegefühler

Sat, 02/20/2016 - 17:12

Vor ein paar Jahren wurde unser Haus komplett saniert, im Zuge dessen wurde bei der bestehenden Fernwärme-Heizung ein zusätzlicher Misch-Heizkreis für die Fussbodenheizung installiert. Die bestehende Eisen-Verrohung wurde belassen der alte Fernwäremeregler wurde durch einen Honeywell SDC12-31 WM Regler ersetzt, die alten Eintauchfühler wurden durch Anlegefühler Honeywell VF10A ersetzt.
In den freigewordene Tauchfühler-Aufnahme habe ich einen 1-Wire Tauchfühler gesteckt und mittels Raspberry PI und openHAB begonnen die Vorlauftemperatur (durch das T-Stück nur für WW, Direkt- und Mischkreis1 aussagekräftig) zu loggen.
Es wurde sofort offensichtlich, dass beim Wasserheizen die Temperatur zwischen Tauchfühler und Anelgefühler um ca 15°C unterschiedlich ist.
Nach intensiver Nachforschung war schnell klar dass der Anlegefühler durch die Bauweise des T-Stück nicht komplett am Rohr anliegt, durch das Spannen der Schelle wurde der Fühler nach unten gedrückt und die Fühlerfläche lag nicht vollständig plan am T-Stück. Nachdem die Position des Anlegefühler auf die Unterseite verlegt wurde und zusätzlich der Lack abgeschmirgelt wurde sank die Vorlauftemperatur beim Wasserheizen um ca 10°C, der Energieverbrauch, gemessen am Fernwärmezähler sank um 2-3 kw/h pro Heizvorgang!

Rechts der Anschluss von der Fernwärme, Links der Anschluss zur Fussbodenheizung, Senkrecht der Vorlauf der "alten" Heizung. Der Anlegefühler war senkrecht montiert, durch die Schweissnaht und doppelte Rundung des T-Stücks konnte der Fühler nicht plan am Rohr anliegen, durch die optimierte Position des Fühler liegt die Fühlfläche jetzt plan am Rohr an, die Temperatur wird jetzt zusätzlich vor der Verteilung des T-Stücks gemessen.


Die Spitzen über 40°C werden beim Wasser heizen erreicht, obwohl lt. Regler die Vorlauftemperatur eigentlich ca 70°C sein sollte. zwischen 11:00 Uhr und 13:00 Uhr wurde der Fühler abmontiert, sichtbar durch den Vorlauftemperatur anstieg, weil der abmontierte Fühler auskühlte, der Regler somit die Vorlauftemperatur erhöht. Nach 13:00 Uhr wurden die Spitzen deutlich reduziert.


Die Spitzen über 3 kw/h werden beim Wasser heizen erreicht, nach 13:00 Uhr die Aufzeichnung mit optimierter Fühlerposition; offensichtlich wird beim Wasser heizen weniger kw/h verbraucht.

Thema: 

Debian dhclient und domainname von einem DHCP-Server

Fri, 02/19/2016 - 16:38

Ein DHCP-Server mit einem dynamischen DNS-Server ist eine hervorragende Möglichkeit die gesamte Netzwerkkonfiguration und Administration an einer zentralen Stelle zu administrieren. Der DHCP-Client sendet seine Hostnamen und dafür bekommt er vom DHCP-Server alles notwendige um sich im lokalen Netz zurecht finden zu können, aber auch keine, eine oder mehrere Routen in die weite Welt.
Die verschiedenen Varianten und dazugehörige HowTos findet man zuhauf im Internet, als besonders wertvoll soll hier nur das Debian Wiki und das Debian Administrator Handuch erwähnt werden, hier wird auf die Stolpersteine auf der Client-Seite in Form eines Debian-Hosts beschrieben. Voraussetzung hierfür ist ein funktionierender DHCP-Server mit einem dynamischen DNS-Server.

In Debian wird bekannterweise in /etc/hostname der Hostname des System ohne Domainname hinterlegt. Also für den Host "tux" soll "tux stehen.

root@tux:~# cat /etc/hostname tux

die Ausgabe von hostname liefert in diesem Fall den hostname

root@tux:~# hostname tux

Der Domainname wird bei Installation festgelegt und wird in /etc/hosts verewigt

root@tux:~# cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 tux.sedelnet.loc tux # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters

lt. /etc/nsswitch.conf

root@tux:~# grep hosts /etc/nsswitch.conf hosts: files dns

soll zuerst in "files" also /etc/hosts und dann in "dns" nach dem Domainnamen gesucht werden.
hostname -f liefert somit

root@tux:~# hostname -f tux.sedelnet.loc

Soweit so gut, bei einer zentralen Netzwerkkonfiguration sollte aber der Domainname doch vom DHCP-Server geliefert und verwendet werden, dies ist durch den Eintrag von "tux.sedelnet.loc" aber leider redundant in /etc/hosts gesetzt. Nachdem die Zeile 127.0.1.1 tux.sedelnet.loc tux entfernt worden ist, wird der DNS Eintrag gesucht und hostname -f liefert somit

root@tux:~# hostname -f tux.sedelmaier.at

jetzt ist der Domainname wirklich zentral vom DHCP-Server verwaltet.

Achtung! Wenn das Packet libnss-myhostname installiert ist, (GNOME genauer gnome-control-center benötig das Packet) wird /etc/nsswitch.conf verändert.

root@tux:~# grep hosts /etc/nsswitch.conf hosts: files myhostname dns

In diesem Fall wird wieder auf /etc/hosts zurückgegriffen, eine Änderung von /etc/nsswitch.conf auf

root@tux:~# grep hosts /etc/nsswitch.conf hosts: files dns myhostname

liefert dann wieder den Domainname vom DNS.

Thema  Debian, dhcp

Debian dhclient und domainname von einem DHCP-Server

Fri, 02/19/2016 - 16:38

Ein DHCP-Server mit einem dynamischen DNS-Server ist eine hervorragende Möglichkeit die gesamte Netzwerkkonfiguration und Administration an einer zentralen Stelle zu administrieren. Der DHCP-Client sendet seine Hostnamen und dafür bekommt er vom DHCP-Server alles notwendige um sich im lokalen Netz zurecht finden zu können, aber auch keine, eine oder mehrere Routen in die weite Welt.
Die verschiedenen Varianten und dazugehörige HowTos findet man zuhauf im Internet, als besonders wertvoll soll hier nur das Debian Wiki und das Debian Administrator Handuch erwähnt werden, hier wird auf die Stolpersteine auf der Client-Seite in Form eines Debian-Hosts beschrieben. Voraussetzung hierfür ist ein funktionierender DHCP-Server mit einem dynamischen DNS-Server.

In Debian wird bekannterweise in /etc/hostname der Hostname des System ohne Domainname hinterlegt. Also für den Host "tux" wird soll "tux stehen.

root@tux:~# cat /etc/hostname tux

die Ausgabe von hostname liefert in diesem Fall den hostname

root@tux:~# hostname tux

Der Domainname wird bei Installation festgelegt und wird in /etc/hosts verewigt

root@tux:~# cat /etc/hosts 127.0.0.1 localhost 127.0.1.1 tux.sedelnet.loc tux # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters

lt. /etc/nsswitch.conf

root@tux:~# grep hosts /etc/nsswitch.conf hosts: files dns

soll zuerst in "files" also /etc/hosts und dann in "dns" nach dem Domainnamen gesucht werden.
hostname -f liefert somit

root@tux:~# hostname -f tux.sedelnet.loc

Soweit so gut, bei einer zentralen Netzwerkkonfiguration sollte aber der Domainname doch vom DHCP-Server geliefert und verwendet werden, dies ist durch den Eintrag von "tux.sedelnet.loc" aber leider redundant in /etc/hosts gesetzt. Nachdem die Zeile 127.0.1.1 tux.sedelnet.loc tux entfernt worden ist, wird der DNS Eintrag gesucht und hostname -f liefert somit

root@tux:~# hostname -f tux.sedelmaier.at

jetzt ist der Domainname wirklich zentral vom DHCP-Server verwaltet.

Achtung! Wenn das Packet libnss-myhostname installiert ist, (GNOME genauer gnome-control-center benötig das Packet) wird /etc/nsswitch.conf verändert.

root@tux:~# grep hosts /etc/nsswitch.conf hosts: files myhostname dns

In diesem Fall wird wieder auf /etc/hosts zurückgegriffen, eine Änderung von /etc/nsswitch.conf auf

root@tux:~# grep hosts /etc/nsswitch.conf hosts: files dns myhostname

liefert dann wieder den Domainname vom DNS.

Thema: 

Pages