.:zefanjas:. https://zefanjas.de open source, web, education Sun, 09 Dec 2018 12:55:01 +0000 de-DE hourly 1 https://wordpress.org/?v=4.9.8 https://zefanjas.de/wp-content/uploads/2016/12/cropped-zefanjas_new-32x32.png .:zefanjas:. https://zefanjas.de 32 32 Wie man sein WLAN-Netzwerk mit Freeradius absichern kann https://zefanjas.de/freeradius-wlan-absichern/ https://zefanjas.de/freeradius-wlan-absichern/#comments Sun, 09 Dec 2018 03:35:33 +0000 https://zefanjas.de/?p=2811 An unserer Schule haben wir ein offenes WLAN mit einem Captive Portal sowie ein weiteres WLAN-Netz (WPA Enterprise, 802.1X), welches nur für Lehrkräfte gedacht ist. Für beide Netze nutzen wir einen RADIUS-Server für die Authentifizierung. Freeradius ist der am weitesten verbreitete OpenSource RADIUS-Server, der auch bei uns zum Einsatz kommt. In diesem Artikel wollen wir einen Freeradius-Server und Zertifikate für eine verschlüsselte Verbindung einrichten. Im Besonderen möchte ich auf die Anbindung an Linuxmuster 6.2 eingehen und die Authentifizierung mit einem...

Weiterlesen Weiterlesen

Der Beitrag Wie man sein WLAN-Netzwerk mit Freeradius absichern kann erschien zuerst auf .:zefanjas:..

]]>
An unserer Schule haben wir ein offenes WLAN mit einem Captive Portal sowie ein weiteres WLAN-Netz (WPA Enterprise, 802.1X), welches nur für Lehrkräfte gedacht ist. Für beide Netze nutzen wir einen RADIUS-Server für die Authentifizierung. Freeradius ist der am weitesten verbreitete OpenSource RADIUS-Server, der auch bei uns zum Einsatz kommt. In diesem Artikel wollen wir einen Freeradius-Server und Zertifikate für eine verschlüsselte Verbindung einrichten. Im Besonderen möchte ich auf die Anbindung an Linuxmuster 6.2 eingehen und die Authentifizierung mit einem LDAP-Server beschreiben.

Ein RADIUS-Server kümmert sich im Allgemeinen um 3 Dinge: Authentifizierung, Autorisierung und Accounting (oft auch als Triple-A oder AAA bezeichnet). Wir werden uns nur mit den ersten beiden „As“ beschäftigen, d.h. ob die Zugangsdaten korrekt sind und ob der Benutzer berechtigt ist, einen Zugang zu erhalten (zum WLAN z.B.).

Installation von freeradius

Die Installation führen wir auf einer aktuellen Linux-Installation (hier Ubuntu 18.04 Server) durch, z.B. in einem LXD Container oder einer virtuellen Maschine.

$ apt install freeradius freeradius-ldap freeradius-utils

Konfiguration

Grundkonfiguration

Um unseren freeradius Server zu testen, kommentieren wir folgende Zeile in /etc/freeradius/3.0/users aus oder fügen sie zu Beginn der Datei ein:

# Das Kommentarzeichen "#" vor dieser Zeile entfernen
steve Cleartext-Password := "testing"

Standardmäßig sollte in der Datei /etc/freeradius/3.0/clients.conf der localhost als Client eingerichtet sein:

client localhost {
  ipaddr = 127.0.0.1
  secret = testing123
}

Nun können wir einen ersten Test durchführen. Dazu stoppen wir den freeradius-Service und starten ihn manuell im Debug-Modus neu:

$ systemctl stop freeradius.service
$ freeradius -X
...
Ready to process request

Wichtig ist, dass am Ende „Ready to process requests“ steht.

Überprüfen der Grundkonfiguration

Als nächstes überprüfen wir, ob unser Test-Benutzer „Steve“ sich am RADIUS-Server anmelden kann (am besten in einem neuen/zweiten Terminal):

$ radtest steve testing 127.0.0.1 10 testing123

Falls alles passt, sollten wir folgende Antwort bekommen:

Sent Access-Request Id 234 from 0.0.0.0:40302 to 127.0.0.1:1812 length 75
    User-Name = "steve"
    User-Password = "testing"
    NAS-IP-Address = 10.18.10.60
    NAS-Port = 10
    Message-Authenticator = 0x00
    Cleartext-Password = "testing"
Received Access-Accept Id 234 from 127.0.0.1:1812 to 0.0.0.0:0 length 20

Wichtig ist, dass wir ein „Received Access-Accept“ bekommen. Hat diese Anfrage geklappt ist der freeradius-Server grundlegend eingerichtet und die folgenden Authentifizierungsverfahren sollten ohne weitere Probleme klappen:

  • PAP
  • CHAP
  • MS-CHAPv1
  • MS-CHAPv2
  • PEAP
  • EAP-TTLS
  • EAP-GTC
  • EAP-MD5

Diese Verfahren sind unterschiedliche Protokolle, die verschieden „sicher“ sind. Alle verwenden einen Benutzernamen und Passwort zur Authentifizierung. Die Bedeutung der (P)EAP Verfahren kann man hier nachlesen. MS-CHAPv1 und v2 sind Verfahren aus dem Hause Microsoft.

Hinweis: Die Zeile mit unserem Benutzer „Steve“ sollten wir jetzt wieder kommentieren oder löschen!

Wir werden im Folgenden das LDAP-Modul konfigurieren und neue Zertifikate für EAP-TTLS erstellen.

LDAP Anbindung einrichten

Die Konfiguration des LDAP-Servers nehmen wir in der Datei /etc/freeradius/3.0/mods-enabled/ldap vor. Falls diese Datei nicht existiert, müssen wir vorher noch einen symbolischen Link erstellen.

$ cd /etc/freeradius/3.0/mods-enabled/
$ ln -s ../mods-available/ldap ./

Ziemlich an Anfang der Datei konfigurieren wir unseren LDAP-Server:

server = "ldaps://linuxmuster.internal.example.com"
identity = "cn=admin,dc=internal,dc=example,dc=com"
password = superSecretPassword
base_dn = "ou=accounts,dc=internal,dc=example,dc=com"

...

group {
    ...
    membership_filter = "(|(member=%{control:Ldap-UserDn})(memberUid=%{%{Stripped-User-Name}:-%{User-Name}}))"
    ...
}

Es muss sichergestellt sein, dass alle nötigen Ports für die Kommunikation zwischen dem RADIUS und LDAP-Server offen sind.

Hinweis: Wenn man Freeradius 3.0 zusammen mit linuxmuster.net v6.2 verwenden möchte, müssen noch folgende Zeilen angepasst werden, damit die Authentifizierung mit Windows klappt (sign…):

update {
            control:Password-With-Header    += 'userPassword'
            control:NT-Password             := 'sambaNTPassword'
            ...
}

LDAP Verbindung testen

Nachdem der LDAP-Server in Freeradius konfiguriert ist, müssen wir ihn einmal neustarten und können anschließend testen, ob sich ein Benutzer aus dem LDAP am RADIUS-Server anmelden kann.

$ systemctl restart freeradius.service
$ radtest testuser password localhost 10 testing123
Sent Access-Request Id 213 from 0.0.0.0:46425 to 127.0.0.1:1812 length 73
    User-Name = "testuser"
    User-Password = "password"
    NAS-IP-Address = 10.18.10.60
    NAS-Port = 10
    Message-Authenticator = 0x00
    Cleartext-Password = "password"
Received Access-Accept Id 213 from 127.0.0.1:1812 to 0.0.0.0:0 length 20

Wenn wir wieder ein „Received Access-Accept“ als Antwort erhalten, klappt die Verbindung zwischen RADIUS und LDAP-Server. Falls es nicht klappt, sollten wir den RADIUS Server manuell starten und schauen, welche Fehler uns der RADIUS-Server ausgibt.

$ systemctl stop freeradius.service 
$ freeradius -X 
... 
Ready to process request

Zertifikate erstellen (für EAP-TTLS)

Standardmäßig verwendet Freeradius sogenannte Snake-Oil-Zertifkate, die natürlich nicht für den produktiven Einsatz gedacht sind. Deshalb erstellen wir in den folgenden Schritten eine neue Root-CA und ein Zertifikat für den Server. Die Zertifikate und die dazugehörigen Konfigurationsdateien befinden sich unter /etc/freeradius/3.0/certs/. Zuerst öffnen wir die Datei ca.cnf und ändern ein paar wenige Einstellungen:

...
[ CA_default ]
...
default_days        = 3650
...
default_md      = sha256
...

[ req ]
....
default_bits        = 2048
input_password      = supersecretandlongpassword
output_password     = supersecretandlongpassword
...

[certificate_authority]
countryName     = US
stateOrProvinceName = My State
localityName        = My Town
organizationName    = My School
emailAddress        = admin@my-school.org
commonName      = "CA Freeradius"
...

Ähnliche Einstellungen nehmen wir nun der Datei server.cnf vor:

...

[ CA_default ]
...
default_days        = 3560
...
default_md      = sha256
...

[ req ]
...
default_bits        = 2048
input_password      = supersecretandlongpassword
output_password     = supersecretandlongpassword

[server]
countryName     = US
stateOrProvinceName = My State
localityName        = My Town
organizationName    = My School
emailAddress        = admin@my-school.org
commonName      = "Freeradius Server Certificate"

Das Passwort muss jetzt auch in der Datei /etc/freeradius/3.0/mods-enabled/eap geändert werden:

tls-config tls-common {
    private_key_password = supersecretandlongpassword
    ...
}

Die Zertifikate erstellen wir mit einem einfachen make:

$ cd /etc/freeradius/3.0/certs/
$ make

EAP-TTLS Anmeldung testen

epol_test kompilieren

radtest unterstützt leider keinen Test für eine EAP-TTLS Authentifizierung. Dazu brauchen wir das Tool eapol_test, welches Teil des wpa_supplicant Pakets ist. Leider wird dieses Tool standardmäßig nicht von wpa_supplicant gebaut, deswegen müssen wir das selbst machen. Wir laden den Quellcode herunter, entpacken ihn und müssen noch einige Abhängigkeiten installieren.

$ wget https://w1.fi/releases/wpa_supplicant-2.7.tar.gz
$ tar -xzvf wpa_supplicant-2.7.tar.gz
$ apt install build-essential pkg-config libnl-3-dev libssl-dev libnl-genl-3-dev
$ cd wpa_supplicant-2.7
$ cp defconfig .config

Danach müssen wir die Datei .config öffnen und die Zeile #CONFIG_EAPOL_TEST=y  finden und das Kommentarzeichen entfernen.

$ nano .config
# Kommentarzeichen "#" entfernen
CONFIG_EAPOL_TEST=y

Mit dem folgenden Befehlen bauen wir nun das Programm und kopieren es noch an die richtige Stelle:

$ make eapol_test
$ cp eapol_test /usr/local/bin

Anmeldung testen

Um EAP-TTLS zu testen, brauchen wir für eapol_test eine kleine Config-Datei, die folgendermaßen aussehen kann:

$ nano eapol_test.conf
network={
        ssid="example"
        key_mgmt=WPA-EAP
        eap=TTLS
        identity="mustermann"
        anonymous_identity="anonymous"
        password="strenggeheim"
        phase2="auth=PAP"
}

Nun können wir eapol_test aufrufen:

$  eapol_test -c eapol_test.conf -a 127.0.0.1 -p 1812 -s testing123

Wenn man am Ende diese Ausgabe erhält, war alles erfolgreich:

MPPE keys OK: 1  mismatch: 0
SUCCESS

Clients einrichten (z.B. Accesspoints)

Bisher haben wir immer nur direkt auf dem RADIUS-Server getestet. Im Normalfall wird die Anfrage für die Authentifizierung aber von einem Accesspoint, Captive Portal oder einem Wireless Controller kommen. Diese müssen auf dem RADIUS-Server als Clients eingerichtet werden. Wir öffnen dazu die Datei /etc/freeradius/3.0/clients.conf und fügen am Ende alle Accesspoints etc. mit ihrer IP und einem Passwort / Secret ein:

$ nano /etc/freeradius/3.0/clients.conf
client AP1 {
    ipaddr = 10.0.0.10
    secret = supersecretsecret
}

Nun kann man auf dem Accesspoint ein WPA Enterprise (802.1X) Netzwerk einrichten und den RADIUS-Server mit seiner IP, den Port (1812) und dem eben festgelegten Passwort/Secret konfigurieren. Nun sollte man sich mit seinem mobilen Gerät im WLAN anmelden können.

Zugang auf bestimmte LDAP Gruppen beschränken

An unserer Schule haben nur Mitarbeiter und Lehrkräfte sowie die Oberstufenschüler Zugang zum WLAN an der Schule. In linuxmuster.net ist das über die Gruppe p_wifi gelöst. Alle, die in dieser Gruppe sind, sollen Zugang bekommen. Bisher ist unser RADIUS-Server aber so konfiguriert, dass jeder Benutzer im LDAP Zugang erhält. Um den Zugang einzuschränken, fügen wir noch folgende Zeilen in der Datei /etc/freeradius/3.0/users hinzu:

DEFAULT Ldap-Group == "cn=p_wifi,ou=groups,dc=internal,dc=example,dc=com"
DEFAULT Auth-Type := Reject
   Reply-Message = "Your are not allowed to access the WLAN!"

Freeradius und linuxmuster.net 6.2

Die Installation von Freeradius für linuxmuster.net 6.2 ist in der Dokumentation beschrieben. Bis auf ein paar wenige Details ist die Konfiguration sehr ähnlich. In Freeradius 2.0 sind die Standardeinstellungen für die Zertifikate nicht mehr zeitgemäß, sodass es zu Verbindungsproblemen mit einigen Clients kommen kann (z.B. mit einem aktuellen macOS). Hier sollte man unbedingt die Vorgaben von Freeradius 3.0 verwenden (siehe oben)!

Unterschiedliche Zugangsbeschränkungen nach WLAN-Netz

An unserer Schule haben wir ein Captive Portal für Gäste und Schüler, sowie ein WPA 802.1X (Enterprise) Netz für Mitarbeiter und Lehrkräfte. Während sich am Captive Portal alle anmelden können, die in der Gruppe p_wifi sind, sollen sie im WPA 802.1X Netzwerk nur Lehrkräfte und Mitarbeiter anmelden dürfen. Die Anfragen vom Captive Portal kommen von einer anderen IP (pfSense) als die für das WPA Enterprise Netzwerk. In der Datei /etc/freeradius/sites-enabled/inner-tunnel haben wir deshalb eine Abfrage eingebaut, die überprüft, von welcher IP die Anfrage kommt und entsprechend entscheidet, ob jemand Zugang bekommt oder nicht:

post-auth {
    ...
    #Only allow Teacher&Staff on WPA 802.1X Teacher and Staff network  
    if (NAS-IP-Address == 10.0.0.10) {
        if (LDAP-Group == "cn=teachers,ou=groups,dc=internal,dc=example,dc=com" || LDAP-Group == "cn=staff,ou=groups,dc=internal,dc=example,dc=com") {
            noop
        } else {
            reject
        }
    }
    ...
}

Fazit

Dieser Artikel beschreibt nur eine von vielen Möglichen Konfigurationen. Ein RADIUS-Server ist komplex, aber dank der guten Standardkonfiguration von Freeradius (v.a. in Version 3) kommt man recht schnell zum Erfolg. Lange Zeit hatten wir nur das Captive Portal im Einsatz und es hat auch gut funktioniert, doch die Benutzerfreundlichkeit und Sicherheit ist mit einem WPA 802.1X (Enterprise) Netzwerk nochmal gestiegen. Ohne den RADIUS-Server wäre das aber nicht möglich gewesen.

Nützliche Links:

2 Kommentare

Der Beitrag Wie man sein WLAN-Netzwerk mit Freeradius absichern kann erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/freeradius-wlan-absichern/feed/ 2
pfSense automatisieren mit pfSsh.php https://zefanjas.de/pfsense-pfssh/ https://zefanjas.de/pfsense-pfssh/#comments Wed, 28 Nov 2018 13:29:24 +0000 https://zefanjas.de/?p=2803 pfSense hat seit einigen Versionen eine völlig überarbeitete Oberfläche. Damit lassen sich alle Einstellungen i.d.R. gut erreichen und einstellen. Das frei konfigurierbare Dashboard ist ebenfalls eine feine Sache. Trotz allem gibt es manchmal den Fall, dass man Einstellungen gern über eine API oder die Kommandozeile vornehmen möchte. pfSense hat aktuell keine API, diese soll erst in einer der kommenden Versionen integriert werden. Bis dahin kann man sich über die pfSense Entwickler-Shell behelfen, auch pfSsh.php genannt. Auf pfSsh.php zugreifen Am schnellsten...

Weiterlesen Weiterlesen

Der Beitrag pfSense automatisieren mit pfSsh.php erschien zuerst auf .:zefanjas:..

]]>
pfSense hat seit einigen Versionen eine völlig überarbeitete Oberfläche. Damit lassen sich alle Einstellungen i.d.R. gut erreichen und einstellen. Das frei konfigurierbare Dashboard ist ebenfalls eine feine Sache. Trotz allem gibt es manchmal den Fall, dass man Einstellungen gern über eine API oder die Kommandozeile vornehmen möchte. pfSense hat aktuell keine API, diese soll erst in einer der kommenden Versionen integriert werden. Bis dahin kann man sich über die pfSense Entwickler-Shell behelfen, auch pfSsh.php genannt.

Auf pfSsh.php zugreifen

Am schnellsten kommt man in die Entwickler-Shell, wenn man sich per SSH mit pfSense verbindet oder direkt einen Bildschirm an die Firewall anschließt. Wenn SSH noch nicht aktiviert ist, kann man das in der Weboberfläche unter System → Advanced nachholen.

pfSense SSH aktivieren

Besser ist es, wenn man das Einloggen mit Passwort verbietet und nur das Anmelden mit Zertifikat erlaubt.

Ist der SSH-Zugang aktivert, kann man sich nun mit dem Admin-Benutzer anmelden (IP anpassen):

$ ssh admin@192.168.1.254

pfSense CLI

Unter Punkt 12 findet man die Entwickler-Shell, die im Grunde eine PHP-Shell ist.

Beispielbefehle für pfSsh.php

Hier einige Beispielbefehle, die zeigen sollen, wie man die Shell verwenden kann. Jede Eingabe ist normaler PHP Code und muss mit exec; abgeschlossen werden.

DHCP Einstellungen anzeigen

pfSense shell: print_r($config["dhcpd"]);
pfSense shell: exec;
Array
(
    [lan] => Array
        (
            [range] => Array
                (
                    [from] => 10.0.1.7
                    [to] => 10.0.255.245
                )

        )

)

Domain festlegen

pfSense shell: $config['system']['domain'] = 'mydomain.com';
pfSense shell: write_config();
pfSense shell: exec;

Shell – Befehle ausführen

Innerhalb der PHP Shell kann man auch normale Shell-Befehle ausführen, indem man ein „!“ davor setzt:

pfSense shell: ! cat /etc/version 
pfSense shell: exec;
2.4.3-RELEASE

Befehle „aufnehmen“ und „abspielen“

Mit pfSsh.php kann man auch mehrere Befehle „aufnehmen“ und später „abspielen“. Diese sogenannten Sessions sind für wiederkehrende Aufgaben nützlich. Ein Beispiel:

pfSense shell: record echoTest
Recording of echoTest started.
pfSense shell: echo "Das\n";
pfSense shell: echo "ist\n";
pfSense shell: echo "ein\n";
pfSense shell: ! echo "Test\n"
pfSense shell: exec;
pfSense shell: stoprecording 
Recording stopped.

Die Eingaben werden unter /etc/phpshellsessions/ gespeichert und können dort bei Bedarf verändert werden.

Die „Aufnahme“ kann man nun wie folgt wiedergeben:

pfSense shell: playback echoTest

Playback of file echoTest started.

Das
ist
ein
Test

pfSense shell:

oder auch direkt von der root-Shell mit:

$ pfSsh.php playback echoTest

Fazit

pfSsh.php ist ein nützliches Werkzeug, um pfSense mit Skripten zu automatisieren oder Anpassungen vorzunehmen. Gerade, wenn man mehrere Instanzen verwaltet oder ein bestimmtes Setup immer wieder braucht, ist pfSsh.php eine große Hilfe. Man kann z.B. alle Einstellung (sprich PHP-Code) in eine Datei packen, unter /etc/phpshellsessions/ speichern und dann ausführen oder direkt die Ausgabe an pfSsh.php weiterleiten:

$ ssh admin@192.168.1.254 '/usr/local/sbin/pfSsh.php' < MeineConfig.txt

 

2 Kommentare

Der Beitrag pfSense automatisieren mit pfSsh.php erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/pfsense-pfssh/feed/ 2
Xubuntu – bester Kompromiss für Linux in der Schule? https://zefanjas.de/xubuntu-bester-kompromiss-fuer-linux-in-der-schule/ https://zefanjas.de/xubuntu-bester-kompromiss-fuer-linux-in-der-schule/#comments Sat, 17 Nov 2018 03:53:35 +0000 https://zefanjas.de/?p=2796 Auf der Suche nach einem neuen Desktop für unsere Schule möchte ich mir verschiedene Desktopumgebungen anschauen. Die Auswahl ist groß und ich habe einige sehr hilfreiche Kommentare und Vorschläge zu meinem letzten Artikel erhalten. Vielen Dank dafür.  Den Start macht heute Xubuntu. Xubuntu ist ein Derivat von Ubuntu, welches Xfce anstatt GNOME als Desktop nutzt. Auf der Website des Projekt beschreibt sich Xubuntu so: Xubuntu ist ein elegantes und einfach zu bedienendes Betriebssystem. Es wird mit Xfce ausgeliefert, einer stabilen,...

Weiterlesen Weiterlesen

Der Beitrag Xubuntu – bester Kompromiss für Linux in der Schule? erschien zuerst auf .:zefanjas:..

]]>
Auf der Suche nach einem neuen Desktop für unsere Schule möchte ich mir verschiedene Desktopumgebungen anschauen. Die Auswahl ist groß und ich habe einige sehr hilfreiche Kommentare und Vorschläge zu meinem letzten Artikel erhalten. Vielen Dank dafür.  Den Start macht heute Xubuntu. Xubuntu ist ein Derivat von Ubuntu, welches Xfce anstatt GNOME als Desktop nutzt. Auf der Website des Projekt beschreibt sich Xubuntu so:

Xubuntu ist ein elegantes und einfach zu bedienendes Betriebssystem. Es wird mit Xfce ausgeliefert, einer stabilen, leichten und konfigurierbaren Desktop-Umgebung.

Xubuntu ist perfekt für diejenigen, die das Beste aus ihren Desktops, Laptops und Netbooks mit einem modernen Look und genügend Funktionen für den effizienten, täglichen Gebrauch herausholen wollen. Es funktioniert auch auf älterer Hardware gut.

Bietet Xubuntu, was es verspricht? Ist es der beste Kompromiss aus modernem, aber ressourcenarmem Desktop? Das möchte ich mir anhand unserer Kriterien genauer anschauen.

Stabilität

Die Installation verlief ohne Probleme. Das ist heutzutage in den meisten Fällen kein Problem mehr 🙂 . Bei meinen Tests konnte ich bisher keine Stabilitätsprobleme erkennen.

Support

Im Gegensatz zu Ubuntu LTS bietet Xubuntu LTS 3 statt 5 Jahre Support. 5 Jahre sind sicher besser, aber in der Regel werden wir unser Image spätestens nach 3 Jahren updaten. Auf dem Server sind die längeren Support-Zeiträume wichtiger als auf dem Desktop.

Geringe Hardwareanforderungen

Die Hardwareanforderungen sind bei Xubuntu recht gering. Empfohlen werden 1GB Arbeitsspeicher und 20GB freier Speicher auf der Festplatte. Nach dem Start verbraucht Xubuntu ca. 500MB an Arbeitsspeicher. Sobald man aber Firefox mit ein paar Tabs startet steigt der Verbrauch schnell auf über 1GB an. Deshalb sollte man mindestens 2GB installiert haben. Ansonsten ist Xubuntu aber wesentlich genügsamer als Ubuntu mit GNOME oder Unity.

Einfache Bedienbarkeit

Dieser Punkt ist eher subjektiv, denn jeder hat sich im Laufe der Jahre an eine Desktop-Umgebung gewöhnt. Egal ob Windows, macOS, Unity, Gnome, Xfce, KDE – die Liste könnte ich noch lang weiterführen. Ich z.B. habe mich sehr an Unity gewöhnt und komme damit gut zurecht. Eine Umstellung auf GNOME oder eine andere Desktopumgebung fällt mir deshalb schwer. In einer Schule gibt es noch eine viel größere Bandbreite. Ich glaube man kann hier nicht so viel falsch machen, wenn man Linux in der Schule einsetzt. Für die meisten wird die Desktopumgebung neu sein. Es ist viel wichtiger Einführungen, Training und Workshops anzubieten, um die Kollegen an eine neue Umgebung zu gewöhnen. Generell kann man entscheiden, ob man sich eher an Windows 10 oder macOS orientiert.

Xfce hat ein Startmenü und kann mit einem Dock (z.B. Plank) erweitert werden. Dadurch sollten sich die meisten nach einiger Zeit gut zurechtfinden.

Modernes & hübsches Aussehen

Standardmäßig wirkt das Aussehen von Xubuntu eher altbacken, weder hübsch noch sonderlich modern. Über den Paketmanager kann man sich weitere Themes installieren, die dem Xfce-Desktop schöner machen. Das ist zum einen das Arc- oder Numix-Theme. Interessant fand ich auch noch das Qogir-Theme.

Xubuntu

Fazit

Xubuntu wird auf jeden Fall ein Kandidat für unseren Linux-Desktop in der Schule. Dafür sprechen v.a. die geringen Hardwareanforderungen. Sobald linuxmuster.net v7 als Beta veröffentlicht wird, werden wir Xubuntu noch den Praxistest unterziehen. Die meisten Schwierigkeiten und Stolpersteine zeigen sich bekanntlich erst, wenn man es auch tatsächlich einsetzt. Das Aussehen ist ein kleiner Dämpfer, auch wenn man es hübscher machen kann. An das neue Ubuntu-Theme in Ubuntu 18.10 kommt es m.M.n. aber nicht heran.

13 Kommentare

Der Beitrag Xubuntu – bester Kompromiss für Linux in der Schule? erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/xubuntu-bester-kompromiss-fuer-linux-in-der-schule/feed/ 13
Stumm schalten, Maus und primärer Bildschirm – Tipps für die Kommandozeile https://zefanjas.de/tipps-fuer-die-kommandozeile/ https://zefanjas.de/tipps-fuer-die-kommandozeile/#comments Mon, 12 Nov 2018 23:21:01 +0000 https://zefanjas.de/?p=2788 Letzte Woche kam ein Kollege auf mich zu, der ein paar individuelle Anpassungen für seinen Rechner im Klassenraum haben wollte. Es waren alles Dinge, die man recht schnell in den Systemeinstellungen einstellen konnte, doch wenn man das nach jedem Start machen muss, stört es schon. Es musste also eine Lösung her, wie man diese Dinge über die Kommandozeile lösen kann, damit wir die gewünschten Änderungen in ein Skript packen können, welches dann bei Anmelden ausgeführt wird. Deshalb hier ein paar...

Weiterlesen Weiterlesen

Der Beitrag Stumm schalten, Maus und primärer Bildschirm – Tipps für die Kommandozeile erschien zuerst auf .:zefanjas:..

]]>
Letzte Woche kam ein Kollege auf mich zu, der ein paar individuelle Anpassungen für seinen Rechner im Klassenraum haben wollte. Es waren alles Dinge, die man recht schnell in den Systemeinstellungen einstellen konnte, doch wenn man das nach jedem Start machen muss, stört es schon. Es musste also eine Lösung her, wie man diese Dinge über die Kommandozeile lösen kann, damit wir die gewünschten Änderungen in ein Skript packen können, welches dann bei Anmelden ausgeführt wird. Deshalb hier ein paar kleine Tipps für die Kommandozeile.

Ton anschalten / stumm schalten

In unserem Ubuntu-Image ist der Ton standardmäßig stumm geschaltet. Das macht in den meisten Fällen Sinn – v.a. im Computerraum. In manchen Räumen, z.B. im Musikraum oder auch allgemein an den Lehrkraftrechnern, wäre es benutzerfreundlicher, wenn der Ton automatisch eingeschaltet wird. Das geht mit folgendem Befehl:

# Ton einschalten
$ pactl set-sink-mute 0 0

Möchte man den Ton wieder stumm schalten, muss die letzte Null durch eine „1“ ersetzt werden:

# Ton stumm schalten
$ pactl set-sink-mute 0 1

Primären Bildschirm festlegen

In den meisten Räumen wird standardmäßig der Bildschirm gespiegelt, sobald ein Beamer oder Bildschirm über den HDMI-Switch angeschlossen wird. Im konkreten Fall nutzt der Kollege den Rechner in „seinem“ Raum mehr oder weniger allein und er wollte gern ein Setup mit einem erweiterten Bildschirm. Ubuntu platziert allerdings den Launcher / Starter standardmäßig auf dem Bildschirm mit der größeren Auflösung. Hier brauchten wir eine Lösung, wie man den primären Bildschirm per Kommandozeile umstellen kann, sodass der Hauptbildschirm der Monitor am Lehrertisch ist. Das lässt sich leicht mit xrandr lösen.

$ xrandr --output DVI-0 --primary

DVI-0 ist der Ausgang, an dem der Monitor auf dem Lehrertisch hängt. Über xrandr -q kann man sich alle verfügbaren Anschlüsse anzeigen lassen.

Mauszeiger Geschwindigkeit einstellen

Eigentlich geht es weniger um die Geschwindigkeit, als um die Beschleunigung des Mauszeigers. Wie kann man die Geschwindigkeit des Mauszeigers per Kommandozeile einstellen? Es gibt verschiedene Wege z.B. mit xset oder xinput. Wir haben uns über den Weg mit xinput entschieden. Allgemein kann man die Eigenschaften eines Eingabegerätes wie folgt einstellen:

$ xinput --set-prop Geräte-ID Eigenschafts-ID Wert

Die Geräte-ID bekommen wir indem wir xinput ohne Parameter oder mit --list ausführen. Hier im Beispiel ist eine kabellose Maus angeschlossen.

Mauszeiger Geschwindigkeit

Als nächstes brauchen wir noch die richtige Eigenschaft-ID. Diese bekommen wir über folgenden Befehl heraus („9“ ist unsere Geräte-ID):

$ xinput --list-props 9

Maus Beschleunigung

Um die Beschleunigung der Maus einzustellen, müssen wir den Wert bei Accel Speed (Eigenschaft-ID ist 290) verändern. Es sind Werte zwischen -1 und +1 zugelassen. Um z.B. die Mausbeschleunigung zu verlangsamen, können wir das mit diesem Befehl tun:

$ xinput --set-prop 9 290 -1

Fazit

Alle diese kleinen Änderungen haben wir in ein Skript gepackt und dann per Postsync an den entsprechenden Rechner verteilt. Diese Flexibilität, die Ubuntu oder in unserem Fall linuxmuster.net bietet, ist eines der Hauptargumente, warum wir es einsetzen.

Welche netten und nützlichen Tipps für die Kommandozeile kennst du?

4 Kommentare

Der Beitrag Stumm schalten, Maus und primärer Bildschirm – Tipps für die Kommandozeile erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/tipps-fuer-die-kommandozeile/feed/ 4
Wie man Bildschirme automatisch spiegelt, wenn ein HDMI-Kabel eingesteckt wird https://zefanjas.de/bildschirme-automatisch-spiegeln-hdmi/ https://zefanjas.de/bildschirme-automatisch-spiegeln-hdmi/#comments Tue, 30 Oct 2018 12:55:47 +0000 https://zefanjas.de/?p=2775 In unserer Schule haben wir einige Rechner, an denen ein Beamer fest angeschlossen ist. Der Beamer wiederum hängt an einem HDMI-Switch, damit man bequem zwischen verschiedenen Eingängen umschalten kann, z.B. eigener Laptop oder Dokumentenkamera. Ubuntu erweitert standardmäßig den Desktop, wenn man einen Bildschirm anschließt. In unserer Situation wollen wir aber etwas anderes. Der Desktop des Rechners sollte ebenfalls am Beamer gezeigt werden. Es gibt verschiedene Wege, wie man Bildschirme automatisch spiegelt, wenn ein HDMI-Kabel eingesteckt wird. Ich möchte beschreiben, wie...

Weiterlesen Weiterlesen

Der Beitrag Wie man Bildschirme automatisch spiegelt, wenn ein HDMI-Kabel eingesteckt wird erschien zuerst auf .:zefanjas:..

]]>
In unserer Schule haben wir einige Rechner, an denen ein Beamer fest angeschlossen ist. Der Beamer wiederum hängt an einem HDMI-Switch, damit man bequem zwischen verschiedenen Eingängen umschalten kann, z.B. eigener Laptop oder Dokumentenkamera. Ubuntu erweitert standardmäßig den Desktop, wenn man einen Bildschirm anschließt. In unserer Situation wollen wir aber etwas anderes. Der Desktop des Rechners sollte ebenfalls am Beamer gezeigt werden. Es gibt verschiedene Wege, wie man Bildschirme automatisch spiegelt, wenn ein HDMI-Kabel eingesteckt wird. Ich möchte beschreiben, wie man udev verwenden kann, um dieses Problem zu lösen.

Bildschirme automatisch spiegeln

Potenzielle Möglichkeiten

Es gibt verschiedene Stellen, an denen man ansetzen kann, um Bildschirme zu spiegeln. Einige möchte ich kurz auflisten:

  • keine Automatisierung. Der Benutzer (in unserem Fall die Lehrkaft) muss sich nach jeder Anmeldung selbst den Bildschirm so einstellen, wie er/sie es haben will.
  • Symbol auf dem Desktop. Eine weitere Möglichkeit wäre, dass man ein Skript erstellt, welches den Bildschirm spiegelt und eine Verknüpfung auf den Desktop legt. Mit einem Klick könnte man dann die Bildschirme spiegeln.
  • Autostart eines Skripts nach dem Anmelden. Das war bisher unsere Lösung. Ein kleines Skript spiegelt die Bildschirme nach der Anmeldung des Benutzers.
  • LightDM / GDM so konfigurieren, dass es schon beim Anmeldeschirm die Bildschirme spiegelt
  • In Gnome3 / Unity kann man auch die monitor.xml verwenden, um Bildschirmkonfigurationen zu speichern.
  • Ein Skript, was überprüft, ob ein Bildschirm angeschlossen ist oder nicht und entsprechend die Bildschirme spiegelt, auch im laufenden Betrieb.

Die meisten Möglichkeiten hier lösen das Problem, dass die Bildschirme nach dem Anmelden / beim Anmelden gespiegelt sind. Bei uns trat aber zusätzlich das Problem auf, dass die Bildschirmeinstellungen zurückgesetzt wurden, sobald man ein eigenes Gerät eingesteckt oder eine andere Quelle am HDMI-Switch ausgewählt hatte. Wenn man dann zurückgeschaltet hat, war der Desktop wieder erweitert, statt gespiegelt.

Daraus folgt die Frage: Gibt es eine Möglichkeit, eine Aktion auszulösen, sobald ein HDMI-Kabel eingesteckt oder abgezogen (physisch oder über den HDMI-Switch) wird?

udev

Ja! udev ist ein Hintergrunddienst, der sich genau darum kümmert. Er kümmert sich um alle Einträge unterhalb von /dev/, d.h. Festplatten, externe Medien, USB-Geräte und auch Grafikkarten. Wenn ein Kabel angesteckt oder abgezogen wird, löst udev ein Ereignis („Event“) aus, auf das man mit Hilfe einer udev-Regel reagieren kann. Bevor wir jedoch so eine Regel erstellen, wollen wir uns anschauen, was passiert, wenn ein Kabel eingesteckt oder abgezogen wird. Dazu können wir das udev-Management-Tool (udevadm) verwenden.

$ udevadm monitor --environment --udev

Wenn wir jetzt das HDMI-Kabel einstecken oder abziehen, bekommen wir folgende Ausgabe:

UDEV  [2247.166677] change   /devices/pci0000:00/0000:00:02.0/drm/card0 (drm)
ACTION=change
DEVNAME=/dev/dri/card0
DEVPATH=/devices/pci0000:00/0000:00:02.0/drm/card0
DEVTYPE=drm_minor
HOTPLUG=1
ID_FOR_SEAT=drm-pci-0000_00_02_0
ID_PATH=pci-0000:00:02.0
ID_PATH_TAG=pci-0000_00_02_0
MAJOR=226
MINOR=0
SEQNUM=2120
SUBSYSTEM=drm
TAGS=:seat:master-of-seat:uaccess:
USEC_INITIALIZED=15405142

udev sagt uns hier, um welches Gerät es sich handelt („card0“), welche Aktion ausgelöst wurde („CHANGE“) und welches Subsystem betroffen ist („DRM“). Diese Angaben brauchen wir gleich für unsere udev-Regel. Diese erstellen wir unter /etc/udev/rules.d/95-hotplug-hdmi.rules:

$ nano /etc/udev/rules.d/95-hotplug-hdmi.rules

Dort fügen wir folgende Zeile ein:

ACTION=="change", SUBSYSTEM=="drm", RUN+="/bin/bash /usr/sbin/setHDMIStatus"

Wir reagieren also auf ein „change“ Ereignis im Subsystem „drm“ und wollen, falls dieses Event eintritt das Skript „/usr/sbin/setHDMIStatus“ ausführen. Das Skript schreibt den aktuellen Status in eine Datei. Es kann auch irgendetwas anderes in die Datei geschrieben werden, Hauptsache, die Datei verändert sich, wenn der Status sich ändert. Warum werden wir gleich noch sehen. Das Skript setHDMIStatus hat folgenden Inhalt (Benutzernamen anpassen, im Falle von linuxmuster.net kann man den Account des Vorlagenbenutzers bzw. lokalen Admins nehmen):

#!/bin/bash

STATUS="$(/bin/cat /sys/class/drm/card0-DVI-D-1/status)"
/bin/echo $STATUS > /home/user/.hdmi_status

/sys/class/drm/card0-DVI-D-1/status ist der Pfad zum Status unseres HDMI-Anschlusses. In diesem Fall ist es ein DVI-Anschluss.

Hinweis: Das Skript ist ein Workaround, da zum Zeitpunkt des udev-Ereignisses xrandr den Status disconnected liefert, obwohl das Kabel angeschlossen war.

inotify

Bis jetzt haben wir lediglich erreicht, dass der Status (connected, disconnected) in eine Datei geschrieben wird. Wir wollen jetzt diese Datei auf Änderungen überwachen und je nach Status die Bildschirme spiegeln. Dazu erstellen wir folgendes Skript (z.B. mit dem Namen /usr/sbin/mirrorDisplays):

#!/bin/bash

HDMI_STATUS=/home/user/.hdmi_status
PROJECTOR=/sys/class/drm/card0-DVI-D-1/status
touch $HDMI_STATUS
dmode="$(cat $PROJECTOR)"

function mirror {
    xrandr --output DVI1 --mode "1280x1024" --same-as VGA1 --output VGA1 --mode "1280x1024"
}

#Initial Login (Spiegeln beim Anmelden)
if [ "${dmode}" = connected ];then
    mirror
fi

# watch HDMI connected status and setup screens
while inotifywait -q -e modify,create,delete,open,close,close_write,access $HDMI_STATUS &> /dev/null;
dmode="$(cat $PROJECTOR)"
do
    if [ "${dmode}" = connected ];then
     sleep .5s
     mirror
    fi
done

Damit das Skript auch funktioniert, müssen die inotify-tools installiert sein und das Skript ausführbar gemacht werden.

$ sudo apt install inotify-tools
$ sudo chmod +x /usr/sbin/mirrorDisplays

Das Skript überwacht unserer angelegte Datei (/home/user/.hdmi_status) und löst, wenn ein HDMI-Kabel angeschlossen ist, den xrandr-Befehl zum Spiegeln der Bildschirme aus.

Autostart

Nun muss das Skript nur noch als Startprogramm festgelegt werden, damit es bei der Anmeldung mit gestartet wird.

Autostart einrichten

 

Fazit

Wir nutzen dieses Setup nun für alle unsere Rechner, an denen ein Beamer hängt. Da wir dank linuxmuster.net nur ein einziges Ubuntu-Image für alle unsere Rechner verwenden, verteilen wir die oben aufgeführten Skripte per postsync an die entsprechenden Rechner.

Bisher funktioniert alles recht zuverlässig, auch wenn wir weiterhin auf der Suche nach einer Lösung sind, die noch etwas universeller ist und keinen Umweg mit einer extra Datei braucht. Wer einen Vorschlag hat, nur her damit 🙂

 

 

4 Kommentare

Der Beitrag Wie man Bildschirme automatisch spiegelt, wenn ein HDMI-Kabel eingesteckt wird erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/bildschirme-automatisch-spiegeln-hdmi/feed/ 4
OpenBoard – App des Monats https://zefanjas.de/openboard-app-des-monats/ https://zefanjas.de/openboard-app-des-monats/#comments Tue, 23 Oct 2018 07:16:00 +0000 https://zefanjas.de/?p=2769 In unserer Schule haben wir einige wenige interaktive Whiteboards, die wir natürlich auch gern unter Ubuntu verwenden wollen. Als Software verwenden wir OpenBoard. Vor einiger Zeit hatte ich bereits einen Artikel zur Einrichtung und Integration von OpenBoard in unsere Schulserverlösung linuxmuster.net geschrieben. Die Software hat seitdem einige Updates erfahren. Für mich ist OpenBoard eine weitere unerlässliche Software für den Einsatz in der Schule. OpenBoard kann auch gut verwendet werden, wenn man keine interaktiven Whiteboards hat. Installation von OpenBoard OpenBoard kann...

Weiterlesen Weiterlesen

Der Beitrag OpenBoard – App des Monats erschien zuerst auf .:zefanjas:..

]]>
In unserer Schule haben wir einige wenige interaktive Whiteboards, die wir natürlich auch gern unter Ubuntu verwenden wollen. Als Software verwenden wir OpenBoard. Vor einiger Zeit hatte ich bereits einen Artikel zur Einrichtung und Integration von OpenBoard in unsere Schulserverlösung linuxmuster.net geschrieben. Die Software hat seitdem einige Updates erfahren. Für mich ist OpenBoard eine weitere unerlässliche Software für den Einsatz in der Schule. OpenBoard kann auch gut verwendet werden, wenn man keine interaktiven Whiteboards hat.

Installation von OpenBoard

OpenBoard kann man direkt von der Website herunterladen und installieren. Leider gibt es derzeit nur eine Version für Ubuntu 16.04 und noch nicht für 18.04. Nach dem Download kann man OpenBoard wie folgt installieren:

$ wget https://github.com/OpenBoard-org/OpenBoard/releases/download/v1.4.1/openboard_ubuntu_16.04_1.4.1_amd64.deb
$ sudo dpkg -i openboard_ubuntu_16.04_1.4.1_amd64.deb

Features

Einfach zu benutzen

OpenBoard bietet eine übersichtliche Oberfläche, in der man sich schnell zurechtfindet. Am unteren Bildschirmrand findet man die verschiedenen Werkzeuge, wie z.B. Stift, Textmarker, Laserpointer etc. Am oberen Rand kann man die Farbe, die Linienstärke einstellen oder auch fortgeschrittene Einstellungen zu den Seiten und dem Seitenhintergrund vornehmen. Auf der rechten Seite kann man sich bei Bedarf die Bibliothek (Bilder, Sounds, Videos, …) einblenden lassen.

OpenBoard Oberfläche

Mini-Anwendungen

OpenBoard stellt einige Mini-Anwendungen bereit, die teilweise sehr praktisch sind. Es gibt Widgets für Uhren, Countdowns, OpenStreetMap, Google Maps, Taschenrechner, Lineale usw. Zusätzlich stehen auch noch kleine interaktive Anwendungen wie Würfel, Magic Box etc. bereit. Diese lassen sich jeweils einzeln konfigurieren und so gut in den eigenen Unterricht integrieren.

OpenBoard Widgets

Podcast / Screencast Modus

Seit Version 1.4 gibt es den Podcast bzw. Screencast Modus auch in der Linux-Version. Damit kann man seinen Unterricht bzw. Präsentation aufnehmen (mit und ohne Ton). Wenn man möchte, kann OpenBoard dieses Video dann direkt auf Youtube oder im eigenen Netz veröffentlichen. Dieses Feature ist sicher für einige interessant, denn es bietet ganz neue Möglichkeiten eine Unterrichtsstunde oder Ausschnitte anderen Personen zur Verfügung zu stellen.

Weitere Features

  • Unterschiedliche Hintergründe für Seiten einstellbar (z.B. Kästchen oder Linien)
  • Videos, Audio-Dateien können eingebunden werden
  • Integrierte Webbildersuche
  • Dokumenten-Management, um die einzelnen Seiten und Dokumente zu organisieren

Fazit

Wer einen Bildschirm, einen Beamer oder sogar ein interaktives Whiteboard in seinem Klassenzimmer hat, bekommt mit OpenBoard eine tolle Software an die Hand, die einfach zu verwenden ist. Sie bietet viele Erweiterungen und Gestaltungsmöglichkeiten an, sodass der Kreativität nur wenig Grenzen gesetzt sind.

Titelbild © openboard.ch

2 Kommentare

Der Beitrag OpenBoard – App des Monats erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/openboard-app-des-monats/feed/ 2
Neue Features in Joplin https://zefanjas.de/neue-features-in-joplin/ https://zefanjas.de/neue-features-in-joplin/#comments Sat, 20 Oct 2018 06:55:13 +0000 https://zefanjas.de/?p=2758 Seit einigen Monaten verwende ich nun Joplin und ich bin sehr zufrieden damit. Für alle, die eine Alternative zu Evernote oder einem anderen Notizprogramm suchen, sind wahrscheinlich in den meisten Fällen mit dieser Open Source Lösung gut bedient. Im letzten halben Jahr sind einige neue Features in Joplin dazugekommen und viele Bugs wurden gefixt. Einige dieser Neuheiten möchte ich heute kurz vorstellen. Die grundsätzliche Installation, sowie das Einrichten einer verschlüsselten Synchronisierung, habe ich bereits in meinem letzten Artikel beschrieben. Neue...

Weiterlesen Weiterlesen

Der Beitrag Neue Features in Joplin erschien zuerst auf .:zefanjas:..

]]>
Seit einigen Monaten verwende ich nun Joplin und ich bin sehr zufrieden damit. Für alle, die eine Alternative zu Evernote oder einem anderen Notizprogramm suchen, sind wahrscheinlich in den meisten Fällen mit dieser Open Source Lösung gut bedient. Im letzten halben Jahr sind einige neue Features in Joplin dazugekommen und viele Bugs wurden gefixt. Einige dieser Neuheiten möchte ich heute kurz vorstellen. Die grundsätzliche Installation, sowie das Einrichten einer verschlüsselten Synchronisierung, habe ich bereits in meinem letzten Artikel beschrieben.

Neue Features in Joplin

Subnotebooks

Auf dieses Feature hatte ich persönlich schon lange gewartet und bald wäre ich zu einer anderen Lösung gewechselt. Sobald man mehr als ein paar Notizen verwalten möchte, sind Subnotebooks unerlässlich. Ein Subnotebook kann sehr einfach erstellt werden. Man muss nur ein Notizbuch auf ein anderes ziehen – schon wird es Unter-Notizbuch eingerichtet.

joplin subnotebook

Dateianhänge

Dateien jeglicher Art lassen sich nun in Notizen einfügen. Dazu reicht es, wenn man die Datei in eine Notiz zieht. Bei Bildern wird i.d.R. eine Vorschau angezeigt, bei allen anderen Dateien ein Link eingefügt. Die Anhänge, auch Ressourcen genannt, werden mit synchronisiert und können dann auf einem anderen Gerät geöffnet werden.

Joplin Dateianhänge

Checkboxen

In Joplin kann man sich sehr leicht eine To-Do Liste erstellen. Möglich ist es dadurch, dass Joplin Markdown als Notizensyntax verwendet (HTML geht übrigens auch). So kann man mit „- [ ]“ eine Checkbox erstellen.

Joplin Todo

Es sind übrigens nicht nur Checkboxen möglich, sondern auch komplexere Dinge wie z.B. mathematische Formeln.

Tray-Icon

Seit einigen Version bringt Joplin ein Tray-Icon mit, d.h. man hat nun die Möglichkeit das Anwendungsfenster zu schließen ohne Joplin an sich zu schließen. Ich mag dieses Feature sehr, da ich in der Regel nur Anwendungen geöffnet habe, die ich aktuell auch verwende. Was ich nicht verwende wird geschlossen oder falls möglich in den Tray bzw. das obere Panel geschickt 🙂

Joplin Tray

Portable Version

Ich brauche das zwar nicht, aber mittlerweile gibt es auch eine portable Version von Joplin für Windows. Damit kann man die direkt von einem USB-Stick nutzen ohne sie zu installieren. Hier der Download-Link.

Fazit

Seit diesem Schuljahr verwende ich Joplin u.a. zur Unterrichtsvorbereitung. Ich war gespannt, wie gut die Synchronisation (v.a. der Anhänge) zu meinem mobilen Client funktioniert. Bisher gab es keine Probleme und es ist toll seine Notizen überall dabei zu haben. Joplin kann ich nur meine wärmste Empfehlung aussprechen!

Welches Features gefällt dir besonders an Joplin?

 

2 Kommentare

Der Beitrag Neue Features in Joplin erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/neue-features-in-joplin/feed/ 2
Welche Linux-Distributionen sind für Schulen geeignet? https://zefanjas.de/welche-linux-distributionen-sind-fuer-schulen-geeignet/ https://zefanjas.de/welche-linux-distributionen-sind-fuer-schulen-geeignet/#comments Wed, 17 Oct 2018 23:01:40 +0000 https://zefanjas.de/?p=2751 Zur Zeit verwenden wir Ubuntu 16.04 mit Unity in unserer Schule und sind größtenteils zufrieden damit. Im kommenden Jahr wollen wir (im Zusammenhang mit dem Upgrade auf linuxmuster.net v7) auch den Linux-Client aktualisieren. Da Unity standardmäßig nicht mehr Bestandteil von Ubuntu 18.04 ist, stellt sich uns die Frage, ob wir nicht noch mal grundsätzlich Gedanken machen. Ich möchte deshalb anhand verschiedener Punkte die Frage beantworten: „Welche Linux-Distributionen sind für Schulen geeignet“? Anforderungen an eine Linux-Distribution in der Schule Allgemein sehen...

Weiterlesen Weiterlesen

Der Beitrag Welche Linux-Distributionen sind für Schulen geeignet? erschien zuerst auf .:zefanjas:..

]]>
Zur Zeit verwenden wir Ubuntu 16.04 mit Unity in unserer Schule und sind größtenteils zufrieden damit. Im kommenden Jahr wollen wir (im Zusammenhang mit dem Upgrade auf linuxmuster.net v7) auch den Linux-Client aktualisieren. Da Unity standardmäßig nicht mehr Bestandteil von Ubuntu 18.04 ist, stellt sich uns die Frage, ob wir nicht noch mal grundsätzlich Gedanken machen. Ich möchte deshalb anhand verschiedener Punkte die Frage beantworten: „Welche Linux-Distributionen sind für Schulen geeignet“?

Anforderungen an eine Linux-Distribution in der Schule

Allgemein sehen die Zeiten für Linux auf dem Desktop nicht gerade rosig aus. Die Innovation findet derzeit v.a. im Serverbereich statt und speziell Ubuntu auf dem Desktop hat sich in den letzten Jahren kaum weiterentwickelt. Gnome3 ist auch nicht gerade ein unumstrittener Desktop, im KDE-Lager kenne ich mich zu wenig aus, aber viel Innovatives und Kontinuierliches gab es da aus der Ferne betrachtet auch nicht.

Aber zurück zu unseren Anforderungen. Aus meiner Sicht sind folgende Punkte wichtig, wenn man Linux in der Schule einsetzen möchte:

  • Stabilität
  • einfache Wartung & lange Supportzeiträume (Stichwort LTS)
  • geringe Hardwareanforderungen
  • einfache Bedienbarkeit
  • modernes & hübsches Aussehen 🙂

Stabilität

Stabilität ist in meinem Augen das A&O. Eine Linux-Distribution, die nicht stabil läuft und immer wieder Probleme macht, wird kaum Akzeptanz finden. Als Administrator wird man auch keine Freude damit haben. Deshalb sollte die Distribution möglichst eine große Nutzerbasis haben und weit verbreitet sein. Niemand braucht einen Linux-Desktop in der Schule, der nur von wenigen Entwicklern gepflegt wird.

Einfache Wartung & lange Supportzeiträume

Dieser Punkt hängt auch mit dem ersten zusammen. Wenn eine Distribution stabil läuft, entlastet mich das als Administrator. Lange Supportzeiträume bei LTS-Versionen sorgen dafür, dass ich nicht alle 6 Monate ein Upgrade durchführen muss. Aus diesem Grund fallen für mich eigentlich alle sogenannten „Rolling-Releases“ raus. Klar hat man dadurch nicht immer die aktuellste Software, aber das ist i.d.R. in einer Schule nicht ganz so wichtig. Am besten ist es, wenn eine große Gruppe an Entwicklern oder eine Firma hinter der Distribution steckt, um die Weiterentwicklung zu gewährleisten.

Geringe Hardwareanforderungen

Je nach Ausstattung der Schule, spielt das auch eine Rolle. Wir verwenden zum Teil noch Hardware, die schon mehr als 6-8 Jahre alt ist. Da ist es wichtig, dass unsere Linux-Distribution nicht zu hohe Hardwareanforderungen hat. Am besten sollte sie mit 2GB (max 4GB) Arbeitsspeicher klarkommen. Das Problem heutzutage ist, dass Browser wir Firefox oder Chromium sehr große Mengen an Arbeitsspeicher brauchen, wenn man mehr als 2 Tabs einer größeren Webanwendung (Youtube etc.) geöffnet hat. Es spielt also nicht nur die Wahl der Desktopumgebung eine Rolle, sondern auch die Wahl der eingesetzten Software.

Einfache Bedienbarkeit

De ausgewählte Linux-Distribution sollte einfach zu bedienen sein. Was heißt das genau? Es gibt viele verschiedene Desktopumgebungen, die sich alle mehr oder weniger stark voneinander unterscheiden in ihrem Konzept und Bedienbarkeit. Schüler haben in der Regel weniger ein Problem, wenn man ihnen eine ungewohnte Umgebung vorsetzt. Am meisten Schwierigkeiten haben die Kollegen, die nur Windows kennen und oft nicht bereit sind, sich auf etwas anderes einzulassen. Hier muss man gut abwägen. Nehme ich eine Umgebung, die sich eher an dem Windows-Bedienkonzept orientiert, um den Umstieg zu erleichtern oder setze ich auf eine komplett andere Umgebung (Unity, Gnome3, …)? Wie auch immer die Wahl ausfällt, sollte man den Kollegen genug Hilfen der Fortbildungen zur Verfügung stellen, damit der Umstieg gelingt. Wenn der Desktop sich dazu (sehr) einfach bedienen lässt, ist das natürlich super. Die Frage ist – gibt es diesen Linux-Desktop?

Modernes & hübsches Aussehen

Dieser Punkt steht natürlich nicht ohne Grund am Ende, aber ich finde es durchaus wichtig, dass ein Linuxdesktop heutzutage auch modern und hübsch aussehen sollte. Niemand braucht einen altbackenen Desktop – es sollte auch was für’s Auge dabei sein.

Welche Linux-Distributionen kommen in Frage?

Innerhalb der nächsten Wochen und Monaten möchte ich mir einige Distributionen anschauen und auf ihre Tauglichkeit anhand der oben genannten Punkte testen. Dabei kommen für mich die Folgenden in Frage:

Alle diese Distributionen haben einen Ubuntu-Unterbau. Der Grund dafür ist, dass die Anbindung an den linuxmuster.net Server möglichst problemlos sein soll.

Welche anderen Entscheidungskriterien und Distributionen würdest du noch mit in Betracht ziehen?

21 Kommentare

Der Beitrag Welche Linux-Distributionen sind für Schulen geeignet? erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/welche-linux-distributionen-sind-fuer-schulen-geeignet/feed/ 21
linuxmuster.net v7 – erster Blick auf das neue Webinterface https://zefanjas.de/linuxmuster-net-v7-erster-blick-auf-das-neue-webinterface/ https://zefanjas.de/linuxmuster-net-v7-erster-blick-auf-das-neue-webinterface/#comments Mon, 15 Oct 2018 23:20:55 +0000 https://zefanjas.de/?p=2425 Schon seit einiger Zeit arbeiten die Entwickler an der neuen Version 7 von linuxmuster.net. Diese Version wird einige Neuerungen mit sich bringen und vielleicht eines der wichtigsten Releases in der Geschichte des Projekts sein. Ubuntu wird auf die LTS (18.04) aktualisiert, der Domaincontroller Samba4 eingeführt und OPNSense wird in Version 7 die Aufgaben der Firewall übernehmen (bisher IPFire). Weiterhin gibt es auch eines neues Webinterface auf Basis von Ajenti. Zum Testen und nur mit einem Teil der Funktionen ist dieses...

Weiterlesen Weiterlesen

Der Beitrag linuxmuster.net v7 – erster Blick auf das neue Webinterface erschien zuerst auf .:zefanjas:..

]]>
Schon seit einiger Zeit arbeiten die Entwickler an der neuen Version 7 von linuxmuster.net. Diese Version wird einige Neuerungen mit sich bringen und vielleicht eines der wichtigsten Releases in der Geschichte des Projekts sein. Ubuntu wird auf die LTS (18.04) aktualisiert, der Domaincontroller Samba4 eingeführt und OPNSense wird in Version 7 die Aufgaben der Firewall übernehmen (bisher IPFire). Weiterhin gibt es auch eines neues Webinterface auf Basis von Ajenti. Zum Testen und nur mit einem Teil der Funktionen ist dieses Webinterface auch schon in der aktuellen Version 6.2 verfügbar. Heute möchte ich einen ersten Blick auf das neue Webinterface in linuxmuster.net v7 werfen.

Installation eines linuxmuster.net v7 Testsystems

Alle nötigen Schritte für die Installation sind im Github Wiki des Projekts dokumentiert. Dort finden sich sowohl für die Firewall, den Server und neuen Dockerhost Appliances, d.h. fertige Virtualbox-Images. Für unseren Einblick in das neue Webinterface benötigen wir die Abbilder für die Firewall und den Server. Nachdem Download können wir die beiden Images in Virtualbox importieren. Der Server hat das Netz 10.0.0.0/16 voreingestellt. Seine IP ist 10.0.0.1 während die Firewall die IP 10.0.0.254 hat. Wir brauchen also noch einen weiteren Rechner, um uns das Webinterface anschauen zu können. Dazu können wir einfach eine weitere VM mit dem Betriebssystem unserer Wahl erstellen. Alles was wir brauchen, ist ein Browser im Subnet 10.0.0.0/16. Ich verwende einfach eine weitere Ubuntu-VM.

Die neue Schulkonsole aka webUI7

Setup

Nachdem wir unser Testsystem fertig eingerichtet haben, können wir unter http://10.0.0.1:8000 das neue Webinterface von linuxmuster.net erreichen. Am Anfang können wir uns nur als root Benutzer anmelden (Standardpasswort ist Muster!), da noch keine weiteren User existieren. Nach dem Anmelden erscheint der Assistent zur Ersteinrichtung des Servers. Hier legen wir die wichtigsten Daten für unseren Schulserver fest (z.B. Domainname, Adminpasswort, Mail-Server-Setup, etc).

Willkommen Webinterface Grundeinstellungen Admin Passwort Externe Dienste

Wenn das Setup abgeschlossen ist, muss der Server einmal neugestartet werden. Danach ist das linuxmuster.net Webinterface nur noch per HTTPS erreichbar (https://10.0.0.1:8000).

Verwaltung

Das neue Webinterface teil sich grob in folgende Bereiche auf:

  • Allgemeine Einstellungen
  • Benutzerverwaltung
  • Listenverwaltung
  • Gerätemanagement
  • Klassenmanagement
  • Einstellungen zu Schulen

Je nachdem, welche Rechte ein Benutzer hat, stehen nur einige dieser Bereiche in der webUI zur Verfügung. Viele der Module waren bereits in einer Vorabversion für die aktuelle Version 6.2 verfügbar. Neu ist das Klassenmanagement-Modul, womit Lehrkräfte Funktionen, wie Internetzugang, Webfilter, Dateien austeilen und einsammeln, für ihren Unterricht verwalten können.

Hier noch ein paar weitere Screenshots:

Dashboard Linbo Schüler Menü

Fazit

Noch befindet sich die LMNv7 in einem frühen Entwicklungsstadium. Viel ist passiert in den letzten Wochen und zunehmend gewinnt die neue Version der freien Schulserverlösung an Stabilität. Das gilt v.a. auch für das neue Webinterface. Ich bin gespannt auf die neue Version, da dadurch mehr möglich sein wird, als es das in der derzeitigen Version ist (Samba4, bessere Firewall, …).

 

4 Kommentare

Der Beitrag linuxmuster.net v7 – erster Blick auf das neue Webinterface erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/linuxmuster-net-v7-erster-blick-auf-das-neue-webinterface/feed/ 4
Teil 6: Ausleihkonditionen – Wie man Koha installiert und für Schulen einrichtet https://zefanjas.de/teil-6-ausleihkonditionen-wie-man-koha-installiert-und-fuer-schulen-einrichtet/ https://zefanjas.de/teil-6-ausleihkonditionen-wie-man-koha-installiert-und-fuer-schulen-einrichtet/#respond Sat, 06 Oct 2018 07:05:51 +0000 https://zefanjas.de/?p=2722 Bisher haben wir Koha installiert, konfiguriert und erste Medien katalogisiert. Die Barcodes sind gedruckt und kleben in den Büchern. Eigentlich wartet alles darauf, dass wir endlich die Bücher an unsere Leser ausleihen können. Ein letzter Schritt fehlt noch und um den soll es heute gehen: die Ausleihkonditionen. Damit können wir festlegen, wer welche Medien, wie lange ausleihen darf. Aber auch Gebühren, Verlängerungen und noch vieles mehr können wir in Koha festlegen, bevor die ersten Bücher die Bibliothek verlassen. Dieser Artikel...

Weiterlesen Weiterlesen

Der Beitrag Teil 6: Ausleihkonditionen – Wie man Koha installiert und für Schulen einrichtet erschien zuerst auf .:zefanjas:..

]]>
Bisher haben wir Koha installiert, konfiguriert und erste Medien katalogisiert. Die Barcodes sind gedruckt und kleben in den Büchern. Eigentlich wartet alles darauf, dass wir endlich die Bücher an unsere Leser ausleihen können. Ein letzter Schritt fehlt noch und um den soll es heute gehen: die Ausleihkonditionen. Damit können wir festlegen, wer welche Medien, wie lange ausleihen darf. Aber auch Gebühren, Verlängerungen und noch vieles mehr können wir in Koha festlegen, bevor die ersten Bücher die Bibliothek verlassen.

Dieser Artikel ist ein Teil einer Serie:

  1. Installation und Einrichtung einer ersten Bibliothek
  2. Das bibliografische Framework
  3. Grundeinstellungen
  4. Buchaufnahme
  5. Drucken von Etiketten
  6. Ausleihkonditionen
  7. Verbinden mit einem Z.39.50 / SRU Server
  8. Benachrichtigungen und Erinnerungen
  9. Mahnungen und Gebühren

Ausleihkonditionen festlegen

Neue Regel erstellen

Wir finden die Einstellungen zu den Ausleihkonditionen unter Administration → Ausleihkonditionen. Hier können wir Regeln für alle Bibliotheken oder auch nur für eine ganz bestimmte festlegen. Aktuell haben wir nur eine Bibliothek angelegt. Deshalb ist es für egal, ob wir die Regeln direkt für die Schulbibliothek festlegen oder allgemein für alle Bibliotheken.

Standardmäßig ist bereits eine Regel angelegt, die für Alle gilt.

Regel für Alle

Zuerst sollten wir diese Regel für „Alle“ an unsere Anforderungen anpassen. Danach können wir bei Bedarf noch weitere Regeln für einzelne Benutzergruppen erstellen, z.B. für Schüler oder Eltern. Wir klicken also auf Bearbeiten und können dann alle Parameter anpassen:

Ausleihkonditionen bearbeiten

Erläuterungen

  • Benutzerkategorie → Für welche Benutzerkategorie soll die Regel gelten?
  • Medientyp → Für welchen Medientyp soll die Regel gelten?
  • Anzahl gleichzeitiger Ausleihen → so viele Bücher dürfen gleichzeitig ausgeliehen werden
  • Anzahl gleichzeitiger Vor-Ort-Ausleihen → hier geht es um Medien, die nur innerhalb der Bibliothek ausgeliehen werden können.
  • Leihfrist → Wie lange darf ein Medium ausgeliehen werden?
  • Einheit → Tage oder Stunden, i.d.R. Tage
  • Endgültiges Fälligkeitsdatum → macht z.B. für eine Lehrmittelbibliothek Sinn. Hier können wir dann das Datum des Schuljahresende als festes Fälligkeitsdatum eingeben. Sonst leer lassen.
  • Mahngebühr → Hier wird die Höhe der Mahngebühren für unsere Einheit festgelegt (d.h. in unserem Fall Mahngebühren pro Tag).
  • Intervall für Gebühren → In welchen Abständen sollen die Gebühren berechnet werden? „1“ bedeutet z.B. jeden Tag, „5“ alle fünf Tage.
  • Wann berechnen → Intervallende bedeutet, dass die Gebühren am Ende am des Intervalls berechnet werden. Habe ich z.B. „1“ bei Intervall eingegeben, werden die Gebühren nach dem 1. überfälligen Tag berechnet. Wenn ich jedoch Intervallanfang auswähle, werden Gebühren für jedes angefangene Intervall fällig.
  • Gnadenfrist für Gebühr → Für wie viele Tage / Stunden nach dem Fälligkeitsdatum soll keine Gebühr berechnet werden? „2“ bedeutet z.B. dass man das Buch bis 2 Tage nach Fälligkeit abgegeben kann, ohne dass man eine Gebühr bezahlen muss. Dies hängt aber auch davon ab, welche Einstellung man für den Systemparameter FinesIncludeGracePeriod gewählt hat.
  • Maximale Mahngebühr → Wie hoch sollen die maximalen Gebühren / Medium sein?
  • Maximale Mahngebühr = Buchersatzpreis → die maximale Gebühr soll den Buchersatzpreis nicht überschreiten
  • Sperrung (in Tagen) → Alternative „Gebühr“, wenn man Benutzer sperren will, falls sie überfällige Medien haben
  • Maximale Sperrung (in Tagen) → maximale Sperrung (geht nur bei Einheit „Tage“, nicht „Stunden“)
  • Berechnungsintervall für Sperren → siehe „Intervall für Gebühren“
  • Erlaubte Verlängerungen (Anzahl) → Wie oft darf ein Benutzer sein Buch verlängern?
  • Verlängerungszeitraum → Für wie viele Tage / Stunden wird bei einer Verlängerung verlängert?
  • Weitere Verlängerung nicht möglich vor → Hier können wir festlegen, ab wie vielen Tagen / Stunden vor dem Fälligkeitsdatum eine Verlängerung möglich ist. Bleibt das Feld leer, kann man jederzeit verlängern.
  • Automatische Verlängerung → Hier können wir entscheiden, ob Medien automatisch verlängert werden sollen.
  • Keine automatische Verlängerung nach → Nach wie vielen Tagen soll keine automatische Verlängerung mehr erfolgen?
  • Keine automatische Verlängerung nach (hartes Datum) → Wie oben, nur das wir hier ein fixes Datum eingeben können.
  • Erlaubte Vormerkungen (Anzahl) → Wie viele Vormerkungen sind erlaubt?
  • Erlaubte Vormerkungen pro Titel (Anzahl) → Wie viele Vormerkungen sollen pro Titel erlaubt sein?
  • Vormerkung verfügbarer Titel → Verschiedene Einstellungen, ob und wie verfügbare Titel vorgemerkt werden können
  • Exemplarvormerkungen → siehe oben, verschiedene Einstellungen zu Exemplarvormerkungen.
  • Artikelbestellungen → verschiedene Einstellungen, ob und wie Artikel bestellt werden können.
  • Rabatt auf Leihgebühr (%) → Falls Leihgebühren auf bestimmte Medien erhoben werden, kann man hier einen Rabatt festlegen.

Nachdem wir alles nach unseren Wünschen eingestellt haben, klicken wir auch Speichern.

Weitere Einstellungen

Weiter unten können wir optional noch weitere Einstellungen vornehmen, z.B. wie vielen Medien pro Benutzerkategorie ausgeliehen werden darf (falls es noch nicht oben bei den Ausleihkonditionen geschehen ist).

weitere Einstellungen

Schließtage

Für die Berechnung der Fälligkeitstage ist es wichtig, dass Koha weiß, wann unsere Bibliothek geschlossen hat, weil z.B. Ferien sind oder einfach nur Wochenende. Dazu öffnen wir unter Mehr → Werkzeuge → Kalender den Kalender und geben dort alle Tage ein, an denen die Schulbibliothek geschlossen hat.

Wenn wir z.B. Wochenenden als Schließtage definieren wollen, klicken wir auf einen Samstag und wählen dann Schließtag, der sich jede Woche an diesem Tag wiederholt. Das müssen wir dann auch noch für den Sonntag machen.

Schließtage definieren

Für Ferien können wir auch einen Schließzeitraum wählen und oben den Beginn und das Ende der Ferien eingeben.

Als letztes müssen wir noch festlegen, ob Koha Schließtage bei der Berechnung von Fälligkeitsterminen berücksichtigen soll oder nicht. Das geht über den Systemparameter useDaysMode. Wenn wir Schließtage ausschließen wollen (was in einer Schulbibliothek aufgrund der Ferien viel Sinn macht), wählen wir an dieser Stelle des Kalenders und verlege das Rückgabedatum ggf. auf den nächsten Öffnungstag.

Fazit

Wir haben jetzt alles eingestellt, um unsere Bücher und andere Medien an unsere Benutzer auszuleihen. Fälligkeiten werden korrekt unter Berücksichtigung der Schließtage berechnet. Alle weiteren Teile dieser Serie sind optional, aber erleichtern die Arbeit mit Koha teilweise enorm. Die Gebühren haben wir z.B. in den Ausleihkonditionen bereits festgelegt, aber sie werde noch nicht berechnet. Dazu sind noch weitere Schritte nötig, die ich in einem späteren Artikel beschreiben werde.

Kommentar hinzufügen

Der Beitrag Teil 6: Ausleihkonditionen – Wie man Koha installiert und für Schulen einrichtet erschien zuerst auf .:zefanjas:..

]]>
https://zefanjas.de/teil-6-ausleihkonditionen-wie-man-koha-installiert-und-fuer-schulen-einrichtet/feed/ 0