Univention Bugzilla – Bug 22654
univention-application-server für UCC 1.0
Last modified: 2013-03-26 09:14:39 CET
Das Paket univention-application-server macht in UCS 2.4 folgendes: - Das Join-Skript ändert die default-settings-Richtlinie auf das gerade installierte System - Es werden einige Deps auf für den Terminalserver-Betrieb nötige Pakete deklariert (z.B. rsh-server) - Über eine Dependency werden eine Reihe von Desktop-Paketen nachinstalliert (z-.B. OpenOffice und KDE) Folgende Änderungen sollten für UCD 3.2 vorgenommen werden: - Die Default-Richtlinie sollte nicht mit der Installation eines Pakets jedes Mal geändert werden (sondern nur wenn noch keine gesetzt ist) - Systeme mit UCD-Terminalservices sollten über einen Service im UDM registriert werden - Das Paket sollte umbenannt werden, z.B. univention-ucd-terminal-services - Es sollte nur Deps auf die Pakete geben, die nötig sind um einen Thin-Client-Login zu erlauben. Die weitere Software kann besser flexibel vom Administrator über univention-install konfiguriert werden - ANpassungen auf UCS 3.0 Standards (https://hutten.knut.univention.de/mediawiki/index.php/UCS-3.0-Aktualisierung-Univention-Pakete)
Linux-Terminalservices werden in UCC ebenfalls durch eine UCC-Installation bereitgestellt.
*** Bug 23383 has been marked as a duplicate of this bug. ***
Die Dependency auf univention-session sollte korrigiert werden, siehe Bug 20595
*** Bug 20595 has been marked as a duplicate of this bug. ***
Es ist zu prüfen, inwiefern das separate Paket noch nötig ist, generell sollte jedes Desktop-Image einen Terminalserverbetrieb ermöglichen.
Es gibt nun das Paket univention-ucc-application-server mit Abhängigkeit auf univention-session-server. Darin ist ein Join Skript, dass der neuen UCC default Richtlinie den Hostnamen des Rechners als UCC Terminal Server und dem Rechner selbst den Servive UCCTS zuweist. Das ganze geschieht nicht über den UDM, sondern über das neue python-ldap Script /usr/share/univention-join/univention-mod-ldap-object.py (univention-join). Dieses Skript kann ein Werte zu Attributen bestehender Objekte hinzufügen und kann auf UCC Clients in Join Scripten verwendet werden. # add ucc terminal service to host /usr/share/univention-join/univention-mod-ldap-object.py "$@" \ --dn "$ldap_hostdn" \ --attribute "univentionService" \ --value "UCCTS" || die -> /usr/share/univention-join/univention-mod-ldap-object.py -h Usage: usage: univention-mod-ldap-object.py [options] description: Adds value to ldap attribute of a ldap object. Options: -h, --help show this help message and exit -D BINDDN, --binddn=BINDDN bind dn -w BINDPW, --bindpwd=BINDPW bind password -d DN, --dn=DN dn to modify -a ATTR, --attribute=ATTR attribute to modify -v VALUE, --value=VALUE value to add to attribute Außerdem gibt es im Paket das kleine Script univention-showload, dass den "Ersatz" für das CGI univention-showload darstellt und von Session Skripten ausgerufen werden kann, um den Server mit geringster LOAD zu finden. Weitere Änderungen: * univentionService wurde zur Objectclass univentionCorporateClient hinzugefügt * UDM Module computers/ucc wurde um Service erweitert * policies/ucc_user wurde um uccTerminalserver Terminal-Server erweitert
QA schieben, sinnvoll testen kann man das erst wenn Bug 29105 umgesetzt ist.
univention-ucc-application-server installiert univention-session-server -> OK joinskript setzt univentionService auf UCCTS und erweitert die Benutzersitzung-Richtlinie um den neuen Terminalserver -> OK univention-showload verifiziert in bug 29111 -> OK -> Verified
Bei den prototypisch ausgerollten Systemen im Vertrieb ist die Performance ist aktuell nicht ausreichend. Die Ursache ist noch unklar. http://blog.mecheye.net/2012/06/the-linux-graphics-stack/ bietet eine gute Erklärung der Darstellungschichten eines aktuellen X-Desktop-Stacks
Created attachment 5021 [details] bmon log von UCS TCS mit UCD
Created attachment 5022 [details] bmon log von UCC
Da es deutliche Performance-Unterschiede zwischen dem HP 5745 und dem 5735 gibt, würde ich darauf tippen, dass aktuell für das Compositing OpenGL statt Xrender verwendet wird. http://userbase.kde.org/Desktop_Effects_Performance
Die Einstellung "export QT_GRAPHICSSYSTEM='native'" beschleunigt die Session erheblich, das wird nun in univention-ucc-application-server/share/KDE gesetzt. Außerdem gibt es ein spezielles KDE Profil für die Remote Session. Darin wird beispielsweise das plasma theme auf air-netbook gesetzt und diverses eyeCandy abgestellt. Ob das verwendet wird, kann über ucc/session/remote/profile=true|false (default true) konfiguriert werden. Mit diesen Einstellungen geht auch SSH X Forwarding auf alten Clients wieder akzeptabel (hpt5735-11). Dafür muss aber der Verschlüsselungs-Algo. auf dem Client entsprechend konfiguriert werden (auf dem Client über ucc/session/remote/ssh/cipher). Default ist arcfour128 der am schnellsten (wahrscheinlich aber auch am unsichersten) ist. Außerdem wird standardmäßig die SSH Komprimierung verwendet (ucc/session/remote/ssh/compression). Mit diesen Einstellungen wird deutlich weniger übers Netz übertragen. Jedoch ist das Abspielen von (youtube) Video's nicht mehr ruckelfrei möglich. Daher ist X11 Forwarding, nicht SSH X Forwarding, noch der Standard (kann auf den Clients über lightdm/xserver/allowtcp konfiguriert werden, default ist true, dann wird X11 Forwarding gemacht, bei false dann SSH X Forwarding)
In der Grundeinstellung ist jetzt ein verschlanktes Profil in Verwendung, bei dem Arbeitsflächeneffekte deaktiviert sind und die Animationsgeschwindigkeit auf "Sofort" gestellt ist. QT_GRAPHICSSYSTEM='native' ist per Default gesetzt. Ich komme damit für typische Arbeitsschritte auf einem HP 5735 an einem 1920x1080 FullHD-Display weitgehend auf Werte, die mit unseren TCS-Messungen vergleichbar waren. - Ruft man im Firefox spiegel.de auf und scrollt dann langsam herunter kommt es zu Peaks um 6-8 MB/s für das initiale Anzeigen der Seite und sinkt dann auf 1-2 MB wenn nur die Flash-Werbung angezeigt wird. - Ein Youtube-Video nimmt ca. 25 MB/s in Anspruch - Arbeiten auf einer Shell nimmt weniger als 100 KB/s in Anspruch - Das Betrachten des UCS-Handbuchs mit Okular schwankt zwischen 10 MB und 200 Kb je nachdem ob textlastige ode grafikintensive Seiten betrachtet werden - Das Starten von Libreoffice Writer erzeugt einen einsekündigen Peak von 10 MB und sinkt dann beim Schreiben eines Texts auf ca. 1 MB/s. Es gibt einige Sonderfälle wie der Hover-Effekt in den Systemeinstellungen, der eine starke Spitze erzeugt, aber das nur ein Randfall. Das Setzen von ucc/session/remote/profile=false auf dem UCC-Terminalserver führte dazu, dass für einen neu angelegten benutzer ein Profil mit mehr Effekten verwendet wird (z.B. Animationsgeschwindigkeit auf Normal) Mit den folgenden Einstellungen habe dann auf einem HP5745 (Dualcore Intel(R) Atom(TM) CPU N280 @ 1.66GHz) ich den SSH-Zugriff getestet: ucc/session/remote/ssh/cipher=arcfour,blowfish-cbc lightdm/xserver/allowtcp=false ucc/session/remote/ssh/compression=true Außerdem muss auf dem UCC-Terminalserver dann ucr set sshd/xforwarding=yes gesetzt werden und LightDM neu gestartet werden. Damit sinkt die Datenmenge je nach Anwendungsgebiet deutlich: - Ruft man im Firefox spiegel.de auf und scrollt dann langsam herunter kommt es zu Peaks um 4 8 MB/s für das initiale Anzeigen der Seite und sinkt dann auf 0,5-1 MB wenn nur die Flash-Werbung angezeigt wird. - Arbeiten auf einer Shell nimmt weniger als 20 KB/s in Anspruch - Das Betrachten des UCS-Handbuchs mit Okular schwankt zwischen 1 MB und 100 Kb je nachdem ob textlastige oder grafikintensive Seiten betrachtet werden - Das Starten von Libreoffice Writer erzeugt einen einsekündigen Peak von 1 MB und sinkt dann beim Schreiben eines Texts auf ca. 50 kb/s. - Ein Youtube-Video nimmt ca. 8 MB/s in Anspruch, überfordert dabei aber den Client. Die Wiedergabe eines schnellen Videos wie eines Musikvideos hat dann ein paar Hakler/Frame Drops (der eine Core des Clients ist bei ca. 85%), kann aber prinzipiell noch angesehen werden (der Ton ist z.B. weiterhin synchron). Ein ruhiges Video wie der Univention-Screencast zu Samba4 wird problemlos dargestellt. Ich werde das im Handbuch entsprechend dokumentieren, das auf leistungsfähiger Hardware SSH-Zugriff empfohlen wird.
Der Default für die UCC-Remote sollte SSH XForwarding sein.
univention-lightdm (lightdm/xserver/allowtcp?false) und univention-ucc-application-server (sshd/xforwarding=yes bei einer Neuinstallation) wurden entsprechend angepasst.
I've tested with a current desktop image for the application server and a current thin client and SSH-based X forwarding is now the default.
UCC 1.0 has been released: http://forum.univention.de/viewtopic.php?f=26&t=2417 http://forum.univention.de/viewtopic.php?f=54&t=2418 If this error occurs again, please use "Clone This Bug".