Inhaltsverzeichnis

Defaultcloop Ubuntu 14.04 Stand 23.06.2014

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:

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

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?

Variante B: manuell

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

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.:

# sudo passwd <Benutzername>

2. Aktualisierungen einspielen

# 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)

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

9. Optionale Anpassungen: ITalc / Leoclient

10. Abschießende Arbeiten

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

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


Systemeinstellungen linuxmuster-client

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

firefox:.mozilla/firefox/4fci8bte.default
chromium:.config/chromium

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

libreoffice:.config/libreoffice
thunderbird:.thunderbird
ALL:ALL

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

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

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

--Schnipp--
RSYNC_OPTIONS="--links --force --delete"
--Schnapp--

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

# Identd initialisieren
killall oidentd
/usr/sbin/oidentd -u oident -g oident --reply=$USER 

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

#Ident beenden, da sonst Dienst mit letztem User weiter läuft
killall oidentd

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

if [ -x /usr/bin/truecrypt ]; then
/usr/bin/truecrypt --dismount
fi

Systemeinstellungen 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
Ü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.
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--

Systemeinstellungen Leoclient

Systemeinstellungen Sonstige / Skripte

/etc/fstab

/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

--Schnipp--
# Search timelimit
timelimit 5

# Bind/connect timelimit
bind_timelimit 5

Autostartprogramme in /etc/xdg/autostart

[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.
--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

--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

---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
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

Chromium

Terminal

# 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

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--
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"
sudo udevadm control --reload
sudo udevadm trigger

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
Name: ToDo Indicator
Befehl: /usr/bin/todo-indicator-linuxmuster-helper

VirtualBox 4.3

--Schnipp--
*;*;*;Al0000-2400;dialout,cdrom,floppy,audio,dip,video,plugdev,vboxusers
--Schnapp--

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
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

ethtool -s eth0 wol g
--Schnipp--
NETDOWN=no
--Schnapp--

Libreoffice

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

[ti83p]
rom_file=/opt/tilem2/ti83p_1.rom
state_file=/opt/tilem2/ti83p_1.sav
[recent]
last_model=ti83p
[settings]
zoom=2

Tipp10

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)
#!/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
#tipp10 Datenbank-Ordner anlegen
if [ ! -x /$HOME/Home_auf_Server/.tipp10 ];
then
  mkdir /$HOME/Home_auf_Server/.tipp10
fi

GDV-SpatialCommander (GIS-System)

#!/bin/bash

cd /opt/GDV/Spatial_Commander/

./SpatialCommander
[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 ;)
[Programm]
ClientIP=10.16.1.1
Port=7654
poorman=2,00
Balance Datei=~/Home_auf_Server/.balance.dat
--Schnapp--

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

--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

DVD Codecs aktiviert

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

e) Artwork

<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!)

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

Löschen der Zeile

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

und ersetzen durch

bool accept = true;

Löschen der folgenden Zeile:

test_panel_tray.cpp

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

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

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.

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}'`
...