• Und wer ist…?
  • Holiday Berichte
    • Urlaub Schottland 2013
    • Urlaub Griechenland 2013
  • Services
  • Kontakt/GnuPG

KOKOLOR.ES

Hier geht's einfach mal um alles und nichts!

ubuntu

Funktionstasten eines Zuoya GMK67 Custom Keyboards aktivieren

13. Juni 2023 by Sebastian Leave a Comment

Vorgeschichte (wen es interessiert)

Du mein altes Keyboard mittlerweile ziemlich abgenutzt war und die letzten Wochen außerdem die Leertaste immer mal für mehrere Sekunden aussetzte, entschied ich mich dazu mir eine neue Tastatur zu kaufen. Eigentlich hätte ich einfach gern den (vermutlich) defekten Switch getauscht, leider waren bei meiner alten aber die Switches fest verlötet. Und da ich jetzt kein Bock hatte daran rumzulöten, ich sowieso eine kleinere Tastatur haben und schon lange mal in die Welt der Custom Keyboards eintauchen wollte, las ich mich ein bisschen schlau und besorgte mir ein Zuoya GMK67. Keycaps und ein paar Switches hatte ich sogar da, weil ich hier seit ca. einem Jahr einen ganzen Bausatz für ein Reviung41 rumliegen habe, wo ich bisher noch nicht die Lust aufbringen konnte den mal zusammen zu löten. Da aber die neue Tastatur ein paar Tasten mehr hat als die Reviung41, musste ich mir doch noch ein paar Switches dazu holen. Die die ich noch da hatte waren Akko Sponge Switches, welche aber leider nicht mehr lieferbar waren. Also habe ich mir Akko Jelly Blue geholt, zum einen weil die Sponge einfach recolored Jelly Blues sind (wohl mit ner anderen Feder, aber ich merk da keinen Unterschied) und außerdem günstiger waren weil Auslaufmodel. Beides sind übrigens Taktile Switche. Ich kenne viele in meinem Bekanntenkreis die Lineare favorisieren, aber mir fehlte da einfach das haptische Feedback beim tippen. Meine ausgemusterte Tastatur hatte diese Clicky Switches, also Taktile in extra laut, was ich damals lustig fand und im Home Office auch niemand nervte. Außer mich, so nach ein paar Jahren. :D Ich hab dann die Sponge Switches für Buchstaben und die Tasten rechts genommen (Pfeiltasten etc.) und für den Rest dann die Jelly Blue. Jetzt muss ich mich erstmal daran gewöhnen weniger Tasten zu haben und mit einem englischen Layout zu schreiben. Bisher muss ich aber sagen das das umgewöhnen schneller geht als gedacht.

Das Problem

Wie man oben sieht hat die Tastatur keine Funktionstasten. Die sind aber dennoch verfügbar indem man FN+ 1 – = drückt. Dabei unterstützt die Tastatur zwei Modi – WIN OS und MAC OS. Im MAC OS Modus hat man mit den zuvor genannten Tastenkombinationen allerdings eine Multimediasteuerung, wie man sie vom Notebook kennt, statt der Funktionstasten. Ich war also am WIN OS Modus interessiert da ich die Funktionstasten wollte, allerdings hatte ich egal was ich einstellte immer die Multimediasteuerung auf den Tasten. Selbst wenn an der Tastatur über einen Schalter der Modus umgeschaltet wurde änderte das nichts.

Die Lösung

Eine Kollege der sich gut mit Customs Keyboards teilte mir dann die Lösung mit:

echo 2 > /sys/module/hid_apple/parameters/fnmode

Er meinte das wohl viele der China Custom Keyboards Apple IDs für Vendor und Product IDs verwenden würden, im WIN OS Modus dann aber keinen Code für die FN Taste übermitteln würden und der hid_apple Treiber dann einfach den Default Wert nimmt – Multimedia.

Um die Einstellung nun persistent zu machen legt man eine entsprechende modeprobe config an:

echo "options hid_apple fnmode=2" > /etc/modprobe.d/hid_apple.conf
update-initramfs -u

Generelle Tastatureinstellungen

Wen es interessiert, hier nochmal kurz die Tastatureinstellungen wie sie bei mir bisher gut funktionieren:

  • Tastaturmodel: Generische PC-Tastatur mit 105 Tasten (intl.)
  • Belegung: English (USA)
  • Variante: English (intl., mit AltGr-Akzenttasten)

Die Variante hat den Vorteil das man über AltGr Umlaute hat.

Posted in: IT, Linux Tagged: keyboard, linux, ubuntu

Fehlerhaftes font rendering, missing letters in Xubuntu

6. Juli 2017 by Sebastian Leave a Comment

UPDATE: Wie angekündigt, nochmal eine kurze Rückmeldung: Mein Rechner lief jetzt seit diesen 14 Tagen durch ohne das das Problem aufgetreten ist. Das wäre vorher nicht gegangen, somit würde ich sagen Kernel Upgrade bringt was. ;-)

Ich hab schon seit Beginn an mit Xubuntu 16.04 das Problem, das in einem von zehn Aufweckversuchen aus dem Standby, so gut wie keine Buchstaben mehr da sind. Außer bei ein paar einzelnen Programmen wie Chromium oder Thunderbird, wo dennoch Buchstaben angezeigt werden. Ich hatte mich damit auch schonmal beschäftigt, konnte aber nichts näheres herausfinden woran es liegen könnte, und ein paar Testeinstellungen in der xorg.conf brachten auch nicht wirklich Besserung. Außerdem trat der Fehler auch „relativ“ selten auf und ich hab ihn auch nicht absichtlich reproduziert können, wodurch mir der Fehler irgendwann wieder egal war und ich damit lebte. Heute trat er allerdings wieder auf und da bekam ich so einen Hals, das ich mich da nochmal mit beschätigte und einen Bugreport fand, der dieses Problem beschrieb. Das Problem hat offenbar mit dem Kernel 4.4 zu tun, da auch Benutzer von Ubuntu 14.04 mit Xenial Kernel von dem selben Problem berichteten. Die Lösung sei hier den Kernel 4.8 zu installieren, welcher das Problem beheben soll. Unter 16.04 macht man das wie folgt:

sudo apt install linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 xserver-xorg-hwe-16.04

Laut dem Bugreport soll der Fehler danach nicht mehr auftreten. Ich bin gespannnt und werde nach 14 Tagen hier nochmal ein kleines Update reinschreiben.

Posted in: IT, Linux, Opensource Tagged: intel, kernel, linux, ubuntu, xenial, xorg, xubuntu

Steuererklärung mit tax2017 unter Linux

26. Juni 2017 by Sebastian 18 Comments

Steuererklärung…ja spannendes Thema das jeder liebt. Ich gehöre zu denen die noch nie eine gemacht haben. Zwar hab ich schon zwei mal damit angefangen, aber jedes mal wieder abgebrochen, da es mir den Aufwand einfach nicht Wert war. Jeder sagte zwar immer „Ja, die Programme machen alles für dich, das ist einfach.“. Diese Aussage konnt ich nie nachvollziehen. Man wird da zwar an die Hand genommen, aber ich kam immer wieder an den Punkte wo mir das Programm vorschlug hier jetzt Option A oder B einzutragen. Ich hatte aber Option C, welche irgendwie in A und B passen würde, was nun? Dann kommt noch dazu die ganzen Belege zu suchen… Ich bekomm schon richtig Lust während ich das hier schreibe…
Naja jedenfalls hat mir mein Vater nahe gelegt das doch mal zu machen, da ich von zu Hause aus arbeite und das sicher lohnen würde. Also heute mal hingesetzt und geguckt ob es denn Steuererklärungsprogramme gibt die nativ unter Linux laufen, obwohl ich die Antwort schon kannte. Ein paar sollen allerdings gut mit Wine laufen, unter anderem das Program tax2017 von Buhl. Das passte mir ganz gut in den Kram, da ich mit diesem damals meinen zweiten Versuch unternahm und ich das als recht übersichtlich in Erinnerung hatte. Also mal schnell gesucht, welche Wine Version denn dafür zu empfehlen ist und wurde im Forum des Herstellers fündig.
Benötigt wird also folgendes:

  • tax2017
  • Wine >2.4
  • Aktuelles Winetricks
  • Visual C++ 2015 libraries

Die Wine Version muss dafür aus dem Repo des Winehq installiert werden, welches man wie folgt hinzufügt:

wget -O - https://dl.winehq.org/wine-builds/Release.key | sudo apt-key add -
sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
sudo apt update

Dann aktiviert man noch den Multiarch Support:

sudo dpkg --add-architecture i386
sudo apt update

Nun kann man Wine installieren:

sudo apt install winehq-devel

Dies installiert die derzeit aktuellste Developer Version von Wine (zu diesem Zeitpunkt 2.11.0). Als nächstes installiert man Winetricks. Allerdings nicht aus dem Ubuntu Repository, da die Version ganz schön in die Jahre gekommen ist und damit eine Installation von vcrun2015 nicht funktioniert:

sudo wget -P /usr/local/bin/ https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
sudo chmod +x /usr/local/bin/winetricks

Man sollte nun Winetricks einmal über die Konsole ohne Argumente aufrufen, damit es sich konfiguriert und noch ein paar Abhängkeiten installiert. Anschließend kann man das Fenster schließen und auf der Konsole folgendes ausführen um vcrun2015 zu installieren:

winetricks vcrun2015

Soviel zur Vorbereitung von Wine. Nun kann man die Setupdatei von tax2017 ausführen und die Installation sollte durchlaufen und das Programm anschließend starten. Ich kann noch nicht sagen ob es noch irgendwo Fehler gibt, da ich nun erstmal irgend nenn Code, für das automatische vorausfüllen der Steuererklärung, beantragen musste der mit PER POST zugeschickt wird. Das ist unter anderem auch so ein Punkt der mich immer wieder ankotzt. Man nimmt sich vor heute mal die Steuererklärung zu machen und dann kommt „Bitte beantragen sie das und das – Vielen Dank, Sie werden den Zugangscode in ca. 2 Tagen in ihrem Briefkasten haben.“. 2017 FTW!

Posted in: IT, Linux, Opensource Tagged: linux, steuererklärung, ubuntu, wine, xenial

Canon PIXMA MG5250 Treiber benötigt libtiff4 unter Ubuntu 16.04

22. Juni 2017 by Sebastian Leave a Comment

Vor ein paar Wochen hat ein Kumpel sich einen neuen Rechner gekauft und in diesem Zuge auch direkt mal sein System neu gemacht, von vorher Ubuntu 12.04 nach nun Xubuntu 16.04. Er meldete sich dann bei mir, weil er seinen Drucker, einen Canon PIXMA MG5250, nicht installiert bekommt. Er hatte bereits die richtigen Treiber herunter geladen und entpackt, allerdings meckerte die install.sh beim ausführen das eine Abhängkeit nicht erfüllt ist:

[...]
Entpacken von cnijfilter-mg5200series (3.40-1) ...
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von cnijfilter-mg5200series:
 cnijfilter-mg5200series hängt ab von libtiff4; aber:
  Paket libtiff4 ist nicht installiert.
[...]

Nun ist der Treiber von 2011, also eher so Ubuntu 10.04. Unter 16.04 gibt es nun kein libtiff4 mehr, sondern libtiff5. Gut dacht ich mir, bearbeiteste mal schnell das control file des Pakets und ersetzt libtiff4 durch libtiff5. Für solche schnellen Sachen benutzt ich gern ein Script, welches ich mal vor einer Weile gefunden hatte: https://ubuntuforums.org/showthread.php?t=636724.
Nachdem ich das control file angepasst hatte, lief die install.sh auch durch und der Drucker lies sich einrichten. Ich macht dann einen Testdruck, allerdings passierte nichts. Die Daten wurden scheinbar korrekt übermittelt und man sah im Display des Druckers, dass dieser auch die Daten empfing, aber anschließend einfach nichts tat. Weder der Drucker noch Ubuntu gaben einen Fehler aus. Nach einer kurzen Recherche, ob denn der Druckertreiber mit libtiff5 zusammenarbeitet, fand ich den Artikel von Klaus Munsteiner. Also bin ich dem Artikel gefolgt und habe libtiff4 installiert und anschließend kam auch etwas aus dem Drucker.

Posted in: IT, Linux, Opensource Tagged: canon, drucker, linux, ubuntu, xubuntu

Xubuntu: dnsmasq in NetworkManager deaktivieren

2. Januar 2017 by Sebastian 2 Comments

Ich hab bei Xubuntu 16.04 wiederholt beobachten können, das die Namensauflösung nicht richtig funktioniert, bzw. aller paar Minuten, für ca. 30s aussetzt. Das Problem habe ich schon vor ein paar Monaten auf meinem Arbeitsrechner gelöst, allerdings trat es gestern nach einer Neuinstallation für eine Bekannte erneut auf, weshalb ich das hier mal vermerke.
Das Problem liegt daran das in Xubuntu der Networkmanager so konfiguriert ist, dass er einen lokal installierten dnsmasq zur Namensauflösung verwendet. Ich weiß nicht wieso das so voreingestellt ist, da ich auch keinen Dienst gefunden habe, der darauf angewiesen wäre oder danach nicht mehr korrekt funktioniert. Es führt jedenfalls zu dem oben genannten Problemen und auch dazu das ein, über den nm-connection-editor vergebener DNS Server ignoriert wird. Um dem NetworkManager davon abzuhalten dnsmasq zu benutzen muss die Datei /etc/NetworkManager/NetworkManager.conf wie folgt angepasst werden:

[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq

[ifupdown]
managed=false
Posted in: IT, Linux, Netzwerk, Opensource Tagged: dns, dnsmasq, linux, NetworkManager, ubuntu, xubuntu

mysql-server-5.5 dependency Probleme unter Precise

8. November 2016 by Sebastian Leave a Comment

Seit etwa einem halben Jahr habe ich sporadisch auf ein paar Client das Problem das mysql sich beim Updaten verhaspelt. Mir scheint es fast als ob er da etwas in der falschen Reihenfolge installiert:

(Reading database ... 267516 files and directories currently installed.)
Preparing to replace mysql-server-core-5.5 5.5.50-0ubuntu0.12.04.1 (using .../mysql-server-core-5.5_5.5.53-0ubuntu0.12.04.1_amd64.deb) ...
Unpacking replacement mysql-server-core-5.5 ...
Processing triggers for man-db ...
Setting up mysql-server-core-5.5 (5.5.53-0ubuntu0.12.04.1) ...
dpkg: dependency problems prevent configuration of mysql-server-5.5:
 mysql-server-5.5 depends on mysql-server-core-5.5 (= 5.5.52-0ubuntu0.12.04.1); however:
  Version of mysql-server-core-5.5 on system is 5.5.53-0ubuntu0.12.04.1.
dpkg: error processing mysql-server-5.5 (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          dpkg: dependency problems prevent configuration of mysql-server:
 mysql-server depends on mysql-server-5.5; however:
  Package mysql-server-5.5 is not configured yet.
dpkg: error processing mysql-server (--configure):
 dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          Errors were encountered while processing:
 mysql-server-5.5
 mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

Er versucht mysql-server-5.5_5.5.52-0ubuntu0.12.04.1 zu installieren und depended auf mysql-server-core-5.5_5.5.52-0ubuntu0.12.04.1, obwohl bereits mysql-server-core-5.5_5.5.53-0ubuntu0.12.04.1 installiert ist. Es gibt auch die passende, neuere mysql-server-5.5 Version im Repo, ich bekam ihn aber auf den Tod nicht dazu die Neuere zu verwenden. Einzige Lösung war für mich, die ältere mysql-server-core Version von Launchpad zu laden und zu installieren, damit die Installation durch läuft und dann alles nochmal zusammen zu updaten.
Ich bin bis heute noch nicht wirklich dahinter gestiegen wie das passiert und was dafür der Auslöser ist, da es für mich auch gar keinen Sinn ergibt…vielleicht weiß ja jemand Rat der das hier liest.

Posted in: Arbeit, IT, Linux, Opensource Tagged: linux, mysql, precise, ubuntu

KVM RAW Image erweitern

6. September 2016 by Sebastian Leave a Comment

Ich musste heute ein KVM RAW Image vergrößern und das kann man wie folgt machen:

1. qemu-img resize

Man kann das qemu eigene Tool qemu-img benutzen um ein Image zu resizen:

qemu-img resize image.img +50G

In meinem Fall lief die virtuelle Maschine noch auf Lucid, wo es die Option resize in qemu-img noch nicht gibt. Also kam das nicht in Frage für mich.

2. Zusätzliches leeres Image erzeugen und dieses dann mit dem bestehenden zusammenführen

Dazu legt man mit dem Tool qemu-img ein neues Image an

qemu-img create -f raw additionalspace.img 50G

Nun führt man die beiden Files zusammen

cat image.img additionalspace.img > image_new.img

Auch dies war in meinem Fall nicht möglich, da die Maschine zu wenig Speicherplatz dafür hatte.

3. Das Image mit dd vergrößern

dd if=/dev/zero of=image.img bs=1G count=50 oflag=append conv=notrunc

Diese Option fand bei mir Anwendung und hat wunderbar funktioniert.

4. Das Image mittels cat vergrößern

Dies ist im Grund genau die Version wie vorher, nur ein paar Schritte mehr

dd if=/dev/zero of=additionalspace.img bs=1G count=50G
cat additionalspace.img >> image.img

Statt dd kann man hier natürlich auch qemu-img create nutzen um ein leeres Imagefile zu erstellen.

Bevor man dies tut sollte man natürlich vorher ein Backup des Images anlegen und anschließend ist es nötig natürlich noch das Filesystem zu vergrößern.
Meinen Dank gebührt meinem Kollegen Dennis, da ich heute Abend irgendwie zu fertig war um auf die letzten beiden Optionen zu kommen. Stattdessen fing ich an, das, in meinem Fall nicht kleine Image, auf ein System mit aktuellerer qemu Version zu kopieren um es da mit Variante 1 zu vergrößern und es anschließend wieder zurück zu kopieren. Das hätte (und hat bereits) Stunden in Anspruch genommen… Ich kannte auch die oflag Option von dd noch gar nicht.

Posted in: Arbeit, IT, Linux, Opensource Tagged: dd, kvm, linux, lucid, qemu, ubuntu

Kolab Winterfell auf Ubuntu 16.04 – php dependencies

3. August 2016 by Sebastian 2 Comments

Ein Kollege versuchte auf Arbeit einen Kolab Mailserver auf Ubuntu 16.04 aufzusetzen, was aber auf Grund von Abhänigkeitsproblemen nicht funktionierte. Kolab depended nämlich noch auf php5, welches allerdings unter Xenial vpn php7 ersetzt wurde . Kolab hat das noch nicht angepasst, da das Paket php-kolabformat swig benötigt, welches allerdings noch kein php7 supported.
Behelfen kann man sich nun indem man zwei PPA’s von Ondřej Surý added, über welche man php5 installieren kann:
php5* dummy packages

sudo add-apt-repository ppa:ondrej/php5-compat

main php ppa

sudo add-apt-repository ppa:ondrej/php

Wenn man das getan hat kann man mit der Installationsanleitung von Kolab weitermachen. Ein Hinweis in dieser Anleitung seitens Kolab, das es zu Problemen kommen kann, auf Grund von Abhängkeiten zu php5, wäre natürlich auch nicht so verkehrt.

Update 1

Es muss noch ein Symlink unter /etc gesetzt werden, da nach der Installation von php der Pfad /etc/php/5.6/ lautet, aber kolab möchte gern /etc/php5/ haben.

ln -s /etc/php/5.6/ /etc/php5

Update 2

Nach der Installation wird man feststellen das man /kolab-admin nicht aufrufen kann im im Browser. Im Log findet man dazu folgenden Fehler:

[05-Aug-2016 14:54:48 Europe/Berlin] PHP Fatal error:  Call to undefined function mb_internal_encoding() in /usr/share/kolab-webadmin/lib/functions.php on line 60

Dies fixt man indem man php5.6-mbstring installiert

apt-get install php5.6-mbstring

Update 3

Und dann folgt auch schon direkt der nächste Error, diesmal im Zusammenhang mit Roundcube. Nach dem Login sitzt man vor einer weißen Seite und im Log bekommt man folgendes:

[05-Aug-2016 15:57:16 Europe/Berlin] PHP Fatal error:  Call to undefined function dl() in /usr/share/php/kolabformat.php on line 22

In dieser mail Liste fand ich dann den Hinweise, das er die Funktion dl() aufruft wenn kolabformat nicht geladen ist. Und tatsächlich, schaut man unter /etc/php5/apache2/conf.d nach, stehen da die Kolab Module nicht drin. Also macht man folgendes:

phpenmod kolabformat
phpenmod kolab

Wenn man sich jetzt mal eine phpinfo Seite anlegt (apache2 natürlich vorher neu starten)


wird man sehen, das unter **Additional .ini files parsed ** 20-kolab*.ini Files auftauchen. Leider war es das aber noch nicht, denn PHP kann die .so Dateien offenbar nicht finden, denn scrollt man ganz noch unten, tauchen die Module nicht in der Auflistung auf. Das liegt daran das die Module im Verzeichnis /usr/lib/php5/20131226/ liegen, PHP aber im Verzeichnis /usr/lib/php/20131226/ nach den Modulen sucht. Also muss man hier auch noch entsprechende Symlinks setzen:

cd /usr/lib/php/20131226/
for l in $(find /usr/lib/php5/20131226/ -type f); do ln -s $l $(echo $l | awk -F"/" '{print $6}'); done

Anschließend den apache2 neu starten und siehe da, man kann sich einloggen.

Posted in: Arbeit, IT, Linux, Opensource Tagged: kolab, linux, php, ubuntu, xenial

Brothers brscan-skey nutzbar machen

1. August 2016 by Sebastian 13 Comments

Update 27.03.2021

Da es nun schon zwei Kommentare mit Nachfragen zu dem Thema gab, dachte ich mir das ich hier kurz ein Update Kommentar dazu verfasse. Es ist wohl letztes Jahr eine neue Version des brscan-skey Paketes erschienen, mit welchem meine Scripte zum Teil nicht mehr funktionieren. Hauptsächlich betrifft es wohl scantofile, wo nur noch ein leeres PDF raus fällt. Ich habe letztens erst die Linux Version auf dem Laptop meiner Mutter installiert, allerdings das Scankey Tool ignoriert, da sie es in den vergangenen 5 Jahren nicht einmal genutzt hat. Wenn ich Zeit und Lust habe werde ich mir die neue Version nochmal anschauen und die Skripte anpassen, allerdings kann ich nicht sagen wann das sein wird. Vielen Dank auf jeden Fall für die Kommentare von Peter und Michél, die mich darauf aufmerksam gemacht haben und an den Kommentator Wade, der sich offensichtlich sogar aktiv zu dem Thema mit Brother auseinander gesetzt hat/auseinander setzt.

Update

Die Scripts liegen mittlerweile auch auf Github. Diese haben auch schon ein paar Updates erhalten, unter anderem auch scan2mail.

Ausgangsituation

Meine Mutter hat seit ein paar Monaten einen neuen Laptop und da sie nicht so viel Ahnung von PC’s hat und quasi noch ein unbeschriebenes Blatt ist, bekam sie von mir Linux drauf, um genauer zu sein Linux Mint mit Cinnamon, womit sie auch wunderbar klar kommt. Leider konnte sie damals die Scanner Funkionalität des Druckers nicht nutzen, da mein Vater diesen über einen propritären „Druckserver“ ins Netzwerk gehangen hat, welcher natürlich nur unter Windows richtig funktionierte.
Nun hat sich mein Vater endlich einen neuen Drucker gekauft, wodurch der „Druckserver“ endlich entsorgt werden konnte. Bei dem neuen Drucker handelt es sich um einen Brother MFC-J470DW mit WLAN, welcher auch Linux Unterstützung mit sich bringt. Ich gehe jetzt hier nicht auf die Installation der Treiber und so ein, mir geht es primär um das Scankey-Tool (brscan-skey), welches ermöglicht das man die Scanbuttons am Drucker nutzen kann.

Scankey-Tool und Anpassungen

Das ganze Tool besteht aus einem Binary File and ein paar Shell Scripten, welche nach /opt/brother/scanner/brscan-skey installiert werden. Im Unterordner script/ findet man nach der Installation 4 Scripte, also für jeden Button einen. Da ich festellte das die Scans alle als .ppm Dateien gespeichert werden und meine Mutter damit natürlich nichts anfangen kann, schaute ich mir mal die einzelnen Scripte an. Ich würde nicht behaupten das das, was ich manchmal schreibe als gutes scripten/programmieren durchgeht, aber diese Scripte sehen aus, als ob die ein Azubi im ersten Lehrjahr geschrieben hat. Ich hatte dann den starken Wunsch das alles nochmal ordentlich zu machen, unter anderem mit Convertierung der Dateien. Folgendes kam dabei heraus: Neuere Versionen der Skripte findet ihr auf Github

scantox.sh

#!/bin/bash

scan_path=~/Dokumente/Scans
scan_path_tmp=$(mktemp -d)
#logfile=/tmp/scan_logfile.log
resolution=300
output_filename=scan_$(date +%Y%m%d%H%M%S)
output_file="$scan_path/$output_filename"
output_file_tmp="$scan_path_tmp/$output_filename%03d.tiff"

#exec &> $logfile

function checkscanpath() {
    if [[ ! -d $scan_path ]]; then
        mkdir -p $scan_path
    fi
}

function scantox() {
    scanimage --device-name "$device" --resolution $resolution -l 0 -t 0 \
-x 210.00 -y 295.00 --format=tiff --batch=$output_file_tmp
}

function convert2() {
    if [[ "$1" == "pic" ]]; then
        c=0
        for file in $(find $scan_path_tmp -type f); do
            convert $file -quality 90 $output_file-$c.jpg
            c=$[$c+1]
        done
    elif [[ "$1" == "file" ]]; then
        convert $scan_path_tmp/* $output_file.pdf
    fi
}

function finish() {
    if [[ -d $scan_path_tmp ]]; then
        rm -r $scan_path_tmp
    fi
    if which nemo > /dev/null; then
        nemo $scan_path &
    fi
}

scantoimage.sh

#! /bin/sh
set +o noclobber

device=$1
. /opt/brother/scanner/brscan-skey/script/scantox.sh

sleep  1

checkscanpath
scantox
convert2 pic
finish

scantofile.sh

#! /bin/sh
set +o noclobber

device=$1
. /opt/brother/scanner/brscan-skey/script/scantox.sh

sleep  1

checkscanpath
scantox
convert2 file
finish

Die Scipte für OCR und Mail werde ich wahrscheinlich auch noch anpassen und werden dann ergänzt. Wenn ihr diese Scripte hier verwenden wollt, beachtet das wenn ihr die Filenames ändert ihr auch die .cfg einen Ordner höher anpassen müsst.

Probleme, Bugs etc.

Das die Scripte des Scankey Tools ziemlich schlecht geschrieben sind steht ja schon weiter oben, aber es gibt noch ein paar weitere Bugs:

Mehrere Seiten scannen über Flachbett nicht möglich

Der Drucker hat sowohl einen normales Flachbett als auch einen Dokumenteneinzug zum scannen. Wenn man nun über das Flachbett scannt, fragt er nach der ersten Seite ob man noch eine Weitere scannen möchte. Bejaht man das, fängt er an, bricht dann aber nach etwa 1/5 ab und man bekommt die Fehlermeldung (sofern man es mitloggt):

scanimage: sane_start: Device busy

Selbst wenn man die Zeile händisch ausführt, mit der expliziten Angabe das er bitte als Quelle das Flachbett nutzen soll, bekommt man bei der zweiten Seite einen Fehler, auch wenn es diesmal ein anderer ist:

scanimage --device-name "$device" --source FlatBed --resolution 300 -l 0 -t 0 \
-x 210.00 -y 295.00 --format=tiff --batch=$output_file_tmp --batch-prompt
scanimage: sane_start: document feeder out of documents

Mir scheint es so als ob er bei der ersten Seite noch mitbekommt das er das Flachbett nutzen soll, danach aber auf den Standart umspringt, welche ADF(left align) ist.
Wenn man hingegegen von Anfang an den Dokumenteneinzug zum scannen nutzt, funktionieren mehrere Seite ohne Probleme. Der Nachteil ist da natürlich, wenn man Dokumente hat, wo die Vorder- und Rückseite bedruckt ist, denn diese muss man so manuell zusammenführen.

Wenn jemand auch dieses Problem hat und es sogar gelöst hat, würde ich mich sehr über einen entsprechenden Kommentar freuen.

brscan-skey –help

Da ich mir mal anschauen wollte was ich mit dem Consolentool brscan-skey so machen kann führte ich es mal mit -h und –help aus. Beides brachte das selbe Ergebnis und zwar die Versionsausgabe. Als ich mir dann das Script mal anschaute, sah ich auch wieso:

if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
  if [ "$2" = "2" ];then
    --- gekürzt ---
    echo '   -h --help                :help'
  fi
  echo '   Copyright 2007-2012 Brother Industries, Ltd'
  exit 0
fi

Man muss also um die Help-Ausgabe zu bekommen -h 2 oder –help 2 eingeben. Wieso? Wusste der Entwickler nicht das -V geläufgier ist für die Versionsausgabe?

Versionsnummern

Das Paket kommt in der Version 0.2.4-1. Offenbar hatte der Entwickler vor dem Release keine Muse diese Versionsnummer überall anzupassen. So hat das Binaryfile noch die Version 0.2.4-0. Des Weiteren ist in der brscan-skey-0.2.4-1.sh als $BINVERSION ebenfalls noch die Version 0.2.4-0. Dieses Script ist dafür zuständig die Scripte unter script/ zu generieren, was zu einem weiteren Phänomen führt.

brscan-skey –reset

Führt man das nämlich aus, bekommt man die wunderschöne Fehlermeldung:

Can't open /opt/brother/scanner/brscan-skey/brscan-skey-0.2.4-0.sh

Ja klar, weil die auch brscan-skey-0.2.4-1.sh heißt. Passt man nun den Namen des Scripts an funktioniert –reset auch, nur haben dann alle Scripte unter script/ plötzlich eine Versionsnummer tiefer. Grund dafür ist das es neben $BINVERSION noch die Variable $VERSION gibt, welche zumindest schonmal nicht statisch vergeben ist, allerdings auch nicht, wie man denkt durch Abfrage der Paketversion gesetzt wird, nein, man schaute sich die Versionsnummer des ausgeführten Scripts an und setzt sie danach.
Das verursacht jetzt keine Probleme, da die brscan-skey-0.2.4-0.cfg auch entsprechend angepasst wird, aber dennoch…

brscan-skey -l / –list

Das ist einfach – diese Option hat einfach keine Funktion. Also zumindest zeigt sie weder unter Ubuntu noch unter Debian irgendwas an.

Fazit

Es funktioniert und macht, mit ein paar Anpassungen, weitesgehend das was es soll, aber dieses ganze Paket schreit einem quasi die Lust des Entwicklers ins Gesicht. Ich frag mich dann immer warum Unternehmen sowas machen. Wenn sie keinen Bock haben Linux Pakete zu bauen, schön, dann sollen sie den Code für das Binary irgendwohin werfen und sagen „Da habter den Code, macht es selbst, wir haben da keinen Bock zu.“ Das würde denen doch nicht mal jemand übel nehmen…

Posted in: IT, Linux, Opensource Tagged: bash, brother, drucker, linux, mint, scanner, ubuntu

Installieren von zabbix 3.0 unter Ubuntu 16.04 mit PostgreSQL

26. Juli 2016 by Sebastian 2 Comments

Vor ein paar Tagen habe ich Zabbix 3.0 unter Ubuntu 16.04 installiert. Da ich mich mal ein bisschen mit PostgreSQL auseinander setzen möchte, habe ich mich dazu entschieden diese als Datenbank einzusetzen.

Installation

Als erstes lädt man das entsprechende Release Paket von Zabbix herrunter:

wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+xenial_all.deb

welches man anschließend installiert

dpkg -i zabbix-release_3.0-1+xenial_all.deb

Damit wurde nun das entsprechende Repo hinzugefügt und man kann zabbix installieren

apt update
apt install zabbix-server-pgsql zabbix-frontend-php zabbix-agent libapache2-mod-php7.0 php-bcmath php-mbstring php7.0-xml snmp-mibs-downloader

Datenbank anlegen

Als erstes ändert man mal das admin Passwort. Dazu verbindet man sich als erstes mit der Datenbank:

sudo -u postgres psql

Das Passwort ändert man wie folgt

\password

Zweimal neues Passwort eingeben und fertig. Nun legt man eine neue Datenbank und einen neuen User an und geben diesem alle Rechte auf dieser:

sudo -u postgres psql
CREATE DATABASE zabbix WITH ENCODING='UTF-8';
CREATE USER zabbix WITH PASSWORD '$password';
GRANT ALL ON DATABASE zabbix TO zabbix;

Nun füllen wir noch die Datenbank mit Inhalt. Dazu gibt es die Datei create.sql.gz, unter /usr/share/doc/zabbix-server-pgsql/.

zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u postgres psql zabbix -h 127.0.0.1 -d zabbix

PostgreSQL Konfigurationen ändern

Wenn man nur lokal auf die Datenbank zugreift, kann man das hier überspringen. Ich wollte aber gern per pgadmin3 auf diese zugreifen.
Per default lauscht die Datenbank nur auf localhost, also 127.0.0.1. Um das zu ändern, ändert man folgendes in der Datei /etc/postgresql/9.5/main/postgresql.conf

# listen_addresses = '127.0.0.1'

nach

listen_addresses = '*'

Nun muss noch die Konfiguration bearbeitet werden, welche die Authentifizierung regelt /etc/postgresql/9.5/main/pghba.conf. Darin added man folgende Zeile:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host       all                       all                  all                             md5

Das geht natürlich noch schöner und vor allem restriktiver, was für meine Testinstallation jetzt nicht von nöten war.
Anschließend noch den Dienst neu starten und danach sollte man mit pgadmin3 auf die Datenbank zugreifen können

systemctl restart postgresql

Zabbix Server in Betrieb nehmen

Damit der Dienst läuft mussten noch die Zugangsdaten zur Datenbank in die /etc/zabbix/zabbix_server.conf eingetragen werden:

DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=$password

Anschließend kann man den Dienst aktivieren und starten:

systemctl enable zabbix-server
systemctl enable zabbix-agent
systemctl start zabbix-server
systemctl start zabbix-agent

Frontend konfigurieren

Hier muss in der Datei /etc/apache2/conf-enabled/zabbix.conf folgende Zeile angepasst werden

nach

Anschließend muss der apache2 einmal neu gestartet werden

systemctl restart apache2

Das war es dann auch. Nun kann das Frontend über den Browser http://$ip/zabbix aufgerufen werden und die Installation abgeschlossen werden.
Was mich bei dieser Installation gewundert hat, war, das ich mich nicht daran erinnere bei älteren Zabbix Installationen so einen „Konfigurationsaufwand“ gehabt zu haben. Zum einen die Pakete, die man noch manuell installieren muss, welche, meine ich, früher bereits in den Dependencies enthalten waren und zum anderen die IfModule Zeile in der apache2 Konfiguration, welche noch php5 beinhaltet. Ich mein es ist ja nun bekannt das php7 in Xenial Einzug gehalten hat. Aber alles in allem verkraftbar.

Update

Hier gibts das ganze noch als Script: Gist Danke an Alexey für den Hinweis in den Kommentaren.

Posted in: Arbeit, IT, Linux, Monitoring, Opensource Tagged: linux, postgres, ubuntu, xenial, zabbix
1 2 … 5 Weiter »

Social Shit

Fediverse PGP-Key XMPP Matrix Git Github

Kategorien

  • Allgemein
  • Android
  • Anime
  • Arbeit
  • Entertainment
  • Games
  • Handy
  • IT
  • Linux
  • Monitoring
  • Netzwerk
  • Opensource
  • Privates
  • QEK Junior
  • Rattis
  • Showtime Ost
  • Showtime West
  • Windows

Interessantes

  • Lainblog
  • World of Edolas
  • chr.istoph's Blog
  • 5222.de

Archive

  • Juni 2023
  • August 2019
  • Oktober 2018
  • März 2018
  • Dezember 2017
  • Juli 2017
  • Juni 2017
  • Mai 2017
  • März 2017
  • Februar 2017
  • Januar 2017
  • Dezember 2016
  • November 2016
  • September 2016
  • August 2016
  • Juli 2016
  • Juni 2016
  • Mai 2016
  • April 2016
  • März 2016
  • Februar 2016
  • Dezember 2015
  • November 2015
  • September 2015
  • August 2015
  • Juli 2015
  • Juni 2015
  • Mai 2015
  • April 2015
  • März 2015
  • Februar 2015
  • November 2014
  • Oktober 2014
  • August 2014
  • Juli 2014
  • Juni 2014
  • Mai 2014
  • April 2014
  • März 2014
  • Februar 2014
  • Dezember 2013
  • November 2013
  • Oktober 2013
  • September 2013
  • August 2013
  • Juli 2013
  • April 2013
  • März 2013
  • Februar 2013
  • Januar 2013
  • Dezember 2012
  • November 2012
  • September 2012
  • Juli 2012
  • Juni 2012
  • Mai 2012
  • Februar 2012
  • Januar 2012

Tags

android anime apt bash bugs debian freifunk freifunk-aachen gnome hardware htpc kernel linux lucid lxc mdadm mint monitoring mysql network nginx openwrt outdoor package pgp php postgres precise raid redmine squeeze telekom testing trusty ubuntu virtualization vserver wheezy windows xbmc xenial xorg xubuntu zabbix zarafa

Datenschutzerklärung | Impressum

Copyright © 2025 KOKOLOR.ES.

Omega WordPress Theme by ThemeHall