[[Vorlage(Archiviert, "Mit [:Compton:], einem Fork von xcompmrg, ist eine getestete Alternative vorhanden.")]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Pakete_installieren: Installation von Programmen] [:Autostart: Automatischer Start von Programmen] [:Editor: Einen Editor öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] (optional) }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] xcompmgr ist ein [:3D-Desktop#Die-Darstellung-Composite-und-Fenstermanager:Composite-Manager], mit dem man echte Transparenz, Schatten, etc. erzeugen kann, ohne auf [wikipedia:AIGLX:] oder Xgl zurückgreifen zu müssen. Die Composite-Erweiterung erlaubt es, alle Zeichnungen zuerst in einem Zwischenspeicher zu erstellen. Dies hat den Vorteil, dass Zeichnungen flimmerfrei dargestellt werden können. Um jedoch komplette Fenster transparent darzustellen, benötigt man unter Umständen zusätzlich das Programm '''transset''' bzw. '''transset-df'''. Das [:KDE:]- und das [:Xfce:]-Projekt haben jeweils eine eigene überarbeitete Version von xcompmgr eingebaut: * [:Xfce_Composite-Effekte: Transparenz und Schatten für Xfce] * [:Archiv/KWin/Arbeitsflächeneffekte: Transparenz und Schatten für KDE] Ubuntu setzt dagegen bei [:Unity:] auf [:Compiz:], GNOME 3 auf die [:GNOME_Shell:]. Eine Alternative zu xcompmgr ist die Abspaltung (Fork) [:Compton:]. Des Weiteren gibt es noch das Programm [https://projects.mini-dweeb.org/projects/unagi Unagi] {en}, das in den offiziellen Paketquellen enthalten ist. = Voraussetzung = Um xcompmgr zu nutzen, benötigt man zwingend eine Karte mit Composite-Fähigkeit. Welche Hardware- bzw. Grafikkartenanforderungen xcompmgr hat, kann auf der [:3D-Desktop: Übersichtsseite] nachgelesen werden. Faustregel: alle Nvidia- und Intel-Grafikkarten funktionieren, bei AMD/ATI-Karten funktioniert es ab dem FGLRX-Treiber 8.42.3. Ein Test kann mit folgendem Befehl in einem Terminal [1] durchgeführt werden: {{{#!vorlage Befehl glxinfo | grep 'direct rendering' }}} Erhält man als Ausgabe: {{{direct rendering: Yes }}} dann wird xcompmgr sehr wahrscheinlich funktionieren. Mit xcompmgr allein kann man aber nur Schatten darstellen. Für Transparenz benötigt man das Programm '''transset''' bzw. '''transset-df'''. = Installation = Folgendes Paket muss aus den offiziellen Paketquellen installiert [2] werden: {{{#!vorlage Paketinstallation xcompmgr, universe }}} = xcompmgr starten = Man öffnet ein Terminal und gibt folgenden Befehl ein: {{{#!vorlage Befehl xcompmgr -n }}} Dadurch wird der Composite-Manager ohne irgendwelche Optionen gestartet. Eine schöne Einstellung für einen dezenten Schatten ist z.B. folgende: {{{#!vorlage Befehl xcompmgr -l 0.5 -t 0.5 -o 0.5 -r 2 -c }}} Weitere Informationen und Startoptionen, um z.B. die Größe der Schatten einzustellen, findet man in der [:man:Manpage]. Damit der Manager auch bei jedem Anmelden gestartet wird, sollte man ihn dem Autostart [3] hinzufügen. = Transparenz = ##== transset == ##Um die Transparenz-Werte anzusprechen, benötigt man zusätzlich noch das Programm '''transset'''. Dieses ist bis einschließlich [:Quantal:Ubuntu 12.10] in den offiziellen Paketquellen enthalten: ##{{{#!vorlage Paketinstallation ##transset, universe ##}}} ##transset beherrscht nur das einfache Verändern der Transparenz. Durch den Befehl: ##{{{#!vorlage Befehl ##transset WERT ##}}} ##erhält man einen Mauszeiger, mit dem man das Fenster auswählen kann, welches transparent gestellt werden soll. Der Wert muss zwischen `0` und `1` liegen. ##`0` ist bewirkt ein ganz durchsichtiges Fenster, mit `0.5` ist es halb durchsichtig, und mit `1` wird es völlig undurchsichtig. ##{{{#!vorlage Hinweis ##Mit [:Devilspie:Devil's Pie] kann man ab der Version 0.18 die Transparenz direkt durch die Option `opacity WERT` verändern (ohne Verwendung von `transset` oder `transset-df`). ##}}} == transset-df == Eine erweiterte Version von transset ist [https://forchheimer.se/transset-df/ transset-df] {en}. Damit kann man unter anderem die Transparenz mit dem Mausrad verändern. Das Paket muss aus den Paketquellen von Ubuntu 10.04 als [packages:transset-df:] {dl} heruntergeladen und manuell installiert werden. Das Programm wird durch den Befehl: {{{#!vorlage Befehl transset-df OPTIONEN }}} im Terminal ausgeführt. Alle Optionen von transset-df erhält man über den Aufruf: {{{#!vorlage Befehl transset-df --help }}} === Transparenz mit Mausrad-Drehung einstellen === Um die Transparenz des ausgewählten Fenster durch die Drehung des Mausrads (Scrollrad) zu verändern, braucht man noch das Programm [:xbindkeys:], welches mit dem folgenden Paket installiert wird: {{{#!vorlage Paketinstallation xbindkeys, universe }}} Als nächstes legt man die Datei '''.xbindkeysrc''' im Homeverzeichnis an [4] und füllt sie mit folgenden Inhalt: {{{ "transset-df --min 0.1 -p --dec 0.2" control + b:4 "transset-df -p --inc 0.1" control + b:5 }}} Erklärung: * in den Anführungszeichen steht der Befehl, der ausgeführt wird * darunter steht dann, welche Tastenkombination den Befehl aufruft: * ''control'' steht für [[Vorlage(Tasten, strg)]] * ''b:4'' steht für das Mausrad nach vorne drehen * ''b:5'' steht für das Mausrad nach hinten drehen Zuletzt muss nur noch xbindkeys durch den Befehl: {{{#!vorlage Befehl xbindkeys }}} ausgeführt werden. Verläuft der Versuch erfolgreich, kann der Aufruf in den Autostart eingetragen werden. === Programm transparent starten === Man kann ein Programm über seine Fenster-ID transparent starten. In folgendem Beispiel wird der Terminal-Emulator `xterm` mit einer Dreiviertel-Sichtbarkeit gestartet. Dazu erstellt man eine Datei mit folgendem Inhalt und macht diese ausführbar [5]: {{{#!/bin/sh xterm & sleep 1 id=`xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)" | awk '{print $5}' | sed -e 's#,##g'` transset-df --id $id 0.75 }}} Dieses Skript öffnet '''xterm''', welches nach einer Sekunde transparent wird. Dies geschieht durch die zweite Zeile, welche die ID des Fensters mit aktuellen Fokus ermittelt. Diese ID wird dann von transset-df verwendet. Die allgemeine Version des Skripts sieht wie folgt aus: {{{ #!/bin/sh PROGRAMM & sleep 1 id=`xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)" | awk '{print $5}' | sed -e 's#,##g'` transset-df --id $id TRANSPARENZ }}} Es muss nur PROGRAMM und TRANSPARENZ angepasst werden. {{{#!vorlage Hinweis Bei Programmen, welche länger zum Starten brauchen, wird nur das Programm transparent, welches das Skript ausgeführt hat. }}} = Problembehebung = == Keine Transparenz verfügbar == Hat man eine ältere Version von Ubuntu (< [:10.10:] Maverick Meerkat) oder trotz aktueller Ubuntu-Version keine Transparenz zur Verfügung, kann es unter Umständen daran liegen, dass der Grafikkarte nicht mitgeteilt worden ist, dass sie Composite-Eigenschaften zur Verfügung stellen soll. Dieses muss dem XServer dann händisch mitgeteilt werden, so dass er die Composite-Erweiterung beim Start automatisch lädt. Dazu muss man die Datei '''[:xorg.conf:/etc/X11/xorg.conf]''' in einem Editor mit Root-Rechten öffnen bzw. erstellen und bearbeiten [4]. Zuerst muss der Abschnitt ''Section "Extension"'' angepasst bzw. hinzugefügt werden: {{{Section "Extensions" Option "Composite" "Enable" EndSection }}} Danach sollte der Abschnitt ''Section "Device"'' erweitert werden. Man fügt folgende Option hinzu: * Für Nvidia-Karten: {{{Option "RenderAccel" "true" }}} * Für AMD/ATI und Nvidia-Karten: {{{Option "backingstore" "true" }}} == 3D-Programme laufen nicht == Die Composite-Erweiterung verträgt sich nicht mit dem [:Grafikkarten/ATI/fglrx:ATI fglrx-Treiber], daher wird die DRI-Unterstützung immer deaktiviert. Man kann hier nur auswählen, ob man Schatten und Transparenz nutzen möchte oder lieber 3D-Beschleunigung. Bei Nvidia-Grafikkarten kann die folgende Option in der ``Section "Device"`` in der '''/etc/X11/xorg.conf''' helfen, wenn 3D-Programme nicht mehr laufen [4]: {{{ Option "AllowGLXWithComposite" "true" }}} = Links = * [uf_thread:75527:The Composite Manager Guide: How to Get Vista-ish Effects in (K)(X)Ubuntu] {en} - Thread im offiziellen Ubuntu-Forum * [https://awesomewm.org/apidoc/?redirected_from_wiki=1 Transparency] {en} - Vergleich verschiedener alleinstehender Compositing Manager # tag: Desktop, LXDE