Benutzer-Werkzeuge

Webseiten-Werkzeuge


 [[anwenderwiki:linuxclient:defaultcloop_14.04]] 

Defaultcloop Ubuntu 14.04 Stand 23.06.2014

  • Basis: Ubuntu 14.04 Desktop 64-bit
  • Benutzername/Passwort: –> lokaler Administrator: linuxadmin / PW: linuxmuster
  • Benutzername/Passwort: –> lokaler User: linuxuser / PW: linuxmuster (Profil ist vom linuxadmin kopiert und Rechte angepasst)

1.) Installation

Hier eine kurze Anleitung, wie das cloop ins eigene Netzwerk integriert werden kann und welche Konfigurationen vorgenommen werden müssen/können um es an die eigene Umgebung anzupassen.

Voraussetzungen

Ein Client muss folgende Voraussetzungen erfüllen, damit das cloop integriert werden kann:

  • CPU muss 64-Bit tauglich sein
  • Freier Speicherplatz auf der Festplatte für zwei Partitionen: 1.) 10GB für Ubuntu und 2.) Ram-Größe*1,4 für Swap
  • Wenn der leoclient eingesetzt werden soll sind folgende Voraussetzungen nötig: Leoclient Voraussetzungen

Integration des Default-cloop

Die Anleitung funktioniert auch mit dem neueren Xenial-Client, wenn man „trusty“ durch „xenial“ ersetzt…

Es gibt zwei Möglichkeiten, das cloop zu integrieren:

  • Variante A: automatisch per Skript
  • Variante B: manuell

Variante A: automatisch per Skript

Als root folgende zwei Befehle in der Konsole ausführen:

# wget http://cloop.linuxmuster.net/install_trusty_client
# bash install_trusty_client

Dann werden (wenn nicht schon vorhanden) alle notwendigen Dateien heruntergeladen und installiert.
Es sind zwischen 2GB und 3GB herunterzuladen. Das kann eine Weile dauern. Deshalb ist es sinnvoll, das Ganze in einer screen-session zu erledigen, falls man remote arbeitet.

Was tut das Skript?
  1. Einrichten des Ubuntu-Clients für Linbo.
  2. Einrichten des universellen Postsyncs
Was ist danach zu tun?
  • Entweder in /etc/linuxmuster/workstations (oder über die Schulkonsole) Rechner in die richtige Gruppe stecken (so wie die start.conf heißt) oder die start.conf.trusty714 bearbeiten und umbenennen, dass sie zu der Gruppe passt, die schon vorhanden ist.
  • evtl die Partitionierung anpassen
  • evtl. die automatisch angelegte start.conf.trusty714 anpassen

Variante B: manuell

  • trusty714.cloop* nach /var/linbo auf Server kopieren + Rechte anpassen
    • trusty714.cloop
    • trusty714.cloop.info
    • trusty714.cloop.desc
    • trusty714.cloop.torrent
    • trusty714.cloop.macct
    • start.conf.trusty714
  • Start.conf anpassen (Beispiel für start.conf mit Win + Ubuntu und start.conf mit Ubuntu + Leo)
  • Boot mit Linbo + Partitionieren
  • Syncen + Starten
  • Testen, ob ldap-Anmeldung und Profilkopieren funktioniert

Wenn nicht:

Editieren Sie die Datei /etc/linuxmuster-client/auth/config und ändern Sie den Wert der Variablen AUTOCOINFIGURE_LDAP auf NO

Danach führen sie folgende Befehle auf dem Client aus:

# sudo pam-auth-update                                       --> YES --> alle anwählen --> Ok
# sudo apt-get install linuxmuster-client-auth --reinstall
# sudo dpkg-reconfigure linuxmuster-client-auth
  • dann neu starten + Image

Eine Detailierte Anleitung ist in diesem PDF: 01-ubuntu-14.04-ins-netz-integrieren-hib.pdf

Abschließende Konfigurationsarbeiten

Zur prinzipiellen Konfiguration des Linuxclients siehe: Technische Dokumentation zum Linux-Client und Ubuntu 12.04 als Client

Einen Teil dieser Konfigurationsarbeiten können graphisch mit dem Tool „Linuxmuster-Client-Config“ durchgeführt werden → lmlcc

1. Passwörter ändern

Ändern der Passwörter für die lokalen Benutzer s.o.:

  • Im Terminal:
# sudo passwd <Benutzername>

2. Aktualisierungen einspielen

  • Im Terminal:
# sudo apt-get update
# sudo apt-get dist-upgrade

3. Passwortlosen ssh-Zugang vom Server zum Client einrichten

vgl. auch Doku unten: SSH - Zugriff vom Server (Passwortlos per Zertifikat)

  • Tipp: Öffentliches Zertifikat für IPFire/IPCop verwenden und auf den Client kopieren:
  • Prinzipielles Vorgehen: Zertifikat vom Server unter: /root/.ssh/id_dsa.pub auf einem Musterclient an die Datei /root/.ssh/authorized_keys anhängen…oder per universellem Postsync - Skript

4. Ausblenden unnötiger Partitionen in Nautilus und Nemo

5. Passwort für VNC-Server ändern

6. Serverskript einrichten + Code für Tipp 10 einfügen

7. Linuxmuster-Client Pakete auf eigene Bedürfnisse anpassen

8. ggf. cups-browsed Konfiguration anpassen

  • Soll Drucken über den cups des Servers funktionieren, muss ggf. noch die IP des Server in der Konfiguration angepasst werden. Im defaultcloop hat der Server die IP 10.16.1.1.
  • vgl. dazu Doku unten: Cups - Browsed

9. Optionale Anpassungen: ITalc / Leoclient

10. Abschießende Arbeiten

  • Profil des linuxadmin aufräumen:
  • Manuell Konfigurationsordner/-dateien löschen unter /home/linuxadmin z.B.: .cache; .dconf; .rpmdb; .bash_history; .gstreamer0.10; .xsession_errors; .xsession_errors.old; .local/share/zeitgeist; …
Achtung! Folgende Konfigurationsordner/-dateien sollten/dürfen auf keinen Fall komplett gelöscht werden:

.bash_aliases, .bash_logout, .bashrc, .compiz, .config, .dmrc, .gconf, .gnome2, .gnome2_private, .local, .mozilla, .tipp10, .Xmodmap

  • Mit dem Programm bleachbit als user und mit rootrechten unnötige Dateien und Konfigurationen automatisch entfernen lassen
  • Nach einem Kernelupdate –> Neustart ohne Sync –> mit Programm Ubuntu-tweak - Hausmeister alten Kernel entfernen
  • Zu guter letzt ein Image mit Linbo erzeugen…Freuen :-)

2.) Dokumentation

Die folgende Dokumentation beschreibt die vorgenommenen Anpassungen, d.h. den Auslieferungszustand des Cloops.

a.) Repos

Um Software einzubinden, die nicht in den offiziellen Repositories verfügbar ist, wurden weitere Repos hinzugefügt.

b.) Software und Pakete

Im Default-cloop wurden viele schulrelevante Programme sowohl aus den Ubuntu-Quellen als auch aus zusätzlichen Quellen installiert. Programmpakete, die sehr umfangreich sind (z.B. Wine) oder die aus lizenzrechtlichen Gründen nicht ausgeliefert werden dürfen, wurden nicht aufgenommen.

c) Konfiguration des Systems / Installationsprotokolle

Systemeinstellungen Ubuntu

  • Globale Menus deaktiviert –> Menus in Fensterleiste
  • Privacy: Online Suchergebnisse in Dash ausgeschaltet, Zeitgeist deaktiviert
  • Webanwendungen deaktiviert (Amazon)
  • Bildschirmsperre deaktiviert
  • Benutzer wechseln deaktiviert
  • automatisch in Bereitschaftszustand wechseln deaktiviert –> komplette Deaktivierung von Hibernate und Suspend siehe hier
  • Arbeitsflächensymbole: zeige eingehängte Laufwerke
  • Eingaberückmeldeklänge aktiviert
  • Symbol zum Anzeigen des Desktops in Unity-Launcher
  • Texteingabe: USA Tastatur entfernt; Ibus-Indicator entfernt
  • Apport ausgeschaltet enabled=0 in /etc/default/apport
  • Automatische Anzeige von (Netz-)Laufwerken auf dem Desktop
  • Ubuntu-Repo - Quelle auf Universität Bonn umgestellt, da am zuverlässigsten und performanter als Standard Ubuntu - Quellen für Deutschland
  • Minimize-on-click im Unity Launcher eingestellt
  • Systemverknüpfung von Schreibtisch auf Desktop geändert
  • Systemschriften für bessere Lesbarkeit geändert auf Arial; Terminalschrift: Liberation Sans

Systemeinstellungen linuxmuster-client

/etc/linuxmuster-client/profile/usersettings.conf

  • Remoteprofil für Firefox angepasst
  • Remoteprofil für chromium angepasst
firefox:.mozilla/firefox/4fci8bte.default
chromium:.config/chromium

/etc/linuxmuster-client/profile/usersettings-opt.conf

  • Remoteprofil für Thunderbird und Libreoffice mit „schönem“ Linknamen falls vorhanden, ansonsten wird alles im Ordner Einstellungen verlinkt
libreoffice:.config/libreoffice
thunderbird:.thunderbird
ALL:ALL

/etc/linuxmuster-client/profile/links.conf

  • alle Folder - Links kommentiert

/etc/linuxmuster-client/profile/nautilus-bookmarks.conf

  • Eingefügt: Home_auf_Server/

/etc/linuxmuster-client/profile/profile.conf

  • Rsync - Options gesetzt, damit Links kopiert werden und Home immer sauber ist
--Schnipp--
RSYNC_OPTIONS="--links --force --delete"
--Schnapp--

/etc/linuxmuster-client/pre-mount.d/

  • Startskript für oident anlegen: 002-oident
# Identd initialisieren
killall oidentd
/usr/sbin/oidentd -u oident -g oident --reply=$USER 

/etc/linuxmuster-client/post-umount.d/

  • Stoppskript für oident: 000-oident-kill
#Ident beenden, da sonst Dienst mit letztem User weiter läuft
killall oidentd

/etc/linuxmuster-client/pre-umount.d/

  • Dismounten von „vergessenen“ Truecryptvolumens vor dem Dismount, damit nichts beschädigt wird…
  • Skript 010-umount-forgotten-truecrypt:
if [ -x /usr/bin/truecrypt ]; then
/usr/bin/truecrypt --dismount
fi

Systemeinstellungen linuxmuster-client-extras

  • Autostartstartscript für linuxmuster-client-extras-login „verstecken“: Einfügen von NoDisplay=true in /etc/xdg/linuxmuster-client-extras.desktop
  • Script xhost-root bei login aktiviert: linuxmuster-client-extras-setup –type login -on /usr/bin/xhost-root
  • Automatischer Shutdown aktiviert durch setzen der Zeiten in /etc/cron.d/linuxmuster-client-extras:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# 
# ----------------------------------------
# Show server information from $HOME of user 
# Please uncomment to activate!
# show information every minute
*/1 *    * * *    root    DISPLAY=:0 /usr/bin/show-server-information

# ----------------------------------------
# Shutdown this host, if user confirms GUI message
# Please uncomment to activate!
# shutdown at 18:00 and further every 30 min until 23:30
*/30 18-23    * * *    root    DISPLAY=:0 /usr/bin/check-shutdown
Hier kann die Zeit des automatischen shutdowns der Clients eingestellt werden
  • Skript show-server-information aktiviert: linuxmuster-client-extras-setup –type login –on /usr/bin/setup-show-server-information ; Minütlichen Cronjob aktiviert in /etc/cron.d/linuxmuster-client-extras (s.o.)
Über dieses Script, welches per cronjob aufgerufen wird, können Meldungen auf dem Desktop der angemeldeten Benutzer ausgegeben werden, die im Heimatverzeichnis des Benutzer abgelegt sind. Dabei werden die Dateien .majestix-motd und .majestix-quota im Heimatverzeichnis des Benutzers gesucht und deren Inhalt ausgegeben.
  • Skript create-desktop-icons aktiviert: linuxmuster-client-extras-setup –type login –on /usr/bin/create-dektop-icons
Das Script create-desktop-icons kopiert Dateien aus den Tauschverzeichnissen auf den Desktop des angemeldeten Benutzers. Dabei wird auf dem Server in folgenden Tauschverzeichnissen nach dem Verzeichnis .Desktop gesucht:

* tauschen/tausch-Schule
* tauschen/tausch-Lehrer

Sind dort im Verzeichnis .Desktop Icons abgelegt (spezielle Dateien), erhalten die Benutzer zusätzliche Icons auf den Desktop. Sind es andere Dateitypen werden diese auf den Desktop kopiert. Da das Verzeichnis tauschen/tausch-Lehrer nur den Lehrern zur Verfügung steht, erhalten nur diese die Dateien aus dem Lehrertauschverzeichnis. Die Dateien aus tauschen/tausch-Schule erhalten alle Domänenbenutzer, sofern das schulweite Tauschverzeichnis nicht deaktiviert ist.

*Skript set-default-printer vorbereitet: jeden zur Gruppe lpadmin zuordnen

--Schnipp--
*;*;*;Al0000-2400;dialout,cdrom,floppy,audio,dip,video,plugdev,vboxusers,lpadmin
--Schnapp--
  • das Skript ist noch nicht aktiviert!

Systemeinstellungen Leoclient

  • Sämtliche Leoclient-Pakete installiert s. Software Pakete
  • Abhängigkeiten installiert: libglib-perl libterm-readkey-perl
  • Beschreibung/Konfigurationsanleitung zum Leoclient siehe hier: leoclient
  • Mountpoint /virtual angelegt und /etc/fstab (s. unten) vorbereitet
  • sonst noch nichts eingerichtet!

Systemeinstellungen Sonstige / Skripte

/etc/fstab

  • Automatische Datenträgerprüfung ausschalten durch 0 0
  • Einbinden der Virtualbox-Partition für leoclient (im cloop auskommentiert)
/dev/sda1     /          ext4     errors=remount-ro     0       0
/dev/sda2     none       swap     sw                    0       0
#/dev/sda3    /virtual     ext4     defaults              0       0
Die Richtige Swappartition wird durch das mitgelieferte Postsync-Skript ausgelesen und in die fstab gepatcht. Es ist also nichts zu tun :-)

/etc/ldap.conf

  • Timeout für Suche der ldap-Verbindung verkürzen um Offline-Anmeldung (z.B. für Standalone Notebooks)zu beschleunigen:
--Schnipp--
# Search timelimit
timelimit 5

# Bind/connect timelimit
bind_timelimit 5

Autostartprogramme in /etc/xdg/autostart

  • Ausführunng eines Skripts (postlogin_trusty.sh), welches auf dem Server im Pfad /home/samba/progs/linuxmuster-client/custom/ liegt nach erfolgtem Login –> postlogin-server-sync.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Postlogin_Sync
Comment=Verwaltungsaufgaben vom Server aus dem Userspace
Exec=sh /home/samba/progs/linuxmuster-client/custom/postlogin_trusty.sh
Terminal=false
Type=Application
Categories=
OnlyShowIn=GNOME;XFCE;KDE;Unity;
NoDisplay=true
Auf dem Server wird im Pfad /home/samba/progs/linuxmuster-client/custom/ die Datei postlogin_trusty.sh angelegt und ausführbar gemacht. In der Datei abgelegte Shellskripte werden beim Login eines Users mit dessen Rechten auf dem Client ausgeführt. Auf diese Weise kann einiges vom Server aus auf dem Client geregelt werden…z.B. kann die Datenbankproblematik von Tipp10 „behandelt“ werden (s. unten)

SSH - Zugriff vom Server (Passwortlos per Zertifikat)

Man kann auch den selben Schlüssel wie für die passwortlose Anmeldung am IPFire verwenden. Dazu legt man den öffentlichen Schlüssel vom Server der sich in /root/.ssh/id_dsa.pub befindet auf dem Client an die Datei /root/.ssh/authorized_keys an.
  • Konfiguration des ssh - Servers, so dass nur root und nur vom Server auf den Client zugreifen kann und das Anmeldung mit Passwörtern verboten ist –> /etc/ssh/sshd_config
--Schnipp--
# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes
AllowUsers root@10.16.1.1

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile	%h/.ssh/authorized_keys
--Schnapp--

--Schnipp--
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
--Schnapp--
Hat der eigene Server eine andere IP als 10.16.1.1 muss dies bei AllowUsers in der o.g. Konfigurationsdatei eingetragen werden

/etc/sudoers

  • Root für Lehrer und Gruppe p_sudo
--Schnipp--

# linuxmuster: teachers and group p_sudo may gain root priviliges
%teachers ALL=(ALL) ALL
%p_sudo ALL=(ALL) ALL
Man legt ein Projekt p_sudo an, in dem alle Lehrer Projektadmins sind. Schüler/Klassen, die sudo-Rechte bekommen sollen werden einfach in das Projekt aufgenommen und können den Client in vollem Umfang zerschreddern :-).

Bei mir läuft auf dem Server noch ein Cronjob, der die Schüler jeden Abend wieder aus dem Projekt schmeist.

Check-Mk-Agent

  • Agent aktivieren durch bearbeiten von /etc/xinetd.d/check_mk:
---Schnipp--
disable = no
--Schnapp--

Hibernate und Suspend deaktivieren

Anlegen eines Hook-Scripts –> /etc/pm/sleep.d/01_disable_suspend

#!/bin/sh
. "${PM_FUNCTIONS}"
case "$1" in
        hibernate|suspend)
        exit 1
;;
esac
  • Script muss ausführbar sein!
  • Zusätzlich muss die Bildschirmsperre deaktiviert sein
Soll der Bereitschaftsmodus funktionieren, dann muss dieses Script auskommentiert/gelöscht werden!
Achtung bei Notebooks. Beim Zuklappen gehen diese nicht mehr in den Bereitschafts-/Schlafmodus und können überhitzen! Hier unbedingt das Skript deaktivieren, z.B. per linbo-postsync.

Automatischer Trim von SSD

--Schnipp--

exec fstrim-all --no-model-check

--Schnapp--

d.) Konfiguration von einzelnen Programmen

Firefox

  • Datei - Seite einrichten - Seitenformat A4
  • Allgemein: Jedes Mal nachfragen, wo gespeichert werden soll. Startseite www.startpage.com
  • Datenschutz: Verfolgung: Keine Verfolgung
  • Datenschutz: Chronik nie anlegen
  • Sicherheit: Passwörter nie speichern
  • Erweitert
  • Allgemein: Markieren von Text mit der Tatstatur zulassen
  • Allgemein: Suche bereits beim Eintippen starten
  • Allgemein: Automatischen Bildlauf aktivieren
  • Datenübermittlung: nichts aktivieren
  • Update: nicht aktualisieren
  • Add-Ons: Adblock Plus (Malware Blockierung: ON, Social-Media-Buttons-remove: ON, Verfolgung auschalten: ON
  • Cache in Ram verlegt: siehe hier

Chromium

  • Pepperflash installieren: sudo update-pepperflashplugin-nonfree –install
  • Cache in Ram verlegt siehe hier
  • Erweiterungen: adblock, pdf_js (PDF-Viewer)
  • Einstellungen:
  • Datenschutz: alles aktiviert
  • Downloads: …immer nach dem Speicherort fragen

Terminal

  • Profileinstellungen –> Farben: weiß auf schwarz
  • Tastenkombinationen: F10 Menutaste ausschalten
  • In /etc/bash.bashrc systemweit erweiterte bash_completition durch Entfernen des Kommentarzeichens „#“ aktiviert:
# enable bash completion in interactive shells
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Nautilus

  • Verhalten: Einen Löschbefehl bereitstellen, der den Papierkorb umgeht aktiviert
  • Verhalten: Ausführbare Textdateien –> Jedes Mal nachfragen
  • Anzeige –> Symbolbeschriftungen Größe eingestellt
  • Anzeige Listenspalten: Besitzer, Gruppe, Zugriffsrechte aktiviert
  • Vorschau: Nur für Dateien kleiner als 1GB
  • Alle Ordner (Bilder, Downloads, …) außer Desktop löschen
  • Ausblenden von unnötigen Devices, wie z.B. linbo-cachepartition, windowspartition, u.a. in Nautilus:
  • Herausfinden der störenden Partitionen in der start.conf auf dem Server. Hier schauen nach Windows-Systempartitionen (wenn vorhanden i.d.r. immer /dev/sda1), linbo-cache, unerwünschte Windows-Datenpartitionen, etc.. Wichtig: Alle Partitionen, die in der /ets/fstab stehen werden ohnehin nicht in nautilus angezeigt und dürfen auch nicht auf die unten beschriebene Kernel - Ignore Liste!

Hier Beispiel einer start.conf mit Windows und Ubuntu:

--Schnipp--

[LINBO]                  # globale Konfiguration
Cache = /dev/sda6        # lokale Cache Partition                                                   <--Linbo-Cache soll ausgeblendet werden!

--Schnapp--

--Schnipp--
[Partition]              # Start einer Partitionsdefinition, Windows 7 auf NTFS
Dev = /dev/sda1          # Device-Name der Partition (sda1 = erste Partition auf erster Platte)     <-- Windows-Systempartition soll ausgebelndet werden!
...

[Partition]              # Start einer Partitionsdefinition, Ubuntu
Dev = /dev/sda2          # Device-Name der Partition (sda2 = zweite Partition auf erster Platte)    <-- Ubuntu Systempartition steht in der /etc/fstab 
... 

[Partition]              # Definition der Swappartition
Dev = /dev/sda3          # Device-Name der Partition (sda3 = dritte Partition auf erster Platte)    <-- Swappartition für Ubuntu steht in der /etc/fstab
...

[Partition]              # Erweiterte Partition
Dev = /dev/sda4          # Device-Name der Partition (sda4 = vierte Partition auf erster Platte)    <--spielt keine Rolle...erweiterte Partition
...

[Partition]              # Start einer Partitionsdefinition, Datenpartition mit NTFS
Dev = /dev/sda5          # Device-Name der Partition (sda5 = fuenfte Partition auf erster Platte)   <-- Datenpartition soll in diesem Beispiel nicht in Ubuntu auftauchen!
...

[Partition]              # Definition der Cache-Partition
Dev = /dev/sda6          # Device-Name der Partition (sda6 = sechste Partition auf erster IDE-      <-- Cachepartition soll in diesem Beispiel nicht in Ubuntu auftauchen!
...

--Schnapp--
  • Editieren der im cloop schon angelegten udev-Regel in /etc/udev/rules.d/10-hide-devices.rules. Pro auzublendendem Device eine Zeile der Art:
KERNEL=="device von oben", ENV{UDISKS_IGNORE}="1"


…das bedeutet im Falle des Beipiels oben:

KERNEL=="sda1", ENV{UDISKS_IGNORE}="1"
KERNEL=="sda5", ENV{UDISKS_IGNORE}="1"
KERNEL=="sda6", ENV{UDISKS_IGNORE}="1"
  • Udev neu laden und prüfen, ob die Devices in Nautlus nicht mehr auftauchen
sudo udevadm control --reload
sudo udevadm trigger
  • zum Schluss ein Image schreiben

Nemo

  • Nemo ist ein Fork von Nautilus mit erheblich größerem Funktionsumfang und der Standartdateimanager von Linux-Mint…
  • Beschreibung und Anleitung zum setzen von Nemo als Standartdateimanagers siehe: http://wiki.ubuntuusers.de/Nemo

Google Earth

Die Installation von Google Earth erfordert einige zusätzliche Pakete, da 32-Bit-Pakete erwartet werden, 
das Muster-Trusty-14.04 aber ein 64-Bit-System ist.

Man geht so vor:
* Anmelden als linuxadmin
* Öffnen Sie http://dl.google.com/dl/earth/client/current/ und laden Sie google-earth-stable_current_i386.deb herunter.
* Aktualisieren Sie das System:
* apt-get update
* apt-get dist-upgrade
* apt-get update (das zweite mal war bei mir für den nächsten Schritt nötig)
* sudo apt-get install libfontconfig1:i386 libx11-6:i386 libxrender1:i386 libxext6:i386 libgl1-mesa-glx:i386 libglu1-mesa:i386 libglib2.0-0:i386 libsm6:i386
* sudo dpkg -i google-earth-stable_current_i386.deb
* sudo apt-get install -f

ToDo - Indicator

#!/bin/sh

case $USER in

	linuxadmin) echo "Für lokale User gibt es nichts zu tun ;-)";;
	linuxuser) echo "Für lokale User gibt es nichts zu tun ;-)";;

  	*) /usr/bin/todo-indicator /$HOME/Home_auf_Server/todo.txt

esac
  • Erzeugen und aktivieren eines Autostarters (Startprogramme)
Name: ToDo Indicator
Befehl: /usr/bin/todo-indicator-linuxmuster-helper

VirtualBox 4.3

  • Zusatzpaket für usb, etc. installiert
  • Konfigurationsdateien nach ~/.Virtualbox
  • Globale Einstellungen: Automatische Updates deaktiviert
  • Jeden zur Gruppe vboxusers zuordnen in /etc/security/group.conf
--Schnipp--
*;*;*;Al0000-2400;dialout,cdrom,floppy,audio,dip,video,plugdev,vboxusers
--Schnapp--
  • Mountpoint /virtual angelegt –> siehe oben /etc/fstab

Italc Classroom Management

Italc 2.0.0 und 2.0.1 für Linux (2.0.1 ist z.B. in den trusty-Quellen) hat einen fatalen Bug im ica-daemon, der beim Verbindungsaufbau zum ica-daemon zu einem Segmentation Fault führt. Siehe Bugmeldung hier: http://sourceforge.net/p/italc/bugs/255/. Das wird erst im nächsren Italc - Release gefixt…leider sind die Release-Zyklen >=1 Jahr!

Vorübergehende Lösung: T. Schmitt hat eine funktionierende italc2-Version aus den Quellen gebaut. Diese ist im Image vom 23.06.2014 enthalten und in den linuxmuster-trusty Quellen.

Benutzt man eine frühere Version des Images, in der als Workround Italc 1.0.19 enthalten war, dann kommt man folgendermaßen zu Italc2:

#sudo apt-get autoremove italc-* --purge
#sudo apt-get update
#sudo apt-get install italc-client italc-master

Danach muss man Italc völlig neu einrichten…das funktioniert im Detail ähnlich wie bei Italc1 jedoch gibt es nun die Italc-Management-Console, die einiges einfacher macht. Zur genannten Management-Console kommt man im Terminal mit:

sudo imc
  • ICA-Daemon mit Anmeldung starten: linuxmuster-client-extras-setup –type login –on /usr/bin/ica –order 015
Es besteht ein Login-Delay-Problem, weil ica nicht das richtige Display findet. Lösung:

1. Datei /usr/bin/ica verschoben nach /usr/bin/ica.orig
2. Datei /usr/bin/ica anlegen, ausführbar machen und mit folgendem Inhalt füllen:

#!/bin/bash

echo "Setze DISPLAY und starte ica"
DISPLAY=:0 /usr/bin/ica.orig &
exit 0

VNC-Server

WOL

  • In: /etc/rc.local Eintrag:
ethtool -s eth0 wol g
  • In: /etc/init.d/halt Eintrag:
--Schnipp--
NETDOWN=no
--Schnapp--

Libreoffice

  • Libreoffice Optionen:
    • Arbeitsspeicher: 100MB
    • Ansicht: Symbolsstil: klein
    • Drucken: PDF als Standarddruckformat abgewählt (nötig um Delays beim Drucken von großen Dateien zu begrenzen)
    • Laden/Speichern - Allgemein: Autowiederherstellung alle 5 min
  • Libreoffice-Writer:
    • Raster - Auflösung jeweils 0,01cm mit 1 Schritt Unterteilung
    • Grundschriftart: Arial
    • Symbolleiste Formatierung: zusätzlich Hoch-, Tiefgestellt; Zeilenabstand; Zeichen vergrößern, verkleinern;
    • Symbolleiste Standard zusätzlich: Speichern unter; Suchen und Ersetzen; Maßstab; Formel
    • Symbolleiste Zeichnung, Grafik, Tabelle aktiviert
  • In jeder Libreoffice-Komponente: Ansicht –> Seitenleiste anzeigen (neues Feature in Libreoffice)

Tilem 2 mit TI83+ (funktioniert auch mit anderen TI - Roms)

  • Konfigurationsdatei ~/.config/tilem2/config.ini:
[ti83p]
rom_file=/opt/tilem2/ti83p_1.rom
state_file=/opt/tilem2/ti83p_1.sav
[recent]
last_model=ti83p
[settings]
zoom=2
  • Ti 83+-Rom muss nach /opt/tilem2/ gelegt werden

Tipp10

  • i386 - Abhängigkeiten nachinstallieren:
libpng3:i386
libsm6:i386 (gcc-4.9-base:i386 libc6:i386 libgcc1:i386 libice6:i386 libsm6:i386 libuuid1:i386)
libxi6:i386 (libx11-6:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386 libxi6:i386)
libxrender1:i386
libxrandr2:i386
libxfixes3:i386
libxcuror1:i386
libxinerama1:i386
libfreetype6:i386(libfreetype6:i386 libpng12-0:i386 zlib1g:i386)
libfontconfig1:i386 (libexpat1:i386 libfontconfig1:i386)
libglib2.0-0:i386 (libffi6:i386 libglib2.0-0:i386 libpcre3:i386 libselinux1:i386)
libstdc++6:i386( gcc-4.8-base:i386 libstdc++6:i386)
  • Startskript bearbeiten –> /usr/bin/tipp10:
#!/bin/bash

if [ -x /$HOME/Home_auf_Server/__tauschen ]; then   # wenn Unterverzeichnis __tauschen existiert, dann ist es ein Netzwerk-User
cd /usr/share/tipp10
./tipp10 /$HOME/Home_auf_Server/.tipp10  # also muss die Datenbank ins Home auf dem Server.
else # ansonsten ist es ein lokaler User, also muss die Datenbank ins lokale Home.
cd /usr/share/tipp10
./tipp10 /$HOME/.tipp10
fi
  • Im remote Startskript auf dem Server (/home/samba/progs/linuxmuster-client/custom/postlogin_trusty.sh) einfügen:
#tipp10 Datenbank-Ordner anlegen
if [ ! -x /$HOME/Home_auf_Server/.tipp10 ];
then
  mkdir /$HOME/Home_auf_Server/.tipp10
fi
  • Ist nötig, da die Datenbank sonst nicht gespeichert wird!

GDV-SpatialCommander (GIS-System)

  • Installation nach /opt/GDV/Spatial_Commander
  • Startssript anlegen: /usr/bin/spatialcommander
#!/bin/bash

cd /opt/GDV/Spatial_Commander/

./SpatialCommander
  • Desktop-Datei anlegen: /usr/share/applications
[Desktop Entry]
Encoding=UTF-8
Name=Spatial Commander
Type=Application
Comment=Spatial Commander
Exec=/usr/bin/spatialcommander
Icon=/opt/GDV/Spatial_Commander/layouts/gdv_logo.png
GenericName=Spatial Commander
Categories=Education
Terminal=false
StartupNotify=false

Installation von Adobe Reader

Debian Paket von adobe ist wohl unabhängig von der Distro

Möglichkeiten zur Installation (Mai 2014)

Paket linuxmuster-client-acroread-repo sorgt installiert ein Repo für acroread. Danach kann in einem weiteren Schritt das Paket installiert und automatisch upgedated werden(nicht aptitude verwenden):

apt-get install acroread

Drucknotifier 1.82 eine alternative zum PykotIcon

Damit der Drucknotifier (oder das PykotIcon) überhaupt funktioniert (bzw. das Trayicon angezeigt wird) muss ggf. zunächst das unter Probleme-Lösungen genannte aktivieren von Systrays (s.u.) durch bauen eines eigenen unity's durchgeführt werden! Im defaultcloop ist das bereits erledigt, jedoch wird diese Funktionalität durch ein offizielles update von Unity wieder verloren gehen und man muss wieder ein unity bauen… (das wird später als Paket zur Verfügung gestellt, so dass ein „normaler“ Admin nicht in die Verlegenheit kommen wird, das tun zu müssen ;)
  • Damit die Druckerquotierung funktioniert, müssen zunächst am Server einige Vorkehrungen getroffen werden…siehe drucknotifier; auch die Konfiguration des Drucknotifier ist auf der genannten Seite erklärt.
  • Der Drucknotifier ist im cloop folgendermaßen vorbereitet:
  • Software wie beschrieben nach /opt/DruckNotifier installiert und DruckNotifier ausführbar gemacht
  • In der drucknotifier.cfg den Pfad zur Balance-Datei in Home_auf_Server angepasst:
[Programm]
ClientIP=10.16.1.1
Port=7654
poorman=2,00
Balance Datei=~/Home_auf_Server/.balance.dat
--Schnapp--
  • Ein Startprogramm /etc/xdg/autostart/drucknotifier.desktop angelegt aber nicht aktiviert! –> wer das Programm verwenden will, muss es in Startprogrammen aktivieren und dann ein Image machen

Greenfoot

  • Anpassen der Startdatei an richtige Java-Version –> /usr/bin/greenfoot
--Schnipp--

for VMNAME in java-8-oracle java-7-oracle java-7-sun java-7-openjdk java-6-sun java-6-openjdk ; do              <-- hier java-8-oracle java-7-oracle eingefügt

--Schnapp--

BlueJ

  • Anpassen der Startdatei an richtige Java-Version –> /usr/bin/bluej
--Schnipp--

for VMNAME in java-8-oracle java-7-oracle jdk-7-oracle java-7-sun java-7-openjdk java-6-oracle java-6-sun java-6-openjdk ; do              <-- hier java-8-oracle eingefügt
--Schnapp--

QStopMotion

  • defekte Menu-Datei reparieren –> /usr/share/menus/qstopmotion.menu
  • Anderung in der Datei: titel in title umbenennen
  • Menu-Datenbank aktualisieren: sudo update-menu

DVD Codecs aktiviert

sudo sh /usr/share/doc/libdvdread4/install-css.sh

e) Artwork

  • Quellennachweis: Das verwendete Hintergrundbild stammt ursprünglich von Phillip Taylor (siehe hier) und ist unter einer CC Lizenz 2.0 veröffentlicht worden, die die nachträgliche Veränderung und beliebige Verwendung erlaubt!
  • Bild trusty-comic-linuxmuster.jpg nach /usr/share/backgrounds kopiert
  • In Standardauswahl von ubuntu integriert durch einfügen einer Bilddefinition in –> /usr/share/gnome-background-properties/trusty-wallpapers.xml
<wallpaper>
    <name>Trusty Linuxmuster</name>
    <filename>/usr/share/backgrounds/trusty-comic-linuxmuster.jpg</filename>
    <options>zoom</options>
    <pcolor>#000000</pcolor>
    <scolor>#000000</scolor>
    <shade_type>solid</shade_type>
  </wallpaper>

3.) Probleme - Lösungen

ERRATA zu trusty-714

Mediaplayer Crash bei wmv-Dateien / ffmpeg Quellen fehlen

Die Programmbibliothek FFmpeg ist seit Ubuntu 14.04 nicht mehr offizieller Bestandteil. Es wurde (teilweise) ersetzt durch libav. Das Programm QStopMotion ist aber von FFmpeg abhängig und wird somit bei dessen Deinstallation auch deinstalliert. Im Default-Cloop ist für ffmpeg eine ppa-Fremdquelle in den Repos eingebunden. Aber selbst diese ist nicht mehr aktiv und führt bei „apt-get update“ schon zu Fehlermeldungen (404).

Problembeschreibung:
Die ppa-Pakete von FFmpeg aus der Fremdquelle (Jon Severinsson oder Doug McMahon) führen zum Absturz des Video-Mediaplayer Totem und auch des VLC-Mediaplayers beim Abspielen von WMV-Videodateien. Ebenso stürzt Impress ab, wenn solche Videos eingebettet werden. Auch ein Upgrade von FFmpeg mit den Quellen behob das Problem nicht.

Lösung:
Zunächst die FFmpeg-Quelle „jon-severinsson“ löschen. Falls auch die FFmpeg-ppa-Quelle „mc3man“ von „Doug McMahon“ existiert, diese ebenfalls löschen.

# rm /etc/apt/sources.list.d/jon-severinsson-ffmpeg-trusty.list
# apt-get update

Dann die bisherigen Pakete vollständig deinstallieren, dabei werden auch abhängige Pakete/Programme (33 Stück) deinstalliert:

# apt-get purge ffmpeg
# apt-get purge libavdevice53 libavdevice-extra-53 libavformat54 libavutil52 libswscale-extra-2 

nun die Codecs/Pakete/Programme aus den offiziellen Quellen ggf. neu installieren (falls eben deinstalliert), dabei install-Reihenfolge beachten:

# apt-get install libav-tools 
# apt-get install gstreamer1.0-libav
# apt-get install vlc openshot audacious audacious-plugins melt mplayer2 gstreamer1.0-plugins-bad devede
# apt-get install handbrake guvcview audacity libquicktime2 frei0r-plugins totem libswscale-extra-2 libavutil-extra-52

Bei Problemen den vlc neu zu installieren ggf. noch vorher alle alten Pakete entfernen: „ # apt-get purge vlc*

Cups - Browsed

Problembeschreibung:
Der Cups (1.7) vom Client kann nicht ohne weiteres mit dem cups (1.5) vom Server kommunizieren. Zwar werden die Printerqueues vom Server auf dem Client angezeigt aber dann wirds „freezy“…das ist ein Problem mit dem cups-browsed-daemon, der seid Ubuntu 13.04 auftritt. Die Problematik entstand initial dadurch, dass Apple das cups-browsed abgekündigt hat.

Lösung
Man muss darauf achten, dass in der /etc/cups/cups-browsed.conf auf dem Client das richtige drin steht. Hat man 12.04 auf dem Server (lml 6.0 bis 6.2) und ubuntu 12.04 bis 14.04 auf dem Client, dann sollte die Zeile in der /etc/cups/cups-browsed.conf auf dem Server diese Zeile enthalten:

BrowsePoll 10.16.1.1:631/version=1.1

Hat man aber 16.04 auf dem Client, sollte man die Versionsangabe weglassen: also das /version=1.1 Das steht hier: https://wiki.ubuntuusers.de/CUPS/ Am Ende unter Problembehebung. Also sollte die Zeile dann lauten:

BrowsePoll 10.16.1.1:631
Ist die Server IP eine andere als 10.16.1.1, dann muss das hier angepasst werden.

Unity Panel - keine Systrays mehr seit 12.10

Problembeschreibung:
Seid Ubuntu 12.10 werden im Panel nur noch spezielle (nur in Ubuntu existierende) Appindicators als Trays angezeigt und nicht mehr die normalen System-Trayicons. Leider werden diese von vielen Anwendungen noch benutzt, z.B. SSHPlus, Pykota/Drucknotifier, Wuala, Thunderbird (minimize to tray), und noch viele mehr. Dazu gibt es schon seid zwei Jahren heiße Diskussionen; s. z.B.: https://bugs.launchpad.net/ayatana-design/+bug/974480

Lösung 1
Wenn man kein Problem erkennen kann, liegt das daran, dass nach Lösung 2 von den Paketerstellern von linuxmuster.net Pakete rechtzeitig zur Verfügung gestellt werden, so dass ein upgrade von unity weiterhin funktionierende System-Trayicons liefert.

Lösung 2
Ein „eigenes“ Unity bauen, in dem Trayicons aller Anwendungen im Panel angezeigt werden. Das ist heftig! (muss nach jedem Unity-Update neu gebaut werden…ist Gott sei dank nicht oft!)

  • Die Build-Umgebung muss ebenfalls 64-bit sein und sollte am besten auch ein Ubuntu Trusty sein, damit die Bibliotheken in der richtigen Version vorliegen.
  • Build-Umgebung herstellen durch Installation der benötigten Bibliotheken:
sudo apt-get install bzr build-essentials cmake compiz-dev debhelper dbus-test-runner dh-migrations, dh-translations google-mock gsettings-desktop-schemas-dev gsettings-ubuntu-schemas               intltool libatk1.0-dev libbamf3-dev libboost-dev libcairo2-dev libdbus-1-dev libdbusmenu-glib-dev libdee-dev libgee-dev libgeis-dev libgl1-mesa-dri libglib2.0-dev libgnome-desktop-3-dev libgtest-dev libgtk-3-dev libido3-0.1-dev libindicator-dev libindicator3-dev libjson-glib-dev libjson-perl libnih-dbus-dev libnih-dev libnotify-dev libnux-4.0-dev libpam0g-dev libpango1.0-dev libsigc++-2.0-dev libstartup-notification0-dev libunique-dev libunity-dev libunity-misc-dev libupstart-dev libxcb-icccm4-dev libxfixes-dev libxi-dev libxpathselect-devlibzeitgeist-2.0-dev pkg-config python python-setuptools quilt xserver-xorg-video-dummy xsltproc
  • Folgendes alles im Terminal:
  • Ordner erstellen: mkdir ~/Desktop/unity
  • In Ordner wechsel: cd ~/Desktop/unity
  • Unity-Quellpakete von Launchpad holen: bzr branch lp:unity
  • Bearbeiten dreier Dateien im Quellcode/Buildcode mit einem Texteditor z.B. gedit:
  • ~/Desktop/unity/unity/panel/PanelTray.cpp (etwa Zeile 135)

Löschen der Zeile

bool accept = FilterTray(title.Str(), res_name.Str(), res_class.Str());

und ersetzen durch

bool accept = true;
  • ~/Desktop/unity/unity/tests/CMakeLists.txt (etwa Zeile 270)

Löschen der folgenden Zeile:

test_panel_tray.cpp
  • ~/Desktop/unity/unity/tests/tests/test_panel_tray.cpp

Löschen des gesamten Inhalts der Datei; die Datei selber muss aber vorhanden sein.

  • Kompilieren und Debian-Pakete erstellen; dazu im Terminal:
sudo debuild -i -us -uc -b

…das kann je nach Rechnerleistung schon an die 20-30 min dauern! Zum Schluss findet man die deb-Pakete in ~/Desktop/unity

  • anpassen der Rechte: sudo chown username:username ~/Desktop/unity/*.deb
  • Benötigt werden nur die drei Pakete: unity-services_7.., unity_7…, und libunity-core-6.0-9_7…; Die Pakete haben allerdings die (fast) gleiche binary Version, wie die im System installierten Pakete; das muss jetzt noch angepasst werden, da die eigenen Pakete sonst bei einem dist-upgrade überschrieben werden.
  • Hier die Vorgehensweise am Beispiel von unity_7…:
  • Ordner auf dem Desktop anlegen: mkdir ~/Desktop/umbau und in Ordner wechseln: cd ~/Desktop/
  • deb Paket extrahieren: dpkg –extract unity_7.1.2+14.04.20140318-0ubuntu1_amd64.deb umbau/
  • control Datei erstellen: dpkg –control unity_7.1.2+14.04.20140318-0ubuntu1_amd64.deb umbau/DEBIAN
  • Die Datei ~/Desktop/umbau/DEBIAN/control mit einem Texteditor bearbeiten:
Package: unity
Version: 7.1.2+14.04.20140318-0ubuntu1                                       <-- hier die Version ändern auf ...-0ubuntu2
Architecture: amd64
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Installed-Size: 6084
Depends: ... libunity-core-6.0-9 (= 7.1.2+14.04.20140318-0ubuntu1) ...       <-- ACHTUNG: Abhängigkeit auch auf die Version ...-0ubuntu2 ändern

--Schnapp--
Achtung auch im Paket libunity-core muss die Abhängigkeit zu unity-services auf die richtige Version gesetzt werden! In unity-services muss keine Abhängigkeit zu den zwei anderen Paketen gestzt werden.
  • neues deb Paket bauen: dpkg –build umbau/ unity_7.1.2+14.04.20140318-0ubuntu2_amd64.deb ←- hier neue Version im Namen anpassen!
  • Beschriebene Prozedur für alle drei Pakete wiederholen.
  • Pakete installieren: sudo dpgk -i *.deb
  • Rechner neu starten…und über wieder funktionierende Systrays freuen :-)

Automatische LDAP-Konfiguration geht nicht mehr

Problem: Nach Update des Servers (und auch linuxmuster-setup –modify) kann sich kein Domänenbenutzer am Linuxclient anmelden, da die automatische LDAP-Konfiguration nicht mehr geht.
Ursache: Das Script zur automatischen Bestimmung der LDAP-Server-IP liefert falsche/keine Daten, da die Nameserver-Abfrage „host“ zusätzliche unerwartende Daten zum Mailversand liefert.
Zum Test dazu am Server oder Client ausführen:

# host server

Ausgabe (zwei Zeilen, d.h. Problem tritt auf, bei nur einer Zeile ist hier alles OK):

server.linuxmuster-net.lokal has address 10.32.1.1
server.linuxmuster-net.lokal mail is handled by 10 server.linuxmuster-net.lokal.

Lösung: Im boot-Script /etc/linuxmuster-client/boot.d/01-ldap die Zeile Nr. 21 abändern, so dass nur der Address-Eintrag angefordert wird:

...
serverip=`host -t A $fqsn | awk '{print $4}'`
...

 [[anwenderwiki:linuxclient:defaultcloop_14.04]] anwenderwiki/linuxclient/defaultcloop_14.04.txt · Zuletzt geändert: 2017/01/17 16:21 von 127.0.0.1