https://wiki.archlinux.org/api.php?action=feedcontributions&user=Plp&feedformat=atomArchWiki - User contributions [en]2024-03-28T17:30:18ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=LibreOffice&diff=524221LibreOffice2018-06-01T04:00:14Z<p>Plp: Removed time referenece from Greek section</p>
<hr />
<div>[[Category:Office]]<br />
[[ar:LibreOffice]]<br />
[[de:LibreOffice]]<br />
[[es:LibreOffice]]<br />
[[fr:LibreOffice]]<br />
[[it:LibreOffice]]<br />
[[ja:LibreOffice]]<br />
[[ru:LibreOffice]]<br />
[[zh-hans:LibreOffice]]<br />
{{Related articles start}}<br />
{{Related|Apache OpenOffice}}<br />
{{Related articles end}}<br />
<br />
From [https://www.libreoffice.org/ Home - LibreOffice]:<br />
<br />
:''LibreOffice is the free power-packed Open Source personal productivity suite for Windows, Macintosh and Linux, that gives you six feature-rich applications for all your document production and data processing needs: Writer, Calc, Impress, Draw, Math and Base.<br />
<br />
== Installation ==<br />
<br />
[[Install]] one of the following packages: <br />
<br />
* {{Pkg|libreoffice-fresh}} is the feature branch, with new program enhancements.<br />
* {{Pkg|libreoffice-still}} is the maintenance branch.<br />
<br />
{{Note|<br />
* In the past, the installation of at least 1 language pack was required. Currently, LibreOffice detects your system defaults; manual installation of a language pack is no longer mandatory. See [https://help.libreoffice.org/Scalc/cui/ui/optlanguagespage/ignorelanguagechange#User_interface help.libreoffice.org] for additional information.<br />
* If you want the UK-English language pack, install {{Pkg|libreoffice-fresh-en-gb}}, not {{Pkg|libreoffice-fresh-uk}} (Ukrainian) or {{Pkg|libreoffice-fresh-br}} (Breton)!<br />
* For SDK install {{Pkg|libreoffice-fresh-sdk}}.<br />
* For Qt and GTK+ visual integration, see [[#Theme]].<br />
}}<br />
<br />
Check the optional dependencies pacman displays. If you want to use LibreOffice Base, you must install a Java Runtime Environment: see [[Java]]. You may need {{AUR|hsqldb2-java}} to use [https://wiki.documentfoundation.org/Base#Java_and_HSQLDB some modules] in LibreOffice Base.<br />
<br />
== Theme ==<br />
<br />
LibreOffice includes support for [[GTK+]] and [[Qt]] theme integration. See also [[Uniform look for Qt and GTK applications]].<br />
<br />
Toolkit libraries are checked in the following order:<br />
<br />
gtk3 > gtk > kde4 > generic<br />
<br />
To force the use of a certain VCL UI interface, use one of the {{ic|1=SAL_USE_VCLPLUGIN=gen}}, {{ic|1=SAL_USE_VCLPLUGIN=kde4}}, {{ic|1=SAL_USE_VCLPLUGIN=gtk}} or {{ic|1=SAL_USE_VCLPLUGIN=gtk3}} [[environment variables]]. These variables can be uncommented in {{ic|1=/etc/profile.d/libreoffice-fresh.sh}} or {{ic|1=/etc/profile.d/libreoffice-still.sh}}; note that this has no effect using [[LXDE]] desktop environment since the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] is afterwards set to {{ic|1=gtk}} by the script {{ic|1=/usr/bin/startlxde}}. In order to use {{ic|1=gtk3}} toolkit with [[LXDE]] the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] needs to be set after launching the desktop environment.<br />
<br />
However, if it looks like it is using Windows 95/98 icons, go to ''Tools > Options...'' in the menus (which presents the Options Dialog), then select ''LibreOffice > Accessibility'' and uncheck "Automatically detect high-contrast mode of operating system".<br />
<br />
If that does not work immediately, you may need to change the icon set that is in use; this is also in the Options Dialog, under ''LibreOffice > View'' with two pop-up boxes for "Icon size and style" (the latter pop-up box should be changed to something other than "High-contrast").<br />
<br />
=== Firefox themes ===<br />
<br />
LibreOffice can use Firefox themes. Enter LibreOffice options and choose ''Personalization > Select Theme'', then paste the URL of your favourite one. A convenient button in the dialog box lets you open the browser.<br />
<br />
Themes can be found on [https://addons.mozilla.org/firefox/themes/ Mozilla's theme repository].<br />
<br />
=== Disable startup logo ===<br />
<br />
If you prefer to disable the startup logo, open {{ic|/etc/libreoffice/sofficerc}}, find the {{ic|1=Logo=}} line and set {{ic|1=Logo=0}}.<br />
<br />
{{Note|This variable is unrelated with the Logo scripting support.}}<br />
<br />
== Extension management ==<br />
<br />
The following additional extensions are available:<br />
<br />
* {{Pkg|libreoffice-extension-texmaths}}<br />
* {{Pkg|libreoffice-extension-writer2latex}}<br />
<br />
For more extensions, check the [[AUR]], the built-in LibreOffice Extension manager, or [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List libreplanet].<br />
<br />
== Language aids ==<br />
<br />
=== Spell checking ===<br />
<br />
For spell checking, please make sure {{Pkg|hunspell}} is properly installed; this should be the case for both still and fresh LibreOffice versions. Then install a language dictionary for hunspell like {{Pkg|hunspell-en}} for English, {{Pkg|hunspell-de}} for German, etc. Then enable the Writing aids by selecting the check-box in ''Tools -> Options -> Language Settings -> Writing Aids -> Hunspell SpellChecker'' after restarting LibreOffice.<br />
<br />
;Finnish<br />
Unlike other languages, Finnish dictionaries use different naming. These four packages should be installed (in this order): {{Pkg|libvoikko}}, {{AUR|malaga}}, {{AUR|voikko-fi}}, {{AUR|hfstospell}} and {{AUR|voikko-libreoffice}}.<br />
<br />
;Greek<br />
Project [https://sourceforge.net/projects/orthos-spell/?source=directory Orthos] provides more complete Greek spell checkers as Libreoffice extensions. Package {{AUR|libreoffice-extension-orthos-greek-dictionary}} provides a Greek-only spelling dictionary, while {{AUR|libreoffice-extension-orthos-greek-english-dictionary}} provides one that bundles Greek and US English.<br />
<br />
=== Hyphenation rules ===<br />
<br />
For hyphenation rules, you will need {{Pkg|hyphen}} and a language hyphen rule set ({{Pkg|hyphen-en}} for English, {{Pkg|hyphen-de}} for German, etc).<br />
<br />
=== Thesaurus ===<br />
<br />
For the thesaurus option, you will need {{Pkg|libmythes}} and a mythes language thesaurus (like {{Pkg|mythes-en}} for English, {{Pkg|mythes-de}} for German, etc).<br />
<br />
;Greek<br />
For Greek, instead of {{AUR|mythes-el}} you may want to try out {{AUR|libreoffice-extension-orthos-greek-thesaurus}}, which includes more words.<br />
<br />
=== Grammar checking ===<br />
<br />
{{Accuracy|Unintelligible flow of ideas: LanguageTool ''is'' packaged as a [https://extensions.libreoffice.org/extensions/languagetool LibreOffice extension], the reason for preferring the AUR package does not make sense.}}<br />
<br />
For grammar checking, several tools are available. The most common is [https://www.languagetool.org/ LanguageTool]. While the {{Pkg|languagetool}} is available, it is not packaged as a LibreOffice extension. It is thus recommended to install the LibreOffice extension manually or with {{AUR|libreoffice-extension-languagetool}} instead. Even though the extension comes bundled with LanguageTool, this does not conflict with {{Pkg|languagetool}}.<br />
<br />
After this extension has been installed, please make sure you have a [[Java]] 8 runtime installed ({{Pkg|jre8-openjdk}}). Indeed, Languagetool uses Java and may slow down or briefly hang LibreOffice, particularly while opening documents. Fortunately this is usually only when initially opening a document and is usually not apparent otherwise. Once installed, you want to enable it as the default environment for LibreOffice. To do that go to "Tools" --> "Options" --> "Advanced" and select the appropiate JRE (it will be shown as 1.8.0) then press "Ok". You will be prompted to restart the LibreOffice suite. Once restarted you will be able to install Languagetools without trouble.<br />
<br />
Other grammar tools can also be found on the [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List LibrePlanet extension page], on the [https://extensions.libreoffice.org/ official LibreOffice Extensions website] or [https://www.openoffice.org/lingucomponent/grammar.html OpenOffice's Website]. Please note all OpenOffice extensions are guaranteed to work with LibreOffice.<br />
<br />
;French<br />
French-speaking users are advantaged here: they do not need to install LanguageTool nor Java. Dicollecte provides a nice Python extension, specifically designed for Frenchs. You can install it [https://www.dicollecte.org/grammalecte/telecharger.php from the website] or via {{AUR|libreoffice-extension-grammalecte-fr}}. In any case, this extensions also comes with the French dictionaries otherwise provided by {{Pkg|hunspell-fr}}.<br />
<br />
=== Offline help for en-US ===<br />
<br />
As of version 5.2.2, {{Pkg|libreoffice-fresh}} provides the offline help files for en-US. Help files for different locales is provided by the appropriate libreoffice language package, (i.e., {{Pkg|libreoffice-fresh-en-za}} provides the help files for en-ZA locales).<br />
<br />
== Installing macros ==<br />
<br />
If you intend to use macros, you must have a Java Runtime Environment enabled. A Java Runtime Environment is enabled by default, but disabling it [[#Speed up LibreOffice|speeds up the program]].<br />
<br />
The default path for macros in Arch Linux is different from most Linux distributions. Its location is: {{ic|~/.config/libreoffice/4/user/Scripts/}}.<br />
<br />
== Speed up LibreOffice ==<br />
<br />
Some settings may improve LibreOffice's loading time and responsiveness. However, some also increase RAM usage, so use them carefully. They can all be accessed under ''Tools > Options''.<br />
<br />
* Under ''Memory'':<br />
** Reduce the number of Undo steps to a figure lower than 100, to something like 20 or 30 steps<br />
** Under ''Graphics cache'', set Use for LibreOffice to 128&nbsp;MB (up from the original 20&nbsp;MB)<br />
** Set ''Memory per object'' to 20&nbsp;MB (up from the default 5&nbsp;MB).<br />
** If LibreOffice is used often, check ''Enable systray Quickstarter''<br />
* Under ''Advanced'', uncheck ''Use a Java runtime environment''<br />
<br />
{{Note|For a list of functionality written in Java only, see: https://wiki.documentfoundation.org/Development/Java.}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Font substitution ===<br />
<br />
These settings can be changed in the LibreOffice options. From the drop-down menu, select ''Tools > Options > LibreOffice > Fonts''. Check the box that says ''Apply Replacement Table''. Type {{ic|Andale Sans UI}} in the font box and choose your desired font for the ''Replace with'' option. When done, click the ''checkmark''. Then choose the ''Always'' and ''Screen only'' options in the box below. Click OK.<br />
You will then need to go to ''Tools > Options > LibreOffice > View'', and uncheck "Use system font for user interface". If you use a non-antialised font, such as Arial, you will also need to uncheck "Screen font antialiasing" before menu fonts render correctly.<br />
<br />
=== Anti-aliasing ===<br />
<br />
{{Merge|Font configuration}}<br />
<br />
Execute:<br />
<br />
$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge<br />
<br />
To make the change persistent, add {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xresources}} file, and make sure to run {{ic|$ xrdb -merge ~/.Xresources}} ([https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/271283/comments/23 source]). See [[X resources]] for more details.<br />
<br />
If this does not work, you can also try adding {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xdefaults}}. If you do not have this file, you will have to create it.<br />
<br />
=== Hanging when using NFSv3 shares ===<br />
<br />
If LibreOffice hangs when trying to open or save a document located on a NFSv3 share, try prepending the following lines with a {{ic|#}} in {{ic|/usr/lib/libreoffice/program/soffice}}:<br />
<br />
# file locking now enabled by default<br />
SAL_ENABLE_FILE_LOCKING=1<br />
export SAL_ENABLE_FILE_LOCKING<br />
<br />
To avoid overwriting on update you can copy {{ic|/usr/lib/libreoffice/program/soffice}} in {{ic|/usr/local/bin}}. Original post [http://195.110.9.173/computing/debian/bugs/openoffice-over-nfs.jspx here].<br />
<br />
=== LibreOffice does not detect my certificates ===<br />
<br />
If you cannot see the certificates when trying to sign a document, you will need to have the certificates configured in Mozilla Firefox (or Thunderbird). If after that LibreOffice still does not show them, set the {{ic|MOZILLA_CERTIFICATE_FOLDER}} environment variable to point to your Mozilla Firefox (or Thunderbird) folder:<br />
export MOZILLA_CERTIFICATE_FOLDER=$HOME/.mozilla/firefox/XXXXXX.default/<br />
<br />
[https://wiki.openoffice.org/wiki/Certificate_Detection Certificate detection].<br />
<br />
=== Run .pps files in edit mode (without slideshow) ===<br />
<br />
The only solution is to rename the {{ic|.pps}} file to {{ic|.ppt}}.<br />
<br />
Add the following script to your home directory and use it to open every .pps file. Very useful to open {{ic|.pps}} files received by email without the need to save them.<br />
<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
<br />
f=$(mktemp)<br />
cp "$1" "${f}.ppt" && libreoffice "${f}.ppt" && rm -f "${f}.ppt"<br />
</nowiki>}}<br />
<br />
=== Exit while pushing the save button ===<br />
<br />
Try either of the following workarounds:<br />
<br />
* Delete the {{ic|~/.config/libreoffice}} folder. It will erase all the settings linked to LibreOffice and so, LibreOffice will recreate them on the next launch.<br />
* Go to menu Tools > Options > LibreOffice > General and check {{ic|Use LibreOffice dialogs}}.<br />
* The GTK3 integration provided by {{ic|libvclplug_gtk3lo.so}} has been identified as the cause of this problem. [https://forums.opensuse.org/showthread.php/510439-LibreOffice-crashes-when-saving] See [[#Theme]] to use a different VCL, such as {{ic|gtk}}.<br />
<br />
=== Media support ===<br />
<br />
If embedded videos are just gray boxes, make sure to have installed the [[GStreamer#Installation|GStreamer plugins]] required.<br />
<br />
=== Default paper size in Writer and Draw ===<br />
<br />
If the default paper size in blank Writer and Draw documents is persistently incorrect for your locale, try installing the {{Pkg|libpaper}} optional dependency and either updating {{ic|/etc/papersize}} (for a system-wide change) or exporting the {{ic|PAPERSIZE}} environment variable (for a user change) with your preferred paper size. See {{man|5|papersize}}.<br />
<br />
{{Note|{{Pkg|libpaper}} defaults to '''Letter''' paper size if nothing else has been set.}}<br />
<br />
=== LibreOffice toolbars unreadable with dark themes ===<br />
<br />
See https://bugs.documentfoundation.org/show_bug.cgi?id=94632<br />
<br />
To use toolbar icons compatible with dark themes, set [[environment variable]] {{ic|1=VCL_ICONS_FOR_DARK_THEME=1}}<br />
<br />
As an alternative workaround, run ''libreoffice'' with a light theme (e.g. with environment variable {{ic|1=GTK_THEME=Adwaita:light}}).<br />
<br />
=== LibreOffice toolbars unreadable with dark Breeze/Plasma 5 theme ===<br />
<br />
If you do not want to install {{Pkg|breeze-gtk}} change the icon style in ''Tools > Options > LibreOffice > View > Icon Style'' to a readable one provided by LibreOffice.<br />
<br />
Otherwise [[install]] the Breeze theme for [[GTK+]], {{Pkg|breeze-gtk}}, and, if using a LibreOffice version < 5.3.0, the Breeze dark icons for LibreOffice, {{AUR|libreoffice-breeze-icons}}.<br />
<br />
Just enable "Breeze Dark" or another readable icon style in ''Tools > Options > LibreOffice > View > Icon Style'' then.<br />
<br />
If that is not enough, ensure that LibreOffice starts using the {{ic|gtk}} interface - see [[#Theme]].<br />
<br />
If this still does not work correctly, try using the {{ic|gen}} interface instead. [https://bbs.archlinux.org/viewtopic.php?id=206813]<br />
<br />
=== AutoText expected default behaviour not functional in system locales other than en_US ===<br />
<br />
If expected default AutoText behaviour is not present (for example, typing {{ic|fn}} in a document in Writer and then pressing the {{ic|F3}} key does not result in the automatic insertion of a numbered function) when the system locale is not {{ic|en_US}} you need to add the default {{ic|en_US}} AutoText templates to your AutoText path. To do this, go to ''Tools > AutoText'', then click on ''Path...'' and add the following path to the list: {{ic|/usr/lib/libreoffice/share/autotext/en-US}}. AutoText should now work as expected by default.<br />
<br />
== See also ==<br />
<br />
* [https://extensions.libreoffice.org/extensions Libreoffice Extensions]<br />
* [https://extensions.libreoffice.org/templates Libreoffice Templates]<br />
* [[Wikipedia:LibreOffice]]</div>Plphttps://wiki.archlinux.org/index.php?title=LibreOffice&diff=524220LibreOffice2018-06-01T03:56:15Z<p>Plp: Removed warning re time reference</p>
<hr />
<div>[[Category:Office]]<br />
[[ar:LibreOffice]]<br />
[[de:LibreOffice]]<br />
[[es:LibreOffice]]<br />
[[fr:LibreOffice]]<br />
[[it:LibreOffice]]<br />
[[ja:LibreOffice]]<br />
[[ru:LibreOffice]]<br />
[[zh-hans:LibreOffice]]<br />
{{Related articles start}}<br />
{{Related|Apache OpenOffice}}<br />
{{Related articles end}}<br />
<br />
From [https://www.libreoffice.org/ Home - LibreOffice]:<br />
<br />
:''LibreOffice is the free power-packed Open Source personal productivity suite for Windows, Macintosh and Linux, that gives you six feature-rich applications for all your document production and data processing needs: Writer, Calc, Impress, Draw, Math and Base.<br />
<br />
== Installation ==<br />
<br />
[[Install]] one of the following packages: <br />
<br />
* {{Pkg|libreoffice-fresh}} is the feature branch, with new program enhancements.<br />
* {{Pkg|libreoffice-still}} is the maintenance branch.<br />
<br />
{{Note|<br />
* In the past, the installation of at least 1 language pack was required. Currently, LibreOffice detects your system defaults; manual installation of a language pack is no longer mandatory. See [https://help.libreoffice.org/Scalc/cui/ui/optlanguagespage/ignorelanguagechange#User_interface help.libreoffice.org] for additional information.<br />
* If you want the UK-English language pack, install {{Pkg|libreoffice-fresh-en-gb}}, not {{Pkg|libreoffice-fresh-uk}} (Ukrainian) or {{Pkg|libreoffice-fresh-br}} (Breton)!<br />
* For SDK install {{Pkg|libreoffice-fresh-sdk}}.<br />
* For Qt and GTK+ visual integration, see [[#Theme]].<br />
}}<br />
<br />
Check the optional dependencies pacman displays. If you want to use LibreOffice Base, you must install a Java Runtime Environment: see [[Java]]. You may need {{AUR|hsqldb2-java}} to use [https://wiki.documentfoundation.org/Base#Java_and_HSQLDB some modules] in LibreOffice Base.<br />
<br />
== Theme ==<br />
<br />
LibreOffice includes support for [[GTK+]] and [[Qt]] theme integration. See also [[Uniform look for Qt and GTK applications]].<br />
<br />
Toolkit libraries are checked in the following order:<br />
<br />
gtk3 > gtk > kde4 > generic<br />
<br />
To force the use of a certain VCL UI interface, use one of the {{ic|1=SAL_USE_VCLPLUGIN=gen}}, {{ic|1=SAL_USE_VCLPLUGIN=kde4}}, {{ic|1=SAL_USE_VCLPLUGIN=gtk}} or {{ic|1=SAL_USE_VCLPLUGIN=gtk3}} [[environment variables]]. These variables can be uncommented in {{ic|1=/etc/profile.d/libreoffice-fresh.sh}} or {{ic|1=/etc/profile.d/libreoffice-still.sh}}; note that this has no effect using [[LXDE]] desktop environment since the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] is afterwards set to {{ic|1=gtk}} by the script {{ic|1=/usr/bin/startlxde}}. In order to use {{ic|1=gtk3}} toolkit with [[LXDE]] the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] needs to be set after launching the desktop environment.<br />
<br />
However, if it looks like it is using Windows 95/98 icons, go to ''Tools > Options...'' in the menus (which presents the Options Dialog), then select ''LibreOffice > Accessibility'' and uncheck "Automatically detect high-contrast mode of operating system".<br />
<br />
If that does not work immediately, you may need to change the icon set that is in use; this is also in the Options Dialog, under ''LibreOffice > View'' with two pop-up boxes for "Icon size and style" (the latter pop-up box should be changed to something other than "High-contrast").<br />
<br />
=== Firefox themes ===<br />
<br />
LibreOffice can use Firefox themes. Enter LibreOffice options and choose ''Personalization > Select Theme'', then paste the URL of your favourite one. A convenient button in the dialog box lets you open the browser.<br />
<br />
Themes can be found on [https://addons.mozilla.org/firefox/themes/ Mozilla's theme repository].<br />
<br />
=== Disable startup logo ===<br />
<br />
If you prefer to disable the startup logo, open {{ic|/etc/libreoffice/sofficerc}}, find the {{ic|1=Logo=}} line and set {{ic|1=Logo=0}}.<br />
<br />
{{Note|This variable is unrelated with the Logo scripting support.}}<br />
<br />
== Extension management ==<br />
<br />
The following additional extensions are available:<br />
<br />
* {{Pkg|libreoffice-extension-texmaths}}<br />
* {{Pkg|libreoffice-extension-writer2latex}}<br />
<br />
For more extensions, check the [[AUR]], the built-in LibreOffice Extension manager, or [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List libreplanet].<br />
<br />
== Language aids ==<br />
<br />
=== Spell checking ===<br />
<br />
For spell checking, please make sure {{Pkg|hunspell}} is properly installed; this should be the case for both still and fresh LibreOffice versions. Then install a language dictionary for hunspell like {{Pkg|hunspell-en}} for English, {{Pkg|hunspell-de}} for German, etc. Then enable the Writing aids by selecting the check-box in ''Tools -> Options -> Language Settings -> Writing Aids -> Hunspell SpellChecker'' after restarting LibreOffice.<br />
<br />
;Finnish<br />
Unlike other languages, Finnish dictionaries use different naming. These four packages should be installed (in this order): {{Pkg|libvoikko}}, {{AUR|malaga}}, {{AUR|voikko-fi}}, {{AUR|hfstospell}} and {{AUR|voikko-libreoffice}}.<br />
<br />
;Greek<br />
Project [https://sourceforge.net/projects/orthos-spell/?source=directory Orthos] provides more complete Greek spell checkers as Libreoffice extensions. Package {{AUR|libreoffice-extension-orthos-greek-dictionary}} provides a Greek-only spelling dictionary, while {{AUR|libreoffice-extension-orthos-greek-english-dictionary}} provides one that bundles Greek and US English.<br />
<br />
=== Hyphenation rules ===<br />
<br />
For hyphenation rules, you will need {{Pkg|hyphen}} and a language hyphen rule set ({{Pkg|hyphen-en}} for English, {{Pkg|hyphen-de}} for German, etc).<br />
<br />
=== Thesaurus ===<br />
<br />
For the thesaurus option, you will need {{Pkg|libmythes}} and a mythes language thesaurus (like {{Pkg|mythes-en}} for English, {{Pkg|mythes-de}} for German, etc).<br />
<br />
;Greek<br />
For Greek, you may want to try out {{AUR|libreoffice-extension-orthos-greek-thesaurus}}, rather than {{AUR|mythes-el}} which is older.<br />
<br />
=== Grammar checking ===<br />
<br />
{{Accuracy|Unintelligible flow of ideas: LanguageTool ''is'' packaged as a [https://extensions.libreoffice.org/extensions/languagetool LibreOffice extension], the reason for preferring the AUR package does not make sense.}}<br />
<br />
For grammar checking, several tools are available. The most common is [https://www.languagetool.org/ LanguageTool]. While the {{Pkg|languagetool}} is available, it is not packaged as a LibreOffice extension. It is thus recommended to install the LibreOffice extension manually or with {{AUR|libreoffice-extension-languagetool}} instead. Even though the extension comes bundled with LanguageTool, this does not conflict with {{Pkg|languagetool}}.<br />
<br />
After this extension has been installed, please make sure you have a [[Java]] 8 runtime installed ({{Pkg|jre8-openjdk}}). Indeed, Languagetool uses Java and may slow down or briefly hang LibreOffice, particularly while opening documents. Fortunately this is usually only when initially opening a document and is usually not apparent otherwise. Once installed, you want to enable it as the default environment for LibreOffice. To do that go to "Tools" --> "Options" --> "Advanced" and select the appropiate JRE (it will be shown as 1.8.0) then press "Ok". You will be prompted to restart the LibreOffice suite. Once restarted you will be able to install Languagetools without trouble.<br />
<br />
Other grammar tools can also be found on the [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List LibrePlanet extension page], on the [https://extensions.libreoffice.org/ official LibreOffice Extensions website] or [https://www.openoffice.org/lingucomponent/grammar.html OpenOffice's Website]. Please note all OpenOffice extensions are guaranteed to work with LibreOffice.<br />
<br />
;French<br />
French-speaking users are advantaged here: they do not need to install LanguageTool nor Java. Dicollecte provides a nice Python extension, specifically designed for Frenchs. You can install it [https://www.dicollecte.org/grammalecte/telecharger.php from the website] or via {{AUR|libreoffice-extension-grammalecte-fr}}. In any case, this extensions also comes with the French dictionaries otherwise provided by {{Pkg|hunspell-fr}}.<br />
<br />
=== Offline help for en-US ===<br />
<br />
As of version 5.2.2, {{Pkg|libreoffice-fresh}} provides the offline help files for en-US. Help files for different locales is provided by the appropriate libreoffice language package, (i.e., {{Pkg|libreoffice-fresh-en-za}} provides the help files for en-ZA locales).<br />
<br />
== Installing macros ==<br />
<br />
If you intend to use macros, you must have a Java Runtime Environment enabled. A Java Runtime Environment is enabled by default, but disabling it [[#Speed up LibreOffice|speeds up the program]].<br />
<br />
The default path for macros in Arch Linux is different from most Linux distributions. Its location is: {{ic|~/.config/libreoffice/4/user/Scripts/}}.<br />
<br />
== Speed up LibreOffice ==<br />
<br />
Some settings may improve LibreOffice's loading time and responsiveness. However, some also increase RAM usage, so use them carefully. They can all be accessed under ''Tools > Options''.<br />
<br />
* Under ''Memory'':<br />
** Reduce the number of Undo steps to a figure lower than 100, to something like 20 or 30 steps<br />
** Under ''Graphics cache'', set Use for LibreOffice to 128&nbsp;MB (up from the original 20&nbsp;MB)<br />
** Set ''Memory per object'' to 20&nbsp;MB (up from the default 5&nbsp;MB).<br />
** If LibreOffice is used often, check ''Enable systray Quickstarter''<br />
* Under ''Advanced'', uncheck ''Use a Java runtime environment''<br />
<br />
{{Note|For a list of functionality written in Java only, see: https://wiki.documentfoundation.org/Development/Java.}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Font substitution ===<br />
<br />
These settings can be changed in the LibreOffice options. From the drop-down menu, select ''Tools > Options > LibreOffice > Fonts''. Check the box that says ''Apply Replacement Table''. Type {{ic|Andale Sans UI}} in the font box and choose your desired font for the ''Replace with'' option. When done, click the ''checkmark''. Then choose the ''Always'' and ''Screen only'' options in the box below. Click OK.<br />
You will then need to go to ''Tools > Options > LibreOffice > View'', and uncheck "Use system font for user interface". If you use a non-antialised font, such as Arial, you will also need to uncheck "Screen font antialiasing" before menu fonts render correctly.<br />
<br />
=== Anti-aliasing ===<br />
<br />
{{Merge|Font configuration}}<br />
<br />
Execute:<br />
<br />
$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge<br />
<br />
To make the change persistent, add {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xresources}} file, and make sure to run {{ic|$ xrdb -merge ~/.Xresources}} ([https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/271283/comments/23 source]). See [[X resources]] for more details.<br />
<br />
If this does not work, you can also try adding {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xdefaults}}. If you do not have this file, you will have to create it.<br />
<br />
=== Hanging when using NFSv3 shares ===<br />
<br />
If LibreOffice hangs when trying to open or save a document located on a NFSv3 share, try prepending the following lines with a {{ic|#}} in {{ic|/usr/lib/libreoffice/program/soffice}}:<br />
<br />
# file locking now enabled by default<br />
SAL_ENABLE_FILE_LOCKING=1<br />
export SAL_ENABLE_FILE_LOCKING<br />
<br />
To avoid overwriting on update you can copy {{ic|/usr/lib/libreoffice/program/soffice}} in {{ic|/usr/local/bin}}. Original post [http://195.110.9.173/computing/debian/bugs/openoffice-over-nfs.jspx here].<br />
<br />
=== LibreOffice does not detect my certificates ===<br />
<br />
If you cannot see the certificates when trying to sign a document, you will need to have the certificates configured in Mozilla Firefox (or Thunderbird). If after that LibreOffice still does not show them, set the {{ic|MOZILLA_CERTIFICATE_FOLDER}} environment variable to point to your Mozilla Firefox (or Thunderbird) folder:<br />
export MOZILLA_CERTIFICATE_FOLDER=$HOME/.mozilla/firefox/XXXXXX.default/<br />
<br />
[https://wiki.openoffice.org/wiki/Certificate_Detection Certificate detection].<br />
<br />
=== Run .pps files in edit mode (without slideshow) ===<br />
<br />
The only solution is to rename the {{ic|.pps}} file to {{ic|.ppt}}.<br />
<br />
Add the following script to your home directory and use it to open every .pps file. Very useful to open {{ic|.pps}} files received by email without the need to save them.<br />
<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
<br />
f=$(mktemp)<br />
cp "$1" "${f}.ppt" && libreoffice "${f}.ppt" && rm -f "${f}.ppt"<br />
</nowiki>}}<br />
<br />
=== Exit while pushing the save button ===<br />
<br />
Try either of the following workarounds:<br />
<br />
* Delete the {{ic|~/.config/libreoffice}} folder. It will erase all the settings linked to LibreOffice and so, LibreOffice will recreate them on the next launch.<br />
* Go to menu Tools > Options > LibreOffice > General and check {{ic|Use LibreOffice dialogs}}.<br />
* The GTK3 integration provided by {{ic|libvclplug_gtk3lo.so}} has been identified as the cause of this problem. [https://forums.opensuse.org/showthread.php/510439-LibreOffice-crashes-when-saving] See [[#Theme]] to use a different VCL, such as {{ic|gtk}}.<br />
<br />
=== Media support ===<br />
<br />
If embedded videos are just gray boxes, make sure to have installed the [[GStreamer#Installation|GStreamer plugins]] required.<br />
<br />
=== Default paper size in Writer and Draw ===<br />
<br />
If the default paper size in blank Writer and Draw documents is persistently incorrect for your locale, try installing the {{Pkg|libpaper}} optional dependency and either updating {{ic|/etc/papersize}} (for a system-wide change) or exporting the {{ic|PAPERSIZE}} environment variable (for a user change) with your preferred paper size. See {{man|5|papersize}}.<br />
<br />
{{Note|{{Pkg|libpaper}} defaults to '''Letter''' paper size if nothing else has been set.}}<br />
<br />
=== LibreOffice toolbars unreadable with dark themes ===<br />
<br />
See https://bugs.documentfoundation.org/show_bug.cgi?id=94632<br />
<br />
To use toolbar icons compatible with dark themes, set [[environment variable]] {{ic|1=VCL_ICONS_FOR_DARK_THEME=1}}<br />
<br />
As an alternative workaround, run ''libreoffice'' with a light theme (e.g. with environment variable {{ic|1=GTK_THEME=Adwaita:light}}).<br />
<br />
=== LibreOffice toolbars unreadable with dark Breeze/Plasma 5 theme ===<br />
<br />
If you do not want to install {{Pkg|breeze-gtk}} change the icon style in ''Tools > Options > LibreOffice > View > Icon Style'' to a readable one provided by LibreOffice.<br />
<br />
Otherwise [[install]] the Breeze theme for [[GTK+]], {{Pkg|breeze-gtk}}, and, if using a LibreOffice version < 5.3.0, the Breeze dark icons for LibreOffice, {{AUR|libreoffice-breeze-icons}}.<br />
<br />
Just enable "Breeze Dark" or another readable icon style in ''Tools > Options > LibreOffice > View > Icon Style'' then.<br />
<br />
If that is not enough, ensure that LibreOffice starts using the {{ic|gtk}} interface - see [[#Theme]].<br />
<br />
If this still does not work correctly, try using the {{ic|gen}} interface instead. [https://bbs.archlinux.org/viewtopic.php?id=206813]<br />
<br />
=== AutoText expected default behaviour not functional in system locales other than en_US ===<br />
<br />
If expected default AutoText behaviour is not present (for example, typing {{ic|fn}} in a document in Writer and then pressing the {{ic|F3}} key does not result in the automatic insertion of a numbered function) when the system locale is not {{ic|en_US}} you need to add the default {{ic|en_US}} AutoText templates to your AutoText path. To do this, go to ''Tools > AutoText'', then click on ''Path...'' and add the following path to the list: {{ic|/usr/lib/libreoffice/share/autotext/en-US}}. AutoText should now work as expected by default.<br />
<br />
== See also ==<br />
<br />
* [https://extensions.libreoffice.org/extensions Libreoffice Extensions]<br />
* [https://extensions.libreoffice.org/templates Libreoffice Templates]<br />
* [[Wikipedia:LibreOffice]]</div>Plphttps://wiki.archlinux.org/index.php?title=LibreOffice&diff=524219LibreOffice2018-06-01T03:55:43Z<p>Plp: Removed time reference</p>
<hr />
<div>[[Category:Office]]<br />
[[ar:LibreOffice]]<br />
[[de:LibreOffice]]<br />
[[es:LibreOffice]]<br />
[[fr:LibreOffice]]<br />
[[it:LibreOffice]]<br />
[[ja:LibreOffice]]<br />
[[ru:LibreOffice]]<br />
[[zh-hans:LibreOffice]]<br />
{{Related articles start}}<br />
{{Related|Apache OpenOffice}}<br />
{{Related articles end}}<br />
<br />
From [https://www.libreoffice.org/ Home - LibreOffice]:<br />
<br />
:''LibreOffice is the free power-packed Open Source personal productivity suite for Windows, Macintosh and Linux, that gives you six feature-rich applications for all your document production and data processing needs: Writer, Calc, Impress, Draw, Math and Base.<br />
<br />
== Installation ==<br />
<br />
[[Install]] one of the following packages: <br />
<br />
* {{Pkg|libreoffice-fresh}} is the feature branch, with new program enhancements.<br />
* {{Pkg|libreoffice-still}} is the maintenance branch.<br />
<br />
{{Note|<br />
* In the past, the installation of at least 1 language pack was required. Currently, LibreOffice detects your system defaults; manual installation of a language pack is no longer mandatory. See [https://help.libreoffice.org/Scalc/cui/ui/optlanguagespage/ignorelanguagechange#User_interface help.libreoffice.org] for additional information.<br />
* If you want the UK-English language pack, install {{Pkg|libreoffice-fresh-en-gb}}, not {{Pkg|libreoffice-fresh-uk}} (Ukrainian) or {{Pkg|libreoffice-fresh-br}} (Breton)!<br />
* For SDK install {{Pkg|libreoffice-fresh-sdk}}.<br />
* For Qt and GTK+ visual integration, see [[#Theme]].<br />
}}<br />
<br />
Check the optional dependencies pacman displays. If you want to use LibreOffice Base, you must install a Java Runtime Environment: see [[Java]]. You may need {{AUR|hsqldb2-java}} to use [https://wiki.documentfoundation.org/Base#Java_and_HSQLDB some modules] in LibreOffice Base.<br />
<br />
== Theme ==<br />
<br />
LibreOffice includes support for [[GTK+]] and [[Qt]] theme integration. See also [[Uniform look for Qt and GTK applications]].<br />
<br />
Toolkit libraries are checked in the following order:<br />
<br />
gtk3 > gtk > kde4 > generic<br />
<br />
To force the use of a certain VCL UI interface, use one of the {{ic|1=SAL_USE_VCLPLUGIN=gen}}, {{ic|1=SAL_USE_VCLPLUGIN=kde4}}, {{ic|1=SAL_USE_VCLPLUGIN=gtk}} or {{ic|1=SAL_USE_VCLPLUGIN=gtk3}} [[environment variables]]. These variables can be uncommented in {{ic|1=/etc/profile.d/libreoffice-fresh.sh}} or {{ic|1=/etc/profile.d/libreoffice-still.sh}}; note that this has no effect using [[LXDE]] desktop environment since the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] is afterwards set to {{ic|1=gtk}} by the script {{ic|1=/usr/bin/startlxde}}. In order to use {{ic|1=gtk3}} toolkit with [[LXDE]] the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] needs to be set after launching the desktop environment.<br />
<br />
However, if it looks like it is using Windows 95/98 icons, go to ''Tools > Options...'' in the menus (which presents the Options Dialog), then select ''LibreOffice > Accessibility'' and uncheck "Automatically detect high-contrast mode of operating system".<br />
<br />
If that does not work immediately, you may need to change the icon set that is in use; this is also in the Options Dialog, under ''LibreOffice > View'' with two pop-up boxes for "Icon size and style" (the latter pop-up box should be changed to something other than "High-contrast").<br />
<br />
=== Firefox themes ===<br />
<br />
LibreOffice can use Firefox themes. Enter LibreOffice options and choose ''Personalization > Select Theme'', then paste the URL of your favourite one. A convenient button in the dialog box lets you open the browser.<br />
<br />
Themes can be found on [https://addons.mozilla.org/firefox/themes/ Mozilla's theme repository].<br />
<br />
=== Disable startup logo ===<br />
<br />
If you prefer to disable the startup logo, open {{ic|/etc/libreoffice/sofficerc}}, find the {{ic|1=Logo=}} line and set {{ic|1=Logo=0}}.<br />
<br />
{{Note|This variable is unrelated with the Logo scripting support.}}<br />
<br />
== Extension management ==<br />
<br />
The following additional extensions are available:<br />
<br />
* {{Pkg|libreoffice-extension-texmaths}}<br />
* {{Pkg|libreoffice-extension-writer2latex}}<br />
<br />
For more extensions, check the [[AUR]], the built-in LibreOffice Extension manager, or [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List libreplanet].<br />
<br />
== Language aids ==<br />
<br />
=== Spell checking ===<br />
<br />
For spell checking, please make sure {{Pkg|hunspell}} is properly installed; this should be the case for both still and fresh LibreOffice versions. Then install a language dictionary for hunspell like {{Pkg|hunspell-en}} for English, {{Pkg|hunspell-de}} for German, etc. Then enable the Writing aids by selecting the check-box in ''Tools -> Options -> Language Settings -> Writing Aids -> Hunspell SpellChecker'' after restarting LibreOffice.<br />
<br />
;Finnish<br />
Unlike other languages, Finnish dictionaries use different naming. These four packages should be installed (in this order): {{Pkg|libvoikko}}, {{AUR|malaga}}, {{AUR|voikko-fi}}, {{AUR|hfstospell}} and {{AUR|voikko-libreoffice}}.<br />
<br />
;Greek<br />
{{Style|Do not use indefinite time references, see [[Help:Style#Language_register]].}}<br />
Project [https://sourceforge.net/projects/orthos-spell/?source=directory Orthos] provides more complete Greek spell checkers as Libreoffice extensions. Package {{AUR|libreoffice-extension-orthos-greek-dictionary}} provides a Greek-only spelling dictionary, while {{AUR|libreoffice-extension-orthos-greek-english-dictionary}} provides one that bundles Greek and US English.<br />
<br />
=== Hyphenation rules ===<br />
<br />
For hyphenation rules, you will need {{Pkg|hyphen}} and a language hyphen rule set ({{Pkg|hyphen-en}} for English, {{Pkg|hyphen-de}} for German, etc).<br />
<br />
=== Thesaurus ===<br />
<br />
For the thesaurus option, you will need {{Pkg|libmythes}} and a mythes language thesaurus (like {{Pkg|mythes-en}} for English, {{Pkg|mythes-de}} for German, etc).<br />
<br />
;Greek<br />
For Greek, you may want to try out {{AUR|libreoffice-extension-orthos-greek-thesaurus}}, rather than {{AUR|mythes-el}} which is older.<br />
<br />
=== Grammar checking ===<br />
<br />
{{Accuracy|Unintelligible flow of ideas: LanguageTool ''is'' packaged as a [https://extensions.libreoffice.org/extensions/languagetool LibreOffice extension], the reason for preferring the AUR package does not make sense.}}<br />
<br />
For grammar checking, several tools are available. The most common is [https://www.languagetool.org/ LanguageTool]. While the {{Pkg|languagetool}} is available, it is not packaged as a LibreOffice extension. It is thus recommended to install the LibreOffice extension manually or with {{AUR|libreoffice-extension-languagetool}} instead. Even though the extension comes bundled with LanguageTool, this does not conflict with {{Pkg|languagetool}}.<br />
<br />
After this extension has been installed, please make sure you have a [[Java]] 8 runtime installed ({{Pkg|jre8-openjdk}}). Indeed, Languagetool uses Java and may slow down or briefly hang LibreOffice, particularly while opening documents. Fortunately this is usually only when initially opening a document and is usually not apparent otherwise. Once installed, you want to enable it as the default environment for LibreOffice. To do that go to "Tools" --> "Options" --> "Advanced" and select the appropiate JRE (it will be shown as 1.8.0) then press "Ok". You will be prompted to restart the LibreOffice suite. Once restarted you will be able to install Languagetools without trouble.<br />
<br />
Other grammar tools can also be found on the [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List LibrePlanet extension page], on the [https://extensions.libreoffice.org/ official LibreOffice Extensions website] or [https://www.openoffice.org/lingucomponent/grammar.html OpenOffice's Website]. Please note all OpenOffice extensions are guaranteed to work with LibreOffice.<br />
<br />
;French<br />
French-speaking users are advantaged here: they do not need to install LanguageTool nor Java. Dicollecte provides a nice Python extension, specifically designed for Frenchs. You can install it [https://www.dicollecte.org/grammalecte/telecharger.php from the website] or via {{AUR|libreoffice-extension-grammalecte-fr}}. In any case, this extensions also comes with the French dictionaries otherwise provided by {{Pkg|hunspell-fr}}.<br />
<br />
=== Offline help for en-US ===<br />
<br />
As of version 5.2.2, {{Pkg|libreoffice-fresh}} provides the offline help files for en-US. Help files for different locales is provided by the appropriate libreoffice language package, (i.e., {{Pkg|libreoffice-fresh-en-za}} provides the help files for en-ZA locales).<br />
<br />
== Installing macros ==<br />
<br />
If you intend to use macros, you must have a Java Runtime Environment enabled. A Java Runtime Environment is enabled by default, but disabling it [[#Speed up LibreOffice|speeds up the program]].<br />
<br />
The default path for macros in Arch Linux is different from most Linux distributions. Its location is: {{ic|~/.config/libreoffice/4/user/Scripts/}}.<br />
<br />
== Speed up LibreOffice ==<br />
<br />
Some settings may improve LibreOffice's loading time and responsiveness. However, some also increase RAM usage, so use them carefully. They can all be accessed under ''Tools > Options''.<br />
<br />
* Under ''Memory'':<br />
** Reduce the number of Undo steps to a figure lower than 100, to something like 20 or 30 steps<br />
** Under ''Graphics cache'', set Use for LibreOffice to 128&nbsp;MB (up from the original 20&nbsp;MB)<br />
** Set ''Memory per object'' to 20&nbsp;MB (up from the default 5&nbsp;MB).<br />
** If LibreOffice is used often, check ''Enable systray Quickstarter''<br />
* Under ''Advanced'', uncheck ''Use a Java runtime environment''<br />
<br />
{{Note|For a list of functionality written in Java only, see: https://wiki.documentfoundation.org/Development/Java.}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Font substitution ===<br />
<br />
These settings can be changed in the LibreOffice options. From the drop-down menu, select ''Tools > Options > LibreOffice > Fonts''. Check the box that says ''Apply Replacement Table''. Type {{ic|Andale Sans UI}} in the font box and choose your desired font for the ''Replace with'' option. When done, click the ''checkmark''. Then choose the ''Always'' and ''Screen only'' options in the box below. Click OK.<br />
You will then need to go to ''Tools > Options > LibreOffice > View'', and uncheck "Use system font for user interface". If you use a non-antialised font, such as Arial, you will also need to uncheck "Screen font antialiasing" before menu fonts render correctly.<br />
<br />
=== Anti-aliasing ===<br />
<br />
{{Merge|Font configuration}}<br />
<br />
Execute:<br />
<br />
$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge<br />
<br />
To make the change persistent, add {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xresources}} file, and make sure to run {{ic|$ xrdb -merge ~/.Xresources}} ([https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/271283/comments/23 source]). See [[X resources]] for more details.<br />
<br />
If this does not work, you can also try adding {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xdefaults}}. If you do not have this file, you will have to create it.<br />
<br />
=== Hanging when using NFSv3 shares ===<br />
<br />
If LibreOffice hangs when trying to open or save a document located on a NFSv3 share, try prepending the following lines with a {{ic|#}} in {{ic|/usr/lib/libreoffice/program/soffice}}:<br />
<br />
# file locking now enabled by default<br />
SAL_ENABLE_FILE_LOCKING=1<br />
export SAL_ENABLE_FILE_LOCKING<br />
<br />
To avoid overwriting on update you can copy {{ic|/usr/lib/libreoffice/program/soffice}} in {{ic|/usr/local/bin}}. Original post [http://195.110.9.173/computing/debian/bugs/openoffice-over-nfs.jspx here].<br />
<br />
=== LibreOffice does not detect my certificates ===<br />
<br />
If you cannot see the certificates when trying to sign a document, you will need to have the certificates configured in Mozilla Firefox (or Thunderbird). If after that LibreOffice still does not show them, set the {{ic|MOZILLA_CERTIFICATE_FOLDER}} environment variable to point to your Mozilla Firefox (or Thunderbird) folder:<br />
export MOZILLA_CERTIFICATE_FOLDER=$HOME/.mozilla/firefox/XXXXXX.default/<br />
<br />
[https://wiki.openoffice.org/wiki/Certificate_Detection Certificate detection].<br />
<br />
=== Run .pps files in edit mode (without slideshow) ===<br />
<br />
The only solution is to rename the {{ic|.pps}} file to {{ic|.ppt}}.<br />
<br />
Add the following script to your home directory and use it to open every .pps file. Very useful to open {{ic|.pps}} files received by email without the need to save them.<br />
<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
<br />
f=$(mktemp)<br />
cp "$1" "${f}.ppt" && libreoffice "${f}.ppt" && rm -f "${f}.ppt"<br />
</nowiki>}}<br />
<br />
=== Exit while pushing the save button ===<br />
<br />
Try either of the following workarounds:<br />
<br />
* Delete the {{ic|~/.config/libreoffice}} folder. It will erase all the settings linked to LibreOffice and so, LibreOffice will recreate them on the next launch.<br />
* Go to menu Tools > Options > LibreOffice > General and check {{ic|Use LibreOffice dialogs}}.<br />
* The GTK3 integration provided by {{ic|libvclplug_gtk3lo.so}} has been identified as the cause of this problem. [https://forums.opensuse.org/showthread.php/510439-LibreOffice-crashes-when-saving] See [[#Theme]] to use a different VCL, such as {{ic|gtk}}.<br />
<br />
=== Media support ===<br />
<br />
If embedded videos are just gray boxes, make sure to have installed the [[GStreamer#Installation|GStreamer plugins]] required.<br />
<br />
=== Default paper size in Writer and Draw ===<br />
<br />
If the default paper size in blank Writer and Draw documents is persistently incorrect for your locale, try installing the {{Pkg|libpaper}} optional dependency and either updating {{ic|/etc/papersize}} (for a system-wide change) or exporting the {{ic|PAPERSIZE}} environment variable (for a user change) with your preferred paper size. See {{man|5|papersize}}.<br />
<br />
{{Note|{{Pkg|libpaper}} defaults to '''Letter''' paper size if nothing else has been set.}}<br />
<br />
=== LibreOffice toolbars unreadable with dark themes ===<br />
<br />
See https://bugs.documentfoundation.org/show_bug.cgi?id=94632<br />
<br />
To use toolbar icons compatible with dark themes, set [[environment variable]] {{ic|1=VCL_ICONS_FOR_DARK_THEME=1}}<br />
<br />
As an alternative workaround, run ''libreoffice'' with a light theme (e.g. with environment variable {{ic|1=GTK_THEME=Adwaita:light}}).<br />
<br />
=== LibreOffice toolbars unreadable with dark Breeze/Plasma 5 theme ===<br />
<br />
If you do not want to install {{Pkg|breeze-gtk}} change the icon style in ''Tools > Options > LibreOffice > View > Icon Style'' to a readable one provided by LibreOffice.<br />
<br />
Otherwise [[install]] the Breeze theme for [[GTK+]], {{Pkg|breeze-gtk}}, and, if using a LibreOffice version < 5.3.0, the Breeze dark icons for LibreOffice, {{AUR|libreoffice-breeze-icons}}.<br />
<br />
Just enable "Breeze Dark" or another readable icon style in ''Tools > Options > LibreOffice > View > Icon Style'' then.<br />
<br />
If that is not enough, ensure that LibreOffice starts using the {{ic|gtk}} interface - see [[#Theme]].<br />
<br />
If this still does not work correctly, try using the {{ic|gen}} interface instead. [https://bbs.archlinux.org/viewtopic.php?id=206813]<br />
<br />
=== AutoText expected default behaviour not functional in system locales other than en_US ===<br />
<br />
If expected default AutoText behaviour is not present (for example, typing {{ic|fn}} in a document in Writer and then pressing the {{ic|F3}} key does not result in the automatic insertion of a numbered function) when the system locale is not {{ic|en_US}} you need to add the default {{ic|en_US}} AutoText templates to your AutoText path. To do this, go to ''Tools > AutoText'', then click on ''Path...'' and add the following path to the list: {{ic|/usr/lib/libreoffice/share/autotext/en-US}}. AutoText should now work as expected by default.<br />
<br />
== See also ==<br />
<br />
* [https://extensions.libreoffice.org/extensions Libreoffice Extensions]<br />
* [https://extensions.libreoffice.org/templates Libreoffice Templates]<br />
* [[Wikipedia:LibreOffice]]</div>Plphttps://wiki.archlinux.org/index.php?title=LibreOffice&diff=524054LibreOffice2018-05-31T07:31:31Z<p>Plp: Added reference to Orthos thesaurus package</p>
<hr />
<div>[[Category:Office]]<br />
[[ar:LibreOffice]]<br />
[[de:LibreOffice]]<br />
[[es:LibreOffice]]<br />
[[fr:LibreOffice]]<br />
[[it:LibreOffice]]<br />
[[ja:LibreOffice]]<br />
[[ru:LibreOffice]]<br />
[[zh-hans:LibreOffice]]<br />
{{Related articles start}}<br />
{{Related|Apache OpenOffice}}<br />
{{Related articles end}}<br />
<br />
From [https://www.libreoffice.org/ Home - LibreOffice]:<br />
<br />
:''LibreOffice is the free power-packed Open Source personal productivity suite for Windows, Macintosh and Linux, that gives you six feature-rich applications for all your document production and data processing needs: Writer, Calc, Impress, Draw, Math and Base.<br />
<br />
== Installation ==<br />
<br />
[[Install]] one of the following packages: <br />
<br />
* {{Pkg|libreoffice-fresh}} is the feature branch, with new program enhancements.<br />
* {{Pkg|libreoffice-still}} is the maintenance branch.<br />
<br />
{{Note|<br />
* In the past, the installation of at least 1 language pack was required. Currently, LibreOffice detects your system defaults; manual installation of a language pack is no longer mandatory. See [https://help.libreoffice.org/Scalc/cui/ui/optlanguagespage/ignorelanguagechange#User_interface help.libreoffice.org] for additional information.<br />
* If you want the UK-English language pack, install {{Pkg|libreoffice-fresh-en-gb}}, not {{Pkg|libreoffice-fresh-uk}} (Ukrainian) or {{Pkg|libreoffice-fresh-br}} (Breton)!<br />
* For SDK install {{Pkg|libreoffice-fresh-sdk}}.<br />
* For Qt and GTK+ visual integration, see [[#Theme]].<br />
}}<br />
<br />
Check the optional dependencies pacman displays. If you want to use LibreOffice Base, you must install a Java Runtime Environment: see [[Java]]. You may need {{AUR|hsqldb2-java}} to use [https://wiki.documentfoundation.org/Base#Java_and_HSQLDB some modules] in LibreOffice Base.<br />
<br />
== Theme ==<br />
<br />
LibreOffice includes support for [[GTK+]] and [[Qt]] theme integration. See also [[Uniform look for Qt and GTK applications]].<br />
<br />
Toolkit libraries are checked in the following order:<br />
<br />
gtk3 > gtk > kde4 > generic<br />
<br />
To force the use of a certain VCL UI interface, use one of the {{ic|1=SAL_USE_VCLPLUGIN=gen}}, {{ic|1=SAL_USE_VCLPLUGIN=kde4}}, {{ic|1=SAL_USE_VCLPLUGIN=gtk}} or {{ic|1=SAL_USE_VCLPLUGIN=gtk3}} [[environment variables]]. These variables can be uncommented in {{ic|1=/etc/profile.d/libreoffice-fresh.sh}} or {{ic|1=/etc/profile.d/libreoffice-still.sh}}; note that this has no effect using [[LXDE]] desktop environment since the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] is afterwards set to {{ic|1=gtk}} by the script {{ic|1=/usr/bin/startlxde}}. In order to use {{ic|1=gtk3}} toolkit with [[LXDE]] the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] needs to be set after launching the desktop environment.<br />
<br />
However, if it looks like it is using Windows 95/98 icons, go to ''Tools > Options...'' in the menus (which presents the Options Dialog), then select ''LibreOffice > Accessibility'' and uncheck "Automatically detect high-contrast mode of operating system".<br />
<br />
If that does not work immediately, you may need to change the icon set that is in use; this is also in the Options Dialog, under ''LibreOffice > View'' with two pop-up boxes for "Icon size and style" (the latter pop-up box should be changed to something other than "High-contrast").<br />
<br />
=== Firefox themes ===<br />
<br />
LibreOffice can use Firefox themes. Enter LibreOffice options and choose ''Personalization > Select Theme'', then paste the URL of your favourite one. A convenient button in the dialog box lets you open the browser.<br />
<br />
Themes can be found on [https://addons.mozilla.org/firefox/themes/ Mozilla's theme repository].<br />
<br />
=== Disable startup logo ===<br />
<br />
If you prefer to disable the startup logo, open {{ic|/etc/libreoffice/sofficerc}}, find the {{ic|1=Logo=}} line and set {{ic|1=Logo=0}}.<br />
<br />
{{Note|This variable is unrelated with the Logo scripting support.}}<br />
<br />
== Extension management ==<br />
<br />
The following additional extensions are available:<br />
<br />
* {{Pkg|libreoffice-extension-texmaths}}<br />
* {{Pkg|libreoffice-extension-writer2latex}}<br />
<br />
For more extensions, check the [[AUR]], the built-in LibreOffice Extension manager, or [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List libreplanet].<br />
<br />
== Language aids ==<br />
<br />
=== Spell checking ===<br />
<br />
For spell checking, please make sure {{Pkg|hunspell}} is properly installed; this should be the case for both still and fresh LibreOffice versions. Then install a language dictionary for hunspell like {{Pkg|hunspell-en}} for English, {{Pkg|hunspell-de}} for German, etc. Then enable the Writing aids by selecting the check-box in ''Tools -> Options -> Language Settings -> Writing Aids -> Hunspell SpellChecker'' after restarting LibreOffice.<br />
<br />
;Finnish<br />
Unlike other languages, Finnish dictionaries use different naming. These four packages should be installed (in this order): {{Pkg|libvoikko}}, {{AUR|malaga}}, {{AUR|voikko-fi}}, {{AUR|hfstospell}} and {{AUR|voikko-libreoffice}}.<br />
<br />
;Greek<br />
A new project called [https://sourceforge.net/projects/orthos-spell/?source=directory Orthos] provides more up-to-date Greek spell checkers as Libreoffice extensions. Package {{AUR|libreoffice-extension-orthos-greek-dictionary}} provides a Greek-only spelling dictionary, while {{AUR|libreoffice-extension-orthos-greek-english-dictionary}} provides one that bundles Greek and US English.<br />
<br />
=== Hyphenation rules ===<br />
<br />
For hyphenation rules, you will need {{Pkg|hyphen}} and a language hyphen rule set ({{Pkg|hyphen-en}} for English, {{Pkg|hyphen-de}} for German, etc).<br />
<br />
=== Thesaurus ===<br />
<br />
For the thesaurus option, you will need {{Pkg|libmythes}} and a mythes language thesaurus (like {{Pkg|mythes-en}} for English, {{Pkg|mythes-de}} for German, etc).<br />
<br />
;Greek<br />
For Greek, you may want to try out {{AUR|libreoffice-extension-orthos-greek-thesaurus}}, rather than {{AUR|mythes-el}} which is older.<br />
<br />
=== Grammar checking ===<br />
<br />
{{Accuracy|Unintelligible flow of ideas: LanguageTool ''is'' packaged as a [https://extensions.libreoffice.org/extensions/languagetool LibreOffice extension], the reason for preferring the AUR package does not make sense.}}<br />
<br />
For grammar checking, several tools are available. The most common is [https://www.languagetool.org/ LanguageTool]. While the {{Pkg|languagetool}} is available, it is not packaged as a LibreOffice extension. It is thus recommended to install the LibreOffice extension manually or with {{AUR|libreoffice-extension-languagetool}} instead. Even though the extension comes bundled with LanguageTool, this does not conflict with {{Pkg|languagetool}}.<br />
<br />
After this extension has been installed, please make sure you have a [[Java]] 8 runtime installed ({{Pkg|jre8-openjdk}}). Indeed, Languagetool uses Java and may slow down or briefly hang LibreOffice, particularly while opening documents. Fortunately this is usually only when initially opening a document and is usually not apparent otherwise. Once installed, you want to enable it as the default environment for LibreOffice. To do that go to "Tools" --> "Options" --> "Advanced" and select the appropiate JRE (it will be shown as 1.8.0) then press "Ok". You will be prompted to restart the LibreOffice suite. Once restarted you will be able to install Languagetools without trouble.<br />
<br />
Other grammar tools can also be found on the [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List LibrePlanet extension page], on the [https://extensions.libreoffice.org/ official LibreOffice Extensions website] or [https://www.openoffice.org/lingucomponent/grammar.html OpenOffice's Website]. Please note all OpenOffice extensions are guaranteed to work with LibreOffice.<br />
<br />
;French<br />
French-speaking users are advantaged here: they do not need to install LanguageTool nor Java. Dicollecte provides a nice Python extension, specifically designed for Frenchs. You can install it [https://www.dicollecte.org/grammalecte/telecharger.php from the website] or via {{AUR|libreoffice-extension-grammalecte-fr}}. In any case, this extensions also comes with the French dictionaries otherwise provided by {{Pkg|hunspell-fr}}.<br />
<br />
=== Offline help for en-US ===<br />
<br />
As of version 5.2.2, {{Pkg|libreoffice-fresh}} provides the offline help files for en-US. Help files for different locales is provided by the appropriate libreoffice language package, (i.e., {{Pkg|libreoffice-fresh-en-za}} provides the help files for en-ZA locales).<br />
<br />
== Installing macros ==<br />
<br />
If you intend to use macros, you must have a Java Runtime Environment enabled. A Java Runtime Environment is enabled by default, but disabling it [[#Speed up LibreOffice|speeds up the program]].<br />
<br />
The default path for macros in Arch Linux is different from most Linux distributions. Its location is: {{ic|~/.config/libreoffice/4/user/Scripts/}}.<br />
<br />
== Speed up LibreOffice ==<br />
<br />
Some settings may improve LibreOffice's loading time and responsiveness. However, some also increase RAM usage, so use them carefully. They can all be accessed under ''Tools > Options''.<br />
<br />
* Under ''Memory'':<br />
** Reduce the number of Undo steps to a figure lower than 100, to something like 20 or 30 steps<br />
** Under ''Graphics cache'', set Use for LibreOffice to 128&nbsp;MB (up from the original 20&nbsp;MB)<br />
** Set ''Memory per object'' to 20&nbsp;MB (up from the default 5&nbsp;MB).<br />
** If LibreOffice is used often, check ''Enable systray Quickstarter''<br />
* Under ''Advanced'', uncheck ''Use a Java runtime environment''<br />
<br />
{{Note|For a list of functionality written in Java only, see: https://wiki.documentfoundation.org/Development/Java.}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Font substitution ===<br />
<br />
These settings can be changed in the LibreOffice options. From the drop-down menu, select ''Tools > Options > LibreOffice > Fonts''. Check the box that says ''Apply Replacement Table''. Type {{ic|Andale Sans UI}} in the font box and choose your desired font for the ''Replace with'' option. When done, click the ''checkmark''. Then choose the ''Always'' and ''Screen only'' options in the box below. Click OK.<br />
You will then need to go to ''Tools > Options > LibreOffice > View'', and uncheck "Use system font for user interface". If you use a non-antialised font, such as Arial, you will also need to uncheck "Screen font antialiasing" before menu fonts render correctly.<br />
<br />
=== Anti-aliasing ===<br />
<br />
{{Merge|Font configuration}}<br />
<br />
Execute:<br />
<br />
$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge<br />
<br />
To make the change persistent, add {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xresources}} file, and make sure to run {{ic|$ xrdb -merge ~/.Xresources}} ([https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/271283/comments/23 source]). See [[X resources]] for more details.<br />
<br />
If this does not work, you can also try adding {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xdefaults}}. If you do not have this file, you will have to create it.<br />
<br />
=== Hanging when using NFSv3 shares ===<br />
<br />
If LibreOffice hangs when trying to open or save a document located on a NFSv3 share, try prepending the following lines with a {{ic|#}} in {{ic|/usr/lib/libreoffice/program/soffice}}:<br />
<br />
# file locking now enabled by default<br />
SAL_ENABLE_FILE_LOCKING=1<br />
export SAL_ENABLE_FILE_LOCKING<br />
<br />
To avoid overwriting on update you can copy {{ic|/usr/lib/libreoffice/program/soffice}} in {{ic|/usr/local/bin}}. Original post [http://195.110.9.173/computing/debian/bugs/openoffice-over-nfs.jspx here].<br />
<br />
=== LibreOffice does not detect my certificates ===<br />
<br />
If you cannot see the certificates when trying to sign a document, you will need to have the certificates configured in Mozilla Firefox (or Thunderbird). If after that LibreOffice still does not show them, set the {{ic|MOZILLA_CERTIFICATE_FOLDER}} environment variable to point to your Mozilla Firefox (or Thunderbird) folder:<br />
export MOZILLA_CERTIFICATE_FOLDER=$HOME/.mozilla/firefox/XXXXXX.default/<br />
<br />
[https://wiki.openoffice.org/wiki/Certificate_Detection Certificate detection].<br />
<br />
=== Run .pps files in edit mode (without slideshow) ===<br />
<br />
The only solution is to rename the {{ic|.pps}} file to {{ic|.ppt}}.<br />
<br />
Add the following script to your home directory and use it to open every .pps file. Very useful to open {{ic|.pps}} files received by email without the need to save them.<br />
<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
<br />
f=$(mktemp)<br />
cp "$1" "${f}.ppt" && libreoffice "${f}.ppt" && rm -f "${f}.ppt"<br />
</nowiki>}}<br />
<br />
=== Exit while pushing the save button ===<br />
<br />
Try either of the following workarounds:<br />
<br />
* Delete the {{ic|~/.config/libreoffice}} folder. It will erase all the settings linked to LibreOffice and so, LibreOffice will recreate them on the next launch.<br />
* Go to menu Tools > Options > LibreOffice > General and check {{ic|Use LibreOffice dialogs}}.<br />
* The GTK3 integration provided by {{ic|libvclplug_gtk3lo.so}} has been identified as the cause of this problem. [https://forums.opensuse.org/showthread.php/510439-LibreOffice-crashes-when-saving] See [[#Theme]] to use a different VCL, such as {{ic|gtk}}.<br />
<br />
=== Media support ===<br />
<br />
If embedded videos are just gray boxes, make sure to have installed the [[GStreamer#Installation|GStreamer plugins]] required.<br />
<br />
=== Default paper size in Writer and Draw ===<br />
<br />
If the default paper size in blank Writer and Draw documents is persistently incorrect for your locale, try installing the {{Pkg|libpaper}} optional dependency and either updating {{ic|/etc/papersize}} (for a system-wide change) or exporting the {{ic|PAPERSIZE}} environment variable (for a user change) with your preferred paper size. See {{man|5|papersize}}.<br />
<br />
{{Note|{{Pkg|libpaper}} defaults to '''Letter''' paper size if nothing else has been set.}}<br />
<br />
=== LibreOffice toolbars unreadable with dark themes ===<br />
<br />
See https://bugs.documentfoundation.org/show_bug.cgi?id=94632<br />
<br />
To use toolbar icons compatible with dark themes, set [[environment variable]] {{ic|1=VCL_ICONS_FOR_DARK_THEME=1}}<br />
<br />
As an alternative workaround, run ''libreoffice'' with a light theme (e.g. with environment variable {{ic|1=GTK_THEME=Adwaita:light}}).<br />
<br />
=== LibreOffice toolbars unreadable with dark Breeze/Plasma 5 theme ===<br />
<br />
If you do not want to install {{Pkg|breeze-gtk}} change the icon style in ''Tools > Options > LibreOffice > View > Icon Style'' to a readable one provided by LibreOffice.<br />
<br />
Otherwise [[install]] the Breeze theme for [[GTK+]], {{Pkg|breeze-gtk}}, and, if using a LibreOffice version < 5.3.0, the Breeze dark icons for LibreOffice, {{AUR|libreoffice-breeze-icons}}.<br />
<br />
Just enable "Breeze Dark" or another readable icon style in ''Tools > Options > LibreOffice > View > Icon Style'' then.<br />
<br />
If that is not enough, ensure that LibreOffice starts using the {{ic|gtk}} interface - see [[#Theme]].<br />
<br />
If this still does not work correctly, try using the {{ic|gen}} interface instead. [https://bbs.archlinux.org/viewtopic.php?id=206813]<br />
<br />
=== AutoText expected default behaviour not functional in system locales other than en_US ===<br />
<br />
If expected default AutoText behaviour is not present (for example, typing {{ic|fn}} in a document in Writer and then pressing the {{ic|F3}} key does not result in the automatic insertion of a numbered function) when the system locale is not {{ic|en_US}} you need to add the default {{ic|en_US}} AutoText templates to your AutoText path. To do this, go to ''Tools > AutoText'', then click on ''Path...'' and add the following path to the list: {{ic|/usr/lib/libreoffice/share/autotext/en-US}}. AutoText should now work as expected by default.<br />
<br />
== See also ==<br />
<br />
* [https://extensions.libreoffice.org/extensions Libreoffice Extensions]<br />
* [https://extensions.libreoffice.org/templates Libreoffice Templates]<br />
* [[Wikipedia:LibreOffice]]</div>Plphttps://wiki.archlinux.org/index.php?title=LibreOffice&diff=524053LibreOffice2018-05-31T07:29:31Z<p>Plp: Added reference to Orthos packages for Greek spell checking</p>
<hr />
<div>[[Category:Office]]<br />
[[ar:LibreOffice]]<br />
[[de:LibreOffice]]<br />
[[es:LibreOffice]]<br />
[[fr:LibreOffice]]<br />
[[it:LibreOffice]]<br />
[[ja:LibreOffice]]<br />
[[ru:LibreOffice]]<br />
[[zh-hans:LibreOffice]]<br />
{{Related articles start}}<br />
{{Related|Apache OpenOffice}}<br />
{{Related articles end}}<br />
<br />
From [https://www.libreoffice.org/ Home - LibreOffice]:<br />
<br />
:''LibreOffice is the free power-packed Open Source personal productivity suite for Windows, Macintosh and Linux, that gives you six feature-rich applications for all your document production and data processing needs: Writer, Calc, Impress, Draw, Math and Base.<br />
<br />
== Installation ==<br />
<br />
[[Install]] one of the following packages: <br />
<br />
* {{Pkg|libreoffice-fresh}} is the feature branch, with new program enhancements.<br />
* {{Pkg|libreoffice-still}} is the maintenance branch.<br />
<br />
{{Note|<br />
* In the past, the installation of at least 1 language pack was required. Currently, LibreOffice detects your system defaults; manual installation of a language pack is no longer mandatory. See [https://help.libreoffice.org/Scalc/cui/ui/optlanguagespage/ignorelanguagechange#User_interface help.libreoffice.org] for additional information.<br />
* If you want the UK-English language pack, install {{Pkg|libreoffice-fresh-en-gb}}, not {{Pkg|libreoffice-fresh-uk}} (Ukrainian) or {{Pkg|libreoffice-fresh-br}} (Breton)!<br />
* For SDK install {{Pkg|libreoffice-fresh-sdk}}.<br />
* For Qt and GTK+ visual integration, see [[#Theme]].<br />
}}<br />
<br />
Check the optional dependencies pacman displays. If you want to use LibreOffice Base, you must install a Java Runtime Environment: see [[Java]]. You may need {{AUR|hsqldb2-java}} to use [https://wiki.documentfoundation.org/Base#Java_and_HSQLDB some modules] in LibreOffice Base.<br />
<br />
== Theme ==<br />
<br />
LibreOffice includes support for [[GTK+]] and [[Qt]] theme integration. See also [[Uniform look for Qt and GTK applications]].<br />
<br />
Toolkit libraries are checked in the following order:<br />
<br />
gtk3 > gtk > kde4 > generic<br />
<br />
To force the use of a certain VCL UI interface, use one of the {{ic|1=SAL_USE_VCLPLUGIN=gen}}, {{ic|1=SAL_USE_VCLPLUGIN=kde4}}, {{ic|1=SAL_USE_VCLPLUGIN=gtk}} or {{ic|1=SAL_USE_VCLPLUGIN=gtk3}} [[environment variables]]. These variables can be uncommented in {{ic|1=/etc/profile.d/libreoffice-fresh.sh}} or {{ic|1=/etc/profile.d/libreoffice-still.sh}}; note that this has no effect using [[LXDE]] desktop environment since the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] is afterwards set to {{ic|1=gtk}} by the script {{ic|1=/usr/bin/startlxde}}. In order to use {{ic|1=gtk3}} toolkit with [[LXDE]] the {{ic|1=SAL_USE_VCLPLUGIN}} [[environment variable]] needs to be set after launching the desktop environment.<br />
<br />
However, if it looks like it is using Windows 95/98 icons, go to ''Tools > Options...'' in the menus (which presents the Options Dialog), then select ''LibreOffice > Accessibility'' and uncheck "Automatically detect high-contrast mode of operating system".<br />
<br />
If that does not work immediately, you may need to change the icon set that is in use; this is also in the Options Dialog, under ''LibreOffice > View'' with two pop-up boxes for "Icon size and style" (the latter pop-up box should be changed to something other than "High-contrast").<br />
<br />
=== Firefox themes ===<br />
<br />
LibreOffice can use Firefox themes. Enter LibreOffice options and choose ''Personalization > Select Theme'', then paste the URL of your favourite one. A convenient button in the dialog box lets you open the browser.<br />
<br />
Themes can be found on [https://addons.mozilla.org/firefox/themes/ Mozilla's theme repository].<br />
<br />
=== Disable startup logo ===<br />
<br />
If you prefer to disable the startup logo, open {{ic|/etc/libreoffice/sofficerc}}, find the {{ic|1=Logo=}} line and set {{ic|1=Logo=0}}.<br />
<br />
{{Note|This variable is unrelated with the Logo scripting support.}}<br />
<br />
== Extension management ==<br />
<br />
The following additional extensions are available:<br />
<br />
* {{Pkg|libreoffice-extension-texmaths}}<br />
* {{Pkg|libreoffice-extension-writer2latex}}<br />
<br />
For more extensions, check the [[AUR]], the built-in LibreOffice Extension manager, or [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List libreplanet].<br />
<br />
== Language aids ==<br />
<br />
=== Spell checking ===<br />
<br />
For spell checking, please make sure {{Pkg|hunspell}} is properly installed; this should be the case for both still and fresh LibreOffice versions. Then install a language dictionary for hunspell like {{Pkg|hunspell-en}} for English, {{Pkg|hunspell-de}} for German, etc. Then enable the Writing aids by selecting the check-box in ''Tools -> Options -> Language Settings -> Writing Aids -> Hunspell SpellChecker'' after restarting LibreOffice.<br />
<br />
;Finnish<br />
Unlike other languages, Finnish dictionaries use different naming. These four packages should be installed (in this order): {{Pkg|libvoikko}}, {{AUR|malaga}}, {{AUR|voikko-fi}}, {{AUR|hfstospell}} and {{AUR|voikko-libreoffice}}.<br />
<br />
;Greek<br />
A new project called [https://sourceforge.net/projects/orthos-spell/?source=directory Orthos] provides more up-to-date Greek spell checkers as Libreoffice extensions. Package {{AUR|libreoffice-extension-orthos-greek-dictionary}} provides a Greek-only spelling dictionary, while {{AUR|libreoffice-extension-orthos-greek-english-dictionary}} provides one that bundles Greek and US English.<br />
<br />
=== Hyphenation rules ===<br />
<br />
For hyphenation rules, you will need {{Pkg|hyphen}} and a language hyphen rule set ({{Pkg|hyphen-en}} for English, {{Pkg|hyphen-de}} for German, etc).<br />
<br />
=== Thesaurus ===<br />
<br />
For the thesaurus option, you will need {{Pkg|libmythes}} and a mythes language thesaurus (like {{Pkg|mythes-en}} for English, {{Pkg|mythes-de}} for German, etc).<br />
<br />
=== Grammar checking ===<br />
<br />
{{Accuracy|Unintelligible flow of ideas: LanguageTool ''is'' packaged as a [https://extensions.libreoffice.org/extensions/languagetool LibreOffice extension], the reason for preferring the AUR package does not make sense.}}<br />
<br />
For grammar checking, several tools are available. The most common is [https://www.languagetool.org/ LanguageTool]. While the {{Pkg|languagetool}} is available, it is not packaged as a LibreOffice extension. It is thus recommended to install the LibreOffice extension manually or with {{AUR|libreoffice-extension-languagetool}} instead. Even though the extension comes bundled with LanguageTool, this does not conflict with {{Pkg|languagetool}}.<br />
<br />
After this extension has been installed, please make sure you have a [[Java]] 8 runtime installed ({{Pkg|jre8-openjdk}}). Indeed, Languagetool uses Java and may slow down or briefly hang LibreOffice, particularly while opening documents. Fortunately this is usually only when initially opening a document and is usually not apparent otherwise. Once installed, you want to enable it as the default environment for LibreOffice. To do that go to "Tools" --> "Options" --> "Advanced" and select the appropiate JRE (it will be shown as 1.8.0) then press "Ok". You will be prompted to restart the LibreOffice suite. Once restarted you will be able to install Languagetools without trouble.<br />
<br />
Other grammar tools can also be found on the [https://libreplanet.org/wiki/Group:OpenOfficeExtensions/List LibrePlanet extension page], on the [https://extensions.libreoffice.org/ official LibreOffice Extensions website] or [https://www.openoffice.org/lingucomponent/grammar.html OpenOffice's Website]. Please note all OpenOffice extensions are guaranteed to work with LibreOffice.<br />
<br />
;French<br />
French-speaking users are advantaged here: they do not need to install LanguageTool nor Java. Dicollecte provides a nice Python extension, specifically designed for Frenchs. You can install it [https://www.dicollecte.org/grammalecte/telecharger.php from the website] or via {{AUR|libreoffice-extension-grammalecte-fr}}. In any case, this extensions also comes with the French dictionaries otherwise provided by {{Pkg|hunspell-fr}}.<br />
<br />
=== Offline help for en-US ===<br />
<br />
As of version 5.2.2, {{Pkg|libreoffice-fresh}} provides the offline help files for en-US. Help files for different locales is provided by the appropriate libreoffice language package, (i.e., {{Pkg|libreoffice-fresh-en-za}} provides the help files for en-ZA locales).<br />
<br />
== Installing macros ==<br />
<br />
If you intend to use macros, you must have a Java Runtime Environment enabled. A Java Runtime Environment is enabled by default, but disabling it [[#Speed up LibreOffice|speeds up the program]].<br />
<br />
The default path for macros in Arch Linux is different from most Linux distributions. Its location is: {{ic|~/.config/libreoffice/4/user/Scripts/}}.<br />
<br />
== Speed up LibreOffice ==<br />
<br />
Some settings may improve LibreOffice's loading time and responsiveness. However, some also increase RAM usage, so use them carefully. They can all be accessed under ''Tools > Options''.<br />
<br />
* Under ''Memory'':<br />
** Reduce the number of Undo steps to a figure lower than 100, to something like 20 or 30 steps<br />
** Under ''Graphics cache'', set Use for LibreOffice to 128&nbsp;MB (up from the original 20&nbsp;MB)<br />
** Set ''Memory per object'' to 20&nbsp;MB (up from the default 5&nbsp;MB).<br />
** If LibreOffice is used often, check ''Enable systray Quickstarter''<br />
* Under ''Advanced'', uncheck ''Use a Java runtime environment''<br />
<br />
{{Note|For a list of functionality written in Java only, see: https://wiki.documentfoundation.org/Development/Java.}}<br />
<br />
== Troubleshooting ==<br />
<br />
=== Font substitution ===<br />
<br />
These settings can be changed in the LibreOffice options. From the drop-down menu, select ''Tools > Options > LibreOffice > Fonts''. Check the box that says ''Apply Replacement Table''. Type {{ic|Andale Sans UI}} in the font box and choose your desired font for the ''Replace with'' option. When done, click the ''checkmark''. Then choose the ''Always'' and ''Screen only'' options in the box below. Click OK.<br />
You will then need to go to ''Tools > Options > LibreOffice > View'', and uncheck "Use system font for user interface". If you use a non-antialised font, such as Arial, you will also need to uncheck "Screen font antialiasing" before menu fonts render correctly.<br />
<br />
=== Anti-aliasing ===<br />
<br />
{{Merge|Font configuration}}<br />
<br />
Execute:<br />
<br />
$ echo "Xft.lcdfilter: lcddefault" | xrdb -merge<br />
<br />
To make the change persistent, add {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xresources}} file, and make sure to run {{ic|$ xrdb -merge ~/.Xresources}} ([https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/271283/comments/23 source]). See [[X resources]] for more details.<br />
<br />
If this does not work, you can also try adding {{ic|Xft.lcdfilter: lcddefault}} to your {{ic|~/.Xdefaults}}. If you do not have this file, you will have to create it.<br />
<br />
=== Hanging when using NFSv3 shares ===<br />
<br />
If LibreOffice hangs when trying to open or save a document located on a NFSv3 share, try prepending the following lines with a {{ic|#}} in {{ic|/usr/lib/libreoffice/program/soffice}}:<br />
<br />
# file locking now enabled by default<br />
SAL_ENABLE_FILE_LOCKING=1<br />
export SAL_ENABLE_FILE_LOCKING<br />
<br />
To avoid overwriting on update you can copy {{ic|/usr/lib/libreoffice/program/soffice}} in {{ic|/usr/local/bin}}. Original post [http://195.110.9.173/computing/debian/bugs/openoffice-over-nfs.jspx here].<br />
<br />
=== LibreOffice does not detect my certificates ===<br />
<br />
If you cannot see the certificates when trying to sign a document, you will need to have the certificates configured in Mozilla Firefox (or Thunderbird). If after that LibreOffice still does not show them, set the {{ic|MOZILLA_CERTIFICATE_FOLDER}} environment variable to point to your Mozilla Firefox (or Thunderbird) folder:<br />
export MOZILLA_CERTIFICATE_FOLDER=$HOME/.mozilla/firefox/XXXXXX.default/<br />
<br />
[https://wiki.openoffice.org/wiki/Certificate_Detection Certificate detection].<br />
<br />
=== Run .pps files in edit mode (without slideshow) ===<br />
<br />
The only solution is to rename the {{ic|.pps}} file to {{ic|.ppt}}.<br />
<br />
Add the following script to your home directory and use it to open every .pps file. Very useful to open {{ic|.pps}} files received by email without the need to save them.<br />
<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
<br />
f=$(mktemp)<br />
cp "$1" "${f}.ppt" && libreoffice "${f}.ppt" && rm -f "${f}.ppt"<br />
</nowiki>}}<br />
<br />
=== Exit while pushing the save button ===<br />
<br />
Try either of the following workarounds:<br />
<br />
* Delete the {{ic|~/.config/libreoffice}} folder. It will erase all the settings linked to LibreOffice and so, LibreOffice will recreate them on the next launch.<br />
* Go to menu Tools > Options > LibreOffice > General and check {{ic|Use LibreOffice dialogs}}.<br />
* The GTK3 integration provided by {{ic|libvclplug_gtk3lo.so}} has been identified as the cause of this problem. [https://forums.opensuse.org/showthread.php/510439-LibreOffice-crashes-when-saving] See [[#Theme]] to use a different VCL, such as {{ic|gtk}}.<br />
<br />
=== Media support ===<br />
<br />
If embedded videos are just gray boxes, make sure to have installed the [[GStreamer#Installation|GStreamer plugins]] required.<br />
<br />
=== Default paper size in Writer and Draw ===<br />
<br />
If the default paper size in blank Writer and Draw documents is persistently incorrect for your locale, try installing the {{Pkg|libpaper}} optional dependency and either updating {{ic|/etc/papersize}} (for a system-wide change) or exporting the {{ic|PAPERSIZE}} environment variable (for a user change) with your preferred paper size. See {{man|5|papersize}}.<br />
<br />
{{Note|{{Pkg|libpaper}} defaults to '''Letter''' paper size if nothing else has been set.}}<br />
<br />
=== LibreOffice toolbars unreadable with dark themes ===<br />
<br />
See https://bugs.documentfoundation.org/show_bug.cgi?id=94632<br />
<br />
To use toolbar icons compatible with dark themes, set [[environment variable]] {{ic|1=VCL_ICONS_FOR_DARK_THEME=1}}<br />
<br />
As an alternative workaround, run ''libreoffice'' with a light theme (e.g. with environment variable {{ic|1=GTK_THEME=Adwaita:light}}).<br />
<br />
=== LibreOffice toolbars unreadable with dark Breeze/Plasma 5 theme ===<br />
<br />
If you do not want to install {{Pkg|breeze-gtk}} change the icon style in ''Tools > Options > LibreOffice > View > Icon Style'' to a readable one provided by LibreOffice.<br />
<br />
Otherwise [[install]] the Breeze theme for [[GTK+]], {{Pkg|breeze-gtk}}, and, if using a LibreOffice version < 5.3.0, the Breeze dark icons for LibreOffice, {{AUR|libreoffice-breeze-icons}}.<br />
<br />
Just enable "Breeze Dark" or another readable icon style in ''Tools > Options > LibreOffice > View > Icon Style'' then.<br />
<br />
If that is not enough, ensure that LibreOffice starts using the {{ic|gtk}} interface - see [[#Theme]].<br />
<br />
If this still does not work correctly, try using the {{ic|gen}} interface instead. [https://bbs.archlinux.org/viewtopic.php?id=206813]<br />
<br />
=== AutoText expected default behaviour not functional in system locales other than en_US ===<br />
<br />
If expected default AutoText behaviour is not present (for example, typing {{ic|fn}} in a document in Writer and then pressing the {{ic|F3}} key does not result in the automatic insertion of a numbered function) when the system locale is not {{ic|en_US}} you need to add the default {{ic|en_US}} AutoText templates to your AutoText path. To do this, go to ''Tools > AutoText'', then click on ''Path...'' and add the following path to the list: {{ic|/usr/lib/libreoffice/share/autotext/en-US}}. AutoText should now work as expected by default.<br />
<br />
== See also ==<br />
<br />
* [https://extensions.libreoffice.org/extensions Libreoffice Extensions]<br />
* [https://extensions.libreoffice.org/templates Libreoffice Templates]<br />
* [[Wikipedia:LibreOffice]]</div>Plphttps://wiki.archlinux.org/index.php?title=CUPS/Printer-specific_problems&diff=494668CUPS/Printer-specific problems2017-11-01T20:46:45Z<p>Plp: Generic section; info on openprinting-ppds-pxlcolor-generic driver</p>
<hr />
<div>[[Category:Printers]]<br />
[[ja:CUPS/プリンター別の問題]]<br />
{{Related articles start}}<br />
{{Related|CUPS}}<br />
{{Related|CUPS/Troubleshooting}}<br />
{{Related articles end}}<br />
<br />
This article contains printer or manufacturer-specific instructions for [[CUPS]].<br />
See [http://www.openprinting.org/printers OpenPrinting] if your printer is not already listed here, or if none of the listed drivers work.<br />
<br />
{{Note|If you add a printer to this list, consider contributing your entry to [https://wiki.linuxfoundation.org/openprinting/database/databaseintro OpenPrinting] - that way users of other distributions will also benefit!}}<br />
<br />
==Brother==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DCP-135C || {{AUR|brother-dcp135c}} ||<br />
|-<br />
| DCP-150C || {{AUR|brother-dcp150c}} ||<br />
|-<br />
| DCP-7020 || [[CUPS#Foomatic|foomatic]] || Or Brother's driver.<br />
|-<br />
| DCP-7030 || {{AUR|brother-dcp7030}} ||<br />
|-<br />
| DCP-7065DN || {{AUR|brother-dcp7065dn}} ||<br />
|-<br />
| FAX-2820 || {{AUR|brother-cups-wrapper-laser}} ||<br />
|-<br />
| FAX-2840 || {{AUR|brother-fax2840}} || Or [[CUPS#Foomatic|foomatic]] - works mostly with {{ic|hpijs-pcl5e.ppd}}. Same as the HL-2170W.<br />
|-<br />
| FAX-2940 || {{AUR|brother-fax2940}} ||<br />
|-<br />
| HL-2030 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2030}}<br />
|-<br />
| HL-2035 || [[CUPS#Foomatic|foomatic]] || Should be compatible with any drivers for the HL-2030.<br />
|-<br />
| HL-2040 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2040}}<br />
|-<br />
| HL-2130 || [[CUPS#Foomatic|foomatic]] (using the HL-2140 driver) || Or {{Pkg|hplip}}<br />
|-<br />
| HL-2140 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2140}}<br />
|-<br />
| HL-2170W || [[CUPS#Foomatic|foomatic]] || Or Brother's driver. <br />
|-<br />
| HL-2230 || [[CUPS#Foomatic|foomatic]] || Same as HL-2170W. Select HL-2170W as the driver in CUPS admin when adding a printer.<br />
|-<br />
| HL-2250DN || {{AUR|brother-hl2250dn}} ||<br />
|-<br />
| HL-2270DW || {{AUR|brother-hl2270dw}} ||<br />
|-<br />
| HL-2280DW || {{AUR|brother-hl2280dw}} ||<br />
|-<br />
| HL-2340DW || {{AUR|brother-hll2340dw}} ||<br />
|-<br />
| HL-3045CN || Install Brother's driver. ||<br />
|-<br />
| HL-3140CW || {{AUR|brother-hl3140cw}} || Use IPP and Brother's driver to avoid page-shrinking and endless blank printouts<br />
|-<br />
| HL-3150CDW || {{AUR|brother-hl3150cdw}} ||<br />
|-<br />
| HL-3170CDW || {{AUR|brother-hl3170cdw}} ||<br />
|-<br />
| HL-5140 || [[CUPS#Foomatic|foomatic]] || Or Brother's driver.<br />
|-<br />
| HL-5340 || [[CUPS#Foomatic|foomatic]] || Using the ''Generic PCL 6/PCL XL Printer - CUPS+Gutenprint'' ({{pkg|gutenprint}} and {{pkg|foomatic-db-gutenprint-ppds}}). Or Brother's driver, which may result in failed prints with postscript errors.<br />
|-<br />
| HL-L2300D || {{AUR|brother-hll2300d}} || <br />
|-<br />
| HL-L2380DW || {{AUR|brother-hll2380dw}} ||<br />
|-<br />
| MFC-420CN || {{AUR|brother-mfc-420cn}} ||<br />
|-<br />
| MFC-440CN || {{AUR|brother-mfc-440cn}} ||<br />
|-<br />
| MFC-465CN || {{AUR|brother-mfc-465cn}}{{Broken package link|{{aur-mirror|brother-mfc-465cn}}}} ||<br />
|-<br />
| MFC-7360N || {{AUR|brother-mfc7360n}} ||<br />
|-<br />
| MFC-9320CW || Install Brother's driver. ||<br />
|-<br />
| MFC-9332CDW || {{AUR|brother-mfc-9332cdw}} ||<br />
|-<br />
| MFC-9840CDW || [[CUPS#Foomatic|foomatic]] || Or Brother's driver. This printer also works with the generic PCL-6 driver from the {{Pkg|gutenprint}} package. Use '''pcl_p1''' for the printer's address when using the PCL-6 driver.<br />
|-<br />
| MFC-J470DW || {{AUR|brother-mfc-j470dw}} ||<br />
|-<br />
| MFC-J5520DW || {{AUR|brother-mfc-j5520dw}} ||<br />
|-<br />
| MFC-J5910DW || {{AUR|brother-mfc-j5910dw}} ||<br />
|-<br />
| MFC-J650DW || Install Brother's driver. ||<br />
|-<br />
| MFC-J885DW || {{AUR|brother-mfc-j885dw}} ||<br />
|-<br />
| MFC-J985DW || {{AUR|brother-mfc-j985dw}} ||<br />
|-<br />
| MFC-L2700DW || {{AUR|brother-mfc-l2700dw}} || Please look also at the comments section of the AUR package page. <br />
|-<br />
| QL-500 || {{AUR|brother-ql500}} ||<br />
|-<br />
| QL-570 || {{AUR|brother-ql570}} ||<br />
|-<br />
| QL-580N || {{AUR|brother-ql580n}} ||<br />
|-<br />
| QL-650TD || {{AUR|brother-ql650td}} ||<br />
|-<br />
| QL-700 || {{AUR|brother-ql700}} ||<br />
|-<br />
| QL-710W || {{AUR|brother-ql710w}} ||<br />
|-<br />
| QL-720NW || {{AUR|brother-ql720nw}} ||<br />
|-<br />
| QL-1050 || {{AUR|brother-ql1050}} || <br />
|-<br />
| QL-1050N || {{AUR|brother-ql1050n}} ||<br />
|-<br />
| QL-1060 || {{AUR|brother-ql1060n}} ||<br />
|-<br />
| TD-2020 || {{AUR|brother-td2020}} ||<br />
|-<br />
| TD-2120N || {{AUR|brother-td2120n}} ||<br />
|-<br />
| TD-2130N || {{AUR|brother-td2130n}} ||<br />
|-<br />
| TD-4000 || {{AUR|brother-td4000}} ||<br />
|-<br />
| TD-4100N || {{AUR|brother-td4100n}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Network printers===<br />
For network printers, use {{ic|ipp://'''printer_ip'''/ipp/port1}} as printer address.<br />
For some older printers, this might not work. If not, try {{ic|lpd://'''printer_ip'''/BINARY_P1}} instead.<br />
<br />
Some printers use the socket protocol. For these printers, use {{ic|socket://'''printer_ip''':9100}}.<br />
For http, use {{ic|http://'''printer_ip'''/POSTSCRIPT_P1}}.<br />
<br />
===Custom drivers===<br />
<br />
Brother provides custom drivers on their website, either in source tarball, rpm, or deb form. [[Packaging Brother printer drivers]] covers creating [[PKGBUILD]]s from the existing RPM packages.<br />
{{Note|The source packages might be a better alternative to the rpm packages, provided they contain all the needed files.}}<br />
<br />
====Manually installing from the RPM packages====<br />
<br />
{{Warning|This should ideally be automated in a [[PKGBUILD]]}}<br />
<br />
[[Install]] the {{Pkg|rpmextract}} package, and extract both rpm packages using {{ic|rpmextract.sh}}. Extracting both files will create a var and a usr directory - move the contents of both directories into the corresponding root directories.<br />
<br />
Run the cups wrapper file in {{ic|/usr/local/Brother/cupswrapper}}. This should automatically install and configure your brother printer.<br />
<br />
===Updating the firmware===<br />
<br />
[[Install]] {{pkg|net-snmp}} and run:<br />
<br />
snmpwalk -c public $PRINTER_IP | grep -A 1 3.6.1.4.1.2435.2.4.3.99.3.1.6.1.2<br />
<br />
At this point, you will have the relevant data to get a valid firmware download link from Brother. The file should look similar to the one below:<br />
<br />
{{hc|request.xml|<br />
<REQUESTINFO><br />
<FIRMUPDATETOOLINFO><br />
<FIRMCATEGORY>MAIN</FIRMCATEGORY><br />
<OS>LINUX</OS><br />
<INSPECTMODE>1</INSPECTMODE><br />
</FIRMUPDATETOOLINFO><br />
<br />
<FIRMUPDATEINFO><br />
<MODELINFO><br />
<SELIALNO></SELIALNO><br />
<NAME>MFC-9330CDW</NAME><br />
<SPEC>0401</SPEC><br />
<DRIVER></DRIVER><br />
<FIRMINFO><br />
<FIRM><br />
<ID>MAIN</ID><br />
<VERSION>R1506121801:4504</VERSION><br />
</FIRM><br />
<FIRM><br />
<ID>SUB1</ID><br />
<VERSION>1.07</VERSION><br />
</FIRM><br />
<FIRM><br />
<ID>SUB2</ID><br />
<VERSION>L1505291600</VERSION><br />
</FIRM><br />
</FIRMINFO><br />
</MODELINFO><br />
<DRIVERCNT>1</DRIVERCNT><br />
<LOGNO>2</LOGNO><br />
<ERRBIT></ERRBIT><br />
<NEEDRESPONSE>1</NEEDRESPONSE><br />
</FIRMUPDATEINFO><br />
</REQUESTINFO><br />
}}<br />
<br />
Post this file to Brother:<br />
<br />
curl -X POST -d @request.xml https://firmverup.brother.co.jp/kne_bh7_update_nt_ssl/ifax2.asmx/fileUpdate -H "Content-Type:text/xml" > response.xml<br />
<br />
In {{ic|response.xml}} you will find a {{ic|<PATH>}} tag that contains the firmware download URL. Next, download the firmware, push it to the printer, and let the printer process it. Before that is done, change the Admin password to something known, it will be used as the user to log into the FTP site (VERY bad practice, don't do this). <br />
<br />
wget http://update-akamai.brother.co.jp/CS/LZ4266_W.djf<br />
ftp $PRINTER_IP<br />
bin<br />
hash<br />
send LZ4266_W.djf<br />
bye<br />
<br />
With that, the printer will restart, and the latest firmware will be installed and (hopefully) your printing woes will be solved.<br />
<br />
==Canon==<br />
<br />
There are many possible drivers for Canon printers. [http://gimp-print.sourceforge.net/p_Supported_Printers.php Many Canon printers] are supported by {{Pkg|gutenprint}}. Some of Canon's LBP, iR, and MF printers use a driver supporting the UFR II/UFR II LT/LIPSLX protocols, which is available as {{AUR|cndrvcups-lb}} or {{AUR|cndrvcups-lb-bin}}. Others use the [[#CARPS]] or [[Canon CAPT]] drivers.<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| iP4300<br />
| {{Pkg|gutenprint}}<br />
| Or use Canon's {{AUR|cnijfilter-ip4300}}{{Broken package link|{{aur-mirror|cnijfilter-ip4300}}}} driver, or the [http://www.turboprint.info/ TurboPrint] driver.<br />
|-<br />
| LBP810 || rowspan="34" | [[Canon CAPT]] ||<br />
|-<br />
| LBP1120 ||<br />
|-<br />
| LBP1210 ||<br />
|-<br />
| LBP2900 ||<br />
|-<br />
| LBP3000 ||<br />
|-<br />
| LBP3010 ||<br />
|-<br />
| LBP3018 ||<br />
|-<br />
| LBP3050 ||<br />
|-<br />
| LBP3100 ||<br />
|-<br />
| LBP3108 ||<br />
|-<br />
| LBP3150 ||<br />
|-<br />
| LBP3200 ||<br />
|-<br />
| LBP3210 ||<br />
|-<br />
| LBP3250 ||<br />
|-<br />
| LBP3300 ||<br />
|-<br />
| LBP3310 ||<br />
|-<br />
| LBP3500 ||<br />
|-<br />
| LBP5000 ||<br />
|-<br />
| LBP5050 series ||<br />
|-<br />
| LBP5100 ||<br />
|-<br />
| LBP5300 ||<br />
|-<br />
| LBP6000 ||<br />
|-<br />
| LBP6018 ||<br />
|-<br />
| LBP6020 ||<br />
|-<br />
| LBP6200 ||<br />
|-<br />
| LBP6300 ||<br />
|-<br />
| LBP6300n ||<br />
|-<br />
| LBP6310dn ||<br />
|-<br />
| LBP7010C ||<br />
|-<br />
| LBP7018C ||<br />
|-<br />
| LBP7200Cdn (network mode) ||<br />
|-<br />
| LBP7200C series ||<br />
|-<br />
| LBP7210Cdn ||<br />
|-<br />
| LBP9100C ||<br />
|-<br />
| MF4720w || {{AUR|cndrvcups-lb-bin}} ||<br />
|-<br />
| MG4200 series || {{AUR|cnijfilter-mg4200}} ||<br />
|-<br />
| TS8050 || {{AUR|cnijfilter2}} || Without {{AUR|cnijfilter2}} printing will fail with a filter error or you might get "Rendering Completed" and nothing will print<br />
|-<br />
| TS9020 || {{AUR|canon-ts9020}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
Some Canon printers will use a similar setup to the iP4500, so consider modifying the {{AUR|cnijfilter-ip4500}} package for other, similar printers.<br />
<br />
===CARPS===<br />
<br />
Some of Canon's printers use Canon's proprietary Canon Advanced Raster Printing System (CARPS) driver.<br />
[http://www.rainbow-software.org/2014/01/23/cups-driver-for-canon-carps-printers/ Rainbow Software] have managed to reverse engineer the CARPS data format and have successfully created a CARPS CUPS driver, which is available as {{AUR|carps-cups}}.<br />
The project's [https://github.com/ondrej-zary/carps-cups GitHub] page includes a list of working printers.<br />
<br />
===USB over IP (BJNP)===<br />
<br />
Some Canon printers use Canon's proprietary USB over IP BJNP protocol to communicate over the network. There is a CUPS backend for this, which is available as {{AUR|cups-bjnp}}.<br />
<br />
==Dell==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| 1250C<br />
| {{AUR|foo2zjs-nightly}}<br />
| See http://cybercom.net/~dcoffin/hbpl, the patch has been merged into upstream. The printer may also work with the [[#Phaser 6000B|Xerox Phaser 6000B driver]].<br />
|-<br />
| E515,<br />
E515dw<br />
| Install [http://downloads.dell.com/FOLDER03040853M/1/Printer_E515dw_Driver_Dell_A00_LINUX.zip Dell's driver].<br />
| Both ''e515dwcupswrapper-3.2.0-1.i386.deb'' and ''e515dwlpr-3.2.0-1.i386.deb'' need to be installed. You could either write a [[PKGBUILD]], use {{AUR|debtap}}, or use {{AUR|dpkg}} (using dpkg is not recommended as the files will not be managed by [[pacman]]). The driver works on both the x86_64 and i386 platforms, but may require [[multilib]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Epson==<br />
<br />
{{AUR|epson-inkjet-printer-escpr}} is a driver for the Epson Inkjet Printer Driver (ESC/P-R) for Linux.<br />
<br />
There is a large selection of printer drivers/filters available in the [[AUR]].<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| AcuLaser CX11(NF) || {{AUR|epson-alcx11-filter}} ||<br />
|-<br />
| AcuLaser C900 || || This printer uses Epson's driver, with a device URI of ''''usb://EPSON/AL-C900'''', and may need the pipsplus service to be running.<br />
|-<br />
| TX125 || {{AUR|epson-inkjet-printer-n10-nx127}} ||<br />
|-<br />
| LP-S5000 || || This printer requires a [[#Avasys|custom driver from Avasys]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Utilities===<br />
====escputil====<br />
escputil is part of the {{Pkg|gutenprint}} package, and performs some utility functions on Epson printers such as nozzle cleaning.<br />
<br />
====mtink====<br />
This is a printer status monitor which enables to get the remaining ink quantity, to print test patterns, to reset printer and to clean nozzle. It use an intuitive graphical user interface.<br />
<br />
====Stylus-toolbox====<br />
This is a GUI using escputil and cups drivers. It supports nearly all USB printer of Epson and displays ink quantity, can clean and align print heads and print test patterns.<br />
<br />
===Custom drivers===<br />
====Avasys====<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
"Source" code of the driver is available on the [http://www.avasys.jp avasys website], in Japanese, however it includes a 32 bit binary which will cause problem on 64 bit system.<br />
<br />
*[[Install]] the {{Pkg|psutils}}, {{Pkg|bc}}, {{Pkg|libstdc++5}} packages ({{Pkg|lib32-libstdc++5}} on 64bit).<br />
<br />
* Download the source code of the driver.<br />
* Compile and install the driver. <br />
<br />
$ ./configure --prefix=/usr<br />
$ make<br />
# make install<br />
<br />
If you have any problems on a 64 system, some other lib32 libraries may be required. Please adjust this page if that is the case.<br />
<br />
==Generic==<br />
<br />
If you can't find a driver for your printer, you can try using one of these generic drivers:<br />
<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| PCL 6 or PCL XL printers || {{AUR|openprinting-ppds-pxlcolor-generic}} || [http://www.openprinting.org/printer/Generic/Generic-PCL_6_PCL_XL_Printer Driver info]<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==HP==<br />
<br />
See also [[CUPS/Troubleshooting#HP issues]].<br />
<br />
Most HP printers will use {{Pkg|hplip}}, but some may use {{AUR|hpoj}}.<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DeskJet 710C || rowspan="8" | {{AUR|pnm2ppa}} ||<br />
|-<br />
| DeskJet 712C ||<br />
|-<br />
| DeskJet 720C ||<br />
|-<br />
| DeskJet 722C ||<br />
|-<br />
| DeskJet 820se ||<br />
|-<br />
| DeskJet 820Cxi ||<br />
|-<br />
| DeskJet 1000Cse ||<br />
|-<br />
| DeskJet 1000Cxi ||<br />
|-<br />
| LaserJet P1606dn || {{pkg|hplip}} + {{aur|hplip-plugin}} || Or {{aur|foo2zjs-nightly}}, or [[CUPS#CUPS|AirPrint]].<br />
|-<br />
| Photosmart 2575 || {{Pkg|hplip}} || Or use the hpijs driver in [[CUPS#Foomatic|foomatic]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
====== HPLIP Driver ======<br />
<br />
{{pkg|hplip}} provides drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet, and some LaserJet printers, and also provides an easy to use setup tool.<br />
<br />
To run the setup tool with the GUI qt frontend:<br />
# hp-setup -u<br />
<br />
To run the setup tool with the command line frontend:<br />
# hp-setup -i<br />
<br />
To set up directly the configuration of a network connected HP printer:<br />
# hp-setup -i ''<ip address>''<br />
<br />
To run systray spool manager:<br />
$ hp-systray<br />
<br />
To generate a URI for a given ip address:<br />
# hp-makeuri ''<ip address>''<br />
<br />
PPD files are in {{ic|/usr/share/ppd/HP/}}.<br />
<br />
For printers that require the proprietary HP plugin (like the Laserjet Pro P1102w or 1020), install the {{AUR|hplip-plugin}} package from [[AUR]].<br />
<br />
{{Note|<br />
{{Pkg|hplip}} depends on {{Pkg|foomatic-db-engine}} which prevents the drivers list from appearing when a printer is added to CUPS via the web user interface (following error : "Unable to get list of printer drivers"). Possible workarounds:<br />
* '''Either:''' Install {{Pkg|hplip}} first, then retrieve the PPD file that matches your printer from {{ic|/usr/share/ppd/HP/}}. Next, remove {{Pkg|hplip}} entirely as well as any unnecessary dependencies. Finally, install the printer manually using the CUPS web UI, selecting the PPD file you retrieved, and then re-install {{Pkg|hplip}}. After a reboot, you should have a fully working printer.<br />
* '''Or:''' Remove {{Pkg|hplip}}, {{Pkg|foomatic-db}} and {{Pkg|foomatic-db-engine}} along with any unnecessary dependencies. Reinstall {{Pkg|hplip}} and restart CUPS. Install your printer using the CUPS web UI, which should now be able to find the drivers automatically. No reboot needed.}}<br />
<br />
==Konica==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| Minolta Magicolor 1600W || rowspan=7 | [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| Minolta Magicolor 1680MF ||<br />
|-<br />
| Minolta Magicolor 1690MF ||<br />
|-<br />
| Minolta Magicolor 2480MF ||<br />
|-<br />
| Minolta Magicolor 2490MF ||<br />
|-<br />
| Minolta Magicolor 2530DL ||<br />
|-<br />
| Minolta Magicolor 4690MF ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Lexmark==<br />
<br />
===Utilities===<br />
<br />
Lexmark provides a utility called lexijtools with the drivers.<br />
<br />
===Custom drivers===<br />
<br />
Lexmark does provide Linux drivers for all their hardware.<br />
The following packages are required:<br />
<br />
*{{Pkg|cups}}<br />
*{{Pkg|sane}}<br />
*{{Pkg|ncurses}}<br />
*{{Pkg|libusb}}<br />
*{{Pkg|libxext}}<br />
*{{Pkg|libxtst}}<br />
*{{Pkg|libxi}}<br />
*{{Pkg|libstdc++5}}<br />
*{{Pkg|krb5}}<br />
*{{Pkg|lua}} (for the automated installer)<br />
*[[Java]] (for the automated installer, and some of the Lexmark tools)<br />
<br />
The drivers will need to be [http://support.lexmark.com/index?page=driversdownloads downloaded] from Lexmark's website. Preferably, create a package (see [[Creating packages]]) and install it. Here is a basic [[PKGBUILD]] that still needs work but will give an idea of what is required.<br />
<br />
{{hc|PKGBUILD|<nowiki><br />
# Contributor: Todd Partridge (Gen2ly) toddrpartridge (at) yahoo<br />
<br />
pkgname=cups-lexmark-Z2300-2600<br />
pkgver=1<br />
pkgrel=1<br />
pkgdesc="Lexmark Z2300 and 2600 Series printer driver for cups"<br />
arch=('i686')<br />
url="http://www.lexmark.com/"<br />
license=('custom')<br />
depends=('cups' 'glibc' 'ncurses' 'libusb' 'libxext' 'libxtst' 'libxi' 'libstdc++5' 'krb5' 'lua' 'java-runtime')<br />
conflicts=('z600' 'cjlz35le-cups' 'cups-lexmark-700')<br />
source=(lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh)<br />
md5sums=(3c37eb87e3dad4853bf29344f9695134)<br />
<br />
<br />
package() {<br />
# Extract installer<br />
sh lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh --target Installer-Files<br />
cd Installer-Files<br />
mkdir Driver<br />
tar xvvf instarchive_all --lzma -C Driver/<br />
cd Driver<br />
tar xv lexmark-inkjet-08-driver-1.0-1.i386.tar.gz -C $pkgdir<br />
}<br />
</nowiki>}}<br />
<br />
Keep in mind you can use the automated installer but doing so will leave the resulting changes untracked. The PPD will be installed into {{ic|/usr/local/lexmark/lxk08/etc/}} or similar, depending on the printer model.<br />
<br />
==Oki==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| C110|| [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| MC561|| [[CUPS#Foomatic|foomatic-db-nonfree]] ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Ricoh==<br />
<br />
Install {{AUR|openprinting-ppds-pxlmono-ricoh}} if your device is black and white, or {{AUR|openprinting-ppds-pxlcolor-ricoh}} if it's color. Note that Ricoh copiers are sometimes branded as Savin, Gestetner, Lanier, Rex-Rotary, Nashuatec, and/or IKON. So, if you have a device bearing one of these brands, it may be supported by these drivers as well.<br />
<br />
* [https://www.openprinting.org/driver/pxlmono-Ricoh List of supported black and white models]<br />
* [https://www.openprinting.org/driver/pxlcolor-Ricoh List of supported color models]<br />
<br />
==Samsung==<br />
<br />
{{Accuracy|All the cnijfilter drivers appear to be for Canon printers - maybe the cnijfilter comment would be better off in the Canon section?}}<br />
<br />
For printers requiring the ''cnijfilter'' drivers, search for the correct driver [https://aur.archlinux.org/packages.php?K=cnijfilter in the AUR]<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| ML-2010 || {{Pkg|splix}} ||<br />
|-<br />
| SCX-4200 || {{Pkg|splix}} ||<br />
|-<br />
| Newer printers? || {{AUR|samsung-unified-driver}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Xerox or FujiXerox==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DocuPrint 203A || {{Pkg|hplip}} || Using the '''DocuPrint P8e(hpijs)''' driver, or the Brother driver on FujiXerox's website (see [[#Brother]] for more information on how to install custom Brother drivers).<br />
|-<br />
| Phaser 3100MFP || Install Xerox's driver || See [[#Phaser 3100MFP]] for more instructions.<br />
|-<br />
| Phaser 6115MFP || [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| Phaser 6121MFP || [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| ? || {{AUR|fxlinuxprint}}{{Broken package link|{{aur-mirror|fxlinuxprint}}}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Custom drivers===<br />
<br />
====Phaser 3100MFP====<br />
<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
<br />
Once you have downloaded the drivers, execute the driver installer and accept the licence:<br />
# cd printer<br />
# ./XeroxPhaser3100.install<br />
Note that the driver is 32 bit, so some 32 bit libraries will be required on an x86_64 system.<br />
<br />
For the scanner, create an /etc/sane.d directory if it doesn't already exist, because it's need by the installer:<br />
# mkdir -p /etc/sane.d<br />
Now install the driver:<br />
# cd scanner/<br />
# ./XeroxPhaser3100sc.install<br />
Again, on an x86_64 install, 32 bit libraries will be needed.<br />
<br />
====Phaser 6000B====<br />
<br />
[[Install]] the [https://github.com/aur-archive/xerox-phaser-6010 xerox-phaser-6010] package (archived from the AUR).<br />
The driver may require older versions of {{Pkg|nettle}} and {{Pkg|gnutls}} to be installed, since the binary blob linked against older versions of the shared libraries provided by those packages. The oldest known-good versions are {{ic|nettle-2.7.1-1}} and {{ic|gnutls-3.3.13-1}}.<br />
<br />
====Phaser 6125N====<br />
<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
<br />
FujiXerox does not support Linux on this model. An old rpm [http://onlinesupport.fujixerox.com/tiles/common/hc_drivers_download.jsp?system=%27Linux%27&shortdesc=null&xcrealpath=http://www.fujixeroxprinters.com/downloads/uploaded/dpc525a_linux_.0.0.tar_81c2.zip is available] but does not seem to work.<br />
<br />
A slightly adapted [https://rickvanderzwet.nl/trac/personal/wiki/XeroxPhaser6125N custom driver] has been found to work out of the box.<br />
<br />
To install the tarball, run<br />
# tar -C / --keep-newer-files -xvzf cups-xerox-phaser-6125n-1.0.0.tar.gz</div>Plphttps://wiki.archlinux.org/index.php?title=CUPS/Printer-specific_problems&diff=494642CUPS/Printer-specific problems2017-11-01T19:42:29Z<p>Plp: /* Ricoh / Nashuatec / Gestetner */ better wording; mention of daughter brands</p>
<hr />
<div>[[Category:Printers]]<br />
[[ja:CUPS/プリンター別の問題]]<br />
{{Related articles start}}<br />
{{Related|CUPS}}<br />
{{Related|CUPS/Troubleshooting}}<br />
{{Related articles end}}<br />
<br />
This article contains printer or manufacturer-specific instructions for [[CUPS]].<br />
See [http://www.openprinting.org/printers OpenPrinting] if your printer is not already listed here, or if none of the listed drivers work.<br />
<br />
{{Note|If you add a printer to this list, consider contributing your entry to [https://wiki.linuxfoundation.org/openprinting/database/databaseintro OpenPrinting] - that way users of other distributions will also benefit!}}<br />
<br />
==Brother==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DCP-135C || {{AUR|brother-dcp135c}} ||<br />
|-<br />
| DCP-150C || {{AUR|brother-dcp150c}} ||<br />
|-<br />
| DCP-7020 || [[CUPS#Foomatic|foomatic]] || Or Brother's driver.<br />
|-<br />
| DCP-7030 || {{AUR|brother-dcp7030}} ||<br />
|-<br />
| DCP-7065DN || {{AUR|brother-dcp7065dn}} ||<br />
|-<br />
| FAX-2820 || {{AUR|brother-cups-wrapper-laser}} ||<br />
|-<br />
| FAX-2840 || {{AUR|brother-fax2840}} || Or [[CUPS#Foomatic|foomatic]] - works mostly with {{ic|hpijs-pcl5e.ppd}}. Same as the HL-2170W.<br />
|-<br />
| FAX-2940 || {{AUR|brother-fax2940}} ||<br />
|-<br />
| HL-2030 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2030}}<br />
|-<br />
| HL-2035 || [[CUPS#Foomatic|foomatic]] || Should be compatible with any drivers for the HL-2030.<br />
|-<br />
| HL-2040 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2040}}<br />
|-<br />
| HL-2130 || [[CUPS#Foomatic|foomatic]] (using the HL-2140 driver) || Or {{Pkg|hplip}}<br />
|-<br />
| HL-2140 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2140}}<br />
|-<br />
| HL-2170W || [[CUPS#Foomatic|foomatic]] || Or Brother's driver. <br />
|-<br />
| HL-2230 || [[CUPS#Foomatic|foomatic]] || Same as HL-2170W. Select HL-2170W as the driver in CUPS admin when adding a printer.<br />
|-<br />
| HL-2250DN || {{AUR|brother-hl2250dn}} ||<br />
|-<br />
| HL-2270DW || {{AUR|brother-hl2270dw}} ||<br />
|-<br />
| HL-2280DW || {{AUR|brother-hl2280dw}} ||<br />
|-<br />
| HL-2340DW || {{AUR|brother-hll2340dw}} ||<br />
|-<br />
| HL-3045CN || Install Brother's driver. ||<br />
|-<br />
| HL-3140CW || {{AUR|brother-hl3140cw}} || Use IPP and Brother's driver to avoid page-shrinking and endless blank printouts<br />
|-<br />
| HL-3150CDW || {{AUR|brother-hl3150cdw}} ||<br />
|-<br />
| HL-3170CDW || {{AUR|brother-hl3170cdw}} ||<br />
|-<br />
| HL-5140 || [[CUPS#Foomatic|foomatic]] || Or Brother's driver.<br />
|-<br />
| HL-5340 || [[CUPS#Foomatic|foomatic]] || Using the ''Generic PCL 6/PCL XL Printer - CUPS+Gutenprint'' ({{pkg|gutenprint}} and {{pkg|foomatic-db-gutenprint-ppds}}). Or Brother's driver, which may result in failed prints with postscript errors.<br />
|-<br />
| HL-L2300D || {{AUR|brother-hll2300d}} || <br />
|-<br />
| HL-L2380DW || {{AUR|brother-hll2380dw}} ||<br />
|-<br />
| MFC-420CN || {{AUR|brother-mfc-420cn}} ||<br />
|-<br />
| MFC-440CN || {{AUR|brother-mfc-440cn}} ||<br />
|-<br />
| MFC-465CN || {{AUR|brother-mfc-465cn}}{{Broken package link|{{aur-mirror|brother-mfc-465cn}}}} ||<br />
|-<br />
| MFC-7360N || {{AUR|brother-mfc7360n}} ||<br />
|-<br />
| MFC-9320CW || Install Brother's driver. ||<br />
|-<br />
| MFC-9332CDW || {{AUR|brother-mfc-9332cdw}} ||<br />
|-<br />
| MFC-9840CDW || [[CUPS#Foomatic|foomatic]] || Or Brother's driver. This printer also works with the generic PCL-6 driver from the {{Pkg|gutenprint}} package. Use '''pcl_p1''' for the printer's address when using the PCL-6 driver.<br />
|-<br />
| MFC-J470DW || {{AUR|brother-mfc-j470dw}} ||<br />
|-<br />
| MFC-J5520DW || {{AUR|brother-mfc-j5520dw}} ||<br />
|-<br />
| MFC-J5910DW || {{AUR|brother-mfc-j5910dw}} ||<br />
|-<br />
| MFC-J650DW || Install Brother's driver. ||<br />
|-<br />
| MFC-J885DW || {{AUR|brother-mfc-j885dw}} ||<br />
|-<br />
| MFC-J985DW || {{AUR|brother-mfc-j985dw}} ||<br />
|-<br />
| MFC-L2700DW || {{AUR|brother-mfc-l2700dw}} || Please look also at the comments section of the AUR package page. <br />
|-<br />
| QL-500 || {{AUR|brother-ql500}} ||<br />
|-<br />
| QL-570 || {{AUR|brother-ql570}} ||<br />
|-<br />
| QL-580N || {{AUR|brother-ql580n}} ||<br />
|-<br />
| QL-650TD || {{AUR|brother-ql650td}} ||<br />
|-<br />
| QL-700 || {{AUR|brother-ql700}} ||<br />
|-<br />
| QL-710W || {{AUR|brother-ql710w}} ||<br />
|-<br />
| QL-720NW || {{AUR|brother-ql720nw}} ||<br />
|-<br />
| QL-1050 || {{AUR|brother-ql1050}} || <br />
|-<br />
| QL-1050N || {{AUR|brother-ql1050n}} ||<br />
|-<br />
| QL-1060 || {{AUR|brother-ql1060n}} ||<br />
|-<br />
| TD-2020 || {{AUR|brother-td2020}} ||<br />
|-<br />
| TD-2120N || {{AUR|brother-td2120n}} ||<br />
|-<br />
| TD-2130N || {{AUR|brother-td2130n}} ||<br />
|-<br />
| TD-4000 || {{AUR|brother-td4000}} ||<br />
|-<br />
| TD-4100N || {{AUR|brother-td4100n}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Network printers===<br />
For network printers, use {{ic|ipp://'''printer_ip'''/ipp/port1}} as printer address.<br />
For some older printers, this might not work. If not, try {{ic|lpd://'''printer_ip'''/BINARY_P1}} instead.<br />
<br />
Some printers use the socket protocol. For these printers, use {{ic|socket://'''printer_ip''':9100}}.<br />
For http, use {{ic|http://'''printer_ip'''/POSTSCRIPT_P1}}.<br />
<br />
===Custom drivers===<br />
<br />
Brother provides custom drivers on their website, either in source tarball, rpm, or deb form. [[Packaging Brother printer drivers]] covers creating [[PKGBUILD]]s from the existing RPM packages.<br />
{{Note|The source packages might be a better alternative to the rpm packages, provided they contain all the needed files.}}<br />
<br />
====Manually installing from the RPM packages====<br />
<br />
{{Warning|This should ideally be automated in a [[PKGBUILD]]}}<br />
<br />
[[Install]] the {{Pkg|rpmextract}} package, and extract both rpm packages using {{ic|rpmextract.sh}}. Extracting both files will create a var and a usr directory - move the contents of both directories into the corresponding root directories.<br />
<br />
Run the cups wrapper file in {{ic|/usr/local/Brother/cupswrapper}}. This should automatically install and configure your brother printer.<br />
<br />
===Updating the firmware===<br />
<br />
[[Install]] {{pkg|net-snmp}} and run:<br />
<br />
snmpwalk -c public $PRINTER_IP | grep -A 1 3.6.1.4.1.2435.2.4.3.99.3.1.6.1.2<br />
<br />
At this point, you will have the relevant data to get a valid firmware download link from Brother. The file should look similar to the one below:<br />
<br />
{{hc|request.xml|<br />
<REQUESTINFO><br />
<FIRMUPDATETOOLINFO><br />
<FIRMCATEGORY>MAIN</FIRMCATEGORY><br />
<OS>LINUX</OS><br />
<INSPECTMODE>1</INSPECTMODE><br />
</FIRMUPDATETOOLINFO><br />
<br />
<FIRMUPDATEINFO><br />
<MODELINFO><br />
<SELIALNO></SELIALNO><br />
<NAME>MFC-9330CDW</NAME><br />
<SPEC>0401</SPEC><br />
<DRIVER></DRIVER><br />
<FIRMINFO><br />
<FIRM><br />
<ID>MAIN</ID><br />
<VERSION>R1506121801:4504</VERSION><br />
</FIRM><br />
<FIRM><br />
<ID>SUB1</ID><br />
<VERSION>1.07</VERSION><br />
</FIRM><br />
<FIRM><br />
<ID>SUB2</ID><br />
<VERSION>L1505291600</VERSION><br />
</FIRM><br />
</FIRMINFO><br />
</MODELINFO><br />
<DRIVERCNT>1</DRIVERCNT><br />
<LOGNO>2</LOGNO><br />
<ERRBIT></ERRBIT><br />
<NEEDRESPONSE>1</NEEDRESPONSE><br />
</FIRMUPDATEINFO><br />
</REQUESTINFO><br />
}}<br />
<br />
Post this file to Brother:<br />
<br />
curl -X POST -d @request.xml https://firmverup.brother.co.jp/kne_bh7_update_nt_ssl/ifax2.asmx/fileUpdate -H "Content-Type:text/xml" > response.xml<br />
<br />
In {{ic|response.xml}} you will find a {{ic|<PATH>}} tag that contains the firmware download URL. Next, download the firmware, push it to the printer, and let the printer process it. Before that is done, change the Admin password to something known, it will be used as the user to log into the FTP site (VERY bad practice, don't do this). <br />
<br />
wget http://update-akamai.brother.co.jp/CS/LZ4266_W.djf<br />
ftp $PRINTER_IP<br />
bin<br />
hash<br />
send LZ4266_W.djf<br />
bye<br />
<br />
With that, the printer will restart, and the latest firmware will be installed and (hopefully) your printing woes will be solved.<br />
<br />
==Canon==<br />
<br />
There are many possible drivers for Canon printers. [http://gimp-print.sourceforge.net/p_Supported_Printers.php Many Canon printers] are supported by {{Pkg|gutenprint}}. Some of Canon's LBP, iR, and MF printers use a driver supporting the UFR II/UFR II LT/LIPSLX protocols, which is available as {{AUR|cndrvcups-lb}} or {{AUR|cndrvcups-lb-bin}}. Others use the [[#CARPS]] or [[Canon CAPT]] drivers.<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| iP4300<br />
| {{Pkg|gutenprint}}<br />
| Or use Canon's {{AUR|cnijfilter-ip4300}}{{Broken package link|{{aur-mirror|cnijfilter-ip4300}}}} driver, or the [http://www.turboprint.info/ TurboPrint] driver.<br />
|-<br />
| LBP810 || rowspan="34" | [[Canon CAPT]] ||<br />
|-<br />
| LBP1120 ||<br />
|-<br />
| LBP1210 ||<br />
|-<br />
| LBP2900 ||<br />
|-<br />
| LBP3000 ||<br />
|-<br />
| LBP3010 ||<br />
|-<br />
| LBP3018 ||<br />
|-<br />
| LBP3050 ||<br />
|-<br />
| LBP3100 ||<br />
|-<br />
| LBP3108 ||<br />
|-<br />
| LBP3150 ||<br />
|-<br />
| LBP3200 ||<br />
|-<br />
| LBP3210 ||<br />
|-<br />
| LBP3250 ||<br />
|-<br />
| LBP3300 ||<br />
|-<br />
| LBP3310 ||<br />
|-<br />
| LBP3500 ||<br />
|-<br />
| LBP5000 ||<br />
|-<br />
| LBP5050 series ||<br />
|-<br />
| LBP5100 ||<br />
|-<br />
| LBP5300 ||<br />
|-<br />
| LBP6000 ||<br />
|-<br />
| LBP6018 ||<br />
|-<br />
| LBP6020 ||<br />
|-<br />
| LBP6200 ||<br />
|-<br />
| LBP6300 ||<br />
|-<br />
| LBP6300n ||<br />
|-<br />
| LBP6310dn ||<br />
|-<br />
| LBP7010C ||<br />
|-<br />
| LBP7018C ||<br />
|-<br />
| LBP7200Cdn (network mode) ||<br />
|-<br />
| LBP7200C series ||<br />
|-<br />
| LBP7210Cdn ||<br />
|-<br />
| LBP9100C ||<br />
|-<br />
| MF4720w || {{AUR|cndrvcups-lb-bin}} ||<br />
|-<br />
| MG4200 series || {{AUR|cnijfilter-mg4200}} ||<br />
|-<br />
| TS8050 || {{AUR|cnijfilter2}} || Without {{AUR|cnijfilter2}} printing will fail with a filter error or you might get "Rendering Completed" and nothing will print<br />
|-<br />
| TS9020 || {{AUR|canon-ts9020}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
Some Canon printers will use a similar setup to the iP4500, so consider modifying the {{AUR|cnijfilter-ip4500}} package for other, similar printers.<br />
<br />
===CARPS===<br />
<br />
Some of Canon's printers use Canon's proprietary Canon Advanced Raster Printing System (CARPS) driver.<br />
[http://www.rainbow-software.org/2014/01/23/cups-driver-for-canon-carps-printers/ Rainbow Software] have managed to reverse engineer the CARPS data format and have successfully created a CARPS CUPS driver, which is available as {{AUR|carps-cups}}.<br />
The project's [https://github.com/ondrej-zary/carps-cups GitHub] page includes a list of working printers.<br />
<br />
===USB over IP (BJNP)===<br />
<br />
Some Canon printers use Canon's proprietary USB over IP BJNP protocol to communicate over the network. There is a CUPS backend for this, which is available as {{AUR|cups-bjnp}}.<br />
<br />
==Dell==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| 1250C<br />
| {{AUR|foo2zjs-nightly}}<br />
| See http://cybercom.net/~dcoffin/hbpl, the patch has been merged into upstream. The printer may also work with the [[#Phaser 6000B|Xerox Phaser 6000B driver]].<br />
|-<br />
| E515,<br />
E515dw<br />
| Install [http://downloads.dell.com/FOLDER03040853M/1/Printer_E515dw_Driver_Dell_A00_LINUX.zip Dell's driver].<br />
| Both ''e515dwcupswrapper-3.2.0-1.i386.deb'' and ''e515dwlpr-3.2.0-1.i386.deb'' need to be installed. You could either write a [[PKGBUILD]], use {{AUR|debtap}}, or use {{AUR|dpkg}} (using dpkg is not recommended as the files will not be managed by [[pacman]]). The driver works on both the x86_64 and i386 platforms, but may require [[multilib]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Epson==<br />
<br />
{{AUR|epson-inkjet-printer-escpr}} is a driver for the Epson Inkjet Printer Driver (ESC/P-R) for Linux.<br />
<br />
There is a large selection of printer drivers/filters available in the [[AUR]].<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| AcuLaser CX11(NF) || {{AUR|epson-alcx11-filter}} ||<br />
|-<br />
| AcuLaser C900 || || This printer uses Epson's driver, with a device URI of ''''usb://EPSON/AL-C900'''', and may need the pipsplus service to be running.<br />
|-<br />
| TX125 || {{AUR|epson-inkjet-printer-n10-nx127}} ||<br />
|-<br />
| LP-S5000 || || This printer requires a [[#Avasys|custom driver from Avasys]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Utilities===<br />
====escputil====<br />
escputil is part of the {{Pkg|gutenprint}} package, and performs some utility functions on Epson printers such as nozzle cleaning.<br />
<br />
====mtink====<br />
This is a printer status monitor which enables to get the remaining ink quantity, to print test patterns, to reset printer and to clean nozzle. It use an intuitive graphical user interface.<br />
<br />
====Stylus-toolbox====<br />
This is a GUI using escputil and cups drivers. It supports nearly all USB printer of Epson and displays ink quantity, can clean and align print heads and print test patterns.<br />
<br />
===Custom drivers===<br />
====Avasys====<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
"Source" code of the driver is available on the [http://www.avasys.jp avasys website], in Japanese, however it includes a 32 bit binary which will cause problem on 64 bit system.<br />
<br />
*[[Install]] the {{Pkg|psutils}}, {{Pkg|bc}}, {{Pkg|libstdc++5}} packages ({{Pkg|lib32-libstdc++5}} on 64bit).<br />
<br />
* Download the source code of the driver.<br />
* Compile and install the driver. <br />
<br />
$ ./configure --prefix=/usr<br />
$ make<br />
# make install<br />
<br />
If you have any problems on a 64 system, some other lib32 libraries may be required. Please adjust this page if that is the case.<br />
<br />
==HP==<br />
<br />
See also [[CUPS/Troubleshooting#HP issues]].<br />
<br />
Most HP printers will use {{Pkg|hplip}}, but some may use {{AUR|hpoj}}.<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DeskJet 710C || rowspan="8" | {{AUR|pnm2ppa}} ||<br />
|-<br />
| DeskJet 712C ||<br />
|-<br />
| DeskJet 720C ||<br />
|-<br />
| DeskJet 722C ||<br />
|-<br />
| DeskJet 820se ||<br />
|-<br />
| DeskJet 820Cxi ||<br />
|-<br />
| DeskJet 1000Cse ||<br />
|-<br />
| DeskJet 1000Cxi ||<br />
|-<br />
| LaserJet P1606dn || {{pkg|hplip}} + {{aur|hplip-plugin}} || Or {{aur|foo2zjs-nightly}}, or [[CUPS#CUPS|AirPrint]].<br />
|-<br />
| Photosmart 2575 || {{Pkg|hplip}} || Or use the hpijs driver in [[CUPS#Foomatic|foomatic]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
====== HPLIP Driver ======<br />
<br />
{{pkg|hplip}} provides drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet, and some LaserJet printers, and also provides an easy to use setup tool.<br />
<br />
To run the setup tool with the GUI qt frontend:<br />
# hp-setup -u<br />
<br />
To run the setup tool with the command line frontend:<br />
# hp-setup -i<br />
<br />
To set up directly the configuration of a network connected HP printer:<br />
# hp-setup -i ''<ip address>''<br />
<br />
To run systray spool manager:<br />
$ hp-systray<br />
<br />
To generate a URI for a given ip address:<br />
# hp-makeuri ''<ip address>''<br />
<br />
PPD files are in {{ic|/usr/share/ppd/HP/}}.<br />
<br />
For printers that require the proprietary HP plugin (like the Laserjet Pro P1102w or 1020), install the {{AUR|hplip-plugin}} package from [[AUR]].<br />
<br />
{{Note|<br />
{{Pkg|hplip}} depends on {{Pkg|foomatic-db-engine}} which prevents the drivers list from appearing when a printer is added to CUPS via the web user interface (following error : "Unable to get list of printer drivers"). Possible workarounds:<br />
* '''Either:''' Install {{Pkg|hplip}} first, then retrieve the PPD file that matches your printer from {{ic|/usr/share/ppd/HP/}}. Next, remove {{Pkg|hplip}} entirely as well as any unnecessary dependencies. Finally, install the printer manually using the CUPS web UI, selecting the PPD file you retrieved, and then re-install {{Pkg|hplip}}. After a reboot, you should have a fully working printer.<br />
* '''Or:''' Remove {{Pkg|hplip}}, {{Pkg|foomatic-db}} and {{Pkg|foomatic-db-engine}} along with any unnecessary dependencies. Reinstall {{Pkg|hplip}} and restart CUPS. Install your printer using the CUPS web UI, which should now be able to find the drivers automatically. No reboot needed.}}<br />
<br />
==Konica==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| Minolta Magicolor 1600W || rowspan=7 | [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| Minolta Magicolor 1680MF ||<br />
|-<br />
| Minolta Magicolor 1690MF ||<br />
|-<br />
| Minolta Magicolor 2480MF ||<br />
|-<br />
| Minolta Magicolor 2490MF ||<br />
|-<br />
| Minolta Magicolor 2530DL ||<br />
|-<br />
| Minolta Magicolor 4690MF ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Lexmark==<br />
<br />
===Utilities===<br />
<br />
Lexmark provides a utility called lexijtools with the drivers.<br />
<br />
===Custom drivers===<br />
<br />
Lexmark does provide Linux drivers for all their hardware.<br />
The following packages are required:<br />
<br />
*{{Pkg|cups}}<br />
*{{Pkg|sane}}<br />
*{{Pkg|ncurses}}<br />
*{{Pkg|libusb}}<br />
*{{Pkg|libxext}}<br />
*{{Pkg|libxtst}}<br />
*{{Pkg|libxi}}<br />
*{{Pkg|libstdc++5}}<br />
*{{Pkg|krb5}}<br />
*{{Pkg|lua}} (for the automated installer)<br />
*[[Java]] (for the automated installer, and some of the Lexmark tools)<br />
<br />
The drivers will need to be [http://support.lexmark.com/index?page=driversdownloads downloaded] from Lexmark's website. Preferably, create a package (see [[Creating packages]]) and install it. Here is a basic [[PKGBUILD]] that still needs work but will give an idea of what is required.<br />
<br />
{{hc|PKGBUILD|<nowiki><br />
# Contributor: Todd Partridge (Gen2ly) toddrpartridge (at) yahoo<br />
<br />
pkgname=cups-lexmark-Z2300-2600<br />
pkgver=1<br />
pkgrel=1<br />
pkgdesc="Lexmark Z2300 and 2600 Series printer driver for cups"<br />
arch=('i686')<br />
url="http://www.lexmark.com/"<br />
license=('custom')<br />
depends=('cups' 'glibc' 'ncurses' 'libusb' 'libxext' 'libxtst' 'libxi' 'libstdc++5' 'krb5' 'lua' 'java-runtime')<br />
conflicts=('z600' 'cjlz35le-cups' 'cups-lexmark-700')<br />
source=(lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh)<br />
md5sums=(3c37eb87e3dad4853bf29344f9695134)<br />
<br />
<br />
package() {<br />
# Extract installer<br />
sh lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh --target Installer-Files<br />
cd Installer-Files<br />
mkdir Driver<br />
tar xvvf instarchive_all --lzma -C Driver/<br />
cd Driver<br />
tar xv lexmark-inkjet-08-driver-1.0-1.i386.tar.gz -C $pkgdir<br />
}<br />
</nowiki>}}<br />
<br />
Keep in mind you can use the automated installer but doing so will leave the resulting changes untracked. The PPD will be installed into {{ic|/usr/local/lexmark/lxk08/etc/}} or similar, depending on the printer model.<br />
<br />
==Oki==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| C110|| [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| MC561|| [[CUPS#Foomatic|foomatic-db-nonfree]] ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Ricoh==<br />
<br />
Install {{AUR|openprinting-ppds-pxlmono-ricoh}} if your device is black and white, or {{AUR|openprinting-ppds-pxlcolor-ricoh}} if it's color. Note that Ricoh copiers are sometimes branded as Savin, Gestetner, Lanier, Rex-Rotary, Nashuatec, and/or IKON. So, if you have a device bearing one of these brands, it may be supported by these drivers as well.<br />
<br />
* [https://www.openprinting.org/driver/pxlmono-Ricoh List of supported black and white models]<br />
* [https://www.openprinting.org/driver/pxlcolor-Ricoh List of supported color models]<br />
<br />
==Samsung==<br />
<br />
{{Accuracy|All the cnijfilter drivers appear to be for Canon printers - maybe the cnijfilter comment would be better off in the Canon section?}}<br />
<br />
For printers requiring the ''cnijfilter'' drivers, search for the correct driver [https://aur.archlinux.org/packages.php?K=cnijfilter in the AUR]<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| ML-2010 || {{Pkg|splix}} ||<br />
|-<br />
| SCX-4200 || {{Pkg|splix}} ||<br />
|-<br />
| Newer printers? || {{AUR|samsung-unified-driver}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Xerox or FujiXerox==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DocuPrint 203A || {{Pkg|hplip}} || Using the '''DocuPrint P8e(hpijs)''' driver, or the Brother driver on FujiXerox's website (see [[#Brother]] for more information on how to install custom Brother drivers).<br />
|-<br />
| Phaser 3100MFP || Install Xerox's driver || See [[#Phaser 3100MFP]] for more instructions.<br />
|-<br />
| Phaser 6115MFP || [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| Phaser 6121MFP || [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| ? || {{AUR|fxlinuxprint}}{{Broken package link|{{aur-mirror|fxlinuxprint}}}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Custom drivers===<br />
<br />
====Phaser 3100MFP====<br />
<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
<br />
Once you have downloaded the drivers, execute the driver installer and accept the licence:<br />
# cd printer<br />
# ./XeroxPhaser3100.install<br />
Note that the driver is 32 bit, so some 32 bit libraries will be required on an x86_64 system.<br />
<br />
For the scanner, create an /etc/sane.d directory if it doesn't already exist, because it's need by the installer:<br />
# mkdir -p /etc/sane.d<br />
Now install the driver:<br />
# cd scanner/<br />
# ./XeroxPhaser3100sc.install<br />
Again, on an x86_64 install, 32 bit libraries will be needed.<br />
<br />
====Phaser 6000B====<br />
<br />
[[Install]] the [https://github.com/aur-archive/xerox-phaser-6010 xerox-phaser-6010] package (archived from the AUR).<br />
The driver may require older versions of {{Pkg|nettle}} and {{Pkg|gnutls}} to be installed, since the binary blob linked against older versions of the shared libraries provided by those packages. The oldest known-good versions are {{ic|nettle-2.7.1-1}} and {{ic|gnutls-3.3.13-1}}.<br />
<br />
====Phaser 6125N====<br />
<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
<br />
FujiXerox does not support Linux on this model. An old rpm [http://onlinesupport.fujixerox.com/tiles/common/hc_drivers_download.jsp?system=%27Linux%27&shortdesc=null&xcrealpath=http://www.fujixeroxprinters.com/downloads/uploaded/dpc525a_linux_.0.0.tar_81c2.zip is available] but does not seem to work.<br />
<br />
A slightly adapted [https://rickvanderzwet.nl/trac/personal/wiki/XeroxPhaser6125N custom driver] has been found to work out of the box.<br />
<br />
To install the tarball, run<br />
# tar -C / --keep-newer-files -xvzf cups-xerox-phaser-6125n-1.0.0.tar.gz</div>Plphttps://wiki.archlinux.org/index.php?title=CUPS/Printer-specific_problems&diff=494636CUPS/Printer-specific problems2017-11-01T17:35:21Z<p>Plp: /* Ricoh / Nashuatec / Gestetner */ fixed typo</p>
<hr />
<div>[[Category:Printers]]<br />
[[ja:CUPS/プリンター別の問題]]<br />
{{Related articles start}}<br />
{{Related|CUPS}}<br />
{{Related|CUPS/Troubleshooting}}<br />
{{Related articles end}}<br />
<br />
This article contains printer or manufacturer-specific instructions for [[CUPS]].<br />
See [http://www.openprinting.org/printers OpenPrinting] if your printer is not already listed here, or if none of the listed drivers work.<br />
<br />
{{Note|If you add a printer to this list, consider contributing your entry to [https://wiki.linuxfoundation.org/openprinting/database/databaseintro OpenPrinting] - that way users of other distributions will also benefit!}}<br />
<br />
==Brother==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DCP-135C || {{AUR|brother-dcp135c}} ||<br />
|-<br />
| DCP-150C || {{AUR|brother-dcp150c}} ||<br />
|-<br />
| DCP-7020 || [[CUPS#Foomatic|foomatic]] || Or Brother's driver.<br />
|-<br />
| DCP-7030 || {{AUR|brother-dcp7030}} ||<br />
|-<br />
| DCP-7065DN || {{AUR|brother-dcp7065dn}} ||<br />
|-<br />
| FAX-2820 || {{AUR|brother-cups-wrapper-laser}} ||<br />
|-<br />
| FAX-2840 || {{AUR|brother-fax2840}} || Or [[CUPS#Foomatic|foomatic]] - works mostly with {{ic|hpijs-pcl5e.ppd}}. Same as the HL-2170W.<br />
|-<br />
| FAX-2940 || {{AUR|brother-fax2940}} ||<br />
|-<br />
| HL-2030 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2030}}<br />
|-<br />
| HL-2035 || [[CUPS#Foomatic|foomatic]] || Should be compatible with any drivers for the HL-2030.<br />
|-<br />
| HL-2040 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2040}}<br />
|-<br />
| HL-2130 || [[CUPS#Foomatic|foomatic]] (using the HL-2140 driver) || Or {{Pkg|hplip}}<br />
|-<br />
| HL-2140 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2140}}<br />
|-<br />
| HL-2170W || [[CUPS#Foomatic|foomatic]] || Or Brother's driver. <br />
|-<br />
| HL-2230 || [[CUPS#Foomatic|foomatic]] || Same as HL-2170W. Select HL-2170W as the driver in CUPS admin when adding a printer.<br />
|-<br />
| HL-2250DN || {{AUR|brother-hl2250dn}} ||<br />
|-<br />
| HL-2270DW || {{AUR|brother-hl2270dw}} ||<br />
|-<br />
| HL-2280DW || {{AUR|brother-hl2280dw}} ||<br />
|-<br />
| HL-2340DW || {{AUR|brother-hll2340dw}} ||<br />
|-<br />
| HL-3045CN || Install Brother's driver. ||<br />
|-<br />
| HL-3140CW || {{AUR|brother-hl3140cw}} || Use IPP and Brother's driver to avoid page-shrinking and endless blank printouts<br />
|-<br />
| HL-3150CDW || {{AUR|brother-hl3150cdw}} ||<br />
|-<br />
| HL-3170CDW || {{AUR|brother-hl3170cdw}} ||<br />
|-<br />
| HL-5140 || [[CUPS#Foomatic|foomatic]] || Or Brother's driver.<br />
|-<br />
| HL-5340 || [[CUPS#Foomatic|foomatic]] || Using the ''Generic PCL 6/PCL XL Printer - CUPS+Gutenprint'' ({{pkg|gutenprint}} and {{pkg|foomatic-db-gutenprint-ppds}}). Or Brother's driver, which may result in failed prints with postscript errors.<br />
|-<br />
| HL-L2300D || {{AUR|brother-hll2300d}} || <br />
|-<br />
| HL-L2380DW || {{AUR|brother-hll2380dw}} ||<br />
|-<br />
| MFC-420CN || {{AUR|brother-mfc-420cn}} ||<br />
|-<br />
| MFC-440CN || {{AUR|brother-mfc-440cn}} ||<br />
|-<br />
| MFC-465CN || {{AUR|brother-mfc-465cn}}{{Broken package link|{{aur-mirror|brother-mfc-465cn}}}} ||<br />
|-<br />
| MFC-7360N || {{AUR|brother-mfc7360n}} ||<br />
|-<br />
| MFC-9320CW || Install Brother's driver. ||<br />
|-<br />
| MFC-9332CDW || {{AUR|brother-mfc-9332cdw}} ||<br />
|-<br />
| MFC-9840CDW || [[CUPS#Foomatic|foomatic]] || Or Brother's driver. This printer also works with the generic PCL-6 driver from the {{Pkg|gutenprint}} package. Use '''pcl_p1''' for the printer's address when using the PCL-6 driver.<br />
|-<br />
| MFC-J470DW || {{AUR|brother-mfc-j470dw}} ||<br />
|-<br />
| MFC-J5520DW || {{AUR|brother-mfc-j5520dw}} ||<br />
|-<br />
| MFC-J5910DW || {{AUR|brother-mfc-j5910dw}} ||<br />
|-<br />
| MFC-J650DW || Install Brother's driver. ||<br />
|-<br />
| MFC-J885DW || {{AUR|brother-mfc-j885dw}} ||<br />
|-<br />
| MFC-J985DW || {{AUR|brother-mfc-j985dw}} ||<br />
|-<br />
| MFC-L2700DW || {{AUR|brother-mfc-l2700dw}} || Please look also at the comments section of the AUR package page. <br />
|-<br />
| QL-500 || {{AUR|brother-ql500}} ||<br />
|-<br />
| QL-570 || {{AUR|brother-ql570}} ||<br />
|-<br />
| QL-580N || {{AUR|brother-ql580n}} ||<br />
|-<br />
| QL-650TD || {{AUR|brother-ql650td}} ||<br />
|-<br />
| QL-700 || {{AUR|brother-ql700}} ||<br />
|-<br />
| QL-710W || {{AUR|brother-ql710w}} ||<br />
|-<br />
| QL-720NW || {{AUR|brother-ql720nw}} ||<br />
|-<br />
| QL-1050 || {{AUR|brother-ql1050}} || <br />
|-<br />
| QL-1050N || {{AUR|brother-ql1050n}} ||<br />
|-<br />
| QL-1060 || {{AUR|brother-ql1060n}} ||<br />
|-<br />
| TD-2020 || {{AUR|brother-td2020}} ||<br />
|-<br />
| TD-2120N || {{AUR|brother-td2120n}} ||<br />
|-<br />
| TD-2130N || {{AUR|brother-td2130n}} ||<br />
|-<br />
| TD-4000 || {{AUR|brother-td4000}} ||<br />
|-<br />
| TD-4100N || {{AUR|brother-td4100n}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Network printers===<br />
For network printers, use {{ic|ipp://'''printer_ip'''/ipp/port1}} as printer address.<br />
For some older printers, this might not work. If not, try {{ic|lpd://'''printer_ip'''/BINARY_P1}} instead.<br />
<br />
Some printers use the socket protocol. For these printers, use {{ic|socket://'''printer_ip''':9100}}.<br />
For http, use {{ic|http://'''printer_ip'''/POSTSCRIPT_P1}}.<br />
<br />
===Custom drivers===<br />
<br />
Brother provides custom drivers on their website, either in source tarball, rpm, or deb form. [[Packaging Brother printer drivers]] covers creating [[PKGBUILD]]s from the existing RPM packages.<br />
{{Note|The source packages might be a better alternative to the rpm packages, provided they contain all the needed files.}}<br />
<br />
====Manually installing from the RPM packages====<br />
<br />
{{Warning|This should ideally be automated in a [[PKGBUILD]]}}<br />
<br />
[[Install]] the {{Pkg|rpmextract}} package, and extract both rpm packages using {{ic|rpmextract.sh}}. Extracting both files will create a var and a usr directory - move the contents of both directories into the corresponding root directories.<br />
<br />
Run the cups wrapper file in {{ic|/usr/local/Brother/cupswrapper}}. This should automatically install and configure your brother printer.<br />
<br />
===Updating the firmware===<br />
<br />
[[Install]] {{pkg|net-snmp}} and run:<br />
<br />
snmpwalk -c public $PRINTER_IP | grep -A 1 3.6.1.4.1.2435.2.4.3.99.3.1.6.1.2<br />
<br />
At this point, you will have the relevant data to get a valid firmware download link from Brother. The file should look similar to the one below:<br />
<br />
{{hc|request.xml|<br />
<REQUESTINFO><br />
<FIRMUPDATETOOLINFO><br />
<FIRMCATEGORY>MAIN</FIRMCATEGORY><br />
<OS>LINUX</OS><br />
<INSPECTMODE>1</INSPECTMODE><br />
</FIRMUPDATETOOLINFO><br />
<br />
<FIRMUPDATEINFO><br />
<MODELINFO><br />
<SELIALNO></SELIALNO><br />
<NAME>MFC-9330CDW</NAME><br />
<SPEC>0401</SPEC><br />
<DRIVER></DRIVER><br />
<FIRMINFO><br />
<FIRM><br />
<ID>MAIN</ID><br />
<VERSION>R1506121801:4504</VERSION><br />
</FIRM><br />
<FIRM><br />
<ID>SUB1</ID><br />
<VERSION>1.07</VERSION><br />
</FIRM><br />
<FIRM><br />
<ID>SUB2</ID><br />
<VERSION>L1505291600</VERSION><br />
</FIRM><br />
</FIRMINFO><br />
</MODELINFO><br />
<DRIVERCNT>1</DRIVERCNT><br />
<LOGNO>2</LOGNO><br />
<ERRBIT></ERRBIT><br />
<NEEDRESPONSE>1</NEEDRESPONSE><br />
</FIRMUPDATEINFO><br />
</REQUESTINFO><br />
}}<br />
<br />
Post this file to Brother:<br />
<br />
curl -X POST -d @request.xml https://firmverup.brother.co.jp/kne_bh7_update_nt_ssl/ifax2.asmx/fileUpdate -H "Content-Type:text/xml" > response.xml<br />
<br />
In {{ic|response.xml}} you will find a {{ic|<PATH>}} tag that contains the firmware download URL. Next, download the firmware, push it to the printer, and let the printer process it. Before that is done, change the Admin password to something known, it will be used as the user to log into the FTP site (VERY bad practice, don't do this). <br />
<br />
wget http://update-akamai.brother.co.jp/CS/LZ4266_W.djf<br />
ftp $PRINTER_IP<br />
bin<br />
hash<br />
send LZ4266_W.djf<br />
bye<br />
<br />
With that, the printer will restart, and the latest firmware will be installed and (hopefully) your printing woes will be solved.<br />
<br />
==Canon==<br />
<br />
There are many possible drivers for Canon printers. [http://gimp-print.sourceforge.net/p_Supported_Printers.php Many Canon printers] are supported by {{Pkg|gutenprint}}. Some of Canon's LBP, iR, and MF printers use a driver supporting the UFR II/UFR II LT/LIPSLX protocols, which is available as {{AUR|cndrvcups-lb}} or {{AUR|cndrvcups-lb-bin}}. Others use the [[#CARPS]] or [[Canon CAPT]] drivers.<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| iP4300<br />
| {{Pkg|gutenprint}}<br />
| Or use Canon's {{AUR|cnijfilter-ip4300}}{{Broken package link|{{aur-mirror|cnijfilter-ip4300}}}} driver, or the [http://www.turboprint.info/ TurboPrint] driver.<br />
|-<br />
| LBP810 || rowspan="34" | [[Canon CAPT]] ||<br />
|-<br />
| LBP1120 ||<br />
|-<br />
| LBP1210 ||<br />
|-<br />
| LBP2900 ||<br />
|-<br />
| LBP3000 ||<br />
|-<br />
| LBP3010 ||<br />
|-<br />
| LBP3018 ||<br />
|-<br />
| LBP3050 ||<br />
|-<br />
| LBP3100 ||<br />
|-<br />
| LBP3108 ||<br />
|-<br />
| LBP3150 ||<br />
|-<br />
| LBP3200 ||<br />
|-<br />
| LBP3210 ||<br />
|-<br />
| LBP3250 ||<br />
|-<br />
| LBP3300 ||<br />
|-<br />
| LBP3310 ||<br />
|-<br />
| LBP3500 ||<br />
|-<br />
| LBP5000 ||<br />
|-<br />
| LBP5050 series ||<br />
|-<br />
| LBP5100 ||<br />
|-<br />
| LBP5300 ||<br />
|-<br />
| LBP6000 ||<br />
|-<br />
| LBP6018 ||<br />
|-<br />
| LBP6020 ||<br />
|-<br />
| LBP6200 ||<br />
|-<br />
| LBP6300 ||<br />
|-<br />
| LBP6300n ||<br />
|-<br />
| LBP6310dn ||<br />
|-<br />
| LBP7010C ||<br />
|-<br />
| LBP7018C ||<br />
|-<br />
| LBP7200Cdn (network mode) ||<br />
|-<br />
| LBP7200C series ||<br />
|-<br />
| LBP7210Cdn ||<br />
|-<br />
| LBP9100C ||<br />
|-<br />
| MF4720w || {{AUR|cndrvcups-lb-bin}} ||<br />
|-<br />
| MG4200 series || {{AUR|cnijfilter-mg4200}} ||<br />
|-<br />
| TS8050 || {{AUR|cnijfilter2}} || Without {{AUR|cnijfilter2}} printing will fail with a filter error or you might get "Rendering Completed" and nothing will print<br />
|-<br />
| TS9020 || {{AUR|canon-ts9020}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
Some Canon printers will use a similar setup to the iP4500, so consider modifying the {{AUR|cnijfilter-ip4500}} package for other, similar printers.<br />
<br />
===CARPS===<br />
<br />
Some of Canon's printers use Canon's proprietary Canon Advanced Raster Printing System (CARPS) driver.<br />
[http://www.rainbow-software.org/2014/01/23/cups-driver-for-canon-carps-printers/ Rainbow Software] have managed to reverse engineer the CARPS data format and have successfully created a CARPS CUPS driver, which is available as {{AUR|carps-cups}}.<br />
The project's [https://github.com/ondrej-zary/carps-cups GitHub] page includes a list of working printers.<br />
<br />
===USB over IP (BJNP)===<br />
<br />
Some Canon printers use Canon's proprietary USB over IP BJNP protocol to communicate over the network. There is a CUPS backend for this, which is available as {{AUR|cups-bjnp}}.<br />
<br />
==Dell==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| 1250C<br />
| {{AUR|foo2zjs-nightly}}<br />
| See http://cybercom.net/~dcoffin/hbpl, the patch has been merged into upstream. The printer may also work with the [[#Phaser 6000B|Xerox Phaser 6000B driver]].<br />
|-<br />
| E515,<br />
E515dw<br />
| Install [http://downloads.dell.com/FOLDER03040853M/1/Printer_E515dw_Driver_Dell_A00_LINUX.zip Dell's driver].<br />
| Both ''e515dwcupswrapper-3.2.0-1.i386.deb'' and ''e515dwlpr-3.2.0-1.i386.deb'' need to be installed. You could either write a [[PKGBUILD]], use {{AUR|debtap}}, or use {{AUR|dpkg}} (using dpkg is not recommended as the files will not be managed by [[pacman]]). The driver works on both the x86_64 and i386 platforms, but may require [[multilib]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Epson==<br />
<br />
{{AUR|epson-inkjet-printer-escpr}} is a driver for the Epson Inkjet Printer Driver (ESC/P-R) for Linux.<br />
<br />
There is a large selection of printer drivers/filters available in the [[AUR]].<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| AcuLaser CX11(NF) || {{AUR|epson-alcx11-filter}} ||<br />
|-<br />
| AcuLaser C900 || || This printer uses Epson's driver, with a device URI of ''''usb://EPSON/AL-C900'''', and may need the pipsplus service to be running.<br />
|-<br />
| TX125 || {{AUR|epson-inkjet-printer-n10-nx127}} ||<br />
|-<br />
| LP-S5000 || || This printer requires a [[#Avasys|custom driver from Avasys]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Utilities===<br />
====escputil====<br />
escputil is part of the {{Pkg|gutenprint}} package, and performs some utility functions on Epson printers such as nozzle cleaning.<br />
<br />
====mtink====<br />
This is a printer status monitor which enables to get the remaining ink quantity, to print test patterns, to reset printer and to clean nozzle. It use an intuitive graphical user interface.<br />
<br />
====Stylus-toolbox====<br />
This is a GUI using escputil and cups drivers. It supports nearly all USB printer of Epson and displays ink quantity, can clean and align print heads and print test patterns.<br />
<br />
===Custom drivers===<br />
====Avasys====<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
"Source" code of the driver is available on the [http://www.avasys.jp avasys website], in Japanese, however it includes a 32 bit binary which will cause problem on 64 bit system.<br />
<br />
*[[Install]] the {{Pkg|psutils}}, {{Pkg|bc}}, {{Pkg|libstdc++5}} packages ({{Pkg|lib32-libstdc++5}} on 64bit).<br />
<br />
* Download the source code of the driver.<br />
* Compile and install the driver. <br />
<br />
$ ./configure --prefix=/usr<br />
$ make<br />
# make install<br />
<br />
If you have any problems on a 64 system, some other lib32 libraries may be required. Please adjust this page if that is the case.<br />
<br />
==HP==<br />
<br />
See also [[CUPS/Troubleshooting#HP issues]].<br />
<br />
Most HP printers will use {{Pkg|hplip}}, but some may use {{AUR|hpoj}}.<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DeskJet 710C || rowspan="8" | {{AUR|pnm2ppa}} ||<br />
|-<br />
| DeskJet 712C ||<br />
|-<br />
| DeskJet 720C ||<br />
|-<br />
| DeskJet 722C ||<br />
|-<br />
| DeskJet 820se ||<br />
|-<br />
| DeskJet 820Cxi ||<br />
|-<br />
| DeskJet 1000Cse ||<br />
|-<br />
| DeskJet 1000Cxi ||<br />
|-<br />
| LaserJet P1606dn || {{pkg|hplip}} + {{aur|hplip-plugin}} || Or {{aur|foo2zjs-nightly}}, or [[CUPS#CUPS|AirPrint]].<br />
|-<br />
| Photosmart 2575 || {{Pkg|hplip}} || Or use the hpijs driver in [[CUPS#Foomatic|foomatic]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
====== HPLIP Driver ======<br />
<br />
{{pkg|hplip}} provides drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet, and some LaserJet printers, and also provides an easy to use setup tool.<br />
<br />
To run the setup tool with the GUI qt frontend:<br />
# hp-setup -u<br />
<br />
To run the setup tool with the command line frontend:<br />
# hp-setup -i<br />
<br />
To set up directly the configuration of a network connected HP printer:<br />
# hp-setup -i ''<ip address>''<br />
<br />
To run systray spool manager:<br />
$ hp-systray<br />
<br />
To generate a URI for a given ip address:<br />
# hp-makeuri ''<ip address>''<br />
<br />
PPD files are in {{ic|/usr/share/ppd/HP/}}.<br />
<br />
For printers that require the proprietary HP plugin (like the Laserjet Pro P1102w or 1020), install the {{AUR|hplip-plugin}} package from [[AUR]].<br />
<br />
{{Note|<br />
{{Pkg|hplip}} depends on {{Pkg|foomatic-db-engine}} which prevents the drivers list from appearing when a printer is added to CUPS via the web user interface (following error : "Unable to get list of printer drivers"). Possible workarounds:<br />
* '''Either:''' Install {{Pkg|hplip}} first, then retrieve the PPD file that matches your printer from {{ic|/usr/share/ppd/HP/}}. Next, remove {{Pkg|hplip}} entirely as well as any unnecessary dependencies. Finally, install the printer manually using the CUPS web UI, selecting the PPD file you retrieved, and then re-install {{Pkg|hplip}}. After a reboot, you should have a fully working printer.<br />
* '''Or:''' Remove {{Pkg|hplip}}, {{Pkg|foomatic-db}} and {{Pkg|foomatic-db-engine}} along with any unnecessary dependencies. Reinstall {{Pkg|hplip}} and restart CUPS. Install your printer using the CUPS web UI, which should now be able to find the drivers automatically. No reboot needed.}}<br />
<br />
==Konica==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| Minolta Magicolor 1600W || rowspan=7 | [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| Minolta Magicolor 1680MF ||<br />
|-<br />
| Minolta Magicolor 1690MF ||<br />
|-<br />
| Minolta Magicolor 2480MF ||<br />
|-<br />
| Minolta Magicolor 2490MF ||<br />
|-<br />
| Minolta Magicolor 2530DL ||<br />
|-<br />
| Minolta Magicolor 4690MF ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Lexmark==<br />
<br />
===Utilities===<br />
<br />
Lexmark provides a utility called lexijtools with the drivers.<br />
<br />
===Custom drivers===<br />
<br />
Lexmark does provide Linux drivers for all their hardware.<br />
The following packages are required:<br />
<br />
*{{Pkg|cups}}<br />
*{{Pkg|sane}}<br />
*{{Pkg|ncurses}}<br />
*{{Pkg|libusb}}<br />
*{{Pkg|libxext}}<br />
*{{Pkg|libxtst}}<br />
*{{Pkg|libxi}}<br />
*{{Pkg|libstdc++5}}<br />
*{{Pkg|krb5}}<br />
*{{Pkg|lua}} (for the automated installer)<br />
*[[Java]] (for the automated installer, and some of the Lexmark tools)<br />
<br />
The drivers will need to be [http://support.lexmark.com/index?page=driversdownloads downloaded] from Lexmark's website. Preferably, create a package (see [[Creating packages]]) and install it. Here is a basic [[PKGBUILD]] that still needs work but will give an idea of what is required.<br />
<br />
{{hc|PKGBUILD|<nowiki><br />
# Contributor: Todd Partridge (Gen2ly) toddrpartridge (at) yahoo<br />
<br />
pkgname=cups-lexmark-Z2300-2600<br />
pkgver=1<br />
pkgrel=1<br />
pkgdesc="Lexmark Z2300 and 2600 Series printer driver for cups"<br />
arch=('i686')<br />
url="http://www.lexmark.com/"<br />
license=('custom')<br />
depends=('cups' 'glibc' 'ncurses' 'libusb' 'libxext' 'libxtst' 'libxi' 'libstdc++5' 'krb5' 'lua' 'java-runtime')<br />
conflicts=('z600' 'cjlz35le-cups' 'cups-lexmark-700')<br />
source=(lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh)<br />
md5sums=(3c37eb87e3dad4853bf29344f9695134)<br />
<br />
<br />
package() {<br />
# Extract installer<br />
sh lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh --target Installer-Files<br />
cd Installer-Files<br />
mkdir Driver<br />
tar xvvf instarchive_all --lzma -C Driver/<br />
cd Driver<br />
tar xv lexmark-inkjet-08-driver-1.0-1.i386.tar.gz -C $pkgdir<br />
}<br />
</nowiki>}}<br />
<br />
Keep in mind you can use the automated installer but doing so will leave the resulting changes untracked. The PPD will be installed into {{ic|/usr/local/lexmark/lxk08/etc/}} or similar, depending on the printer model.<br />
<br />
==Oki==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| C110|| [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| MC561|| [[CUPS#Foomatic|foomatic-db-nonfree]] ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Ricoh / Nashuatec / Gestetner==<br />
<br />
Install {{AUR|openprinting-ppds-pxlmono-ricoh}} if your printer is [https://www.openprinting.org/driver/pxlmono-Ricoh black and white], or {{AUR|openprinting-ppds-pxlcolor-ricoh}} if it's [https://www.openprinting.org/driver/pxlcolor-Ricoh color].<br />
<br />
==Samsung==<br />
<br />
{{Accuracy|All the cnijfilter drivers appear to be for Canon printers - maybe the cnijfilter comment would be better off in the Canon section?}}<br />
<br />
For printers requiring the ''cnijfilter'' drivers, search for the correct driver [https://aur.archlinux.org/packages.php?K=cnijfilter in the AUR]<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| ML-2010 || {{Pkg|splix}} ||<br />
|-<br />
| SCX-4200 || {{Pkg|splix}} ||<br />
|-<br />
| Newer printers? || {{AUR|samsung-unified-driver}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Xerox or FujiXerox==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DocuPrint 203A || {{Pkg|hplip}} || Using the '''DocuPrint P8e(hpijs)''' driver, or the Brother driver on FujiXerox's website (see [[#Brother]] for more information on how to install custom Brother drivers).<br />
|-<br />
| Phaser 3100MFP || Install Xerox's driver || See [[#Phaser 3100MFP]] for more instructions.<br />
|-<br />
| Phaser 6115MFP || [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| Phaser 6121MFP || [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| ? || {{AUR|fxlinuxprint}}{{Broken package link|{{aur-mirror|fxlinuxprint}}}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Custom drivers===<br />
<br />
====Phaser 3100MFP====<br />
<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
<br />
Once you have downloaded the drivers, execute the driver installer and accept the licence:<br />
# cd printer<br />
# ./XeroxPhaser3100.install<br />
Note that the driver is 32 bit, so some 32 bit libraries will be required on an x86_64 system.<br />
<br />
For the scanner, create an /etc/sane.d directory if it doesn't already exist, because it's need by the installer:<br />
# mkdir -p /etc/sane.d<br />
Now install the driver:<br />
# cd scanner/<br />
# ./XeroxPhaser3100sc.install<br />
Again, on an x86_64 install, 32 bit libraries will be needed.<br />
<br />
====Phaser 6000B====<br />
<br />
[[Install]] the [https://github.com/aur-archive/xerox-phaser-6010 xerox-phaser-6010] package (archived from the AUR).<br />
The driver may require older versions of {{Pkg|nettle}} and {{Pkg|gnutls}} to be installed, since the binary blob linked against older versions of the shared libraries provided by those packages. The oldest known-good versions are {{ic|nettle-2.7.1-1}} and {{ic|gnutls-3.3.13-1}}.<br />
<br />
====Phaser 6125N====<br />
<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
<br />
FujiXerox does not support Linux on this model. An old rpm [http://onlinesupport.fujixerox.com/tiles/common/hc_drivers_download.jsp?system=%27Linux%27&shortdesc=null&xcrealpath=http://www.fujixeroxprinters.com/downloads/uploaded/dpc525a_linux_.0.0.tar_81c2.zip is available] but does not seem to work.<br />
<br />
A slightly adapted [https://rickvanderzwet.nl/trac/personal/wiki/XeroxPhaser6125N custom driver] has been found to work out of the box.<br />
<br />
To install the tarball, run<br />
# tar -C / --keep-newer-files -xvzf cups-xerox-phaser-6125n-1.0.0.tar.gz</div>Plphttps://wiki.archlinux.org/index.php?title=CUPS/Printer-specific_problems&diff=494635CUPS/Printer-specific problems2017-11-01T17:34:50Z<p>Plp: Ricoh drivers</p>
<hr />
<div>[[Category:Printers]]<br />
[[ja:CUPS/プリンター別の問題]]<br />
{{Related articles start}}<br />
{{Related|CUPS}}<br />
{{Related|CUPS/Troubleshooting}}<br />
{{Related articles end}}<br />
<br />
This article contains printer or manufacturer-specific instructions for [[CUPS]].<br />
See [http://www.openprinting.org/printers OpenPrinting] if your printer is not already listed here, or if none of the listed drivers work.<br />
<br />
{{Note|If you add a printer to this list, consider contributing your entry to [https://wiki.linuxfoundation.org/openprinting/database/databaseintro OpenPrinting] - that way users of other distributions will also benefit!}}<br />
<br />
==Brother==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DCP-135C || {{AUR|brother-dcp135c}} ||<br />
|-<br />
| DCP-150C || {{AUR|brother-dcp150c}} ||<br />
|-<br />
| DCP-7020 || [[CUPS#Foomatic|foomatic]] || Or Brother's driver.<br />
|-<br />
| DCP-7030 || {{AUR|brother-dcp7030}} ||<br />
|-<br />
| DCP-7065DN || {{AUR|brother-dcp7065dn}} ||<br />
|-<br />
| FAX-2820 || {{AUR|brother-cups-wrapper-laser}} ||<br />
|-<br />
| FAX-2840 || {{AUR|brother-fax2840}} || Or [[CUPS#Foomatic|foomatic]] - works mostly with {{ic|hpijs-pcl5e.ppd}}. Same as the HL-2170W.<br />
|-<br />
| FAX-2940 || {{AUR|brother-fax2940}} ||<br />
|-<br />
| HL-2030 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2030}}<br />
|-<br />
| HL-2035 || [[CUPS#Foomatic|foomatic]] || Should be compatible with any drivers for the HL-2030.<br />
|-<br />
| HL-2040 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2040}}<br />
|-<br />
| HL-2130 || [[CUPS#Foomatic|foomatic]] (using the HL-2140 driver) || Or {{Pkg|hplip}}<br />
|-<br />
| HL-2140 || [[CUPS#Foomatic|foomatic]] || Or {{AUR|brother-hl2140}}<br />
|-<br />
| HL-2170W || [[CUPS#Foomatic|foomatic]] || Or Brother's driver. <br />
|-<br />
| HL-2230 || [[CUPS#Foomatic|foomatic]] || Same as HL-2170W. Select HL-2170W as the driver in CUPS admin when adding a printer.<br />
|-<br />
| HL-2250DN || {{AUR|brother-hl2250dn}} ||<br />
|-<br />
| HL-2270DW || {{AUR|brother-hl2270dw}} ||<br />
|-<br />
| HL-2280DW || {{AUR|brother-hl2280dw}} ||<br />
|-<br />
| HL-2340DW || {{AUR|brother-hll2340dw}} ||<br />
|-<br />
| HL-3045CN || Install Brother's driver. ||<br />
|-<br />
| HL-3140CW || {{AUR|brother-hl3140cw}} || Use IPP and Brother's driver to avoid page-shrinking and endless blank printouts<br />
|-<br />
| HL-3150CDW || {{AUR|brother-hl3150cdw}} ||<br />
|-<br />
| HL-3170CDW || {{AUR|brother-hl3170cdw}} ||<br />
|-<br />
| HL-5140 || [[CUPS#Foomatic|foomatic]] || Or Brother's driver.<br />
|-<br />
| HL-5340 || [[CUPS#Foomatic|foomatic]] || Using the ''Generic PCL 6/PCL XL Printer - CUPS+Gutenprint'' ({{pkg|gutenprint}} and {{pkg|foomatic-db-gutenprint-ppds}}). Or Brother's driver, which may result in failed prints with postscript errors.<br />
|-<br />
| HL-L2300D || {{AUR|brother-hll2300d}} || <br />
|-<br />
| HL-L2380DW || {{AUR|brother-hll2380dw}} ||<br />
|-<br />
| MFC-420CN || {{AUR|brother-mfc-420cn}} ||<br />
|-<br />
| MFC-440CN || {{AUR|brother-mfc-440cn}} ||<br />
|-<br />
| MFC-465CN || {{AUR|brother-mfc-465cn}}{{Broken package link|{{aur-mirror|brother-mfc-465cn}}}} ||<br />
|-<br />
| MFC-7360N || {{AUR|brother-mfc7360n}} ||<br />
|-<br />
| MFC-9320CW || Install Brother's driver. ||<br />
|-<br />
| MFC-9332CDW || {{AUR|brother-mfc-9332cdw}} ||<br />
|-<br />
| MFC-9840CDW || [[CUPS#Foomatic|foomatic]] || Or Brother's driver. This printer also works with the generic PCL-6 driver from the {{Pkg|gutenprint}} package. Use '''pcl_p1''' for the printer's address when using the PCL-6 driver.<br />
|-<br />
| MFC-J470DW || {{AUR|brother-mfc-j470dw}} ||<br />
|-<br />
| MFC-J5520DW || {{AUR|brother-mfc-j5520dw}} ||<br />
|-<br />
| MFC-J5910DW || {{AUR|brother-mfc-j5910dw}} ||<br />
|-<br />
| MFC-J650DW || Install Brother's driver. ||<br />
|-<br />
| MFC-J885DW || {{AUR|brother-mfc-j885dw}} ||<br />
|-<br />
| MFC-J985DW || {{AUR|brother-mfc-j985dw}} ||<br />
|-<br />
| MFC-L2700DW || {{AUR|brother-mfc-l2700dw}} || Please look also at the comments section of the AUR package page. <br />
|-<br />
| QL-500 || {{AUR|brother-ql500}} ||<br />
|-<br />
| QL-570 || {{AUR|brother-ql570}} ||<br />
|-<br />
| QL-580N || {{AUR|brother-ql580n}} ||<br />
|-<br />
| QL-650TD || {{AUR|brother-ql650td}} ||<br />
|-<br />
| QL-700 || {{AUR|brother-ql700}} ||<br />
|-<br />
| QL-710W || {{AUR|brother-ql710w}} ||<br />
|-<br />
| QL-720NW || {{AUR|brother-ql720nw}} ||<br />
|-<br />
| QL-1050 || {{AUR|brother-ql1050}} || <br />
|-<br />
| QL-1050N || {{AUR|brother-ql1050n}} ||<br />
|-<br />
| QL-1060 || {{AUR|brother-ql1060n}} ||<br />
|-<br />
| TD-2020 || {{AUR|brother-td2020}} ||<br />
|-<br />
| TD-2120N || {{AUR|brother-td2120n}} ||<br />
|-<br />
| TD-2130N || {{AUR|brother-td2130n}} ||<br />
|-<br />
| TD-4000 || {{AUR|brother-td4000}} ||<br />
|-<br />
| TD-4100N || {{AUR|brother-td4100n}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Network printers===<br />
For network printers, use {{ic|ipp://'''printer_ip'''/ipp/port1}} as printer address.<br />
For some older printers, this might not work. If not, try {{ic|lpd://'''printer_ip'''/BINARY_P1}} instead.<br />
<br />
Some printers use the socket protocol. For these printers, use {{ic|socket://'''printer_ip''':9100}}.<br />
For http, use {{ic|http://'''printer_ip'''/POSTSCRIPT_P1}}.<br />
<br />
===Custom drivers===<br />
<br />
Brother provides custom drivers on their website, either in source tarball, rpm, or deb form. [[Packaging Brother printer drivers]] covers creating [[PKGBUILD]]s from the existing RPM packages.<br />
{{Note|The source packages might be a better alternative to the rpm packages, provided they contain all the needed files.}}<br />
<br />
====Manually installing from the RPM packages====<br />
<br />
{{Warning|This should ideally be automated in a [[PKGBUILD]]}}<br />
<br />
[[Install]] the {{Pkg|rpmextract}} package, and extract both rpm packages using {{ic|rpmextract.sh}}. Extracting both files will create a var and a usr directory - move the contents of both directories into the corresponding root directories.<br />
<br />
Run the cups wrapper file in {{ic|/usr/local/Brother/cupswrapper}}. This should automatically install and configure your brother printer.<br />
<br />
===Updating the firmware===<br />
<br />
[[Install]] {{pkg|net-snmp}} and run:<br />
<br />
snmpwalk -c public $PRINTER_IP | grep -A 1 3.6.1.4.1.2435.2.4.3.99.3.1.6.1.2<br />
<br />
At this point, you will have the relevant data to get a valid firmware download link from Brother. The file should look similar to the one below:<br />
<br />
{{hc|request.xml|<br />
<REQUESTINFO><br />
<FIRMUPDATETOOLINFO><br />
<FIRMCATEGORY>MAIN</FIRMCATEGORY><br />
<OS>LINUX</OS><br />
<INSPECTMODE>1</INSPECTMODE><br />
</FIRMUPDATETOOLINFO><br />
<br />
<FIRMUPDATEINFO><br />
<MODELINFO><br />
<SELIALNO></SELIALNO><br />
<NAME>MFC-9330CDW</NAME><br />
<SPEC>0401</SPEC><br />
<DRIVER></DRIVER><br />
<FIRMINFO><br />
<FIRM><br />
<ID>MAIN</ID><br />
<VERSION>R1506121801:4504</VERSION><br />
</FIRM><br />
<FIRM><br />
<ID>SUB1</ID><br />
<VERSION>1.07</VERSION><br />
</FIRM><br />
<FIRM><br />
<ID>SUB2</ID><br />
<VERSION>L1505291600</VERSION><br />
</FIRM><br />
</FIRMINFO><br />
</MODELINFO><br />
<DRIVERCNT>1</DRIVERCNT><br />
<LOGNO>2</LOGNO><br />
<ERRBIT></ERRBIT><br />
<NEEDRESPONSE>1</NEEDRESPONSE><br />
</FIRMUPDATEINFO><br />
</REQUESTINFO><br />
}}<br />
<br />
Post this file to Brother:<br />
<br />
curl -X POST -d @request.xml https://firmverup.brother.co.jp/kne_bh7_update_nt_ssl/ifax2.asmx/fileUpdate -H "Content-Type:text/xml" > response.xml<br />
<br />
In {{ic|response.xml}} you will find a {{ic|<PATH>}} tag that contains the firmware download URL. Next, download the firmware, push it to the printer, and let the printer process it. Before that is done, change the Admin password to something known, it will be used as the user to log into the FTP site (VERY bad practice, don't do this). <br />
<br />
wget http://update-akamai.brother.co.jp/CS/LZ4266_W.djf<br />
ftp $PRINTER_IP<br />
bin<br />
hash<br />
send LZ4266_W.djf<br />
bye<br />
<br />
With that, the printer will restart, and the latest firmware will be installed and (hopefully) your printing woes will be solved.<br />
<br />
==Canon==<br />
<br />
There are many possible drivers for Canon printers. [http://gimp-print.sourceforge.net/p_Supported_Printers.php Many Canon printers] are supported by {{Pkg|gutenprint}}. Some of Canon's LBP, iR, and MF printers use a driver supporting the UFR II/UFR II LT/LIPSLX protocols, which is available as {{AUR|cndrvcups-lb}} or {{AUR|cndrvcups-lb-bin}}. Others use the [[#CARPS]] or [[Canon CAPT]] drivers.<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| iP4300<br />
| {{Pkg|gutenprint}}<br />
| Or use Canon's {{AUR|cnijfilter-ip4300}}{{Broken package link|{{aur-mirror|cnijfilter-ip4300}}}} driver, or the [http://www.turboprint.info/ TurboPrint] driver.<br />
|-<br />
| LBP810 || rowspan="34" | [[Canon CAPT]] ||<br />
|-<br />
| LBP1120 ||<br />
|-<br />
| LBP1210 ||<br />
|-<br />
| LBP2900 ||<br />
|-<br />
| LBP3000 ||<br />
|-<br />
| LBP3010 ||<br />
|-<br />
| LBP3018 ||<br />
|-<br />
| LBP3050 ||<br />
|-<br />
| LBP3100 ||<br />
|-<br />
| LBP3108 ||<br />
|-<br />
| LBP3150 ||<br />
|-<br />
| LBP3200 ||<br />
|-<br />
| LBP3210 ||<br />
|-<br />
| LBP3250 ||<br />
|-<br />
| LBP3300 ||<br />
|-<br />
| LBP3310 ||<br />
|-<br />
| LBP3500 ||<br />
|-<br />
| LBP5000 ||<br />
|-<br />
| LBP5050 series ||<br />
|-<br />
| LBP5100 ||<br />
|-<br />
| LBP5300 ||<br />
|-<br />
| LBP6000 ||<br />
|-<br />
| LBP6018 ||<br />
|-<br />
| LBP6020 ||<br />
|-<br />
| LBP6200 ||<br />
|-<br />
| LBP6300 ||<br />
|-<br />
| LBP6300n ||<br />
|-<br />
| LBP6310dn ||<br />
|-<br />
| LBP7010C ||<br />
|-<br />
| LBP7018C ||<br />
|-<br />
| LBP7200Cdn (network mode) ||<br />
|-<br />
| LBP7200C series ||<br />
|-<br />
| LBP7210Cdn ||<br />
|-<br />
| LBP9100C ||<br />
|-<br />
| MF4720w || {{AUR|cndrvcups-lb-bin}} ||<br />
|-<br />
| MG4200 series || {{AUR|cnijfilter-mg4200}} ||<br />
|-<br />
| TS8050 || {{AUR|cnijfilter2}} || Without {{AUR|cnijfilter2}} printing will fail with a filter error or you might get "Rendering Completed" and nothing will print<br />
|-<br />
| TS9020 || {{AUR|canon-ts9020}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
Some Canon printers will use a similar setup to the iP4500, so consider modifying the {{AUR|cnijfilter-ip4500}} package for other, similar printers.<br />
<br />
===CARPS===<br />
<br />
Some of Canon's printers use Canon's proprietary Canon Advanced Raster Printing System (CARPS) driver.<br />
[http://www.rainbow-software.org/2014/01/23/cups-driver-for-canon-carps-printers/ Rainbow Software] have managed to reverse engineer the CARPS data format and have successfully created a CARPS CUPS driver, which is available as {{AUR|carps-cups}}.<br />
The project's [https://github.com/ondrej-zary/carps-cups GitHub] page includes a list of working printers.<br />
<br />
===USB over IP (BJNP)===<br />
<br />
Some Canon printers use Canon's proprietary USB over IP BJNP protocol to communicate over the network. There is a CUPS backend for this, which is available as {{AUR|cups-bjnp}}.<br />
<br />
==Dell==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| 1250C<br />
| {{AUR|foo2zjs-nightly}}<br />
| See http://cybercom.net/~dcoffin/hbpl, the patch has been merged into upstream. The printer may also work with the [[#Phaser 6000B|Xerox Phaser 6000B driver]].<br />
|-<br />
| E515,<br />
E515dw<br />
| Install [http://downloads.dell.com/FOLDER03040853M/1/Printer_E515dw_Driver_Dell_A00_LINUX.zip Dell's driver].<br />
| Both ''e515dwcupswrapper-3.2.0-1.i386.deb'' and ''e515dwlpr-3.2.0-1.i386.deb'' need to be installed. You could either write a [[PKGBUILD]], use {{AUR|debtap}}, or use {{AUR|dpkg}} (using dpkg is not recommended as the files will not be managed by [[pacman]]). The driver works on both the x86_64 and i386 platforms, but may require [[multilib]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Epson==<br />
<br />
{{AUR|epson-inkjet-printer-escpr}} is a driver for the Epson Inkjet Printer Driver (ESC/P-R) for Linux.<br />
<br />
There is a large selection of printer drivers/filters available in the [[AUR]].<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| AcuLaser CX11(NF) || {{AUR|epson-alcx11-filter}} ||<br />
|-<br />
| AcuLaser C900 || || This printer uses Epson's driver, with a device URI of ''''usb://EPSON/AL-C900'''', and may need the pipsplus service to be running.<br />
|-<br />
| TX125 || {{AUR|epson-inkjet-printer-n10-nx127}} ||<br />
|-<br />
| LP-S5000 || || This printer requires a [[#Avasys|custom driver from Avasys]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Utilities===<br />
====escputil====<br />
escputil is part of the {{Pkg|gutenprint}} package, and performs some utility functions on Epson printers such as nozzle cleaning.<br />
<br />
====mtink====<br />
This is a printer status monitor which enables to get the remaining ink quantity, to print test patterns, to reset printer and to clean nozzle. It use an intuitive graphical user interface.<br />
<br />
====Stylus-toolbox====<br />
This is a GUI using escputil and cups drivers. It supports nearly all USB printer of Epson and displays ink quantity, can clean and align print heads and print test patterns.<br />
<br />
===Custom drivers===<br />
====Avasys====<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
"Source" code of the driver is available on the [http://www.avasys.jp avasys website], in Japanese, however it includes a 32 bit binary which will cause problem on 64 bit system.<br />
<br />
*[[Install]] the {{Pkg|psutils}}, {{Pkg|bc}}, {{Pkg|libstdc++5}} packages ({{Pkg|lib32-libstdc++5}} on 64bit).<br />
<br />
* Download the source code of the driver.<br />
* Compile and install the driver. <br />
<br />
$ ./configure --prefix=/usr<br />
$ make<br />
# make install<br />
<br />
If you have any problems on a 64 system, some other lib32 libraries may be required. Please adjust this page if that is the case.<br />
<br />
==HP==<br />
<br />
See also [[CUPS/Troubleshooting#HP issues]].<br />
<br />
Most HP printers will use {{Pkg|hplip}}, but some may use {{AUR|hpoj}}.<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DeskJet 710C || rowspan="8" | {{AUR|pnm2ppa}} ||<br />
|-<br />
| DeskJet 712C ||<br />
|-<br />
| DeskJet 720C ||<br />
|-<br />
| DeskJet 722C ||<br />
|-<br />
| DeskJet 820se ||<br />
|-<br />
| DeskJet 820Cxi ||<br />
|-<br />
| DeskJet 1000Cse ||<br />
|-<br />
| DeskJet 1000Cxi ||<br />
|-<br />
| LaserJet P1606dn || {{pkg|hplip}} + {{aur|hplip-plugin}} || Or {{aur|foo2zjs-nightly}}, or [[CUPS#CUPS|AirPrint]].<br />
|-<br />
| Photosmart 2575 || {{Pkg|hplip}} || Or use the hpijs driver in [[CUPS#Foomatic|foomatic]].<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
====== HPLIP Driver ======<br />
<br />
{{pkg|hplip}} provides drivers for HP DeskJet, OfficeJet, Photosmart, Business Inkjet, and some LaserJet printers, and also provides an easy to use setup tool.<br />
<br />
To run the setup tool with the GUI qt frontend:<br />
# hp-setup -u<br />
<br />
To run the setup tool with the command line frontend:<br />
# hp-setup -i<br />
<br />
To set up directly the configuration of a network connected HP printer:<br />
# hp-setup -i ''<ip address>''<br />
<br />
To run systray spool manager:<br />
$ hp-systray<br />
<br />
To generate a URI for a given ip address:<br />
# hp-makeuri ''<ip address>''<br />
<br />
PPD files are in {{ic|/usr/share/ppd/HP/}}.<br />
<br />
For printers that require the proprietary HP plugin (like the Laserjet Pro P1102w or 1020), install the {{AUR|hplip-plugin}} package from [[AUR]].<br />
<br />
{{Note|<br />
{{Pkg|hplip}} depends on {{Pkg|foomatic-db-engine}} which prevents the drivers list from appearing when a printer is added to CUPS via the web user interface (following error : "Unable to get list of printer drivers"). Possible workarounds:<br />
* '''Either:''' Install {{Pkg|hplip}} first, then retrieve the PPD file that matches your printer from {{ic|/usr/share/ppd/HP/}}. Next, remove {{Pkg|hplip}} entirely as well as any unnecessary dependencies. Finally, install the printer manually using the CUPS web UI, selecting the PPD file you retrieved, and then re-install {{Pkg|hplip}}. After a reboot, you should have a fully working printer.<br />
* '''Or:''' Remove {{Pkg|hplip}}, {{Pkg|foomatic-db}} and {{Pkg|foomatic-db-engine}} along with any unnecessary dependencies. Reinstall {{Pkg|hplip}} and restart CUPS. Install your printer using the CUPS web UI, which should now be able to find the drivers automatically. No reboot needed.}}<br />
<br />
==Konica==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| Minolta Magicolor 1600W || rowspan=7 | [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| Minolta Magicolor 1680MF ||<br />
|-<br />
| Minolta Magicolor 1690MF ||<br />
|-<br />
| Minolta Magicolor 2480MF ||<br />
|-<br />
| Minolta Magicolor 2490MF ||<br />
|-<br />
| Minolta Magicolor 2530DL ||<br />
|-<br />
| Minolta Magicolor 4690MF ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Lexmark==<br />
<br />
===Utilities===<br />
<br />
Lexmark provides a utility called lexijtools with the drivers.<br />
<br />
===Custom drivers===<br />
<br />
Lexmark does provide Linux drivers for all their hardware.<br />
The following packages are required:<br />
<br />
*{{Pkg|cups}}<br />
*{{Pkg|sane}}<br />
*{{Pkg|ncurses}}<br />
*{{Pkg|libusb}}<br />
*{{Pkg|libxext}}<br />
*{{Pkg|libxtst}}<br />
*{{Pkg|libxi}}<br />
*{{Pkg|libstdc++5}}<br />
*{{Pkg|krb5}}<br />
*{{Pkg|lua}} (for the automated installer)<br />
*[[Java]] (for the automated installer, and some of the Lexmark tools)<br />
<br />
The drivers will need to be [http://support.lexmark.com/index?page=driversdownloads downloaded] from Lexmark's website. Preferably, create a package (see [[Creating packages]]) and install it. Here is a basic [[PKGBUILD]] that still needs work but will give an idea of what is required.<br />
<br />
{{hc|PKGBUILD|<nowiki><br />
# Contributor: Todd Partridge (Gen2ly) toddrpartridge (at) yahoo<br />
<br />
pkgname=cups-lexmark-Z2300-2600<br />
pkgver=1<br />
pkgrel=1<br />
pkgdesc="Lexmark Z2300 and 2600 Series printer driver for cups"<br />
arch=('i686')<br />
url="http://www.lexmark.com/"<br />
license=('custom')<br />
depends=('cups' 'glibc' 'ncurses' 'libusb' 'libxext' 'libxtst' 'libxi' 'libstdc++5' 'krb5' 'lua' 'java-runtime')<br />
conflicts=('z600' 'cjlz35le-cups' 'cups-lexmark-700')<br />
source=(lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh)<br />
md5sums=(3c37eb87e3dad4853bf29344f9695134)<br />
<br />
<br />
package() {<br />
# Extract installer<br />
sh lexmark-inkjet-08-driver-1.0-1.i386.tar.gz.sh --target Installer-Files<br />
cd Installer-Files<br />
mkdir Driver<br />
tar xvvf instarchive_all --lzma -C Driver/<br />
cd Driver<br />
tar xv lexmark-inkjet-08-driver-1.0-1.i386.tar.gz -C $pkgdir<br />
}<br />
</nowiki>}}<br />
<br />
Keep in mind you can use the automated installer but doing so will leave the resulting changes untracked. The PPD will be installed into {{ic|/usr/local/lexmark/lxk08/etc/}} or similar, depending on the printer model.<br />
<br />
==Oki==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| C110|| [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| MC561|| [[CUPS#Foomatic|foomatic-db-nonfree]] ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Ricoh / Nashuatec / Gestetner==<br />
<br />
Install {{AUR|openprinting-ppds-pxlmono-ricoh}} if your printer is [https://www.openprinting.org/driver/pxlmono-Ricoh black and white], or {{AUR|openprinting-ppds-pxlcolor-ricoh}} if it's [https://www.openprinting.org/driver/pxlcolor-Ricoh color.<br />
<br />
==Samsung==<br />
<br />
{{Accuracy|All the cnijfilter drivers appear to be for Canon printers - maybe the cnijfilter comment would be better off in the Canon section?}}<br />
<br />
For printers requiring the ''cnijfilter'' drivers, search for the correct driver [https://aur.archlinux.org/packages.php?K=cnijfilter in the AUR]<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| ML-2010 || {{Pkg|splix}} ||<br />
|-<br />
| SCX-4200 || {{Pkg|splix}} ||<br />
|-<br />
| Newer printers? || {{AUR|samsung-unified-driver}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
==Xerox or FujiXerox==<br />
<br />
{| class="wikitable"<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|-<br />
| DocuPrint 203A || {{Pkg|hplip}} || Using the '''DocuPrint P8e(hpijs)''' driver, or the Brother driver on FujiXerox's website (see [[#Brother]] for more information on how to install custom Brother drivers).<br />
|-<br />
| Phaser 3100MFP || Install Xerox's driver || See [[#Phaser 3100MFP]] for more instructions.<br />
|-<br />
| Phaser 6115MFP || [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| Phaser 6121MFP || [[CUPS#Foomatic|foomatic]] ||<br />
|-<br />
| ? || {{AUR|fxlinuxprint}}{{Broken package link|{{aur-mirror|fxlinuxprint}}}} ||<br />
|-<br />
! Printer<br />
! Driver/filter<br />
! Notes<br />
|}<br />
<br />
===Custom drivers===<br />
<br />
====Phaser 3100MFP====<br />
<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
<br />
Once you have downloaded the drivers, execute the driver installer and accept the licence:<br />
# cd printer<br />
# ./XeroxPhaser3100.install<br />
Note that the driver is 32 bit, so some 32 bit libraries will be required on an x86_64 system.<br />
<br />
For the scanner, create an /etc/sane.d directory if it doesn't already exist, because it's need by the installer:<br />
# mkdir -p /etc/sane.d<br />
Now install the driver:<br />
# cd scanner/<br />
# ./XeroxPhaser3100sc.install<br />
Again, on an x86_64 install, 32 bit libraries will be needed.<br />
<br />
====Phaser 6000B====<br />
<br />
[[Install]] the [https://github.com/aur-archive/xerox-phaser-6010 xerox-phaser-6010] package (archived from the AUR).<br />
The driver may require older versions of {{Pkg|nettle}} and {{Pkg|gnutls}} to be installed, since the binary blob linked against older versions of the shared libraries provided by those packages. The oldest known-good versions are {{ic|nettle-2.7.1-1}} and {{ic|gnutls-3.3.13-1}}.<br />
<br />
====Phaser 6125N====<br />
<br />
{{Warning|This section involves installing packages without [[pacman]]. These directions should ideally be automated with a [[PKGBUILD]].}}<br />
<br />
FujiXerox does not support Linux on this model. An old rpm [http://onlinesupport.fujixerox.com/tiles/common/hc_drivers_download.jsp?system=%27Linux%27&shortdesc=null&xcrealpath=http://www.fujixeroxprinters.com/downloads/uploaded/dpc525a_linux_.0.0.tar_81c2.zip is available] but does not seem to work.<br />
<br />
A slightly adapted [https://rickvanderzwet.nl/trac/personal/wiki/XeroxPhaser6125N custom driver] has been found to work out of the box.<br />
<br />
To install the tarball, run<br />
# tar -C / --keep-newer-files -xvzf cups-xerox-phaser-6125n-1.0.0.tar.gz</div>Plphttps://wiki.archlinux.org/index.php?title=Firefox/Tweaks&diff=493454Firefox/Tweaks2017-10-17T13:40:39Z<p>Plp: Updated "Run Firefox inside an nspawn container" to make a note of a bug in systemd version 235</p>
<hr />
<div>[[Category:Web browser]]<br />
[[ja:Firefox 設定]]<br />
[[tr:Firefox İpuçları]]<br />
{{Related articles start}}<br />
{{Related|Firefox}}<br />
{{Related|Browser plugins}}<br />
{{Related|Firefox/Profile on RAM}}<br />
{{Related|Firefox/Privacy}}<br />
{{Related articles end}}<br />
<br />
This page contains advanced Firefox configuration options and performance tweaks.<br />
<br />
== Performance ==<br />
<br />
Improving Firefox's performance is divided into parameters that can be inputted while running Firefox or otherwise modifying its configuration as intended by the developers, and advanced procedures that involve foreign programs or scripts.<br />
<br />
{{Note|Listed options may only be available for the latest version of Firefox.}}<br />
<br />
This section contains advanced Firefox options for performance tweaking. For additional information see [http://kb.mozillazine.org/Category:Tweaking_preferences these MozillaZine articles].<br />
<br />
=== Enable OpenGL Off-Main-Thread Compositing (OMTC) ===<br />
{{Warning|If OpenGL OMTC is disabled for a specific hardware, it may be due to stability issues, high system resources consumption, driver bugs or a number of different variables, and so instead of speeding things up it might slow them down. Proceed with force-enabling it at your own risk, benchmark if you aren’t sure.}}<br />
{{Note|Since Firefox version 40 basic software OMTC is enabled by default except on machines mentioned above.}}<br />
<br />
To enable OpenGL OMTC go to {{ic|about:config}} and enable {{ic|layers.acceleration.force-enabled}}.<br />
<br />
Restart Firefox for changes to take effect.<br />
<br />
To check if OpenGL OMTC is enabled, go to {{ic|about:support}} and under the "Graphics" section look for "Compositing". If it reports "Basic", OpenGL OMTC is disabled; if it reports "OpenGL" it is enabled.<br />
<br />
If the above changes do not enable GPU acceleration, try setting the environment variable as follows: {{ic|1=export MOZ_USE_OMTC=1|2==}}. Then run Firefox [http://featherweightmusings.blogspot.se/2013/11/no-more-main-thread-opengl-in-firefox.html].<br />
<br />
For more information on OMTC in Firefox read here: https://wiki.mozilla.org/Platform/GFX/OffMainThreadCompositing<br />
<br />
=== Set AzureContentBackend to Skia instead of Cairo ===<br />
{{Note|Since Firefox 51 skia is the default content backend.}}<br />
[https://skia.org/ Skia] is a 2D open-source graphics library to eventually supersede Cairo as the default Azure backend on Linux.<br />
<br />
To set Skia as the default go to {{ic|about:config}} and set:<br />
* {{ic|gfx.content.azure.backends skia,cairo}}<br />
<br />
Restart Firefox for changes to take effect.<br />
<br />
To confirm the default Azure backend go to {{ic|about:support}} and under the "Graphics" section look for "AzureContentBackend" and check if it reports "skia".<br />
<br />
=== Enable Accelerated Azure Canvas ===<br />
{{Warning|Accelerated Azure Canvas may cause invalid/corrupt rendering of images on unsupported devices and/or drivers, see [[#Enable OpenGL Off-Main-Thread Compositing (OMTC)]].}}<br />
<br />
Go to {{ic|about:config}}, accept the warning, right click and create a new boolean value. Set the name as {{ic|gfx.canvas.azure.accelerated}} and set it to ''true''.<br />
<br />
To verify restart Firefox then go to {{ic|about:support}} and search for {{ic|AzureCanvasAccelerated}} which should be set to ''1''.<br />
<br />
=== Stop urlclassifier3.sqlite from being created again ===<br />
Removing all {{ic|urlclassifier*}} files can prevent the use of megabytes of storage in your firefox profile. If you remove all the {{ic|urlclassifier*}} files, you may find out that {{ic|urlclassifier3.sqlite}} keeps growing again after a certain time. Here is a simple solution to avoid it for now and ever.<br />
<br />
$ cd ~/.mozilla/firefox/<profile_dir><br />
$ echo "" > urlclassifier3.sqlite<br />
$ chmod 400 urlclassifier3.sqlite<br />
<br />
This effectively makes the file empty and then read-only so Firefox cannot write to it anymore.<br />
<br />
=== Turn off the disk cache ===<br />
Every object loaded (html pages, jpeg images, css stylesheets, gif banners) is saved in the Firefox cache, to be loaded in the future without to download it again from the server, but only fraction of these objects will be really reused without download (usually the 30%). This because of too short expiration times for the objects, updates or simply the user behavior (to load new pages instead the ones already visited). The Firefox cache is divided in memory and disk cache and using the disk cache results to frequent disk writes, because every time an object loaded it is written to the disk and some older object is removed.<br />
<br />
* Turn on the following option under Preferences -> Advanced -> Network -> ''"Cached Web Content: Override automatic cache management"'' and specify zero in ''"Limit cache to"''.<br />
<br />
=== Longer interval to save session ===<br />
The Firefox session store automatically saves the current status (opened urls, cookies, history and bookmarks) to the disk every 15 seconds. It may be too frequent for the user needs, resulting in a frequent disk access. <br />
<br />
This setting can be found on the {{ic|about:config}} page (try searching for ''sessionstore'').<br />
<br />
* {{ic|browser.sessionstore.interval}} 300000<br />
<br />
If you want to disable this feature, then you will need to change the following setting from true to false.<br />
<br />
* {{ic|browser.sessionstore.resume_from_crash}} false<br />
<br />
=== Immediate rendering of pages ===<br />
Mozilla applications render web pages incrementally - they display what has been received of a page before the entire page has been downloaded. Since the start of a web page normally does not have much useful information to display, Mozilla applications will wait a short interval before first rendering a page. This preference controls that interval. Note that if you are on slower connections (dial up) changing this setting might make web pages load for longer times even though the page appears faster.<br />
<br />
This setting can be created in the {{ic|about:config}} page as <br />
<br />
* nglayout.initialpaint.delay with a value of 0.<br />
<br />
=== Referrer header control ===<br />
The HTTP {{ic|Referer}} header can be extensively configured via {{ic|about:config}}. See [https://wiki.mozilla.org/Security/Referrer Security/Referrer] on the Mozilla wiki for the available preferences.<br />
<br />
=== Defragment the profile's SQLite databases ===<br />
{{Warning|This procedure may damage the databases in such a way that sessions are not saved properly.}}<br />
<br />
Starting with Firefox 3.0, bookmarks, history, passwords are kept in SQLite databases. SQLite databases become fragmented over time and empty spaces appear all around. But, since there are no managing processes checking and optimizing the database, these factors eventually result in a performance hit. A good way to improve start-up and some other bookmarks and history related tasks is to defragment and trim unused space from these databases.<br />
<br />
You can use {{AUR|profile-cleaner}} to do this, while Firefox is '''not''' running:<br />
<br />
{| class="wikitable"<br />
|+ profile-cleaner usage example:<br />
! SQLite database || Size Before || Size After || % change<br />
|- <br />
|urlclassifier3.sqlite|| 37 M || 30 M || 19 %<br />
|-<br />
|places.sqlite || 16 M || 2.4 M || 85 %<br />
|-<br />
|}<br />
<br />
Recent (as of H2 2016) versions of Firefox, provide a tool to defragment and optimize the places database, which is the source of most slowdowns and profile corruptions. To access this tool, open the {{ic|about:support}} page. In the resulting page, search for {{ic|Places Database}} and click the {{ic|Verify Integrity}} button.<br />
<br />
=== Cache the entire profile into RAM via tmpfs ===<br />
If the system has memory to spare, {{ic|tmpfs}} can be used to [[Firefox on RAM|cache the entire profile directory]], which might result in increased Firefox responsiveness.<br />
<br />
=== Turn off sponsored content and tiles ===<br />
In {{ic|about:config}}, set the string value to a blank for both of these: {{ic|browser.newtabpage.directory.source}} and {{ic|browser.newtabpage.directory.ping}}. Consider also disabling the tile feature from the tools on a new tab page. A [[Wireshark]] session demonstrates the level of chatter created by these features.<br />
<br />
=== Enable Electrolysis ===<br />
In Firefox 48 (45 ESR) or later, Electrolysis (multi-process) may be enabled to improve performance and security by setting {{ic|browser.tabs.remote.autostart}} to ''true'' in {{ic|about:config}}. It may be needed to force-enable Electrolysis [https://wiki.mozilla.org/Electrolysis#Force_Enable], although this is generally not recommended and may cause issues.<br />
<br />
To check if Electrolysis is enabled, go to {{ic|about:support}} and under the "Application Basics" section look for "Multiprocess Windows". If it reports "0/1 (Disabled)", Electrolysis is disabled; if it reports "1/1 (Enabled by user)" it is enabled. Note that the given numbers ''*/*'' indicate the number of open Firefox windows, e.g. 0/2 meaning non of the two Firefox-windows are using Electrolysis, and 2/2 means it is enabled for both windows.<br />
<br />
=== Enable HTTP Cache ===<br />
In {{ic|about:config}}, set {{ic|browser.cache.use_new_backend}} to 1.<br />
<br />
=== Disable Pocket ===<br />
If you don't use the Pocket-service, you may want to disable it by setting {{ic|extensions.pocket.enabled}} to ''false'' in {{ic|about:config}}.<br />
{{Note|on 45ESR the keys are {{ic|browser.pocket...}}}}<br />
<br />
== Appearance ==<br />
=== Fonts ===<br />
See the main article: [[Font configuration]]<br />
<br />
==== Configure the DPI value ====<br />
Modifying the following value can help improve the way fonts looks in Firefox if the system's DPI is below 96. Firefox, by default, uses 96 and only uses the system's DPI if it is a higher value. To force the system's DPI regardless of its value, type {{ic|about:config}} into the address bar and set {{ic|layout.css.dpi}} to '''0'''.<br />
<br />
Note that the above method only affects the Firefox user interface's DPI settings. Web page contents still use a DPI value of 96, which may look ugly or, in the case of high-resolution displays, may be rendered too small to read. A solution is to change {{ic|layout.css.devPixelsPerPx}} to system's DPI divided by 96. For example, if your system's DPI is 144, then the value to add is 144/96 = 1.5. Changing {{ic|layout.css.devPixelsPerPx}} to '''1.5''' makes web page contents use a DPI of 144, which looks much better.<br />
<br />
See also [[HiDPI#Firefox]] for information about HiDPI displays and [https://www.sven.de/dpi/] for calculating the DPI.<br />
<br />
==== Default font settings from Microsoft Windows ====<br />
Below are the default font preferences when Firefox is installed in Microsoft Windows. Many web sites use the Microsoft fonts.<br />
{{bc|<br />
Proportional: Serif Size (pixels): 16<br />
Serif: Times New Roman<br />
Sans-serif: Arial<br />
Monospace: Courier New Size (pixels): 13<br />
}}<br />
<br />
=== General user interface CSS settings ===<br />
Firefox's user interface can be modified by editing the {{ic|userChrome.css}} and {{ic|userContent.css}} files in {{ic|~/.mozilla/firefox/<profile_dir>/chrome/}} (''profile_dir'' is of the form ''hash.name'', where the ''hash'' is an 8 character, seemingly random string and the profile ''name'' is usually ''default'').<br />
<br />
{{Note|The {{ic|chrome/}} folder and {{ic|userChrome.css}}/{{ic|userContent.css}} files may not necessarily exist, so they may need to be created.}}<br />
<br />
This section only deals with the {{ic|userChrome.css}} file which modifies Firefox's user interface, and not web pages.<br />
<br />
==== Change the interface font ====<br />
<br />
The setting effectively overrides the global GTK+ font preferences, and does not affect webpages, only the user interface itself:<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
* {<br />
font-family: "FONT_NAME";<br />
}<br />
}}<br />
<br />
==== Hide button icons ====<br />
Enables text-only buttons:<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
.button-box .button-icon {<br />
display: none;<br />
}<br />
}}<br />
<br />
==== Hiding various tab buttons ====<br />
These settings hide the arrows that appear to the horizontal edges of the tab bar, the button that toggles the "all tabs" drop-down list, and the plus sign button that creates a new tab.<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<nowiki><br />
/* Tab bar */<br />
<br />
.tabbrowser-strip *[class^="scrollbutton"] {<br />
/* Hide tab scroll buttons */<br />
display: none;<br />
}<br />
<br />
.tabbrowser-strip *[class^="tabs-alltabs"] {<br />
/* Hide tab drop-down list */<br />
display: none;<br />
}<br />
<br />
.tabbrowser-strip *[class^="tabs-newtab-button"] {<br />
/* Hide new-tab button */<br />
display: none;<br />
}</nowiki><br />
}}<br />
<br />
==== Horizontal tabs ====<br />
To place the tab bar horizontally stacked along the sides of the browser window:<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
/* Display the tabbar on the left */<br />
#content > tabbox {<br />
-moz-box-orient: horizontal;<br />
}<br />
<br />
.tabbrowser-strip {<br />
-moz-box-orient: vertical;<br />
/*<br />
* You can set this to -moz-scrollbars-vertical instead,<br />
* but then the scrollbar will *always* be visible. this way<br />
* there is never a scrollbar, so it behaves like the tab bar<br />
* normally does<br />
*/<br />
overflow: -moz-scrollbars-none;<br />
}<br />
<br />
.tabbrowser-tabs {<br />
-moz-box-orient: horizontal;<br />
min-width: 20ex; /* You may want to increase this value */<br />
-mox-box-pack: start;<br />
-moz-box-align: start;<br />
}<br />
<br />
.tabbrowser-tabs > hbox {<br />
-moz-box-orient: vertical;<br />
-moz-box-align: stretch;<br />
-moz-box-pack: start;<br />
}<br />
<br />
.tabbrowser-tabs > hbox > tab {<br />
-moz-box-align: start;<br />
-moz-box-orient: horizontal;<br />
}<br />
}}<br />
<br />
==== Hide window border and title bar ====<br />
Install the [https://addons.mozilla.org/firefox/addon/hide-caption-titlebar-plus-sma/ Hide Caption Titlebar Plus] extension and set the following settings (leaving other settings to default):<br />
{| class="wikitable"<br />
! Option<br />
! Value<br />
|-<br />
| Show Custom Caption/TitleBar<br />
| Never<br />
|-<br />
| Activate custom borders and corner resizers<br />
| Deactivate<br />
|-<br />
| Enable Customizable Buttons (min,max,close)<br />
| Using a Glass-like window background<br />
|-<br />
| Custom Minimize, Max, Close Buttons<br />
| Auto. Current theme's skin (fixed position)<br />
|-<br />
| Drag Fx window using Tab-bar background<br />
| Enable<br />
|-<br />
| Alternative hide-titlebar feature<br />
| Use<br />
|}<br />
<br />
The extension [https://addons.mozilla.org/firefox/addon/classicthemerestorer/ Classic Theme Restorer] provides more tweaking options to get the best result (e.g. set tab height to 28px, enable/disable toolbars/buttons, etc.).<br />
<br />
==== Auto-hide Bookmarks Toolbar ====<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
#PersonalToolbar {<br />
visibility: collapse !important;<br />
}<br />
<br />
#navigator-toolbox:hover > #PersonalToolbar {<br />
visibility: visible !important;<br />
}<br />
}}<br />
<br />
==== Remove sidebar width restrictions ====<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<br />
/* remove maximum/minimum width restriction of sidebar */<br />
#sidebar {<br />
max-width: none !important;<br />
min-width: 0px !important;<br />
}<br />
}}<br />
<br />
=== Web content CSS settings ===<br />
This section deals with the {{ic|userContent.css}} file in which you can add custom CSS rules for web content. Changes to this file will take effect once the browser is restarted.<br />
<br />
This file can be used for making small fixes or to apply personal styles to frequently visited websites. Custom stylesheets for popular websites are available from sources such as [http://userstyles.org/ userstyles.org]. You can install an add-on such as [https://addons.mozilla.org/firefox/addon/superusercontent/ superUserContent] to manage themes. This add-on creates the directory {{ic|chrome/userContent.css.d}} and applies changes to the CSS files therein when the page is refreshed.<br />
<br />
==== Import other CSS files ====<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<br />
@import url("./imports/some_file.css");<br />
}}<br />
<br />
==== Block certain parts of a domain ====<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<br />
@-moz-document domain(example.com) {<br />
div#header {<br />
background-image: none !important;<br />
} <br />
}<br />
}}<br />
<br />
==== Add [pdf] after links to PDF files ====<br />
{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<nowiki><br />
/* add '[pdf]' next to links to PDF files */<br />
a[href$=".pdf"]:after {<br />
font-size: smaller;<br />
content: " [pdf]";<br />
}</nowiki><br />
}}<br />
<br />
==== Firefox 4 New Menu Bar/Firefox Button ====<br />
To toggle between the new Firefox button and the classic menu bar:<br />
* if the button is active, check ''Preferences > Menu Bar'', or right click in the toolbar area and check ''Menu Bar''.<br />
* if the menu bar is active, uncheck ''View > Toolbars > Menu Bar'', or right click in the toolbar area and uncheck ''Menu Bar''.<br />
<br />
In GNU/Linux, you will just get a plain grey button instead of the new orange one from Windows. However you can change this to either a Firefox icon or the icon followed by the "Firefox" text.<br />
<br />
Adding the following to your {{ic|~/.mozilla/firefox/userprofile/chrome/userChrome.css}} file will place the icon before the text:<br />
{{bc|<br />
#appmenu-toolbar-button {<br />
list-style-image: url("chrome://branding/content/icon16.png");<br />
}<br />
}}<br />
<br />
Adding the following to the same file will ''remove'' the "Firefox" text:<br />
{{bc|<br />
#appmenu-toolbar-button > .toolbarbutton-text,<br />
#appmenu-toolbar-button > .toolbarbutton-menu-dropmarker {<br />
display: none !important;<br />
}<br />
}}<br />
<br />
This userChrome.css configuration copies the default Windows Firefox 4+ look and adds an orange background to the button, with a purple background in Private Browsing mode:<br />
{{bc|<br />
#main-window:not([privatebrowsingmode]) #appmenu-toolbar-button {<br />
-moz-appearance: none !important;<br />
color: #FEEDFC !important;<br />
background: -moz-linear-gradient(hsl(34,85%,60%), hsl(26,72%,53%) 95%) !important;<br />
border: 1px solid #000000 !important;<br />
}<br />
<br />
#main-window:not([privatebrowsingmode]) #appmenu-toolbar-button:hover:not(:active):not([open]) {<br />
-moz-appearance: none !important;<br />
color: #FEEDFC !important;<br />
background: -moz-linear-gradient(hsl(26,72%,53%), hsl(34,85%,60%) 95%) !important;<br />
border: 1px solid #000000 !important;<br />
}<br />
<br />
#main-window:not([privatebrowsingmode]) #appmenu-toolbar-button:hover:active,<br />
#main-window:not([privatebrowsingmode]) #appmenu-toolbar-button[open] {<br />
-moz-appearance: none !important;<br />
color: #FEEDFC !important;<br />
background: -moz-linear-gradient(hsl(26,72%,53%), hsl(26,72%,53%) 95%) !important;<br />
border: 1px solid #000000 !important;<br />
}<br />
<br />
#appmenu-toolbar-button {<br />
-moz-appearance: none !important;<br />
color: #FEEDFC !important;<br />
background: -moz-linear-gradient(hsl(279,70%,46%), hsl(276,75%,38%) 95%) !important;<br />
border: 1px solid #000000 !important;<br />
}<br />
<br />
#main-window #appmenu-toolbar-button:hover:not(:active):not([open]) {<br />
-moz-appearance: none !important;<br />
color: #FEEDFC !important;<br />
background: -moz-linear-gradient(hsl(276,75%,38%), hsl(279,70%,46%) 95%) !important;<br />
border: 1px solid #000000 !important;<br />
}<br />
<br />
#main-window #appmenu-toolbar-button:hover:active,<br />
#main-window #appmenu-toolbar-button[open] {<br />
-moz-appearance: none !important;<br />
color: #FEEDFC !important;<br />
background: -moz-linear-gradient(hsl(276,75%,38%), hsl(276,75%,38%) 95%) !important;<br />
border: 1px solid #000000 !important;<br />
}<br />
}}<br />
<br />
{{Note|You need to create both the {{ic|chrome}} directory and {{ic|userChrome.css}}, if they do not already exist.}}<br />
<br />
==== Block ads ====<br />
<br />
See [http://www.floppymoose.com floppymoose.com] for an example of how to use {{ic|userContent.css}} as a basic ad-blocker.<br />
<br />
==== Remove fullscreen warning ====<br />
<br />
Warning about video displayed in full screen mode ("… is now fullscreen") can be disabled by setting "full-screen-api.warning.timeout" to 0 in about:config<br />
<br />
== Miscellaneous ==<br />
<br />
=== Enable additional media codecs ===<br />
<br />
{{Expansion|This section is not completed, there are many other variables related to Media Codecs in firefox.}}<br />
<br />
Before continuing, remember there is a reason some of these variables are not enabled by default, e.g. stability, memory leaks, etc. Go to {{ic|about:config}} and check the following options:<br />
<br />
{| class="wikitable"<br />
|+ Suggested values<br />
! Key || Value || Description<br />
|-<br />
| media.mediasource.enabled || true (default) || Enable [[wikipedia:Media_Source_Extensions|Media Source Extensions]] (MSE)<br />
|-<br />
| media.mediasource.mp4.enabled || true (default) || Enable [[wikipedia:MPEG-4_Part_14|MP4]] MSE<br />
|-<br />
| media.mediasource.webm.enabled || true (default) || Enable [[wikipedia:WebM|WebM]] MSE.<br />
|-<br />
| media.mediasource.ignore_codecs || true || Enable H.264 MSE, amongst other things (This boolean key has to be created!)<br />
|}<br />
<br />
==== Widevine and Netflix/Amazon Video ====<br />
<br />
Widevine is a digital rights management tool that Netflix, Amazon Prime Video, and others use to protect their video content.<br />
<br />
The first time you visit a Widevine-enabled page Firefox will display a prompt below the address bar asking for permission to install DRM. Approve this and then wait for the "Downloading" bar to disappear, you are now able to watch videos from Netflix, Amazon Prime Video, or any other Widevine protected site.<br />
{{Note|Please make sure to check the ''Play DRM content'' option under Content-Preference.}}<br />
<br />
=== Mouse wheel scroll speed ===<br />
<br />
To modify the default values (i.e. speed-up) of the mouse wheel scroll speed, go to {{ic|about:config}} and search for {{ic|mousewheel.acceleration}}. This will show the available options, modifying the following:<br />
<br />
* Set {{ic|mousewheel.acceleration.start}} to '''-1'''.<br />
* Set {{ic|mousewheel.acceleration.factor}} to the desired number (10 to 20 are common values).<br />
<br />
Alternatively you can install the [http://smoothwheel.mozdev.org/ SmoothWheel add-on].<br />
<br />
=== Pixel-perfect trackpad scrolling ===<br />
<br />
To enable one-to-one trackpad scrolling (as can be witnessed with GTK3 applications like Nautilus), set the {{ic|1=MOZ_USE_XINPUT2=1}} [[environment variable]] before starting Firefox.<br />
<br />
If scrolling is undesirably jerky, try enabling Firefox's "Smooth Scrolling" option in Preferences > Advanced.<br />
<br />
=== Change the order of search engines in the Firefox Search Bar ===<br />
<br />
To change the order search engines are displayed in:<br />
* Open the drop-down list of search engines and click ''Manage Search Engines...'' entry.<br />
* Highlight the engine you want to move and use ''Move Up'' or ''Move Down'' to move it. Alternatively, you can use drag-and-drop.<br />
<br />
=== How to open a *.doc automatically with Abiword or LibreOffice Writer ===<br />
<br />
Go to ''Preferences > Applications'' and search for ''Word Document'' (or ''Word 2007 Document'' for {{ic|*.docx}}). After finding it, click the drop-down list and select ''Use other...''. From there you have to specify the exact path to the Abiword or Writer executable (i.e.{{ic|/usr/bin/abiword}} or {{ic|/usr/bin/lowriter}}).<br />
<br />
=== "I'm Feeling Lucky" mode ===<br />
<br />
Some search engines have a "feeling lucky" feature. For example, Google has "I'm Feeling Lucky", and DuckDuckGo has "I'm Feeling Ducky".<br />
<br />
To activate them:<br />
# Type {{ic|about:config}} in the address bar.<br />
# Search for the string {{ic|keyword.url}}.<br />
# Modify its value (if any) to the URL of the search engine. <br />
<br />
For Google, set it to:<br />
{{bc|<nowiki>https://www.google.com/search?btnI=I%27m+Feeling+Lucky&q=</nowiki>}}<br />
For DuckDuckGo, set it to:<br />
{{bc|<nowiki>https://duckduckgo.com/?q=\</nowiki>}}<br />
<br />
=== Secure DNS with DNSSEC validator ===<br />
<br />
You can enable [[DNSSEC]] support for safer browsing.<br />
<br />
=== Adding magnet protocol association ===<br />
<br />
In {{ic|about:config}} set {{ic|network.protocol-handler.expose.magnet}} to '''false'''.<br />
<br />
The next time you open a magnet link, you will be prompted with a {{ic|Launch Application}} dialogue. From there simply select your chosen torrent client. This technique can also be used with other protocols.<br />
<br />
=== Adding magnet protocol association for kTorrent (KDE4) ===<br />
<br />
Create a user copy of {{ic|/usr/share/applications/kde4/ktorrent.desktop}} to {{ic|~/.local/share/applications/kde4/}}, and append to {{ic|1=Mimetype=}}<br />
<br />
x-scheme-handler/magnet<br />
<br />
Modify {{ic|~/.config/mimeapps.list}} and append:<br />
<br />
x-scheme-handler/magnet=kde4-ktorrent.desktop<br />
<br />
See [http://superuser.com/questions/44072/how-do-i-associate-magnet-links-with-ktorrent-in-firefox]<br />
<br />
=== Prevent accidental closing ===<br />
<br />
The [https://addons.mozilla.org/firefox/addon/disable-ctrl-q-shortcut/ Disable Ctrl-Q Shortcut] extension can be installed to prevent unwanted closing of the browser.<br />
<br />
An alternative is to add a rule in your window manager configuration file. For example in [[Openbox]] add:<br />
<keybind key="C-q"><br />
<action name="Execute"><br />
<execute>false</execute><br />
</action><br />
</keybind><br />
in the ''<keyboard>'' section of your {{ic|~/.config/openbox/rc.xml}} file.<br />
{{Note|This will be effective for every application used under a graphic server.}}<br />
<br />
=== Plugins do not work with latest version ===<br />
<br />
Due to Arch's bleeding edge nature, there can be some compatibility issues with plugins not working with the latest Firefox install (e.g. [http://5digits.org/pentadactyl/index Pentadactyl]). If possible, try installing the nightly/beta builds available, or see [[Downgrading packages]].<br />
<br />
[https://addons.mozilla.org/firefox/addon/checkcompatibility/ Disable Add-on Compatibility Checks] plugin should take care of spurious compatibility issues when the plugins get disabled, even though they work just fine with the new version.<br />
<br />
=== Jerky or choppy scrolling ===<br />
<br />
Scrolling in Firefox can feel "jerky" or "choppy". A post on [http://forums.mozillazine.org/viewtopic.php?f=8&t=2749475/ MozillaZine] gives settings that work on Gentoo, but reportedly work on Arch Linux as well: <br />
<br />
# Set {{ic|mousewheel.min_line_scroll_amount}} to 40<br />
# Set {{ic|general.smoothScroll}} and {{ic|general.smoothScroll.pages}} to '''false'''<br />
# Set {{ic|image.mem.min_discard_timeout_ms}} to something really large such as 2100000000 but no more than 2140000000. Above that number Firefox will not accept your entry and complain with the error code: "The text you entered is not a number." <br />
# Set {{ic|image.mem.max_decoded_image_kb}} to at least 512K<br />
<br />
Now scrolling should flow smoothly.<br />
<br />
=== Run Firefox inside an nspawn container ===<br />
<br />
{{Move|systemd-nspawn|This is potentially useful for any browser, so... move back?}}<br />
<br />
Note: on newer systems, you must enable local access to the user xserver with 'xhost local:root'<br />
<br />
To run as PID 1<br />
<br />
# systemd-nspawn --setenv=DISPLAY=:0 \<br />
--setenv=XAUTHORITY=~/.Xauthority \<br />
--bind-ro=$HOME/.Xauthority:/root/.Xauthority \<br />
--bind=/tmp/.X11-unix \<br />
-D ~/containers/firefox \<br />
firefox<br />
<br />
Else rather boot the container, with systemd ideally setting up your networking with [[systemd-networkd]]:<br />
<br />
# systemd-nspawn --bind-ro=$HOME/.Xauthority:/root/.Xauthority \<br />
--bind=/tmp/.X11-unix \<br />
-D ~/containers/firefox \<br />
--network-veth -b<br />
<br />
{{Note|There is [https://github.com/systemd/systemd/issues/7093 a bug] in systemd version 235 that causes /tmp/.X11-unix to disappear from the filesystem when doing this. If you're having trouble, try binding /tmp/.X11-unix read-only instead: {{ic|--bind-ro<nowiki>=</nowiki>/tmp/.X11-unix}} }}<br />
<br />
Once your container is booted, run the Xorg binary like so:<br />
<br />
# systemd-run -M firefox --setenv=DISPLAY=:0 firefox<br />
<br />
=== Show search matches position in scroll bar ===<br />
<br />
This chrome feature can be achieved via [https://addons.mozilla.org/firefox/addon/findbar-tweak/ FindBar Tweak] extension.<br />
<br />
=== Enable touchscreen gestures ===<br />
<br />
Make sure {{ic|dom.w3c_touch_events.enabled}} is either set to 1 (''enabled'') or 2 (''default, auto-detect'').<br />
<br />
Run {{ic|1=export MOZ_USE_XINPUT2=1|2==}} before launching Firefox. To make this change persistent, add that command to {{ic|/etc/profile.d/firefox.sh}}.<br />
<br />
=== Disable WebRTC audio post processing ===<br />
<br />
If you are using the PulseAudio [[PulseAudio/Troubleshooting#Enable_Echo.2FNoise-Cancelation|module-echo-cancel]], you probably don't want Firefox to do additional audio post processing.<br />
<br />
To disable audio post processing, disable the following preferences:<br />
<br />
* {{ic|media.getusermedia.aec_enabled}} (Acoustic Echo Cancellation)<br />
* {{ic|media.getusermedia.agc_enabled}} (Automatic Gain Control)<br />
* {{ic|media.getusermedia.noise_enabled}} Noise suppression. BEWARE: Disabling noise suppression in Firefox may lead to a "Mickey Mouse voice"<br />
<br />
=== Make URL bar behave like on Windows regarding mouse clicks ===<br />
<br />
In {{ic|about:config}}, set the following settings:<br />
{{bc|<br />
browser.urlbar.clickSelectsAll true<br />
browser.urlbar.doubleClickSelectsAll false<br />
layout.word_select.stop_at_punctuation true<br />
}}<br />
This will make a single click in the URL bar select everything, a double click selects a single word until a punctuation and a triple click selects everything again.<br />
<br />
== See also ==<br />
<br />
* [http://kb.mozillazine.org/Knowledge_Base MozillaZine Wiki]<br />
* [http://kb.mozillazine.org/About:config_entries about:config entries MozillaZine article]<br />
* [http://linuxtidbits.wordpress.com/2009/08/01/better-fox-cat-and-weasel/ Firefox touch-ups that might be desired]</div>Plphttps://wiki.archlinux.org/index.php?title=Systemd-nspawn&diff=493452Systemd-nspawn2017-10-17T13:38:30Z<p>Plp: /* Use an X environment */ Fixed wording in my last edit</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Virtualization]]<br />
[[ja:Systemd-nspawn]]<br />
[[ru:Systemd-nspawn]]<br />
{{Related articles start}}<br />
{{Related|systemd}}<br />
{{Related|Linux Containers}}<br />
{{Related|systemd-networkd}}<br />
{{Related|Docker}}<br />
{{Related|Lxc-systemd}}<br />
{{Related articles end}}<br />
<br />
''systemd-nspawn'' is like the [[chroot]] command, but it is a ''chroot on steroids''.<br />
<br />
''systemd-nspawn'' may be used to run a command or OS in a light-weight namespace container. It is more powerful than [[chroot]] since it fully virtualizes the file system hierarchy, as well as the process tree, the various IPC subsystems and the host and domain name.<br />
<br />
''systemd-nspawn'' limits access to various kernel interfaces in the container to read-only, such as {{ic|/sys}}, {{ic|/proc/sys}} or {{ic|/sys/fs/selinux}}. Network interfaces and the system clock may not be changed from within the container. Device nodes may not be created. The host system cannot be rebooted and kernel modules may not be loaded from within the container.<br />
<br />
This mechanism differs from [[Lxc-systemd]] or [[Libvirt]]-lxc, as it is a much simpler tool to configure.<br />
<br />
== Installation ==<br />
<br />
''systemd-nspawn'' is part of and packaged with {{Pkg|systemd}}. <br />
<br />
== Examples ==<br />
<br />
=== Create and boot a minimal Arch Linux distribution in a container ===<br />
<br />
First install {{Pkg|arch-install-scripts}}.<br />
<br />
Next, create a directory to hold the container. In this example we will use {{ic|~/MyContainer}}. <br />
<br />
Next, we use pacstrap to install a basic arch-system into the container. At minimum we need to install the {{Grp|base}} group. <br />
<br />
# pacstrap -i -c -d ~/MyContainer base [additional pkgs/groups]<br />
<br />
{{Tip|The {{ic|-i}} option will '''avoid''' auto-confirmation of package selection. As you do not need to install the Linux kernel in the container, you can remove it from the package list selection to save space. See [[Pacman#Usage]].}}<br />
<br />
{{Note|The package {{Pkg|linux-firmware}} required by {{Pkg|linux}}, which is included in the {{Grp|base}} group and isn't necessary to run the container, causes some issues to {{ic|systemd-tmpfiles-setup.service}} during the booting process with {{ic|systemd-nspawn}}. It's possible to install the {{Grp|base}} group but excluding the {{Pkg|linux}} package and its dependencies when building the container with {{ic|# pacstrap -i -c -d ~/MyContainer base --ignore linux [additional pkgs/groups]}}. The {{ic|--ignore}} flag will be simply passed to {{Pkg|pacman}}. See {{Bug|46591}} for more information.}}<br />
<br />
Once your installation is finished, boot into the container:<br />
<br />
# systemd-nspawn -b -D ~/MyContainer<br />
<br />
The {{ic|-b}} option will boot the container (i.e. run {{ic|systemd}} as PID=1), instead of just running a shell, and {{ic|-D}} specifies the directory that becomes the container's root directory.<br />
<br />
After the container starts, log in as "root" with no password.<br />
<br />
The container can be powered off by running {{ic|poweroff}} from within the container. From the host, containers can be controlled by the [[#machinectl|machinectl]] tool.<br />
<br />
{{Note|To terminate the ''session'' from within the container, hold {{ic|Ctrl}} and rapidly press {{ic|]}} three times. Non-US keyboard users should use {{ic|%}} instead of {{ic|]}}.}}<br />
<br />
==== Bootstrap Arch Linux i686 inside x86_64 host ====<br />
<br />
It is possible to install a minimal i686 Arch Linux inside a subdirectory and use it as systemd-nspawn container instead of [[chroot]] or [[virtualization]]. This is useful for testing {{ic|PKGBUILD}} compilation for i686 and other tasks. Make sure you use a {{ic|pacman.conf}} '''without''' {{ic|multilib}} repository.<br />
<br />
# pacman_conf=/tmp/pacman.conf # this is pacman.conf without multilib<br />
# mkdir /mnt/i686-archlinux<br />
# linux32 pacstrap -C "$pacman_conf" -di /mnt/i686-archlinux base base-devel<br />
<br />
You may deselect {{ic|linux}} from {{ic|base}} group, since the resulting bootstrap directory is not meant to be booted on real or virtualized hardware.<br />
<br />
To start the resulting i686 Arch Linux systemd-nspawn instance, just issue the following command.<br />
<br />
# linux32 systemd-nspawn -D /mnt/i686-archlinux<br />
<br />
=== Create a Debian or Ubuntu environment ===<br />
<br />
Install {{Pkg|debootstrap}}, {{Aur|gnupg1}}, and one or both of {{Pkg|debian-archive-keyring}} and {{Aur|ubuntu-keyring}} (obviously install the keyrings for the distros you want).<br />
<br />
{{Note|''systemd-nspawn'' requires that the operating system in the container has systemd running as PID 1 and ''systemd-nspawn'' is installed in the container. This means Ubuntu before 15.04 will not work out of the box and requires additional configuration to switch from upstart to systemd. Also make sure that the {{ic|systemd-container}} package is installed on the container system.}}<br />
<br />
From there it's rather easy to setup Debian or Ubuntu environments:<br />
<br />
# cd /var/lib/machines<br />
# debootstrap <codename> myContainer <repository-url><br />
<br />
For Debian valid code names are either the rolling names like "stable" and "testing" or release names like "stretch" and "sid", for Ubuntu the code name like "xenial" or "zesty" should be used. A complete list of codenames is in {{ic|/usr/share/debootstrap/scripts}}. In case of a Debian image the "repository-url" can be {{ic|http://deb.debian.org/debian/}}. For an Ubuntu image, the "repository-url" can be {{ic|http://archive.ubuntu.com/ubuntu/}}.<br />
<br />
Unlike Arch, Debian and Ubuntu will not let you login without a password on first login. To set the root password login without the '-b' option and set a password:<br />
<br />
# systemd-nspawn -D myContainer<br />
# passwd<br />
# logout<br />
<br />
If the above didn't work. One can start the container and use these commands instead:<br />
# systemd-nspawn -b -D myContainer #Starts the container<br />
# machinectl shell root@myContainer /bin/bash #Get a root bash shell<br />
# passwd<br />
# logout<br />
<br />
=== Creating private users (unprivileged containers) ===<br />
<br />
''systemd-nspawn'' supports unprivileged containers, though the containers need to be booted as root.<br />
<br />
{{Note|This feature requires {{man|7|user_namespaces}}, which are disabled in the official Arch kernels due to security reasons presented in {{Bug|36969}}. Unofficial packages {{AUR|linux-userns}} and {{AUR|linux-lts-userns}} are available.}}<br />
<br />
The easiest way to do this is to let ''systemd-nspawn'' decide everything:<br />
<br />
# systemd-nspawn -UD myContainer<br />
# passwd<br />
# logout<br />
# systemd-nspawn -bUD myContainer<br />
<br />
Here ''systemd-nspawn'' will see if the owner of the directory is being used, if not it will use that as base and 65536 IDs above it. On the other hand if the UID/GID is in use it will randomly pick an unused range of 65536 IDs from 524288 - 1878982656 and use them.<br />
<br />
{{Note|<br />
* The base of the range chosen is always a multiple of 65536.<br />
* {{ic|-U}} and {{ic|1=--private-users=pick}} is the same, if kernel supports user namespaces. {{ic|1=--private-users=pick}} also implies {{ic|1=--private-users-chown}}, see {{man|1|systemd-nspawn}} for details.<br />
}}<br />
<br />
You can also specify the UID/GID of the container manually:<br />
<br />
# systemd-nspawn -D myContainer --private-users=1354956800:65536 --private-users-chown<br />
# passwd<br />
# logout<br />
# systemd-nspawn -bUD myContainer<br />
<br />
While booting the container you could still use {{ic|1=--private-users=1354956800:65536}} with {{ic|--private-users-chown}}, but it is unnecessarily complicated, let {{ic|-U}} handle it after the assigning the IDs.<br />
<br />
=== Enable container on boot ===<br />
<br />
When using a container frequently, you may want to start it on boot.<br />
<br />
First [[enable]] the {{ic|machines.target}} target, then {{ic|systemd-nspawn@''myContainer''.service}}, where {{ic|myContainer}} is an nspawn container in {{ic|/var/lib/machines}}.<br />
<br />
{{Tip|To customize the startup of a container, [[edit]] the {{ic|systemd-nspawn@''myContainer''}} unit instance. See {{man|1|systemd-nspawn}} for all options.}}<br />
<br />
=== Build and test packages ===<br />
<br />
See [[Creating packages for other distributions]] for example uses.<br />
<br />
== Management ==<br />
<br />
=== machinectl ===<br />
<br />
{{Note|The ''machinectl'' tool requires [[systemd]] and {{Pkg|dbus}} to be installed in the container. See [https://github.com/systemd/systemd/issues/685] for detailed discussion.}}<br />
<br />
Managing your containers is essentially done with the {{ic|machinectl}} command. See {{man|1|machinectl}} for details.<br />
<br />
Examples:<br />
<br />
Spawn a new shell inside a running container: <br />
<br />
$ machinectl login ''MyContainer''<br />
<br />
Show detailed information about a container: <br />
<br />
$ machinectl status ''MyContainer''<br />
<br />
Reboot a container:<br />
<br />
$ machinectl reboot ''MyContainer''<br />
<br />
Poweroff a container:<br />
<br />
$ machinectl poweroff ''MyContainer''<br />
<br />
{{Tip|Poweroff and reboot operations can be performed from within a container session using the ''systemctl'' {{ic|poweroff}} or {{ic|reboot}} commands.}}<br />
<br />
Download an image:<br />
<br />
# machinectl pull-tar ''URL'' ''name''<br />
<br />
=== systemd toolchain ===<br />
<br />
Much of the core systemd toolchain has been updated to work with containers. Tools that do usually provide a {{ic|1=-M, --machine=}} option which will take a container name as argument.<br />
<br />
Examples:<br />
<br />
See journal logs for a particular machine:<br />
<br />
$ journalctl -M ''MyContainer''<br />
<br />
Show control group contents:<br />
<br />
$ systemd-cgls -M ''MyContainer''<br />
<br />
See startup time of container:<br />
<br />
$ systemd-analyze -M ''MyContainer''<br />
<br />
For an overview of resource usage:<br />
<br />
$ systemd-cgtop<br />
<br />
== Tips and tricks ==<br />
<br />
=== Use an X environment ===<br />
<br />
See [[Xhost]] and [[Change root#Run graphical applications from chroot]].<br />
<br />
You will need to set the {{ic|DISPLAY}} environment variable inside your container session to connect to the external X server.<br />
<br />
X stores some required files in the {{ic|/tmp}} directory. In order for your container to display anything, it needs access to those files. To do so, append the {{ic|--bind<nowiki>=</nowiki>/tmp/.X11-unix:/tmp/.X11-unix}} option when starting the container.<br />
<br />
{{Note|There is [https://github.com/systemd/systemd/issues/7093 a bug] in systemd version 235 that causes /tmp/.X11-unix to disappear from the filesystem when doing this. If you're having trouble, try binding /tmp/.X11-unix read-only instead: {{ic|--bind-ro<nowiki>=</nowiki>/tmp/.X11-unix:/tmp/.X11-unix}} }}<br />
<br />
=== Run Firefox ===<br />
<br />
See [[Firefox tweaks#Run Firefox inside an nspawn container|Firefox tweaks]].<br />
<br />
=== Access host filesystem ===<br />
<br />
See {{ic|--bind}} and {{ic|--bind-ro}} in {{man|1|systemd-nspawn}}.<br />
<br />
If both the host and the container are Arch Linux, then one could, for example, share the pacman cache:<br />
<br />
# systemd-nspawn --bind=/var/cache/pacman/pkg<br />
<br />
Or you can specify per-container bind using the file:<br />
<br />
{{hc|/etc/systemd/nspawn/''my-container''.nspawn|<nowiki><br />
[Files]<br />
Bind=/var/cache/pacman/pkg<br />
</nowiki>}}<br />
<br />
See [[#Specify per-container settings]].<br />
<br />
=== Configure networking ===<br />
<br />
{{Style}}<br />
<br />
<br />
For the most simple setup, allowing outgoing connections to the internet, you can use [[systemd-networkd]] for network management and DHCP and {{ic|systemd-resolved}} for DNS.<br />
<br />
# systemctl enable --now systemd-networkd systemd-resolved<br />
# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf # let systemd-resolved manage /etc/resolv.conf<br />
<br />
This assumes you have started {{ic|systemd-nspawn}} with the {{ic|-n}} switch, creating a virtual Ethernet link to the host.<br />
<br />
Instead of using {{ic|systemd-resolved}} you can also manually [[textedit|edit]] your container's {{ic|/etc/resolv.conf}} by adding your DNS server's IP address.<br />
<br />
Note the canonical [[systemd-networkd]] host and container .network files are from https://github.com/systemd/systemd/tree/master/network .<br />
<br />
See [[systemd-networkd#Usage with containers]] for more complex examples.<br />
<br />
==== nsswitch.conf ====<br />
<br />
{{Merge|systemd-networkd}}<br />
<br />
To make it easier to connect to a container from the host, you can enable local DNS resolution for container names. In {{ic|/etc/nsswitch.conf}}, add {{ic|mymachines}} to the {{ic|hosts:}} section, e.g.<br />
<br />
hosts: files mymachines dns myhostname<br />
<br />
Then, any DNS lookup for hostname {{ic|foo}} on the host will first consult {{ic|/etc/hosts}}, then the names of local containers, then upstream DNS etc.<br />
<br />
==== Use host networking ====<br />
<br />
To disable private networking used by containers started with {{ic|machinectl start MyContainer}} [[edit]] the configuration of {{ic|systemd-nspawn@.service}} with <br />
<br />
# systemctl edit systemd-nspawn@.service<br />
<br />
and set the {{ic|1=ExecStart=}} option without the {{ic|--network-veth}} parameter unlike the original service:<br />
<br />
{{hc|/etc/systemd/system/systemd-nspawn@.service.d/override.conf|<nowiki><br />
[Service]<br />
ExecStart=<br />
ExecStart=/usr/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --machine=%I<br />
</nowiki>}}<br />
<br />
The newly started containers will use the hosts networking.<br />
<br />
==== Virtual Ethernet interfaces ====<br />
<br />
If a container is started with {{ic|systemd-nspawn ... -n}}, systemd will automatically create one virtual Ethernet interface on the host, and one in the container, connected by a virtual Ethernet cable.<br />
<br />
If the name of the container is {{ic|foo}}, the name of the virtual Ethernet interface on the host is {{ic|ve-foo}}. The name of the virtual Ethernet interface in the container is always {{ic|host0}}.<br />
<br />
When examining the interfaces with {{ic|ip link}}, interface names will be shown with a suffix, such as {{ic|ve-foo@if2}} and {{ic|host0@if9}}. The {{ic|@ifN}} is not actually part of the name of the interface; instead, {{ic|ip link}} appends this information to indicate which "slot" the virtual Ethernet cable connects to on the other end.<br />
<br />
For example, a host virtual Ethernet interface shown as {{ic|ve-foo@if2}} will connect to container {{ic|foo}}, and inside the container to the second network interface -- the one shown with index 2 when running {{ic|ip link}} inside the container. Similarly, in the container, the interface named {{ic|host0@if9}} will connect to the 9th slot on the host.<br />
<br />
=== Run on a non-systemd system ===<br />
<br />
See [[Init#systemd-nspawn]].<br />
<br />
=== Specify per-container settings ===<br />
<br />
To specify per-container settings and not overrides for all (e.g. bind a directory to only one container), the ''.nspawn'' files can be used. See {{man|5|systemd.nspawn}} for details.<br />
<br />
=== Use Btrfs subvolume as container root ===<br />
<br />
To use a [[Btrfs#Subvolumes|Btrfs subvolume]] as a template for the container's root, use the {{ic|--template}} flag. This takes a snapshot of the subvolume and populates the root directory for the container with it.<br />
<br />
{{Note|If the template path specified is not the root of a subvolume, the '''entire''' tree is copied. This will be very time consuming.}}<br />
<br />
For example, to use a snapshot located at {{ic|/.snapshots/403/snapshot}}:<br />
<br />
# systemd-nspawn --template=/.snapshots/403/snapshots -b -D ''my-container''<br />
<br />
where {{ic|''my-container''}} is the name of the directory that will be created for the container. After powering off, the newly created subvolume is retained.<br />
<br />
=== Use temporary Btrfs snapshot of container ===<br />
<br />
One can use the {{ic|--ephemeral}} or {{ic|-x}} flag to create a temporary btrfs snapshot of the container and use it as the container root. Any changes made while booted in the container will be lost. For example:<br />
<br />
# systemd-nspawn -D ''my-container'' -xb<br />
<br />
where ''my-container'' is the directory of an '''existing''' container or system. For example, if {{ic|/}} is a btrfs subvolume one could create an ephemeral container of the currently running host system by doing:<br />
<br />
# systemd-nspawn -D / -xb <br />
<br />
After powering off the container, the btrfs subvolume that was created is immediately removed.<br />
<br />
== Troubleshooting ==<br />
<br />
=== root login fails ===<br />
<br />
If you get the following error when you try to login (i.e. using {{ic|machinectl login <name>}}):<br />
<br />
arch-nspawn login: root<br />
Login incorrect<br />
<br />
And {{ic|journalctl}} shows:<br />
<br />
pam_securetty(login:auth): access denied: tty 'pts/0' is not secure !<br />
<br />
Add {{ic|pts/0}} to the list of terminal names in {{ic|/etc/securetty}} on the '''container''' filesystem, see [http://unix.stackexchange.com/questions/41840/effect-of-entries-in-etc-securetty/41939#41939]. You can also opt to delete {{ic|/etc/securetty}} on the '''container''' to allow root to login to any tty, see [https://github.com/systemd/systemd/issues/852].<br />
<br />
=== Unable to upgrade some packages on the container ===<br />
<br />
It can sometimes be impossible to upgrade some packages on the container, {{Pkg|filesystem}} being a perfect example. The issue is due to {{ic|/sys}} being mounted as Read Only. The workaround is to remount the directory in Read Write when running {{ic|mount -o remount,rw -t sysfs sysfs /sys}}, do the upgrade then reboot the container.<br />
<br />
== See also ==<br />
<br />
* [[Getty#Nspawn_console|Automatic console login]]<br />
* [http://www.freedesktop.org/software/systemd/man/machinectl.html machinectl man page]<br />
* [http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html systemd-nspawn man page]<br />
* [http://lwn.net/Articles/572957/ Creating containers with systemd-nspawn]<br />
* [https://www.youtube.com/results?search_query=systemd-nspawn&aq=f Presentation by Lennart Pottering on systemd-nspawn]<br />
* [http://dabase.com/e/12009/ Running Firefox in a systemd-nspawn container]</div>Plphttps://wiki.archlinux.org/index.php?title=Systemd-nspawn&diff=493451Systemd-nspawn2017-10-17T13:37:27Z<p>Plp: Updated "Use an X environment" to include a workaround for a bug introduced in systemd 235</p>
<hr />
<div>{{Lowercase title}}<br />
[[Category:Virtualization]]<br />
[[ja:Systemd-nspawn]]<br />
[[ru:Systemd-nspawn]]<br />
{{Related articles start}}<br />
{{Related|systemd}}<br />
{{Related|Linux Containers}}<br />
{{Related|systemd-networkd}}<br />
{{Related|Docker}}<br />
{{Related|Lxc-systemd}}<br />
{{Related articles end}}<br />
<br />
''systemd-nspawn'' is like the [[chroot]] command, but it is a ''chroot on steroids''.<br />
<br />
''systemd-nspawn'' may be used to run a command or OS in a light-weight namespace container. It is more powerful than [[chroot]] since it fully virtualizes the file system hierarchy, as well as the process tree, the various IPC subsystems and the host and domain name.<br />
<br />
''systemd-nspawn'' limits access to various kernel interfaces in the container to read-only, such as {{ic|/sys}}, {{ic|/proc/sys}} or {{ic|/sys/fs/selinux}}. Network interfaces and the system clock may not be changed from within the container. Device nodes may not be created. The host system cannot be rebooted and kernel modules may not be loaded from within the container.<br />
<br />
This mechanism differs from [[Lxc-systemd]] or [[Libvirt]]-lxc, as it is a much simpler tool to configure.<br />
<br />
== Installation ==<br />
<br />
''systemd-nspawn'' is part of and packaged with {{Pkg|systemd}}. <br />
<br />
== Examples ==<br />
<br />
=== Create and boot a minimal Arch Linux distribution in a container ===<br />
<br />
First install {{Pkg|arch-install-scripts}}.<br />
<br />
Next, create a directory to hold the container. In this example we will use {{ic|~/MyContainer}}. <br />
<br />
Next, we use pacstrap to install a basic arch-system into the container. At minimum we need to install the {{Grp|base}} group. <br />
<br />
# pacstrap -i -c -d ~/MyContainer base [additional pkgs/groups]<br />
<br />
{{Tip|The {{ic|-i}} option will '''avoid''' auto-confirmation of package selection. As you do not need to install the Linux kernel in the container, you can remove it from the package list selection to save space. See [[Pacman#Usage]].}}<br />
<br />
{{Note|The package {{Pkg|linux-firmware}} required by {{Pkg|linux}}, which is included in the {{Grp|base}} group and isn't necessary to run the container, causes some issues to {{ic|systemd-tmpfiles-setup.service}} during the booting process with {{ic|systemd-nspawn}}. It's possible to install the {{Grp|base}} group but excluding the {{Pkg|linux}} package and its dependencies when building the container with {{ic|# pacstrap -i -c -d ~/MyContainer base --ignore linux [additional pkgs/groups]}}. The {{ic|--ignore}} flag will be simply passed to {{Pkg|pacman}}. See {{Bug|46591}} for more information.}}<br />
<br />
Once your installation is finished, boot into the container:<br />
<br />
# systemd-nspawn -b -D ~/MyContainer<br />
<br />
The {{ic|-b}} option will boot the container (i.e. run {{ic|systemd}} as PID=1), instead of just running a shell, and {{ic|-D}} specifies the directory that becomes the container's root directory.<br />
<br />
After the container starts, log in as "root" with no password.<br />
<br />
The container can be powered off by running {{ic|poweroff}} from within the container. From the host, containers can be controlled by the [[#machinectl|machinectl]] tool.<br />
<br />
{{Note|To terminate the ''session'' from within the container, hold {{ic|Ctrl}} and rapidly press {{ic|]}} three times. Non-US keyboard users should use {{ic|%}} instead of {{ic|]}}.}}<br />
<br />
==== Bootstrap Arch Linux i686 inside x86_64 host ====<br />
<br />
It is possible to install a minimal i686 Arch Linux inside a subdirectory and use it as systemd-nspawn container instead of [[chroot]] or [[virtualization]]. This is useful for testing {{ic|PKGBUILD}} compilation for i686 and other tasks. Make sure you use a {{ic|pacman.conf}} '''without''' {{ic|multilib}} repository.<br />
<br />
# pacman_conf=/tmp/pacman.conf # this is pacman.conf without multilib<br />
# mkdir /mnt/i686-archlinux<br />
# linux32 pacstrap -C "$pacman_conf" -di /mnt/i686-archlinux base base-devel<br />
<br />
You may deselect {{ic|linux}} from {{ic|base}} group, since the resulting bootstrap directory is not meant to be booted on real or virtualized hardware.<br />
<br />
To start the resulting i686 Arch Linux systemd-nspawn instance, just issue the following command.<br />
<br />
# linux32 systemd-nspawn -D /mnt/i686-archlinux<br />
<br />
=== Create a Debian or Ubuntu environment ===<br />
<br />
Install {{Pkg|debootstrap}}, {{Aur|gnupg1}}, and one or both of {{Pkg|debian-archive-keyring}} and {{Aur|ubuntu-keyring}} (obviously install the keyrings for the distros you want).<br />
<br />
{{Note|''systemd-nspawn'' requires that the operating system in the container has systemd running as PID 1 and ''systemd-nspawn'' is installed in the container. This means Ubuntu before 15.04 will not work out of the box and requires additional configuration to switch from upstart to systemd. Also make sure that the {{ic|systemd-container}} package is installed on the container system.}}<br />
<br />
From there it's rather easy to setup Debian or Ubuntu environments:<br />
<br />
# cd /var/lib/machines<br />
# debootstrap <codename> myContainer <repository-url><br />
<br />
For Debian valid code names are either the rolling names like "stable" and "testing" or release names like "stretch" and "sid", for Ubuntu the code name like "xenial" or "zesty" should be used. A complete list of codenames is in {{ic|/usr/share/debootstrap/scripts}}. In case of a Debian image the "repository-url" can be {{ic|http://deb.debian.org/debian/}}. For an Ubuntu image, the "repository-url" can be {{ic|http://archive.ubuntu.com/ubuntu/}}.<br />
<br />
Unlike Arch, Debian and Ubuntu will not let you login without a password on first login. To set the root password login without the '-b' option and set a password:<br />
<br />
# systemd-nspawn -D myContainer<br />
# passwd<br />
# logout<br />
<br />
If the above didn't work. One can start the container and use these commands instead:<br />
# systemd-nspawn -b -D myContainer #Starts the container<br />
# machinectl shell root@myContainer /bin/bash #Get a root bash shell<br />
# passwd<br />
# logout<br />
<br />
=== Creating private users (unprivileged containers) ===<br />
<br />
''systemd-nspawn'' supports unprivileged containers, though the containers need to be booted as root.<br />
<br />
{{Note|This feature requires {{man|7|user_namespaces}}, which are disabled in the official Arch kernels due to security reasons presented in {{Bug|36969}}. Unofficial packages {{AUR|linux-userns}} and {{AUR|linux-lts-userns}} are available.}}<br />
<br />
The easiest way to do this is to let ''systemd-nspawn'' decide everything:<br />
<br />
# systemd-nspawn -UD myContainer<br />
# passwd<br />
# logout<br />
# systemd-nspawn -bUD myContainer<br />
<br />
Here ''systemd-nspawn'' will see if the owner of the directory is being used, if not it will use that as base and 65536 IDs above it. On the other hand if the UID/GID is in use it will randomly pick an unused range of 65536 IDs from 524288 - 1878982656 and use them.<br />
<br />
{{Note|<br />
* The base of the range chosen is always a multiple of 65536.<br />
* {{ic|-U}} and {{ic|1=--private-users=pick}} is the same, if kernel supports user namespaces. {{ic|1=--private-users=pick}} also implies {{ic|1=--private-users-chown}}, see {{man|1|systemd-nspawn}} for details.<br />
}}<br />
<br />
You can also specify the UID/GID of the container manually:<br />
<br />
# systemd-nspawn -D myContainer --private-users=1354956800:65536 --private-users-chown<br />
# passwd<br />
# logout<br />
# systemd-nspawn -bUD myContainer<br />
<br />
While booting the container you could still use {{ic|1=--private-users=1354956800:65536}} with {{ic|--private-users-chown}}, but it is unnecessarily complicated, let {{ic|-U}} handle it after the assigning the IDs.<br />
<br />
=== Enable container on boot ===<br />
<br />
When using a container frequently, you may want to start it on boot.<br />
<br />
First [[enable]] the {{ic|machines.target}} target, then {{ic|systemd-nspawn@''myContainer''.service}}, where {{ic|myContainer}} is an nspawn container in {{ic|/var/lib/machines}}.<br />
<br />
{{Tip|To customize the startup of a container, [[edit]] the {{ic|systemd-nspawn@''myContainer''}} unit instance. See {{man|1|systemd-nspawn}} for all options.}}<br />
<br />
=== Build and test packages ===<br />
<br />
See [[Creating packages for other distributions]] for example uses.<br />
<br />
== Management ==<br />
<br />
=== machinectl ===<br />
<br />
{{Note|The ''machinectl'' tool requires [[systemd]] and {{Pkg|dbus}} to be installed in the container. See [https://github.com/systemd/systemd/issues/685] for detailed discussion.}}<br />
<br />
Managing your containers is essentially done with the {{ic|machinectl}} command. See {{man|1|machinectl}} for details.<br />
<br />
Examples:<br />
<br />
Spawn a new shell inside a running container: <br />
<br />
$ machinectl login ''MyContainer''<br />
<br />
Show detailed information about a container: <br />
<br />
$ machinectl status ''MyContainer''<br />
<br />
Reboot a container:<br />
<br />
$ machinectl reboot ''MyContainer''<br />
<br />
Poweroff a container:<br />
<br />
$ machinectl poweroff ''MyContainer''<br />
<br />
{{Tip|Poweroff and reboot operations can be performed from within a container session using the ''systemctl'' {{ic|poweroff}} or {{ic|reboot}} commands.}}<br />
<br />
Download an image:<br />
<br />
# machinectl pull-tar ''URL'' ''name''<br />
<br />
=== systemd toolchain ===<br />
<br />
Much of the core systemd toolchain has been updated to work with containers. Tools that do usually provide a {{ic|1=-M, --machine=}} option which will take a container name as argument.<br />
<br />
Examples:<br />
<br />
See journal logs for a particular machine:<br />
<br />
$ journalctl -M ''MyContainer''<br />
<br />
Show control group contents:<br />
<br />
$ systemd-cgls -M ''MyContainer''<br />
<br />
See startup time of container:<br />
<br />
$ systemd-analyze -M ''MyContainer''<br />
<br />
For an overview of resource usage:<br />
<br />
$ systemd-cgtop<br />
<br />
== Tips and tricks ==<br />
<br />
=== Use an X environment ===<br />
<br />
See [[Xhost]] and [[Change root#Run graphical applications from chroot]].<br />
<br />
You will need to set the {{ic|DISPLAY}} environment variable inside your container session to connect to the external X server.<br />
<br />
X stores some required files in the {{ic|/tmp}} directory. In order for your container to display anything, it needs access to those files. To do so, append the {{ic|--bind<nowiki>=</nowiki>/tmp/.X11-unix:/tmp/.X11-unix}} option when starting the container.<br />
<br />
{{Note|There is [https://github.com/systemd/systemd/issues/7093 a bug] in systemd version 235 that causes /tmp/.X11-unix to disappear from the filesystem when doing this. If you're having trouble, try binding /tmp/.X11-unix read-only instead: {{ic|--bind<nowiki>=</nowiki>/tmp/.X11-unix:/tmp/.X11-unix}} }}<br />
<br />
=== Run Firefox ===<br />
<br />
See [[Firefox tweaks#Run Firefox inside an nspawn container|Firefox tweaks]].<br />
<br />
=== Access host filesystem ===<br />
<br />
See {{ic|--bind}} and {{ic|--bind-ro}} in {{man|1|systemd-nspawn}}.<br />
<br />
If both the host and the container are Arch Linux, then one could, for example, share the pacman cache:<br />
<br />
# systemd-nspawn --bind=/var/cache/pacman/pkg<br />
<br />
Or you can specify per-container bind using the file:<br />
<br />
{{hc|/etc/systemd/nspawn/''my-container''.nspawn|<nowiki><br />
[Files]<br />
Bind=/var/cache/pacman/pkg<br />
</nowiki>}}<br />
<br />
See [[#Specify per-container settings]].<br />
<br />
=== Configure networking ===<br />
<br />
{{Style}}<br />
<br />
<br />
For the most simple setup, allowing outgoing connections to the internet, you can use [[systemd-networkd]] for network management and DHCP and {{ic|systemd-resolved}} for DNS.<br />
<br />
# systemctl enable --now systemd-networkd systemd-resolved<br />
# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf # let systemd-resolved manage /etc/resolv.conf<br />
<br />
This assumes you have started {{ic|systemd-nspawn}} with the {{ic|-n}} switch, creating a virtual Ethernet link to the host.<br />
<br />
Instead of using {{ic|systemd-resolved}} you can also manually [[textedit|edit]] your container's {{ic|/etc/resolv.conf}} by adding your DNS server's IP address.<br />
<br />
Note the canonical [[systemd-networkd]] host and container .network files are from https://github.com/systemd/systemd/tree/master/network .<br />
<br />
See [[systemd-networkd#Usage with containers]] for more complex examples.<br />
<br />
==== nsswitch.conf ====<br />
<br />
{{Merge|systemd-networkd}}<br />
<br />
To make it easier to connect to a container from the host, you can enable local DNS resolution for container names. In {{ic|/etc/nsswitch.conf}}, add {{ic|mymachines}} to the {{ic|hosts:}} section, e.g.<br />
<br />
hosts: files mymachines dns myhostname<br />
<br />
Then, any DNS lookup for hostname {{ic|foo}} on the host will first consult {{ic|/etc/hosts}}, then the names of local containers, then upstream DNS etc.<br />
<br />
==== Use host networking ====<br />
<br />
To disable private networking used by containers started with {{ic|machinectl start MyContainer}} [[edit]] the configuration of {{ic|systemd-nspawn@.service}} with <br />
<br />
# systemctl edit systemd-nspawn@.service<br />
<br />
and set the {{ic|1=ExecStart=}} option without the {{ic|--network-veth}} parameter unlike the original service:<br />
<br />
{{hc|/etc/systemd/system/systemd-nspawn@.service.d/override.conf|<nowiki><br />
[Service]<br />
ExecStart=<br />
ExecStart=/usr/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --machine=%I<br />
</nowiki>}}<br />
<br />
The newly started containers will use the hosts networking.<br />
<br />
==== Virtual Ethernet interfaces ====<br />
<br />
If a container is started with {{ic|systemd-nspawn ... -n}}, systemd will automatically create one virtual Ethernet interface on the host, and one in the container, connected by a virtual Ethernet cable.<br />
<br />
If the name of the container is {{ic|foo}}, the name of the virtual Ethernet interface on the host is {{ic|ve-foo}}. The name of the virtual Ethernet interface in the container is always {{ic|host0}}.<br />
<br />
When examining the interfaces with {{ic|ip link}}, interface names will be shown with a suffix, such as {{ic|ve-foo@if2}} and {{ic|host0@if9}}. The {{ic|@ifN}} is not actually part of the name of the interface; instead, {{ic|ip link}} appends this information to indicate which "slot" the virtual Ethernet cable connects to on the other end.<br />
<br />
For example, a host virtual Ethernet interface shown as {{ic|ve-foo@if2}} will connect to container {{ic|foo}}, and inside the container to the second network interface -- the one shown with index 2 when running {{ic|ip link}} inside the container. Similarly, in the container, the interface named {{ic|host0@if9}} will connect to the 9th slot on the host.<br />
<br />
=== Run on a non-systemd system ===<br />
<br />
See [[Init#systemd-nspawn]].<br />
<br />
=== Specify per-container settings ===<br />
<br />
To specify per-container settings and not overrides for all (e.g. bind a directory to only one container), the ''.nspawn'' files can be used. See {{man|5|systemd.nspawn}} for details.<br />
<br />
=== Use Btrfs subvolume as container root ===<br />
<br />
To use a [[Btrfs#Subvolumes|Btrfs subvolume]] as a template for the container's root, use the {{ic|--template}} flag. This takes a snapshot of the subvolume and populates the root directory for the container with it.<br />
<br />
{{Note|If the template path specified is not the root of a subvolume, the '''entire''' tree is copied. This will be very time consuming.}}<br />
<br />
For example, to use a snapshot located at {{ic|/.snapshots/403/snapshot}}:<br />
<br />
# systemd-nspawn --template=/.snapshots/403/snapshots -b -D ''my-container''<br />
<br />
where {{ic|''my-container''}} is the name of the directory that will be created for the container. After powering off, the newly created subvolume is retained.<br />
<br />
=== Use temporary Btrfs snapshot of container ===<br />
<br />
One can use the {{ic|--ephemeral}} or {{ic|-x}} flag to create a temporary btrfs snapshot of the container and use it as the container root. Any changes made while booted in the container will be lost. For example:<br />
<br />
# systemd-nspawn -D ''my-container'' -xb<br />
<br />
where ''my-container'' is the directory of an '''existing''' container or system. For example, if {{ic|/}} is a btrfs subvolume one could create an ephemeral container of the currently running host system by doing:<br />
<br />
# systemd-nspawn -D / -xb <br />
<br />
After powering off the container, the btrfs subvolume that was created is immediately removed.<br />
<br />
== Troubleshooting ==<br />
<br />
=== root login fails ===<br />
<br />
If you get the following error when you try to login (i.e. using {{ic|machinectl login <name>}}):<br />
<br />
arch-nspawn login: root<br />
Login incorrect<br />
<br />
And {{ic|journalctl}} shows:<br />
<br />
pam_securetty(login:auth): access denied: tty 'pts/0' is not secure !<br />
<br />
Add {{ic|pts/0}} to the list of terminal names in {{ic|/etc/securetty}} on the '''container''' filesystem, see [http://unix.stackexchange.com/questions/41840/effect-of-entries-in-etc-securetty/41939#41939]. You can also opt to delete {{ic|/etc/securetty}} on the '''container''' to allow root to login to any tty, see [https://github.com/systemd/systemd/issues/852].<br />
<br />
=== Unable to upgrade some packages on the container ===<br />
<br />
It can sometimes be impossible to upgrade some packages on the container, {{Pkg|filesystem}} being a perfect example. The issue is due to {{ic|/sys}} being mounted as Read Only. The workaround is to remount the directory in Read Write when running {{ic|mount -o remount,rw -t sysfs sysfs /sys}}, do the upgrade then reboot the container.<br />
<br />
== See also ==<br />
<br />
* [[Getty#Nspawn_console|Automatic console login]]<br />
* [http://www.freedesktop.org/software/systemd/man/machinectl.html machinectl man page]<br />
* [http://www.freedesktop.org/software/systemd/man/systemd-nspawn.html systemd-nspawn man page]<br />
* [http://lwn.net/Articles/572957/ Creating containers with systemd-nspawn]<br />
* [https://www.youtube.com/results?search_query=systemd-nspawn&aq=f Presentation by Lennart Pottering on systemd-nspawn]<br />
* [http://dabase.com/e/12009/ Running Firefox in a systemd-nspawn container]</div>Plphttps://wiki.archlinux.org/index.php?title=Compiz&diff=270586Compiz2013-08-10T06:57:54Z<p>Plp: /* Installation */</p>
<hr />
<div>[[Category:Eye candy]]<br />
[[Category:Stacking WMs]]<br />
[[el:Compiz]]<br />
[[es:Compiz]]<br />
[[fr:Compiz]]<br />
[[it:Compiz]]<br />
[[ja:Compiz]]<br />
[[pl:Compiz]]<br />
[[pt:Compiz]]<br />
[[ru:Compiz]]<br />
[[tr:Compiz]]<br />
[[zh-CN:Compiz]]<br />
{{Out of date|Since Compiz has been moved to the AUR [https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024956.html], some links to packages still need to be added or updated and links to groups need to be replaced.}}<br />
{{Article summary start}}<br />
{{Article summary wiki|Compiz Configuration}}<br />
{{Article summary wiki|Xcompmgr}}<br />
{{Article summary wiki|Cairo Compmgr}}<br />
{{Article summary end}}<br />
<br />
Compiz is a [[Wikipedia:Compositing window manager|compositing window manager]]. It provides its own window manager, [[Emerald]]. Therefore it cannot be used simultaneously with other window managers such as [[Openbox]], [[Fluxbox]], or [[Enlightenment]]. Users who want to keep their current window managers and add some effects to it may wish to try [[Xcompmgr]] instead.<br />
<br />
== Requirements ==<br />
<br />
Users of major [[DE]]s can make good use of {{AUR|compiz-manager}}, performing brief requirements checking and switching to fallback WM in case of errors. Discovering setup and hardware issues can also be done with {{AUR|compiz-check}} script available in [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install [https://aur.archlinux.org/packages.php?K=compiz packages], available in [[AUR]] (known up to date packages: {{AUR|compiz-bzr}}).<br />
<br />
=== Initial configuration ===<br />
<br />
While the appearance of the windows and their contents is a function of [[GTK+]] and [[Qt]], the frames around the windows are controlled by the Window Decoration plugin. To use it make sure you have a window decorator installed. Depending on what packages you have downloaded you can choose among several window decorators. The most common ones are Emerald, kde-window-decorator, and gtk-window-decorator. The emerald decorator has the advantage that it fits better to compiz's screen handling and offers transparency effects. To set your default window decorator type the following command string in the "Window Decoration" plugin's settings under the field "Command".<br />
<br />
Ensure that the "Window decorator" plugin is enabled in ccsm's "effects" tab, the "command" field is filled in to start a decorator.<br />
<br />
To set '''emerald''' as your default window-decorator type:<br />
$ emerald --replace<br />
To set the '''kde-window-decorator''' as an alternative to Emerald type:<br />
kde4-window-decorator --replace<br />
To set the '''compiz-decorator-gtk''' as an alternative to Emerald type:<br />
$ gtk-window-decorator --replace<br />
<br />
{{Note|'''Activate important plugins:''' there is high possibility that you will want to activate a few plugins that provide basic window manager behavior or else you will have no ability to drag, scale or close any windows as soon as compiz is activated. Among those plugins are "Window Decoration" under Effects and "Move Window" & "Resize Window" under Window Management. ''ccsm'' command may be used to achieve this. Simply put check marks next to those plugins to activate them.}}<br />
<br />
== Additional software ==<br />
<br />
=== Decorators ===<br />
<br />
* {{App|[[Emerald]]|Compiz's own window decorator with few dependencies. (Note: Works but is buggy and no longer maintained)|http://www.compiz.org|{{AUR|emerald}}}}<br />
* {{App|compiz-decorator-gtk, compiz-decorator-kde|Alternatives to Emerald, using your desktop environment's configuration backends and looks.|http://www.compiz.org|{{AUR|compiz-bzr}}}}<br />
<br />
=== Other ===<br />
<br />
* {{AUR|ccsm}} (CompizConfig settings manager) - GUI application that lets you configure all of Compiz's plugins<br />
* {{AUR|fusion-icon}} - offers a tray icon and a nice way to start compiz, start ccsm and change the WM / Window Decorator<br />
<br />
== Starting Compiz Fusion ==<br />
<br />
=== Manually (with "fusion-icon") ===<br />
<br />
Launch the Compiz Fusion tray icon:<br />
$ fusion-icon<br />
<br />
See [[General Troubleshooting#Session permissions]] if you get some permission related errors.<br />
<br />
Right click on the icon in the panel and go to 'select window manager'. Choose "Compiz" if it isn't selected already, and you should be set.<br />
<br />
If this fails you can start compiz-fusion by using the following additional command to replace your default window decorator with Compiz's window decorator (Emerald):<br />
$ emerald --replace<br />
<br />
'''Again, note:''' If you want to use compiz window decorations make sure you have the "Window Decoration" plugin marked in the compiz settings through ccsm.<br />
<br />
=== Manually (without "fusion-icon") ===<br />
<br />
Launch Compiz with the following command (which replaces your current window manager):<br />
$ compiz --replace ccp &<br />
<br />
A quick overview over common compiz command-line options:<br />
* {{ic|--indirect-rendering}}: use indirect-rendering (AIGLX)<br />
* {{ic|--loose-binding}}: can help performance issues (NVIDIA?)<br />
* {{ic|--replace}}: replace current window-manager<br />
* {{ic|--keep-window-hints}}: keep the gnome window-manager gconf-settings for available viewports, ...<br />
* {{ic|--sm-disable}}: disable session-management<br />
* {{ic|ccp}}: the "ccp" command loads the last configured settings from ccsm (CompizConfig Settings Manager) otherwise Compiz will load with no settings and you won't be able to do anything with your windows like dragging, maximizing/minimizing, or moving.<br />
<br />
=== KDE4 ===<br />
<br />
{{Note|The first and last methods will load Compiz-Fusion as the default window manager instead of KWin. This is faster than loading Compiz with 'fusion-icon' because it avoids loading two window managers at startup. This also prevents that annoying black screen flicker you might see using other methods (when KWin switches to Compiz on KDE's desktop loading screens). The downside is that if Compiz crashes, it may be more difficult to recover your desktop.}}<br />
<br />
==== Use System Settings (easiest)====<br />
<br />
Go to: ''System Settings > Default Applications > Window Manager > Use a different window manager''<br />
<br />
'''''If''''' you need to run compiz with custom options select "Compiz custom" (when you run {{ic|fusion-icon}} from a terminal you can see the command line with which compiz was started).<br />
Create a file called "compiz-kde-launcher" in {{ic|/usr/local/bin}}. Then make the file executable: {{ic|chmod +x /usr/bin/compiz-kde-launcher}}.<br />
<br />
For example:<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT&#61;1<br />
compiz --replace ccp &<br />
wait<br />
}}<br />
<br />
==== Autostart with "fusion-icon" ====<br />
<br />
Add a symbolic link, that points to the fusion-icon executable, in your KDE Autostart directory:<br />
$ ln -s /usr/bin/fusion-icon ~/.kde4/Autostart/fusion-icon<br />
<br />
Next time KDE is started, it will load fusion-icon automatically.<br />
<br />
==== Autostart link without "fusion-icon" ====<br />
<br />
{{Warning|Do '''not''' create '''compiz.desktop''' if you intend to install compiz-decorator-gtk; it will create a file conflict.}}<br />
<br />
* Append a desktop entry in the KDE Autostart directory. If it doesn't already exist (it should), create the file {{ic|~/.kde4/Autostart/compiz.desktop}} with the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp --replace<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
X-GNOME-Autostart-Phase=WindowManager<br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note|If '''compiz.desktop''' already exists, you may have to add {{ic|--replace}} and/or {{ic|ccp}} to the Exec variable. Without {{ic|--replace}}, Compiz won't load since it will detect another window manager already loaded. Without {{ic|ccp}}, Compiz will not load any of the settings and plugins that you have enabled through CompizConfig Settings Manager ('''ccsm''') and you won't be able to manipulate any of your windows.}}<br />
<br />
* If you want to use the optional {{ic|fusion-icon}} application, launch '''fusion-icon'''. If you log out normally with '''fusion-icon''' running, KDE should restore your session and launch '''fusion-icon''' the next time you log in if this setting is enabled. If it doesn't appear to be working, ensure you have the following line in {{ic|~/.kde4/share/config/ksmserverrc}}:<br />
<br />
loginMode=restorePreviousLogout<br />
<br />
{{Note|This is a KDE specific setting that will allow you to restore other apps next time you log in, not just fusion-icon.}}<br />
<br />
==== Export KDEWM without "fusion-icon" (preferred) ====<br />
<br />
As root you must create a short script by doing the following in your terminal. This will allow you to load compiz with the switches because doing it directly via {{ic|1=export KDEWM="compiz --replace ccp --sm-disable"}} doesn't seem to work.<br />
$ echo "compiz --replace ccp --sm-disable &" > /usr/bin/compiz-fusion<br />
<br />
{{Note|If this line doesn't work, make sure the '''fusion-icon''' package is installed and then use this line instead:<br />
$ echo "fusion-icon &" > /usr/bin/compiz-fusion<br />
Be sure to complete the whole method before trying this substitute.}}<br />
<br />
Ensure that {{ic|/usr/bin/compiz-fusion}} has executable ('''+x''') permissions.<br />
$ chmod a+x /usr/bin/compiz-fusion<br />
<br />
Choose one of the following:<br />
<br />
:1) Compiz for your user only > Edit the file {{ic|~/.kde4/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
:2) Compiz system wide > Edit the file {{ic|/etc/kde/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
{{Note|<br />
* If that still doesn't work, yet another alternate way to accomplish the above method is to include the line:<br />
export KDEWM&#61;"compiz-fusion"<br />
in your user's {{ic|~/.bashrc}} file.<br />
* If you optionally use the {{ic|/usr/local/bin}} directory it may not work. In that case you should export the script including the whole path:<br />
export KDEWM&#61;"/usr/local/bin/compiz-fusion"<br />
}}<br />
<br />
=== GNOME ===<br />
<br />
If you have installed [[GNOME3]] with gnome-shell, either enable forced Fallback mode (System Info > Graphics) or simply uninstall gnome-shell.<br />
{{Note|Fallback mode is not necessary if you choose the Compiz/Cairo-Dock session method below.}}<br />
<br />
==== Alternate Session for GNOME (preferred method for experienced Compiz/Dock users) ====<br />
<br />
The {{AUR|gnome-session-compiz}} can be used to add an additional menu entry in the GNOME session login dialog. This method does not require foced fallback mode and/or modifications to sensitive system files/settings. Also, you can switch between GNOME Shell and Compiz/Cairo-Dock between sessions. If you can't get it working, you can always go back to your original GNOME session.<br />
<br />
For this method to work, Compiz and Cairo-Dock (Taskbar/Panel) may have to be [[#Configuration|configured initially]] for fresh accounts, from another working session (ccsm in GNOME Shell worked fine for me).<br />
<br />
This method completely replaces the GNOME's window manager and panel (they are not launched at all, rather than being replaced or killed later). So, before actually switching to this alternate session, you may want to configure corresponding/alternate features of the original panel application in Cairo-Dock:<br />
* Add Application Menu icon to Cairo-Dock and remember its key-bindings.<br />
* Remap Application Menu key-bindings to ALT+F1 and ALT+F2, for convenience.<br />
* Add Clock, WiFi, NetSpeed icons to the dock as applicable.<br />
* Add Log-out icon:<br />
** Set the command for logout to "gnome-session-quit --logout"<br />
** Set the command for shutdown to "gnome-session-quit --power-off"<br />
* Add the Notification Area Old (systray) icon to Cairo-Dock.<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
This Method makes use of the [http://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] to specify a Compiz Desktop Entry and of the GConf default windowmanager setting. Thanks to the Desktop Entry you should be able to select Compiz as a windowmanager out of GDM.<br />
<br />
'''1)'''If the following file doesn't already exist (it should), create it {{ic|/usr/share/applications/compiz.desktop}} containing the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp #Make sure ccp is included so that Compiz loads your previous settings.<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
##-> the folloing line cause gnome-session warning and slow startup, so try not to enable this<br />
# X-GNOME-Autostart-Phase=WindowManager <br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note| If {{ic|compiz.desktop}} already exists, you must make sure that the "ccp" is included in the Exec variable. Having "ccp" included simply tells Compiz to load your previous settings, otherwise you won't have any functionality.}}<br />
<br />
If the above doesn't work (in most cases it does), for example if you notice some issues with windows refreshing or low performance, try:<br />
<br />
Exec=/usr/bin/compiz ccp --indirect-rendering<br />
<br />
or<br />
<br />
Exec=/usr/bin/compiz --replace --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
Instead of<br />
<br />
Exec=/usr/bin/compiz ccp<br />
<br />
Some Users noticed a "lag" of 4-10 seconds when loging in from a login manager. The solution is to change the command to:<br />
Exec=bash -c 'compiz ccp decoration --sm-client-id $DESKTOP_AUTOSTART_ID'<br />
as noted [https://bbs.archlinux.org/viewtopic.php?pid=655237#p655237 in the forum]. You can also add the extra parameters as described above if needed.<br />
<br />
'''2)''' Set some GConf parameters using the gconftool-2 command in a terminal window or do it visually with Configuration Editor (gconf-editor). The following outlines using the command line method, but you can also see which keys to change using gconf-editor:<br />
<br />
{{Note| Since those parameters apply to a given user, you '''must''' logout from the root account and log in as that other user before proceeding with the next steps. GConf will fail, if called from a root account.}}<br />
<br />
gconftool-2 --set -t string /desktop/gnome/session/required_components/windowmanager compiz<br />
<br />
The following are optional and in most cases not necessary (the respective keys are deprecated since GNOME 2.12). But iny any case, if the above didn't succeed the next two statements are still valid and should be tried.<br />
<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/current /usr/bin/compiz<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/default /usr/bin/compiz<br />
<br />
==== Autostart (without "fusion-icon") (with GNOME fallback mode session) ====<br />
<br />
Edit file {{ic|/usr/share/gnome-session/sessions/gnome-fallback.session}}:<br />
<br />
Replace your windows manager (gnome-shell,metacity...) with ''compiz'' in '''RequiredComponents''' line.<br />
<br />
Change ''DefaultProvider-windowmanager'' line to ''DefaultProvider-windowmanager=compiz''<br />
<br />
Here is part of my {{ic|gnome-fallback.session}}:<br />
<br />
RequiredComponents=compiz;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=compiz<br />
DefaultProvider-notifications=notification-daemon<br />
<br />
{{Note|I took out gnome-panel as I am using avant-window-navigator as my panel.<br />
I'am using gnome3 fallback mode with compiz, make gtk-window-decorator start with compiz, and make avant-window-navigator start automatically.}}<br />
<br />
==== Autostart (without "fusion-icon", Gnome prior to 2.24) ====<br />
<br />
This is a way that works if you use GDM (and I'd assume KDM too).<br />
<br />
Make a file called /usr/local/bin/compiz-start-boot with the contents:<br />
#!/bin/bash<br />
export WINDOW_MANAGER="compiz ccp"<br />
exec gnome-session<br />
<br />
and make it executable ({{ic|chmod +x /usr/local/bin/compiz-start-boot}}). Next create the file {{ic|/etc/X11/sessions/Compiz.desktop}} containing the following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Compiz on GNOME<br />
Exec=/usr/local/bin/compiz-start-boot<br />
Icon=<br />
Type=Application<br />
<br />
Select Compiz on Gnome as your session and you're good to go.<br />
<br />
==== Autostart (with "fusion-icon") ====<br />
<br />
To start Compiz fusion automatically when starting a session go to System > Preferences > Startup Applications. In the Startup Programs tab, click the Add button.<br />
<br />
You will now see the Add Startup Program dialogue. Fill it in as follows.<br />
<br />
Name:<br />
Compiz Fusion<br />
Command:<br />
fusion-icon<br />
Comment: (Put anything you like or leave blank.)<br />
<br />
{{Note| You can also use "compiz --replace ccp" instead of "fusion-icon" to load compiz but there will be no fusion-icon.<br />
<br />
The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager ('''ccsm''').}}<br />
<br />
When you're done hit the Add button. You should now see your startup program in the list in the Startup Programs tab. It must be checked to be enabled. You can uncheck it to disable Compiz on startup and switch back to Metacity.<br />
<br />
You may also need to use the gconftool-2 command in a terminal window to set the following parameter, otherwise fusion-icon might not load the windows decorator.<br />
gconftool-2 --type bool --set /apps/metacity/general/compositing_manager false<br />
<br />
{{Note|This method will be slower due to the fact that Gnome will first load the default window manager (Metacity), then will launch fusion-icon which will load the Compiz window manager to replace Metacity. Essentially, it will take the amount of time that it takes to load two window manangers to get Compiz loaded. The first method is preferred and eliminates this issue.}}<br />
<br />
=== Mate desktop ===<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
As with Gnome, create a compiz.desktop file (see [[Compiz#Autostart_.28without_.22fusion-icon.22.29_.28Preferred_Method.29]]), then set Compiz as the default window manager :<br />
* on Mate prior to 1.6, edit the following mateconf entries (note: the last two are deprecated values):<br />
mateconftool-2 --set -t string /desktop/mate/session/required_components/windowmanager compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/current /usr/bin/compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/default /usr/bin/compiz<br />
<br />
* on Mate 1.6 and higher, edit the following gsettings value<br />
gsettings set org.mate.session.required-components windowmanager compiz<br />
<br />
=== XFCE ===<br />
<br />
==== XFCE autostart (without "fusion-icon") ====<br />
<br />
This method will start Compiz directly through the XFCE session manager without loading Xfwm.<br />
<br />
Please note the change to xml config files in XFCE newer than 4.2<br />
<br />
To install the session manager, install {{Pkg|xfce4-session}}.<br />
<br />
Now we have to configure the default/failsafe session of XFCE.<br />
<br />
Edit the {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} or (to make the change for all XFCE users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Replace the xfwm startup command,<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="xfwm4"/><br />
</property><br />
<br />
with the following:<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="compiz"/><br />
<value type="string" value="ccp"/><br />
</property><br />
<br />
{{Note|The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
To prevent the default session from being overwritten you may also add this:<br />
<br />
<property name="general" type="empty"><br />
...<br />
...<br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
To remove the existing sessions, run:<br />
$ rm -r ~/.cache/sessions<br />
<br />
==== XFCE autostart (with "fusion-icon") ====<br />
<br />
===== Method 1 =====<br />
<br />
{{Note| This method is the least preferred since it loads both window managers. All the other XFCE methods only load Compiz without loading Xfwm.}}<br />
This will load Xfwm first then replace it with Compiz.<br />
<br />
Open the XFCE Settings Manager & then Sessions & Startup. Click the Application Autostart tab.<br />
<br />
Add<br />
(Name:) Compiz Fusion<br />
<br />
(Command:) fusion-icon<br />
<br />
{{Note|You can also use {{ic|compiz --replace ccp}} instead of '''fusion-icon''' to load Compiz but there will be no fusion-icon. The ''ccp'' value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
===== Method 2 =====<br />
<br />
Edit the file {{ic|~/.config/xfce4-session/xfce4-session.rc}} (settings in this file is used in preference).<br />
<br />
Or to make the change for all XFCE users, edit as root {{ic|/etc/xdg/xfce4-session/xfce4-session.rc}}.<br />
<br />
Add the following<br />
[Failsafe Session]<br />
Client0_Command=fusion-icon<br />
<br />
Comment out Client0_Command=xfwm4 if it exists.<br />
<br />
This will cause xfce to load Compiz instead of Xfwm when the user has no existing sessions.<br />
<br />
To prevent the default session from being overwritten you may also add<br />
[General]<br />
AutoSave=false<br />
SaveOnExit=false<br />
<br />
To remove the existing sessions<br />
rm -R ~/.cache/sessions<br />
<br />
===== Method 3 =====<br />
<br />
Check if this file exists:<br />
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
If not do:<br />
cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
Then edit {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}.<br />
<br />
or (to make the changes for all xfce4 users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Edit Client0_Command that it look like this:<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="fusion-icon"/><br />
<value type="string" value="--force-compiz"/><br />
</property><br />
if '''--force-compiz''' doesn't work use '''compiz --replace --sm-disable --ignore-desktop-hints ccp''' instead.<br />
<br />
Add the '''SaveOnExit property''' if missing and set it to '''false''':<br />
<property name="general" type="empty"><br />
<property name="FailsafeSessionName" type="string" value="Failsafe"/><br />
<property name="SessionName" type="string" value="Default"/><br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
finally remove old xfce4 sessions:<br />
rm -r ~/.cache/sessions<br />
<br />
Now XFCE4 will load compiz instead of XFWM.<br />
<br />
=== As a standalone window manager ===<br />
<br />
The package compiz-core by itself is sufficient to start using compiz-fusion. However ccsm and emerald (or another window-decorator) are additional highly recommended packages. You may install fusion-icon, compiz-fusion-plugins-main, compiz-fusion-plugins-extra or any other package later on at any time.<br />
<br />
To autostart compiz-fusion configure .xinitrc to launch compiz as:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec compiz ccp<br />
</nowiki>}}<br />
You can also add other [[Compiz_fusion#Manually_.28without_.22fusion-icon.22.29|command-line options]] to your .xinitrc<br />
<br />
Or if using fusion-icon, configure .xinitrc as<br />
{{hc|~/.xinitrc|<nowiki><br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
However chances are you will need additional apps (e.g a panel) for optimal usability. So to autostart such apps simply add them to your .xinitrc as:<br />
{{hc|~/.xinitrc|<nowiki><br />
tint2 &<br />
cairo-dock &<br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
{{Note|Add a terminal-emulator to this autostart list while starting for the first time to help [[Compiz_fusion#Configuration|configure]] Compiz.}} <br />
<br />
Feel free to use a different panel, tray, or start a whole bunch of applications with your session.<br />
<br />
==== Add a root menu ====<br />
<br />
To add a root menu similar to that in Openbox, Fluxbox, Blackbox etc. you must install the package {{AUR|compiz-deskmenu}}.<br />
Upon a restart of Compiz-Fusion, you should be able to middle click on your desktop to launch the menu.<br />
<br />
If it does not automatically work, enter the CompizConfig Settings Manager, and in Commands tab, within the General Settings menu, ensure that there is a command to launch Compiz-Deskmenu, and the appropriate key binding is set to Control+Space.<br />
<br />
If it still does not work, enter the Viewport Switcher menu, and change "Plugin for initiate action" to core (NOTE: for versions 0.8.2+ it's 'commands' instead of 'core'), and "Action name for initiate" to run_command0_key.<br />
<br />
An alternative is to use {{AUR|mygtkmenu}}, also in [[AUR]].<br />
<br />
==== Allow users to shutdown/reboot ====<br />
<br />
Refer to [[Allow_Users_to_Shutdown|this]] wiki page. If using "The Modern way" of policykit You can add the command to ccsm->General->Commands and assign a short-cut key to it or alternatively you can use a launcher application.<br />
<br />
== Miscellaneous ==<br />
<br />
=== Configuration ===<br />
<br />
[[Compiz#Configuration|You must do this so your windows function like you expect them to!]].<br />
<br />
=== Using gtk-window-decorator ===<br />
<br />
In order to use gtk-window-decorator, install the package ''compiz-decorator-gtk'' and select "GTK Window Decorator" instead of "Emerald" as your window decorator in fusion-icon or whatever other program you are using to configure compiz.<br />
<br />
=== gconf: additional Compiz configurations ===<br />
<br />
To achieve more satisfying results from Compiz, you can tweak its config with gconf-editor:<br />
<br />
$ gconf-editor<br />
<br />
Note that now compiz-core isn't built with gconf support; It is now built with gconf support through compiz-decorator-gtk. So, you need to install it if you want to use gconf-editor to edit your Compiz configuration.<br />
The Compiz gconf configuration is located in in the key ''apps > compiz > general > allscreens > options''.<br />
<br />
"Active plugins" is where you specify the plugins you would like to use. Simply edit the key and add a value(refer to the key ''apps > compiz > plugins'' to see possible values). Plugins I’ve found useful are screenshot, png, fade, and minimize. Please do not remove those enabled by default.<br />
<br />
=== ATI R600/R700 notes ===<br />
<br />
While using fusion-icon you shouldn't experience any problems because it takes care of everything for you, but if you are using one of the autostart methods that do not involve fusion-icon you will run into trouble. For example when using the Xfce autostart method without fusion icon you must edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml per the instructions above. However, if you follow the directions above explicity you will find that compiz does not load. You must instead make your xfce4-session.xml file look like this<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="LIBGL_ALWAYS_INDIRECT=1"/><br />
<value type="string" value="compiz"/><br />
<value type="string" value="--sm-disable"/><br />
<value type="string" value="--ignore-desktop-hints"/><br />
<value type="string" value="ccp"/><br />
<value type="string" value="--indirect-rendering"/><br />
</property><br />
<br />
This example targeted Xfce specifically, but it can be adapted to any desktop environment. It's just a matter of figuring out how to add it to the proper config file. The key thing is the required command which if typed on a command line would look like this<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
This is how Xfce's session manager interprets the above XML code. Notice that you do not need --replace because you are not first loading xfwm and then compiz.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Fallback ===<br />
<br />
If you are using [[KDE]], [[GNOME]] or [[XFCE]] and something is not right, for example you don’t see borders for your window, you can switch back to default DE window manager with this command:<br />
<br />
''wm_name'' --replace<br />
<br />
with kwin, metacity or xfwm4 instead of ''wm_name''.<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
Default plugin keyboard shortcuts (plugins have to be activated!)<br />
<br />
* Switch windows = {{Keypress|Alt+Tab}}.<br />
* Switch to next desktops = {{Keypress|Ctrl+Alt+&larr;}}.<br />
* Switch to previous desktop = {{Keypress|Ctrl+Alt+&rarr;}}.<br />
* Move window = {{Keypress|Alt+Left click}}.<br />
* Resize window = {{Keypress|Alt+Right click}}.<br />
<br />
A more detailed list can be found under [http://wiki.compiz-fusion.org/CommonKeyboardShortcuts CommonKeyboardShortcuts] in the Compiz wiki or you can always just look at your plugin's configuration ('''ccsm''').<br />
<br />
== Troubleshooting ==<br />
<br />
{{Out of date}}<br />
<br />
=== Missing GLX_EXT_texture_from_pixmaps ===<br />
<br />
==== On ATI cards (first solution) ====<br />
<br />
https://bbs.archlinux.org/viewtopic.php?id=50073<br />
If you run into the following error when trying to run Compiz Fusion on an ATI card:<br />
<br />
Missing GLX_EXT_texture_from_pixmap<br />
<br />
This is because Compiz Fusion's binary was compiled against Mesa's OpenGL library rather than ATI's OpenGL library (which is what you are using). Re-install libgl-dri (yes you will have to uninstall fglrx temporarily) to get Mesa's OpenGL library. <br />
<br />
copy the library into a directory to keep it because ATI's drivers will over write it. <br />
<br />
mkdir /lib/mesa<br />
cp /usr/lib/libGL.so.1.2 /lib/mesa<br />
<br />
Once you have it copied, you can reinstall your fglrx drivers (It should have been removed when you installed libgl-dri). Now you can start Compiz Fusion using the following example syntax: <br />
<br />
LD_PRELOAD=/lib/mesa/libGL.so.1.2 compiz --replace &<br />
<br />
==== On ATI cards (second solution) ====<br />
<br />
An other problem could arise with GLX_EXT_texture_from_pixmap, it is possible that the card could only render it indirectly, then you have to pass the option to your libgl like that :<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp &<br />
<br />
(Workaround tested on the following card : ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 02))<br />
<br />
==== On Intel chips ====<br />
<br />
First off, check that you're using the intel driver as opposed to i810. Then, run the following command to run Compiz (must use this every time.).<br />
LIBGL_ALWAYS_INDIRECT=true compiz --replace --sm-disable ccp &<br />
If you then do not have borders, run:<br />
emerald --replace<br />
As at 17-Oct-07 the [http://wiki.compiz-fusion.org/Troubleshooting Compiz-Fusion Wiki] states: <i>"If you are using an Intel GMA card with AIGLX, you will need to start Compiz Fusion with LIBGL_ALWAYS_INDIRECT=1 appended.</i>"<br />
<br />
=== Compiz starts, but no effects are visible ===<br />
<br />
If you have installed compiz-decorator-gtk:<br />
Check if GConf schema was correctly installed: <br />
gconftool-2 -R /apps/compiz/plugins | grep plugins<br />
make sure that all plugins are listed (not only fade!). If not, try to install Compiz schema manually (do this as normal user, not as root!!!): <br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
{{Note|Compiz basic plugins are not enabled by default. You should enable "Move Window", "Resize Window", and "Window decoration" plugins in settings manager from fusion-icon to have a usable window manager.}}<br />
<br />
=== Compiz starts, but gtk-window-decorator does not ===<br />
It is a configuration problem for gconf and gconfd. I solved it by removing ".gconf" dir in my home, but I'm using KDE. If you are using Gnome you should enter your ".gconf" directory and remove all Compiz keys. This will erase your Compiz settings, so be sure to reconfigure.<br />
Finally exec as user:<br />
<br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
=== Compiz appears to start, but there are no window borders ===<br />
<br />
When you run fusion-icon from commandline, you get output like this:<br />
<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
* NVIDIA on Xorg detected, exporting: __GL_YIELD=NOTHING<br />
* Using the GTK Interface<br />
* Metacity is already running<br />
* Setting window manager to Compiz<br />
... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
<br />
All you need to do is edit your {{ic|/etc/X11/xorg.conf}} and find the "Depth" directive inside the "Screen" section; change all occurences of this value to 24. This occured to me with my colour depth set to 16; but also happens when it is set to 32.<br />
<br />
----<br />
<br />
You may also try adding ''Option "AddARGBGLXVisuals" "True"'' & ''Option "DisableGLXRootClipping" "True"'' to your "Screen" section if you are using the NVIDIA binary driver. (Radeon, and the open 'nv' driver will not work with this option as far as I can tell.) If you used any other Options elsewhere in '''xorg.conf''' to get Compiz working and still have no luck, try commenting them out and using only the aformentioned ARGBGLXVisuals and GLXRootClipping Options.<br />
<br />
{{Note|Check that "Window decoration", "Move" and "Resize" plugins are enabled with Compiz Settings Manager or gconf-editor.}}<br />
<br />
With gconf-editor you can easly enable "Window decoration", "Move" and "Resize" plugins.<br />
<br />
$ gconf-editor<br />
<br />
Navigate to ''apps > compiz > general > allscreens > options''.<br />
<br />
Add/Edit "active_plugins" Key (Name: active_plugins, Type: List, List type: String).<br />
<br />
Add "decoration", "move", and "resize" to the list.<br />
<br />
----<br />
<br />
'''Another way to fix this''':<br />
* Launch '''ccsm'''.<br />
* Find '''windows decoration''' and make sure it is enabled.<br />
* Now click on it, to edit the options.<br />
* If the entry behind '''command''' is empty, put the value '''gtk-window-decorator''' there.<br />
** Alternatives are '''kde-window-decorator''' and '''emerald'''<br />
* Click '''Back''' and '''Close'''<br />
* If all went well, the borders should appear.<br />
<br />
=== Compiz starts and borders appear, but windows won't move ===<br />
<br />
Be sure you have the "Move Window" plugin installed and enabled in the Compiz settings manager.<br />
<br />
=== Blank screen on resume from suspend-to-ram using the NVIDIA binary drivers ===<br />
<br />
If you receive a blank screen with a responsive cursor upon resume, try disabling sync to vblank:<br />
<br />
gconftool -s /apps/compiz/general/screen0/options/sync_to_vblank-t boolean false<br />
<br />
=== fusion-icon doesn't start ===<br />
<br />
If you get an output like this from the command line:<br />
$ fusion-icon<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
Traceback (most recent call last):<br />
File "/usr/bin/fusion-icon", line 57, in <module><br />
from FusionIcon.interface import choose_interface<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/interface.py", line 23, in <module><br />
import start<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/start.py", line 36, in <module><br />
config.check()<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/util.py", line 362, in check<br />
os.makedirs(self.config_folder)<br />
File "/usr/lib/python2.5/os.py", line 172, in makedirs<br />
mkdir(name, mode)<br />
OSError: [Errno 13] Permission denied: '/home/andy/.config/compiz'<br />
<br />
the problem is with the permission on {{ic|~/.config/compiz}}. You have set the owner of a folder in your area as root. To change this, run (as root)<br />
chown <username> /home/<username>/.config/compiz<br />
<br />
=== Choppy animations, even though everything configured correctly ===<br />
<br />
If everything is configured correctly but you still have poor performance on some effects, try disabling ''CCSM > General Options > Display Settings > Detect Refresh Rate'' and instead choose a value manually. Tested on both NVIDIA and Intel chips. Can work wonders.<br />
<br />
Alternatively, if your chip is NVIDIA and you are experiencing an inadequate refresh rate with "Detect Refresh Rate" enabled in Compiz, it's likely due to an option called DynamicTwinView being enabled by default which plays a factor in accurately reporting the maximum refresh rate that your card and display support. You can disable DynamicTwinView by adding the following line to the "Device" or "Screen" section of your xorg.conf file, and then restarting your computer:<br />
<br />
Option "DynamicTwinView" "False"<br />
<br />
Doing so will allow XrandR to accurately report the refresh rate to anything that detects it, including Compiz. You should be able to leave "Detect Refresh Rate" enabled and get excellent performance. Once again, this only applies to NVIDIA chips.<br />
<br />
=== Fix GNOME screenshot ===<br />
<br />
To re-enable gnome-screenshot (the default behavior caused by hitting {{Keypress|PrtScn}}) simply go to Settings Manager>Commands and map 'gnome-screenshot' to the 'PrtScn' key. This is advantageous because you can also use the Compiz-Fusion 'Screenshot' plugin at the same time since the action that enables it is {{Keypress|Super+Button1}} thereby giving you two methods to do a screen capture (one of which gives a full screen capture in a single keystroke).<br />
<br />
=== Get GNOME workspace switcher work with Compiz-Fusion ===<br />
<br />
In older versions of Compiz, the Gnome Workspace Switcher applet would actually work with Compiz-Fusion (i.e. rotate cube/move plane etc.), but recent versions seem not to. This is due to a new feature introduced in Compiz, which allows real seperate workspaces. For example, if you have a desktop plane with four planes, and have four desktops enabled in Gnome, it sums up to a total of 16 different workspaces. Currently, there is no animation associated with "real" workspace changing. To get the Workspace Switcher work, set the following options in GConf:<br />
<br />
/apps/compiz/general/screen0/options/number_of_desktops = '''1'''<br />
/apps/compiz/general/screen0/options/hsize = 4 (this is an example)<br />
/apps/compiz/general/screen0/options/vsize = 1 (this is an example)<br />
<br />
=== Screen flicks with NVIDIA card ===<br />
<br />
For fixing it, create /etc/modprobe.d/nvidia.conf file and add line:<br />
options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222"<br />
<br />
=== Fix custom cursor theme on GNOME 2.30 ===<br />
<br />
Create or edit /usr/share/icons/default/index.theme for default, or per user '''(non-root)''' ~/.icons/default/index.theme, and add this lines:<br />
<br />
[Icon Theme]<br />
#Name=''foo''<br />
Name=''foo''<br />
#Inherits=''foo''<br />
Inherits=''foo''<br />
[Desktop Entry]<br />
Name[en_US]=index.theme<br />
<br />
"Foo" is the name of the cursor theme.<br />
<br />
=== Screen artifacts on Firefox/Thunderbird ===<br />
<br />
{{Note|Altough this issue is not strictly related to Compiz, it has been added here due to popular misconception that Compiz itself may be the cause.}}<br />
<br />
Some users noticed a strange behavior with AMD/ATI Catalyst drivers starting from 10.6 release. Artifacts are visible mainly with Mozilla applications, where the GUI shows black spots of variable size. This is caused by different 2D acceleration tecnique introduced with Catalyst 10.6.<br />
The problem can be fixed following the troubleshooting steps in the [[ATI_Catalyst#Black.2Fgrey.2Fwhite_boxes.2Fartifacts_mainly_in_firefox.2Fthunderbird|ATI Catalyst page]]<br />
<br />
=== Setting the window manager back to Metacity after uninstall ===<br />
<br />
Removing Compiz with pacman does not set your window manager back to metacity. This can result in no window borders being drawn, an inability to minimize, and an inability to change the focus. To change it back, run the command "gconf-editor" in the terminal (install it if you do not have it already). Use this to set the value of the key {{ic|/desktop/gnome/session/required_components/window_manager}} from "compiz" to "metacity". Log out and back in for this change to take effect.<br />
<br />
=== Context menu in applications (Firefox, ...?) disappears on mouseover ===<br />
<br />
Try disabling "focus stealing prevention" (general options).<br />
<br />
=== See also ===<br />
<br />
* [http://wiki.compiz.org/Troubleshooting Troubleshooting page] on compiz.org<br />
* [http://compiz.org Compiz website], including wiki and forum</div>Plphttps://wiki.archlinux.org/index.php?title=Compiz&diff=270585Compiz2013-08-10T06:56:06Z<p>Plp: /* Installation */</p>
<hr />
<div>[[Category:Eye candy]]<br />
[[Category:Stacking WMs]]<br />
[[el:Compiz]]<br />
[[es:Compiz]]<br />
[[fr:Compiz]]<br />
[[it:Compiz]]<br />
[[ja:Compiz]]<br />
[[pl:Compiz]]<br />
[[pt:Compiz]]<br />
[[ru:Compiz]]<br />
[[tr:Compiz]]<br />
[[zh-CN:Compiz]]<br />
{{Out of date|Since Compiz has been moved to the AUR [https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024956.html], some links to packages still need to be added or updated and links to groups need to be replaced.}}<br />
{{Article summary start}}<br />
{{Article summary wiki|Compiz Configuration}}<br />
{{Article summary wiki|Xcompmgr}}<br />
{{Article summary wiki|Cairo Compmgr}}<br />
{{Article summary end}}<br />
<br />
Compiz is a [[Wikipedia:Compositing window manager|compositing window manager]]. It provides its own window manager, [[Emerald]]. Therefore it cannot be used simultaneously with other window managers such as [[Openbox]], [[Fluxbox]], or [[Enlightenment]]. Users who want to keep their current window managers and add some effects to it may wish to try [[Xcompmgr]] instead.<br />
<br />
== Requirements ==<br />
<br />
Users of major [[DE]]s can make good use of {{AUR|compiz-manager}}, performing brief requirements checking and switching to fallback WM in case of errors. Discovering setup and hardware issues can also be done with {{AUR|compiz-check}} script available in [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install [https://aur.archlinux.org/packages.php?K=compiz packages], available in [[AUR]] (known up to date packages: {{AUR|compiz-bzr}}).<br />
<br />
Users who wish to select the packages individually may start with {{AUR|compiz-core}} and one of [[#Decorators|decorators]].<br />
{{Note|Lack of configured window decorator can render your [[X]] workspace slightly unusable.}}<br />
<br />
=== Initial configuration ===<br />
<br />
While the appearance of the windows and their contents is a function of [[GTK+]] and [[Qt]], the frames around the windows are controlled by the Window Decoration plugin. To use it make sure you have a window decorator installed. Depending on what packages you have downloaded you can choose among several window decorators. The most common ones are Emerald, kde-window-decorator, and gtk-window-decorator. The emerald decorator has the advantage that it fits better to compiz's screen handling and offers transparency effects. To set your default window decorator type the following command string in the "Window Decoration" plugin's settings under the field "Command".<br />
<br />
Ensure that the "Window decorator" plugin is enabled in ccsm's "effects" tab, the "command" field is filled in to start a decorator.<br />
<br />
To set '''emerald''' as your default window-decorator type:<br />
$ emerald --replace<br />
To set the '''kde-window-decorator''' as an alternative to Emerald type:<br />
kde4-window-decorator --replace<br />
To set the '''compiz-decorator-gtk''' as an alternative to Emerald type:<br />
$ gtk-window-decorator --replace<br />
<br />
{{Note|'''Activate important plugins:''' there is high possibility that you will want to activate a few plugins that provide basic window manager behavior or else you will have no ability to drag, scale or close any windows as soon as compiz is activated. Among those plugins are "Window Decoration" under Effects and "Move Window" & "Resize Window" under Window Management. ''ccsm'' command may be used to achieve this. Simply put check marks next to those plugins to activate them.}}<br />
<br />
== Additional software ==<br />
<br />
=== Decorators ===<br />
<br />
* {{App|[[Emerald]]|Compiz's own window decorator with few dependencies. (Note: Works but is buggy and no longer maintained)|http://www.compiz.org|{{AUR|emerald}}}}<br />
* {{App|compiz-decorator-gtk, compiz-decorator-kde|Alternatives to Emerald, using your desktop environment's configuration backends and looks.|http://www.compiz.org|{{AUR|compiz-bzr}}}}<br />
<br />
=== Other ===<br />
<br />
* {{AUR|ccsm}} (CompizConfig settings manager) - GUI application that lets you configure all of Compiz's plugins<br />
* {{AUR|fusion-icon}} - offers a tray icon and a nice way to start compiz, start ccsm and change the WM / Window Decorator<br />
<br />
== Starting Compiz Fusion ==<br />
<br />
=== Manually (with "fusion-icon") ===<br />
<br />
Launch the Compiz Fusion tray icon:<br />
$ fusion-icon<br />
<br />
See [[General Troubleshooting#Session permissions]] if you get some permission related errors.<br />
<br />
Right click on the icon in the panel and go to 'select window manager'. Choose "Compiz" if it isn't selected already, and you should be set.<br />
<br />
If this fails you can start compiz-fusion by using the following additional command to replace your default window decorator with Compiz's window decorator (Emerald):<br />
$ emerald --replace<br />
<br />
'''Again, note:''' If you want to use compiz window decorations make sure you have the "Window Decoration" plugin marked in the compiz settings through ccsm.<br />
<br />
=== Manually (without "fusion-icon") ===<br />
<br />
Launch Compiz with the following command (which replaces your current window manager):<br />
$ compiz --replace ccp &<br />
<br />
A quick overview over common compiz command-line options:<br />
* {{ic|--indirect-rendering}}: use indirect-rendering (AIGLX)<br />
* {{ic|--loose-binding}}: can help performance issues (NVIDIA?)<br />
* {{ic|--replace}}: replace current window-manager<br />
* {{ic|--keep-window-hints}}: keep the gnome window-manager gconf-settings for available viewports, ...<br />
* {{ic|--sm-disable}}: disable session-management<br />
* {{ic|ccp}}: the "ccp" command loads the last configured settings from ccsm (CompizConfig Settings Manager) otherwise Compiz will load with no settings and you won't be able to do anything with your windows like dragging, maximizing/minimizing, or moving.<br />
<br />
=== KDE4 ===<br />
<br />
{{Note|The first and last methods will load Compiz-Fusion as the default window manager instead of KWin. This is faster than loading Compiz with 'fusion-icon' because it avoids loading two window managers at startup. This also prevents that annoying black screen flicker you might see using other methods (when KWin switches to Compiz on KDE's desktop loading screens). The downside is that if Compiz crashes, it may be more difficult to recover your desktop.}}<br />
<br />
==== Use System Settings (easiest)====<br />
<br />
Go to: ''System Settings > Default Applications > Window Manager > Use a different window manager''<br />
<br />
'''''If''''' you need to run compiz with custom options select "Compiz custom" (when you run {{ic|fusion-icon}} from a terminal you can see the command line with which compiz was started).<br />
Create a file called "compiz-kde-launcher" in {{ic|/usr/local/bin}}. Then make the file executable: {{ic|chmod +x /usr/bin/compiz-kde-launcher}}.<br />
<br />
For example:<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT&#61;1<br />
compiz --replace ccp &<br />
wait<br />
}}<br />
<br />
==== Autostart with "fusion-icon" ====<br />
<br />
Add a symbolic link, that points to the fusion-icon executable, in your KDE Autostart directory:<br />
$ ln -s /usr/bin/fusion-icon ~/.kde4/Autostart/fusion-icon<br />
<br />
Next time KDE is started, it will load fusion-icon automatically.<br />
<br />
==== Autostart link without "fusion-icon" ====<br />
<br />
{{Warning|Do '''not''' create '''compiz.desktop''' if you intend to install compiz-decorator-gtk; it will create a file conflict.}}<br />
<br />
* Append a desktop entry in the KDE Autostart directory. If it doesn't already exist (it should), create the file {{ic|~/.kde4/Autostart/compiz.desktop}} with the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp --replace<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
X-GNOME-Autostart-Phase=WindowManager<br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note|If '''compiz.desktop''' already exists, you may have to add {{ic|--replace}} and/or {{ic|ccp}} to the Exec variable. Without {{ic|--replace}}, Compiz won't load since it will detect another window manager already loaded. Without {{ic|ccp}}, Compiz will not load any of the settings and plugins that you have enabled through CompizConfig Settings Manager ('''ccsm''') and you won't be able to manipulate any of your windows.}}<br />
<br />
* If you want to use the optional {{ic|fusion-icon}} application, launch '''fusion-icon'''. If you log out normally with '''fusion-icon''' running, KDE should restore your session and launch '''fusion-icon''' the next time you log in if this setting is enabled. If it doesn't appear to be working, ensure you have the following line in {{ic|~/.kde4/share/config/ksmserverrc}}:<br />
<br />
loginMode=restorePreviousLogout<br />
<br />
{{Note|This is a KDE specific setting that will allow you to restore other apps next time you log in, not just fusion-icon.}}<br />
<br />
==== Export KDEWM without "fusion-icon" (preferred) ====<br />
<br />
As root you must create a short script by doing the following in your terminal. This will allow you to load compiz with the switches because doing it directly via {{ic|1=export KDEWM="compiz --replace ccp --sm-disable"}} doesn't seem to work.<br />
$ echo "compiz --replace ccp --sm-disable &" > /usr/bin/compiz-fusion<br />
<br />
{{Note|If this line doesn't work, make sure the '''fusion-icon''' package is installed and then use this line instead:<br />
$ echo "fusion-icon &" > /usr/bin/compiz-fusion<br />
Be sure to complete the whole method before trying this substitute.}}<br />
<br />
Ensure that {{ic|/usr/bin/compiz-fusion}} has executable ('''+x''') permissions.<br />
$ chmod a+x /usr/bin/compiz-fusion<br />
<br />
Choose one of the following:<br />
<br />
:1) Compiz for your user only > Edit the file {{ic|~/.kde4/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
:2) Compiz system wide > Edit the file {{ic|/etc/kde/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
{{Note|<br />
* If that still doesn't work, yet another alternate way to accomplish the above method is to include the line:<br />
export KDEWM&#61;"compiz-fusion"<br />
in your user's {{ic|~/.bashrc}} file.<br />
* If you optionally use the {{ic|/usr/local/bin}} directory it may not work. In that case you should export the script including the whole path:<br />
export KDEWM&#61;"/usr/local/bin/compiz-fusion"<br />
}}<br />
<br />
=== GNOME ===<br />
<br />
If you have installed [[GNOME3]] with gnome-shell, either enable forced Fallback mode (System Info > Graphics) or simply uninstall gnome-shell.<br />
{{Note|Fallback mode is not necessary if you choose the Compiz/Cairo-Dock session method below.}}<br />
<br />
==== Alternate Session for GNOME (preferred method for experienced Compiz/Dock users) ====<br />
<br />
The {{AUR|gnome-session-compiz}} can be used to add an additional menu entry in the GNOME session login dialog. This method does not require foced fallback mode and/or modifications to sensitive system files/settings. Also, you can switch between GNOME Shell and Compiz/Cairo-Dock between sessions. If you can't get it working, you can always go back to your original GNOME session.<br />
<br />
For this method to work, Compiz and Cairo-Dock (Taskbar/Panel) may have to be [[#Configuration|configured initially]] for fresh accounts, from another working session (ccsm in GNOME Shell worked fine for me).<br />
<br />
This method completely replaces the GNOME's window manager and panel (they are not launched at all, rather than being replaced or killed later). So, before actually switching to this alternate session, you may want to configure corresponding/alternate features of the original panel application in Cairo-Dock:<br />
* Add Application Menu icon to Cairo-Dock and remember its key-bindings.<br />
* Remap Application Menu key-bindings to ALT+F1 and ALT+F2, for convenience.<br />
* Add Clock, WiFi, NetSpeed icons to the dock as applicable.<br />
* Add Log-out icon:<br />
** Set the command for logout to "gnome-session-quit --logout"<br />
** Set the command for shutdown to "gnome-session-quit --power-off"<br />
* Add the Notification Area Old (systray) icon to Cairo-Dock.<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
This Method makes use of the [http://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] to specify a Compiz Desktop Entry and of the GConf default windowmanager setting. Thanks to the Desktop Entry you should be able to select Compiz as a windowmanager out of GDM.<br />
<br />
'''1)'''If the following file doesn't already exist (it should), create it {{ic|/usr/share/applications/compiz.desktop}} containing the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp #Make sure ccp is included so that Compiz loads your previous settings.<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
##-> the folloing line cause gnome-session warning and slow startup, so try not to enable this<br />
# X-GNOME-Autostart-Phase=WindowManager <br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note| If {{ic|compiz.desktop}} already exists, you must make sure that the "ccp" is included in the Exec variable. Having "ccp" included simply tells Compiz to load your previous settings, otherwise you won't have any functionality.}}<br />
<br />
If the above doesn't work (in most cases it does), for example if you notice some issues with windows refreshing or low performance, try:<br />
<br />
Exec=/usr/bin/compiz ccp --indirect-rendering<br />
<br />
or<br />
<br />
Exec=/usr/bin/compiz --replace --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
Instead of<br />
<br />
Exec=/usr/bin/compiz ccp<br />
<br />
Some Users noticed a "lag" of 4-10 seconds when loging in from a login manager. The solution is to change the command to:<br />
Exec=bash -c 'compiz ccp decoration --sm-client-id $DESKTOP_AUTOSTART_ID'<br />
as noted [https://bbs.archlinux.org/viewtopic.php?pid=655237#p655237 in the forum]. You can also add the extra parameters as described above if needed.<br />
<br />
'''2)''' Set some GConf parameters using the gconftool-2 command in a terminal window or do it visually with Configuration Editor (gconf-editor). The following outlines using the command line method, but you can also see which keys to change using gconf-editor:<br />
<br />
{{Note| Since those parameters apply to a given user, you '''must''' logout from the root account and log in as that other user before proceeding with the next steps. GConf will fail, if called from a root account.}}<br />
<br />
gconftool-2 --set -t string /desktop/gnome/session/required_components/windowmanager compiz<br />
<br />
The following are optional and in most cases not necessary (the respective keys are deprecated since GNOME 2.12). But iny any case, if the above didn't succeed the next two statements are still valid and should be tried.<br />
<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/current /usr/bin/compiz<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/default /usr/bin/compiz<br />
<br />
==== Autostart (without "fusion-icon") (with GNOME fallback mode session) ====<br />
<br />
Edit file {{ic|/usr/share/gnome-session/sessions/gnome-fallback.session}}:<br />
<br />
Replace your windows manager (gnome-shell,metacity...) with ''compiz'' in '''RequiredComponents''' line.<br />
<br />
Change ''DefaultProvider-windowmanager'' line to ''DefaultProvider-windowmanager=compiz''<br />
<br />
Here is part of my {{ic|gnome-fallback.session}}:<br />
<br />
RequiredComponents=compiz;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=compiz<br />
DefaultProvider-notifications=notification-daemon<br />
<br />
{{Note|I took out gnome-panel as I am using avant-window-navigator as my panel.<br />
I'am using gnome3 fallback mode with compiz, make gtk-window-decorator start with compiz, and make avant-window-navigator start automatically.}}<br />
<br />
==== Autostart (without "fusion-icon", Gnome prior to 2.24) ====<br />
<br />
This is a way that works if you use GDM (and I'd assume KDM too).<br />
<br />
Make a file called /usr/local/bin/compiz-start-boot with the contents:<br />
#!/bin/bash<br />
export WINDOW_MANAGER="compiz ccp"<br />
exec gnome-session<br />
<br />
and make it executable ({{ic|chmod +x /usr/local/bin/compiz-start-boot}}). Next create the file {{ic|/etc/X11/sessions/Compiz.desktop}} containing the following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Compiz on GNOME<br />
Exec=/usr/local/bin/compiz-start-boot<br />
Icon=<br />
Type=Application<br />
<br />
Select Compiz on Gnome as your session and you're good to go.<br />
<br />
==== Autostart (with "fusion-icon") ====<br />
<br />
To start Compiz fusion automatically when starting a session go to System > Preferences > Startup Applications. In the Startup Programs tab, click the Add button.<br />
<br />
You will now see the Add Startup Program dialogue. Fill it in as follows.<br />
<br />
Name:<br />
Compiz Fusion<br />
Command:<br />
fusion-icon<br />
Comment: (Put anything you like or leave blank.)<br />
<br />
{{Note| You can also use "compiz --replace ccp" instead of "fusion-icon" to load compiz but there will be no fusion-icon.<br />
<br />
The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager ('''ccsm''').}}<br />
<br />
When you're done hit the Add button. You should now see your startup program in the list in the Startup Programs tab. It must be checked to be enabled. You can uncheck it to disable Compiz on startup and switch back to Metacity.<br />
<br />
You may also need to use the gconftool-2 command in a terminal window to set the following parameter, otherwise fusion-icon might not load the windows decorator.<br />
gconftool-2 --type bool --set /apps/metacity/general/compositing_manager false<br />
<br />
{{Note|This method will be slower due to the fact that Gnome will first load the default window manager (Metacity), then will launch fusion-icon which will load the Compiz window manager to replace Metacity. Essentially, it will take the amount of time that it takes to load two window manangers to get Compiz loaded. The first method is preferred and eliminates this issue.}}<br />
<br />
=== Mate desktop ===<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
As with Gnome, create a compiz.desktop file (see [[Compiz#Autostart_.28without_.22fusion-icon.22.29_.28Preferred_Method.29]]), then set Compiz as the default window manager :<br />
* on Mate prior to 1.6, edit the following mateconf entries (note: the last two are deprecated values):<br />
mateconftool-2 --set -t string /desktop/mate/session/required_components/windowmanager compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/current /usr/bin/compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/default /usr/bin/compiz<br />
<br />
* on Mate 1.6 and higher, edit the following gsettings value<br />
gsettings set org.mate.session.required-components windowmanager compiz<br />
<br />
=== XFCE ===<br />
<br />
==== XFCE autostart (without "fusion-icon") ====<br />
<br />
This method will start Compiz directly through the XFCE session manager without loading Xfwm.<br />
<br />
Please note the change to xml config files in XFCE newer than 4.2<br />
<br />
To install the session manager, install {{Pkg|xfce4-session}}.<br />
<br />
Now we have to configure the default/failsafe session of XFCE.<br />
<br />
Edit the {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} or (to make the change for all XFCE users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Replace the xfwm startup command,<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="xfwm4"/><br />
</property><br />
<br />
with the following:<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="compiz"/><br />
<value type="string" value="ccp"/><br />
</property><br />
<br />
{{Note|The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
To prevent the default session from being overwritten you may also add this:<br />
<br />
<property name="general" type="empty"><br />
...<br />
...<br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
To remove the existing sessions, run:<br />
$ rm -r ~/.cache/sessions<br />
<br />
==== XFCE autostart (with "fusion-icon") ====<br />
<br />
===== Method 1 =====<br />
<br />
{{Note| This method is the least preferred since it loads both window managers. All the other XFCE methods only load Compiz without loading Xfwm.}}<br />
This will load Xfwm first then replace it with Compiz.<br />
<br />
Open the XFCE Settings Manager & then Sessions & Startup. Click the Application Autostart tab.<br />
<br />
Add<br />
(Name:) Compiz Fusion<br />
<br />
(Command:) fusion-icon<br />
<br />
{{Note|You can also use {{ic|compiz --replace ccp}} instead of '''fusion-icon''' to load Compiz but there will be no fusion-icon. The ''ccp'' value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
===== Method 2 =====<br />
<br />
Edit the file {{ic|~/.config/xfce4-session/xfce4-session.rc}} (settings in this file is used in preference).<br />
<br />
Or to make the change for all XFCE users, edit as root {{ic|/etc/xdg/xfce4-session/xfce4-session.rc}}.<br />
<br />
Add the following<br />
[Failsafe Session]<br />
Client0_Command=fusion-icon<br />
<br />
Comment out Client0_Command=xfwm4 if it exists.<br />
<br />
This will cause xfce to load Compiz instead of Xfwm when the user has no existing sessions.<br />
<br />
To prevent the default session from being overwritten you may also add<br />
[General]<br />
AutoSave=false<br />
SaveOnExit=false<br />
<br />
To remove the existing sessions<br />
rm -R ~/.cache/sessions<br />
<br />
===== Method 3 =====<br />
<br />
Check if this file exists:<br />
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
If not do:<br />
cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
Then edit {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}.<br />
<br />
or (to make the changes for all xfce4 users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Edit Client0_Command that it look like this:<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="fusion-icon"/><br />
<value type="string" value="--force-compiz"/><br />
</property><br />
if '''--force-compiz''' doesn't work use '''compiz --replace --sm-disable --ignore-desktop-hints ccp''' instead.<br />
<br />
Add the '''SaveOnExit property''' if missing and set it to '''false''':<br />
<property name="general" type="empty"><br />
<property name="FailsafeSessionName" type="string" value="Failsafe"/><br />
<property name="SessionName" type="string" value="Default"/><br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
finally remove old xfce4 sessions:<br />
rm -r ~/.cache/sessions<br />
<br />
Now XFCE4 will load compiz instead of XFWM.<br />
<br />
=== As a standalone window manager ===<br />
<br />
The package compiz-core by itself is sufficient to start using compiz-fusion. However ccsm and emerald (or another window-decorator) are additional highly recommended packages. You may install fusion-icon, compiz-fusion-plugins-main, compiz-fusion-plugins-extra or any other package later on at any time.<br />
<br />
To autostart compiz-fusion configure .xinitrc to launch compiz as:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec compiz ccp<br />
</nowiki>}}<br />
You can also add other [[Compiz_fusion#Manually_.28without_.22fusion-icon.22.29|command-line options]] to your .xinitrc<br />
<br />
Or if using fusion-icon, configure .xinitrc as<br />
{{hc|~/.xinitrc|<nowiki><br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
However chances are you will need additional apps (e.g a panel) for optimal usability. So to autostart such apps simply add them to your .xinitrc as:<br />
{{hc|~/.xinitrc|<nowiki><br />
tint2 &<br />
cairo-dock &<br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
{{Note|Add a terminal-emulator to this autostart list while starting for the first time to help [[Compiz_fusion#Configuration|configure]] Compiz.}} <br />
<br />
Feel free to use a different panel, tray, or start a whole bunch of applications with your session.<br />
<br />
==== Add a root menu ====<br />
<br />
To add a root menu similar to that in Openbox, Fluxbox, Blackbox etc. you must install the package {{AUR|compiz-deskmenu}}.<br />
Upon a restart of Compiz-Fusion, you should be able to middle click on your desktop to launch the menu.<br />
<br />
If it does not automatically work, enter the CompizConfig Settings Manager, and in Commands tab, within the General Settings menu, ensure that there is a command to launch Compiz-Deskmenu, and the appropriate key binding is set to Control+Space.<br />
<br />
If it still does not work, enter the Viewport Switcher menu, and change "Plugin for initiate action" to core (NOTE: for versions 0.8.2+ it's 'commands' instead of 'core'), and "Action name for initiate" to run_command0_key.<br />
<br />
An alternative is to use {{AUR|mygtkmenu}}, also in [[AUR]].<br />
<br />
==== Allow users to shutdown/reboot ====<br />
<br />
Refer to [[Allow_Users_to_Shutdown|this]] wiki page. If using "The Modern way" of policykit You can add the command to ccsm->General->Commands and assign a short-cut key to it or alternatively you can use a launcher application.<br />
<br />
== Miscellaneous ==<br />
<br />
=== Configuration ===<br />
<br />
[[Compiz#Configuration|You must do this so your windows function like you expect them to!]].<br />
<br />
=== Using gtk-window-decorator ===<br />
<br />
In order to use gtk-window-decorator, install the package ''compiz-decorator-gtk'' and select "GTK Window Decorator" instead of "Emerald" as your window decorator in fusion-icon or whatever other program you are using to configure compiz.<br />
<br />
=== gconf: additional Compiz configurations ===<br />
<br />
To achieve more satisfying results from Compiz, you can tweak its config with gconf-editor:<br />
<br />
$ gconf-editor<br />
<br />
Note that now compiz-core isn't built with gconf support; It is now built with gconf support through compiz-decorator-gtk. So, you need to install it if you want to use gconf-editor to edit your Compiz configuration.<br />
The Compiz gconf configuration is located in in the key ''apps > compiz > general > allscreens > options''.<br />
<br />
"Active plugins" is where you specify the plugins you would like to use. Simply edit the key and add a value(refer to the key ''apps > compiz > plugins'' to see possible values). Plugins I’ve found useful are screenshot, png, fade, and minimize. Please do not remove those enabled by default.<br />
<br />
=== ATI R600/R700 notes ===<br />
<br />
While using fusion-icon you shouldn't experience any problems because it takes care of everything for you, but if you are using one of the autostart methods that do not involve fusion-icon you will run into trouble. For example when using the Xfce autostart method without fusion icon you must edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml per the instructions above. However, if you follow the directions above explicity you will find that compiz does not load. You must instead make your xfce4-session.xml file look like this<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="LIBGL_ALWAYS_INDIRECT=1"/><br />
<value type="string" value="compiz"/><br />
<value type="string" value="--sm-disable"/><br />
<value type="string" value="--ignore-desktop-hints"/><br />
<value type="string" value="ccp"/><br />
<value type="string" value="--indirect-rendering"/><br />
</property><br />
<br />
This example targeted Xfce specifically, but it can be adapted to any desktop environment. It's just a matter of figuring out how to add it to the proper config file. The key thing is the required command which if typed on a command line would look like this<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
This is how Xfce's session manager interprets the above XML code. Notice that you do not need --replace because you are not first loading xfwm and then compiz.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Fallback ===<br />
<br />
If you are using [[KDE]], [[GNOME]] or [[XFCE]] and something is not right, for example you don’t see borders for your window, you can switch back to default DE window manager with this command:<br />
<br />
''wm_name'' --replace<br />
<br />
with kwin, metacity or xfwm4 instead of ''wm_name''.<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
Default plugin keyboard shortcuts (plugins have to be activated!)<br />
<br />
* Switch windows = {{Keypress|Alt+Tab}}.<br />
* Switch to next desktops = {{Keypress|Ctrl+Alt+&larr;}}.<br />
* Switch to previous desktop = {{Keypress|Ctrl+Alt+&rarr;}}.<br />
* Move window = {{Keypress|Alt+Left click}}.<br />
* Resize window = {{Keypress|Alt+Right click}}.<br />
<br />
A more detailed list can be found under [http://wiki.compiz-fusion.org/CommonKeyboardShortcuts CommonKeyboardShortcuts] in the Compiz wiki or you can always just look at your plugin's configuration ('''ccsm''').<br />
<br />
== Troubleshooting ==<br />
<br />
{{Out of date}}<br />
<br />
=== Missing GLX_EXT_texture_from_pixmaps ===<br />
<br />
==== On ATI cards (first solution) ====<br />
<br />
https://bbs.archlinux.org/viewtopic.php?id=50073<br />
If you run into the following error when trying to run Compiz Fusion on an ATI card:<br />
<br />
Missing GLX_EXT_texture_from_pixmap<br />
<br />
This is because Compiz Fusion's binary was compiled against Mesa's OpenGL library rather than ATI's OpenGL library (which is what you are using). Re-install libgl-dri (yes you will have to uninstall fglrx temporarily) to get Mesa's OpenGL library. <br />
<br />
copy the library into a directory to keep it because ATI's drivers will over write it. <br />
<br />
mkdir /lib/mesa<br />
cp /usr/lib/libGL.so.1.2 /lib/mesa<br />
<br />
Once you have it copied, you can reinstall your fglrx drivers (It should have been removed when you installed libgl-dri). Now you can start Compiz Fusion using the following example syntax: <br />
<br />
LD_PRELOAD=/lib/mesa/libGL.so.1.2 compiz --replace &<br />
<br />
==== On ATI cards (second solution) ====<br />
<br />
An other problem could arise with GLX_EXT_texture_from_pixmap, it is possible that the card could only render it indirectly, then you have to pass the option to your libgl like that :<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp &<br />
<br />
(Workaround tested on the following card : ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 02))<br />
<br />
==== On Intel chips ====<br />
<br />
First off, check that you're using the intel driver as opposed to i810. Then, run the following command to run Compiz (must use this every time.).<br />
LIBGL_ALWAYS_INDIRECT=true compiz --replace --sm-disable ccp &<br />
If you then do not have borders, run:<br />
emerald --replace<br />
As at 17-Oct-07 the [http://wiki.compiz-fusion.org/Troubleshooting Compiz-Fusion Wiki] states: <i>"If you are using an Intel GMA card with AIGLX, you will need to start Compiz Fusion with LIBGL_ALWAYS_INDIRECT=1 appended.</i>"<br />
<br />
=== Compiz starts, but no effects are visible ===<br />
<br />
If you have installed compiz-decorator-gtk:<br />
Check if GConf schema was correctly installed: <br />
gconftool-2 -R /apps/compiz/plugins | grep plugins<br />
make sure that all plugins are listed (not only fade!). If not, try to install Compiz schema manually (do this as normal user, not as root!!!): <br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
{{Note|Compiz basic plugins are not enabled by default. You should enable "Move Window", "Resize Window", and "Window decoration" plugins in settings manager from fusion-icon to have a usable window manager.}}<br />
<br />
=== Compiz starts, but gtk-window-decorator does not ===<br />
It is a configuration problem for gconf and gconfd. I solved it by removing ".gconf" dir in my home, but I'm using KDE. If you are using Gnome you should enter your ".gconf" directory and remove all Compiz keys. This will erase your Compiz settings, so be sure to reconfigure.<br />
Finally exec as user:<br />
<br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
=== Compiz appears to start, but there are no window borders ===<br />
<br />
When you run fusion-icon from commandline, you get output like this:<br />
<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
* NVIDIA on Xorg detected, exporting: __GL_YIELD=NOTHING<br />
* Using the GTK Interface<br />
* Metacity is already running<br />
* Setting window manager to Compiz<br />
... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
<br />
All you need to do is edit your {{ic|/etc/X11/xorg.conf}} and find the "Depth" directive inside the "Screen" section; change all occurences of this value to 24. This occured to me with my colour depth set to 16; but also happens when it is set to 32.<br />
<br />
----<br />
<br />
You may also try adding ''Option "AddARGBGLXVisuals" "True"'' & ''Option "DisableGLXRootClipping" "True"'' to your "Screen" section if you are using the NVIDIA binary driver. (Radeon, and the open 'nv' driver will not work with this option as far as I can tell.) If you used any other Options elsewhere in '''xorg.conf''' to get Compiz working and still have no luck, try commenting them out and using only the aformentioned ARGBGLXVisuals and GLXRootClipping Options.<br />
<br />
{{Note|Check that "Window decoration", "Move" and "Resize" plugins are enabled with Compiz Settings Manager or gconf-editor.}}<br />
<br />
With gconf-editor you can easly enable "Window decoration", "Move" and "Resize" plugins.<br />
<br />
$ gconf-editor<br />
<br />
Navigate to ''apps > compiz > general > allscreens > options''.<br />
<br />
Add/Edit "active_plugins" Key (Name: active_plugins, Type: List, List type: String).<br />
<br />
Add "decoration", "move", and "resize" to the list.<br />
<br />
----<br />
<br />
'''Another way to fix this''':<br />
* Launch '''ccsm'''.<br />
* Find '''windows decoration''' and make sure it is enabled.<br />
* Now click on it, to edit the options.<br />
* If the entry behind '''command''' is empty, put the value '''gtk-window-decorator''' there.<br />
** Alternatives are '''kde-window-decorator''' and '''emerald'''<br />
* Click '''Back''' and '''Close'''<br />
* If all went well, the borders should appear.<br />
<br />
=== Compiz starts and borders appear, but windows won't move ===<br />
<br />
Be sure you have the "Move Window" plugin installed and enabled in the Compiz settings manager.<br />
<br />
=== Blank screen on resume from suspend-to-ram using the NVIDIA binary drivers ===<br />
<br />
If you receive a blank screen with a responsive cursor upon resume, try disabling sync to vblank:<br />
<br />
gconftool -s /apps/compiz/general/screen0/options/sync_to_vblank-t boolean false<br />
<br />
=== fusion-icon doesn't start ===<br />
<br />
If you get an output like this from the command line:<br />
$ fusion-icon<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
Traceback (most recent call last):<br />
File "/usr/bin/fusion-icon", line 57, in <module><br />
from FusionIcon.interface import choose_interface<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/interface.py", line 23, in <module><br />
import start<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/start.py", line 36, in <module><br />
config.check()<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/util.py", line 362, in check<br />
os.makedirs(self.config_folder)<br />
File "/usr/lib/python2.5/os.py", line 172, in makedirs<br />
mkdir(name, mode)<br />
OSError: [Errno 13] Permission denied: '/home/andy/.config/compiz'<br />
<br />
the problem is with the permission on {{ic|~/.config/compiz}}. You have set the owner of a folder in your area as root. To change this, run (as root)<br />
chown <username> /home/<username>/.config/compiz<br />
<br />
=== Choppy animations, even though everything configured correctly ===<br />
<br />
If everything is configured correctly but you still have poor performance on some effects, try disabling ''CCSM > General Options > Display Settings > Detect Refresh Rate'' and instead choose a value manually. Tested on both NVIDIA and Intel chips. Can work wonders.<br />
<br />
Alternatively, if your chip is NVIDIA and you are experiencing an inadequate refresh rate with "Detect Refresh Rate" enabled in Compiz, it's likely due to an option called DynamicTwinView being enabled by default which plays a factor in accurately reporting the maximum refresh rate that your card and display support. You can disable DynamicTwinView by adding the following line to the "Device" or "Screen" section of your xorg.conf file, and then restarting your computer:<br />
<br />
Option "DynamicTwinView" "False"<br />
<br />
Doing so will allow XrandR to accurately report the refresh rate to anything that detects it, including Compiz. You should be able to leave "Detect Refresh Rate" enabled and get excellent performance. Once again, this only applies to NVIDIA chips.<br />
<br />
=== Fix GNOME screenshot ===<br />
<br />
To re-enable gnome-screenshot (the default behavior caused by hitting {{Keypress|PrtScn}}) simply go to Settings Manager>Commands and map 'gnome-screenshot' to the 'PrtScn' key. This is advantageous because you can also use the Compiz-Fusion 'Screenshot' plugin at the same time since the action that enables it is {{Keypress|Super+Button1}} thereby giving you two methods to do a screen capture (one of which gives a full screen capture in a single keystroke).<br />
<br />
=== Get GNOME workspace switcher work with Compiz-Fusion ===<br />
<br />
In older versions of Compiz, the Gnome Workspace Switcher applet would actually work with Compiz-Fusion (i.e. rotate cube/move plane etc.), but recent versions seem not to. This is due to a new feature introduced in Compiz, which allows real seperate workspaces. For example, if you have a desktop plane with four planes, and have four desktops enabled in Gnome, it sums up to a total of 16 different workspaces. Currently, there is no animation associated with "real" workspace changing. To get the Workspace Switcher work, set the following options in GConf:<br />
<br />
/apps/compiz/general/screen0/options/number_of_desktops = '''1'''<br />
/apps/compiz/general/screen0/options/hsize = 4 (this is an example)<br />
/apps/compiz/general/screen0/options/vsize = 1 (this is an example)<br />
<br />
=== Screen flicks with NVIDIA card ===<br />
<br />
For fixing it, create /etc/modprobe.d/nvidia.conf file and add line:<br />
options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222"<br />
<br />
=== Fix custom cursor theme on GNOME 2.30 ===<br />
<br />
Create or edit /usr/share/icons/default/index.theme for default, or per user '''(non-root)''' ~/.icons/default/index.theme, and add this lines:<br />
<br />
[Icon Theme]<br />
#Name=''foo''<br />
Name=''foo''<br />
#Inherits=''foo''<br />
Inherits=''foo''<br />
[Desktop Entry]<br />
Name[en_US]=index.theme<br />
<br />
"Foo" is the name of the cursor theme.<br />
<br />
=== Screen artifacts on Firefox/Thunderbird ===<br />
<br />
{{Note|Altough this issue is not strictly related to Compiz, it has been added here due to popular misconception that Compiz itself may be the cause.}}<br />
<br />
Some users noticed a strange behavior with AMD/ATI Catalyst drivers starting from 10.6 release. Artifacts are visible mainly with Mozilla applications, where the GUI shows black spots of variable size. This is caused by different 2D acceleration tecnique introduced with Catalyst 10.6.<br />
The problem can be fixed following the troubleshooting steps in the [[ATI_Catalyst#Black.2Fgrey.2Fwhite_boxes.2Fartifacts_mainly_in_firefox.2Fthunderbird|ATI Catalyst page]]<br />
<br />
=== Setting the window manager back to Metacity after uninstall ===<br />
<br />
Removing Compiz with pacman does not set your window manager back to metacity. This can result in no window borders being drawn, an inability to minimize, and an inability to change the focus. To change it back, run the command "gconf-editor" in the terminal (install it if you do not have it already). Use this to set the value of the key {{ic|/desktop/gnome/session/required_components/window_manager}} from "compiz" to "metacity". Log out and back in for this change to take effect.<br />
<br />
=== Context menu in applications (Firefox, ...?) disappears on mouseover ===<br />
<br />
Try disabling "focus stealing prevention" (general options).<br />
<br />
=== See also ===<br />
<br />
* [http://wiki.compiz.org/Troubleshooting Troubleshooting page] on compiz.org<br />
* [http://compiz.org Compiz website], including wiki and forum</div>Plphttps://wiki.archlinux.org/index.php?title=Compiz&diff=270584Compiz2013-08-10T06:55:03Z<p>Plp: /* Decorators */</p>
<hr />
<div>[[Category:Eye candy]]<br />
[[Category:Stacking WMs]]<br />
[[el:Compiz]]<br />
[[es:Compiz]]<br />
[[fr:Compiz]]<br />
[[it:Compiz]]<br />
[[ja:Compiz]]<br />
[[pl:Compiz]]<br />
[[pt:Compiz]]<br />
[[ru:Compiz]]<br />
[[tr:Compiz]]<br />
[[zh-CN:Compiz]]<br />
{{Out of date|Since Compiz has been moved to the AUR [https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024956.html], some links to packages still need to be added or updated and links to groups need to be replaced.}}<br />
{{Article summary start}}<br />
{{Article summary wiki|Compiz Configuration}}<br />
{{Article summary wiki|Xcompmgr}}<br />
{{Article summary wiki|Cairo Compmgr}}<br />
{{Article summary end}}<br />
<br />
Compiz is a [[Wikipedia:Compositing window manager|compositing window manager]]. It provides its own window manager, [[Emerald]]. Therefore it cannot be used simultaneously with other window managers such as [[Openbox]], [[Fluxbox]], or [[Enlightenment]]. Users who want to keep their current window managers and add some effects to it may wish to try [[Xcompmgr]] instead.<br />
<br />
== Requirements ==<br />
<br />
Users of major [[DE]]s can make good use of {{AUR|compiz-manager}}, performing brief requirements checking and switching to fallback WM in case of errors. Discovering setup and hardware issues can also be done with {{AUR|compiz-check}} script available in [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install [https://aur.archlinux.org/packages.php?K=compiz packages], available in [[AUR]] (known up to date packages: {{AUR|compiz-bzr}}).<br />
<br />
Users who wish to select the packages individually may start with {{Pkg|compiz-core}} and one of [[#Decorators|decorators]].<br />
{{Note|Lack of configured window decorator can render your [[X]] workspace slightly unusable.}}<br />
<br />
=== Initial configuration ===<br />
<br />
While the appearance of the windows and their contents is a function of [[GTK+]] and [[Qt]], the frames around the windows are controlled by the Window Decoration plugin. To use it make sure you have a window decorator installed. Depending on what packages you have downloaded you can choose among several window decorators. The most common ones are Emerald, kde-window-decorator, and gtk-window-decorator. The emerald decorator has the advantage that it fits better to compiz's screen handling and offers transparency effects. To set your default window decorator type the following command string in the "Window Decoration" plugin's settings under the field "Command".<br />
<br />
Ensure that the "Window decorator" plugin is enabled in ccsm's "effects" tab, the "command" field is filled in to start a decorator.<br />
<br />
To set '''emerald''' as your default window-decorator type:<br />
$ emerald --replace<br />
To set the '''kde-window-decorator''' as an alternative to Emerald type:<br />
kde4-window-decorator --replace<br />
To set the '''compiz-decorator-gtk''' as an alternative to Emerald type:<br />
$ gtk-window-decorator --replace<br />
<br />
{{Note|'''Activate important plugins:''' there is high possibility that you will want to activate a few plugins that provide basic window manager behavior or else you will have no ability to drag, scale or close any windows as soon as compiz is activated. Among those plugins are "Window Decoration" under Effects and "Move Window" & "Resize Window" under Window Management. ''ccsm'' command may be used to achieve this. Simply put check marks next to those plugins to activate them.}}<br />
<br />
== Additional software ==<br />
<br />
=== Decorators ===<br />
<br />
* {{App|[[Emerald]]|Compiz's own window decorator with few dependencies. (Note: Works but is buggy and no longer maintained)|http://www.compiz.org|{{AUR|emerald}}}}<br />
* {{App|compiz-decorator-gtk, compiz-decorator-kde|Alternatives to Emerald, using your desktop environment's configuration backends and looks.|http://www.compiz.org|{{AUR|compiz-bzr}}}}<br />
<br />
=== Other ===<br />
<br />
* {{AUR|ccsm}} (CompizConfig settings manager) - GUI application that lets you configure all of Compiz's plugins<br />
* {{AUR|fusion-icon}} - offers a tray icon and a nice way to start compiz, start ccsm and change the WM / Window Decorator<br />
<br />
== Starting Compiz Fusion ==<br />
<br />
=== Manually (with "fusion-icon") ===<br />
<br />
Launch the Compiz Fusion tray icon:<br />
$ fusion-icon<br />
<br />
See [[General Troubleshooting#Session permissions]] if you get some permission related errors.<br />
<br />
Right click on the icon in the panel and go to 'select window manager'. Choose "Compiz" if it isn't selected already, and you should be set.<br />
<br />
If this fails you can start compiz-fusion by using the following additional command to replace your default window decorator with Compiz's window decorator (Emerald):<br />
$ emerald --replace<br />
<br />
'''Again, note:''' If you want to use compiz window decorations make sure you have the "Window Decoration" plugin marked in the compiz settings through ccsm.<br />
<br />
=== Manually (without "fusion-icon") ===<br />
<br />
Launch Compiz with the following command (which replaces your current window manager):<br />
$ compiz --replace ccp &<br />
<br />
A quick overview over common compiz command-line options:<br />
* {{ic|--indirect-rendering}}: use indirect-rendering (AIGLX)<br />
* {{ic|--loose-binding}}: can help performance issues (NVIDIA?)<br />
* {{ic|--replace}}: replace current window-manager<br />
* {{ic|--keep-window-hints}}: keep the gnome window-manager gconf-settings for available viewports, ...<br />
* {{ic|--sm-disable}}: disable session-management<br />
* {{ic|ccp}}: the "ccp" command loads the last configured settings from ccsm (CompizConfig Settings Manager) otherwise Compiz will load with no settings and you won't be able to do anything with your windows like dragging, maximizing/minimizing, or moving.<br />
<br />
=== KDE4 ===<br />
<br />
{{Note|The first and last methods will load Compiz-Fusion as the default window manager instead of KWin. This is faster than loading Compiz with 'fusion-icon' because it avoids loading two window managers at startup. This also prevents that annoying black screen flicker you might see using other methods (when KWin switches to Compiz on KDE's desktop loading screens). The downside is that if Compiz crashes, it may be more difficult to recover your desktop.}}<br />
<br />
==== Use System Settings (easiest)====<br />
<br />
Go to: ''System Settings > Default Applications > Window Manager > Use a different window manager''<br />
<br />
'''''If''''' you need to run compiz with custom options select "Compiz custom" (when you run {{ic|fusion-icon}} from a terminal you can see the command line with which compiz was started).<br />
Create a file called "compiz-kde-launcher" in {{ic|/usr/local/bin}}. Then make the file executable: {{ic|chmod +x /usr/bin/compiz-kde-launcher}}.<br />
<br />
For example:<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT&#61;1<br />
compiz --replace ccp &<br />
wait<br />
}}<br />
<br />
==== Autostart with "fusion-icon" ====<br />
<br />
Add a symbolic link, that points to the fusion-icon executable, in your KDE Autostart directory:<br />
$ ln -s /usr/bin/fusion-icon ~/.kde4/Autostart/fusion-icon<br />
<br />
Next time KDE is started, it will load fusion-icon automatically.<br />
<br />
==== Autostart link without "fusion-icon" ====<br />
<br />
{{Warning|Do '''not''' create '''compiz.desktop''' if you intend to install compiz-decorator-gtk; it will create a file conflict.}}<br />
<br />
* Append a desktop entry in the KDE Autostart directory. If it doesn't already exist (it should), create the file {{ic|~/.kde4/Autostart/compiz.desktop}} with the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp --replace<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
X-GNOME-Autostart-Phase=WindowManager<br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note|If '''compiz.desktop''' already exists, you may have to add {{ic|--replace}} and/or {{ic|ccp}} to the Exec variable. Without {{ic|--replace}}, Compiz won't load since it will detect another window manager already loaded. Without {{ic|ccp}}, Compiz will not load any of the settings and plugins that you have enabled through CompizConfig Settings Manager ('''ccsm''') and you won't be able to manipulate any of your windows.}}<br />
<br />
* If you want to use the optional {{ic|fusion-icon}} application, launch '''fusion-icon'''. If you log out normally with '''fusion-icon''' running, KDE should restore your session and launch '''fusion-icon''' the next time you log in if this setting is enabled. If it doesn't appear to be working, ensure you have the following line in {{ic|~/.kde4/share/config/ksmserverrc}}:<br />
<br />
loginMode=restorePreviousLogout<br />
<br />
{{Note|This is a KDE specific setting that will allow you to restore other apps next time you log in, not just fusion-icon.}}<br />
<br />
==== Export KDEWM without "fusion-icon" (preferred) ====<br />
<br />
As root you must create a short script by doing the following in your terminal. This will allow you to load compiz with the switches because doing it directly via {{ic|1=export KDEWM="compiz --replace ccp --sm-disable"}} doesn't seem to work.<br />
$ echo "compiz --replace ccp --sm-disable &" > /usr/bin/compiz-fusion<br />
<br />
{{Note|If this line doesn't work, make sure the '''fusion-icon''' package is installed and then use this line instead:<br />
$ echo "fusion-icon &" > /usr/bin/compiz-fusion<br />
Be sure to complete the whole method before trying this substitute.}}<br />
<br />
Ensure that {{ic|/usr/bin/compiz-fusion}} has executable ('''+x''') permissions.<br />
$ chmod a+x /usr/bin/compiz-fusion<br />
<br />
Choose one of the following:<br />
<br />
:1) Compiz for your user only > Edit the file {{ic|~/.kde4/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
:2) Compiz system wide > Edit the file {{ic|/etc/kde/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
{{Note|<br />
* If that still doesn't work, yet another alternate way to accomplish the above method is to include the line:<br />
export KDEWM&#61;"compiz-fusion"<br />
in your user's {{ic|~/.bashrc}} file.<br />
* If you optionally use the {{ic|/usr/local/bin}} directory it may not work. In that case you should export the script including the whole path:<br />
export KDEWM&#61;"/usr/local/bin/compiz-fusion"<br />
}}<br />
<br />
=== GNOME ===<br />
<br />
If you have installed [[GNOME3]] with gnome-shell, either enable forced Fallback mode (System Info > Graphics) or simply uninstall gnome-shell.<br />
{{Note|Fallback mode is not necessary if you choose the Compiz/Cairo-Dock session method below.}}<br />
<br />
==== Alternate Session for GNOME (preferred method for experienced Compiz/Dock users) ====<br />
<br />
The {{AUR|gnome-session-compiz}} can be used to add an additional menu entry in the GNOME session login dialog. This method does not require foced fallback mode and/or modifications to sensitive system files/settings. Also, you can switch between GNOME Shell and Compiz/Cairo-Dock between sessions. If you can't get it working, you can always go back to your original GNOME session.<br />
<br />
For this method to work, Compiz and Cairo-Dock (Taskbar/Panel) may have to be [[#Configuration|configured initially]] for fresh accounts, from another working session (ccsm in GNOME Shell worked fine for me).<br />
<br />
This method completely replaces the GNOME's window manager and panel (they are not launched at all, rather than being replaced or killed later). So, before actually switching to this alternate session, you may want to configure corresponding/alternate features of the original panel application in Cairo-Dock:<br />
* Add Application Menu icon to Cairo-Dock and remember its key-bindings.<br />
* Remap Application Menu key-bindings to ALT+F1 and ALT+F2, for convenience.<br />
* Add Clock, WiFi, NetSpeed icons to the dock as applicable.<br />
* Add Log-out icon:<br />
** Set the command for logout to "gnome-session-quit --logout"<br />
** Set the command for shutdown to "gnome-session-quit --power-off"<br />
* Add the Notification Area Old (systray) icon to Cairo-Dock.<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
This Method makes use of the [http://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] to specify a Compiz Desktop Entry and of the GConf default windowmanager setting. Thanks to the Desktop Entry you should be able to select Compiz as a windowmanager out of GDM.<br />
<br />
'''1)'''If the following file doesn't already exist (it should), create it {{ic|/usr/share/applications/compiz.desktop}} containing the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp #Make sure ccp is included so that Compiz loads your previous settings.<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
##-> the folloing line cause gnome-session warning and slow startup, so try not to enable this<br />
# X-GNOME-Autostart-Phase=WindowManager <br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note| If {{ic|compiz.desktop}} already exists, you must make sure that the "ccp" is included in the Exec variable. Having "ccp" included simply tells Compiz to load your previous settings, otherwise you won't have any functionality.}}<br />
<br />
If the above doesn't work (in most cases it does), for example if you notice some issues with windows refreshing or low performance, try:<br />
<br />
Exec=/usr/bin/compiz ccp --indirect-rendering<br />
<br />
or<br />
<br />
Exec=/usr/bin/compiz --replace --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
Instead of<br />
<br />
Exec=/usr/bin/compiz ccp<br />
<br />
Some Users noticed a "lag" of 4-10 seconds when loging in from a login manager. The solution is to change the command to:<br />
Exec=bash -c 'compiz ccp decoration --sm-client-id $DESKTOP_AUTOSTART_ID'<br />
as noted [https://bbs.archlinux.org/viewtopic.php?pid=655237#p655237 in the forum]. You can also add the extra parameters as described above if needed.<br />
<br />
'''2)''' Set some GConf parameters using the gconftool-2 command in a terminal window or do it visually with Configuration Editor (gconf-editor). The following outlines using the command line method, but you can also see which keys to change using gconf-editor:<br />
<br />
{{Note| Since those parameters apply to a given user, you '''must''' logout from the root account and log in as that other user before proceeding with the next steps. GConf will fail, if called from a root account.}}<br />
<br />
gconftool-2 --set -t string /desktop/gnome/session/required_components/windowmanager compiz<br />
<br />
The following are optional and in most cases not necessary (the respective keys are deprecated since GNOME 2.12). But iny any case, if the above didn't succeed the next two statements are still valid and should be tried.<br />
<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/current /usr/bin/compiz<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/default /usr/bin/compiz<br />
<br />
==== Autostart (without "fusion-icon") (with GNOME fallback mode session) ====<br />
<br />
Edit file {{ic|/usr/share/gnome-session/sessions/gnome-fallback.session}}:<br />
<br />
Replace your windows manager (gnome-shell,metacity...) with ''compiz'' in '''RequiredComponents''' line.<br />
<br />
Change ''DefaultProvider-windowmanager'' line to ''DefaultProvider-windowmanager=compiz''<br />
<br />
Here is part of my {{ic|gnome-fallback.session}}:<br />
<br />
RequiredComponents=compiz;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=compiz<br />
DefaultProvider-notifications=notification-daemon<br />
<br />
{{Note|I took out gnome-panel as I am using avant-window-navigator as my panel.<br />
I'am using gnome3 fallback mode with compiz, make gtk-window-decorator start with compiz, and make avant-window-navigator start automatically.}}<br />
<br />
==== Autostart (without "fusion-icon", Gnome prior to 2.24) ====<br />
<br />
This is a way that works if you use GDM (and I'd assume KDM too).<br />
<br />
Make a file called /usr/local/bin/compiz-start-boot with the contents:<br />
#!/bin/bash<br />
export WINDOW_MANAGER="compiz ccp"<br />
exec gnome-session<br />
<br />
and make it executable ({{ic|chmod +x /usr/local/bin/compiz-start-boot}}). Next create the file {{ic|/etc/X11/sessions/Compiz.desktop}} containing the following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Compiz on GNOME<br />
Exec=/usr/local/bin/compiz-start-boot<br />
Icon=<br />
Type=Application<br />
<br />
Select Compiz on Gnome as your session and you're good to go.<br />
<br />
==== Autostart (with "fusion-icon") ====<br />
<br />
To start Compiz fusion automatically when starting a session go to System > Preferences > Startup Applications. In the Startup Programs tab, click the Add button.<br />
<br />
You will now see the Add Startup Program dialogue. Fill it in as follows.<br />
<br />
Name:<br />
Compiz Fusion<br />
Command:<br />
fusion-icon<br />
Comment: (Put anything you like or leave blank.)<br />
<br />
{{Note| You can also use "compiz --replace ccp" instead of "fusion-icon" to load compiz but there will be no fusion-icon.<br />
<br />
The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager ('''ccsm''').}}<br />
<br />
When you're done hit the Add button. You should now see your startup program in the list in the Startup Programs tab. It must be checked to be enabled. You can uncheck it to disable Compiz on startup and switch back to Metacity.<br />
<br />
You may also need to use the gconftool-2 command in a terminal window to set the following parameter, otherwise fusion-icon might not load the windows decorator.<br />
gconftool-2 --type bool --set /apps/metacity/general/compositing_manager false<br />
<br />
{{Note|This method will be slower due to the fact that Gnome will first load the default window manager (Metacity), then will launch fusion-icon which will load the Compiz window manager to replace Metacity. Essentially, it will take the amount of time that it takes to load two window manangers to get Compiz loaded. The first method is preferred and eliminates this issue.}}<br />
<br />
=== Mate desktop ===<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
As with Gnome, create a compiz.desktop file (see [[Compiz#Autostart_.28without_.22fusion-icon.22.29_.28Preferred_Method.29]]), then set Compiz as the default window manager :<br />
* on Mate prior to 1.6, edit the following mateconf entries (note: the last two are deprecated values):<br />
mateconftool-2 --set -t string /desktop/mate/session/required_components/windowmanager compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/current /usr/bin/compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/default /usr/bin/compiz<br />
<br />
* on Mate 1.6 and higher, edit the following gsettings value<br />
gsettings set org.mate.session.required-components windowmanager compiz<br />
<br />
=== XFCE ===<br />
<br />
==== XFCE autostart (without "fusion-icon") ====<br />
<br />
This method will start Compiz directly through the XFCE session manager without loading Xfwm.<br />
<br />
Please note the change to xml config files in XFCE newer than 4.2<br />
<br />
To install the session manager, install {{Pkg|xfce4-session}}.<br />
<br />
Now we have to configure the default/failsafe session of XFCE.<br />
<br />
Edit the {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} or (to make the change for all XFCE users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Replace the xfwm startup command,<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="xfwm4"/><br />
</property><br />
<br />
with the following:<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="compiz"/><br />
<value type="string" value="ccp"/><br />
</property><br />
<br />
{{Note|The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
To prevent the default session from being overwritten you may also add this:<br />
<br />
<property name="general" type="empty"><br />
...<br />
...<br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
To remove the existing sessions, run:<br />
$ rm -r ~/.cache/sessions<br />
<br />
==== XFCE autostart (with "fusion-icon") ====<br />
<br />
===== Method 1 =====<br />
<br />
{{Note| This method is the least preferred since it loads both window managers. All the other XFCE methods only load Compiz without loading Xfwm.}}<br />
This will load Xfwm first then replace it with Compiz.<br />
<br />
Open the XFCE Settings Manager & then Sessions & Startup. Click the Application Autostart tab.<br />
<br />
Add<br />
(Name:) Compiz Fusion<br />
<br />
(Command:) fusion-icon<br />
<br />
{{Note|You can also use {{ic|compiz --replace ccp}} instead of '''fusion-icon''' to load Compiz but there will be no fusion-icon. The ''ccp'' value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
===== Method 2 =====<br />
<br />
Edit the file {{ic|~/.config/xfce4-session/xfce4-session.rc}} (settings in this file is used in preference).<br />
<br />
Or to make the change for all XFCE users, edit as root {{ic|/etc/xdg/xfce4-session/xfce4-session.rc}}.<br />
<br />
Add the following<br />
[Failsafe Session]<br />
Client0_Command=fusion-icon<br />
<br />
Comment out Client0_Command=xfwm4 if it exists.<br />
<br />
This will cause xfce to load Compiz instead of Xfwm when the user has no existing sessions.<br />
<br />
To prevent the default session from being overwritten you may also add<br />
[General]<br />
AutoSave=false<br />
SaveOnExit=false<br />
<br />
To remove the existing sessions<br />
rm -R ~/.cache/sessions<br />
<br />
===== Method 3 =====<br />
<br />
Check if this file exists:<br />
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
If not do:<br />
cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
Then edit {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}.<br />
<br />
or (to make the changes for all xfce4 users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Edit Client0_Command that it look like this:<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="fusion-icon"/><br />
<value type="string" value="--force-compiz"/><br />
</property><br />
if '''--force-compiz''' doesn't work use '''compiz --replace --sm-disable --ignore-desktop-hints ccp''' instead.<br />
<br />
Add the '''SaveOnExit property''' if missing and set it to '''false''':<br />
<property name="general" type="empty"><br />
<property name="FailsafeSessionName" type="string" value="Failsafe"/><br />
<property name="SessionName" type="string" value="Default"/><br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
finally remove old xfce4 sessions:<br />
rm -r ~/.cache/sessions<br />
<br />
Now XFCE4 will load compiz instead of XFWM.<br />
<br />
=== As a standalone window manager ===<br />
<br />
The package compiz-core by itself is sufficient to start using compiz-fusion. However ccsm and emerald (or another window-decorator) are additional highly recommended packages. You may install fusion-icon, compiz-fusion-plugins-main, compiz-fusion-plugins-extra or any other package later on at any time.<br />
<br />
To autostart compiz-fusion configure .xinitrc to launch compiz as:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec compiz ccp<br />
</nowiki>}}<br />
You can also add other [[Compiz_fusion#Manually_.28without_.22fusion-icon.22.29|command-line options]] to your .xinitrc<br />
<br />
Or if using fusion-icon, configure .xinitrc as<br />
{{hc|~/.xinitrc|<nowiki><br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
However chances are you will need additional apps (e.g a panel) for optimal usability. So to autostart such apps simply add them to your .xinitrc as:<br />
{{hc|~/.xinitrc|<nowiki><br />
tint2 &<br />
cairo-dock &<br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
{{Note|Add a terminal-emulator to this autostart list while starting for the first time to help [[Compiz_fusion#Configuration|configure]] Compiz.}} <br />
<br />
Feel free to use a different panel, tray, or start a whole bunch of applications with your session.<br />
<br />
==== Add a root menu ====<br />
<br />
To add a root menu similar to that in Openbox, Fluxbox, Blackbox etc. you must install the package {{AUR|compiz-deskmenu}}.<br />
Upon a restart of Compiz-Fusion, you should be able to middle click on your desktop to launch the menu.<br />
<br />
If it does not automatically work, enter the CompizConfig Settings Manager, and in Commands tab, within the General Settings menu, ensure that there is a command to launch Compiz-Deskmenu, and the appropriate key binding is set to Control+Space.<br />
<br />
If it still does not work, enter the Viewport Switcher menu, and change "Plugin for initiate action" to core (NOTE: for versions 0.8.2+ it's 'commands' instead of 'core'), and "Action name for initiate" to run_command0_key.<br />
<br />
An alternative is to use {{AUR|mygtkmenu}}, also in [[AUR]].<br />
<br />
==== Allow users to shutdown/reboot ====<br />
<br />
Refer to [[Allow_Users_to_Shutdown|this]] wiki page. If using "The Modern way" of policykit You can add the command to ccsm->General->Commands and assign a short-cut key to it or alternatively you can use a launcher application.<br />
<br />
== Miscellaneous ==<br />
<br />
=== Configuration ===<br />
<br />
[[Compiz#Configuration|You must do this so your windows function like you expect them to!]].<br />
<br />
=== Using gtk-window-decorator ===<br />
<br />
In order to use gtk-window-decorator, install the package ''compiz-decorator-gtk'' and select "GTK Window Decorator" instead of "Emerald" as your window decorator in fusion-icon or whatever other program you are using to configure compiz.<br />
<br />
=== gconf: additional Compiz configurations ===<br />
<br />
To achieve more satisfying results from Compiz, you can tweak its config with gconf-editor:<br />
<br />
$ gconf-editor<br />
<br />
Note that now compiz-core isn't built with gconf support; It is now built with gconf support through compiz-decorator-gtk. So, you need to install it if you want to use gconf-editor to edit your Compiz configuration.<br />
The Compiz gconf configuration is located in in the key ''apps > compiz > general > allscreens > options''.<br />
<br />
"Active plugins" is where you specify the plugins you would like to use. Simply edit the key and add a value(refer to the key ''apps > compiz > plugins'' to see possible values). Plugins I’ve found useful are screenshot, png, fade, and minimize. Please do not remove those enabled by default.<br />
<br />
=== ATI R600/R700 notes ===<br />
<br />
While using fusion-icon you shouldn't experience any problems because it takes care of everything for you, but if you are using one of the autostart methods that do not involve fusion-icon you will run into trouble. For example when using the Xfce autostart method without fusion icon you must edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml per the instructions above. However, if you follow the directions above explicity you will find that compiz does not load. You must instead make your xfce4-session.xml file look like this<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="LIBGL_ALWAYS_INDIRECT=1"/><br />
<value type="string" value="compiz"/><br />
<value type="string" value="--sm-disable"/><br />
<value type="string" value="--ignore-desktop-hints"/><br />
<value type="string" value="ccp"/><br />
<value type="string" value="--indirect-rendering"/><br />
</property><br />
<br />
This example targeted Xfce specifically, but it can be adapted to any desktop environment. It's just a matter of figuring out how to add it to the proper config file. The key thing is the required command which if typed on a command line would look like this<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
This is how Xfce's session manager interprets the above XML code. Notice that you do not need --replace because you are not first loading xfwm and then compiz.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Fallback ===<br />
<br />
If you are using [[KDE]], [[GNOME]] or [[XFCE]] and something is not right, for example you don’t see borders for your window, you can switch back to default DE window manager with this command:<br />
<br />
''wm_name'' --replace<br />
<br />
with kwin, metacity or xfwm4 instead of ''wm_name''.<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
Default plugin keyboard shortcuts (plugins have to be activated!)<br />
<br />
* Switch windows = {{Keypress|Alt+Tab}}.<br />
* Switch to next desktops = {{Keypress|Ctrl+Alt+&larr;}}.<br />
* Switch to previous desktop = {{Keypress|Ctrl+Alt+&rarr;}}.<br />
* Move window = {{Keypress|Alt+Left click}}.<br />
* Resize window = {{Keypress|Alt+Right click}}.<br />
<br />
A more detailed list can be found under [http://wiki.compiz-fusion.org/CommonKeyboardShortcuts CommonKeyboardShortcuts] in the Compiz wiki or you can always just look at your plugin's configuration ('''ccsm''').<br />
<br />
== Troubleshooting ==<br />
<br />
{{Out of date}}<br />
<br />
=== Missing GLX_EXT_texture_from_pixmaps ===<br />
<br />
==== On ATI cards (first solution) ====<br />
<br />
https://bbs.archlinux.org/viewtopic.php?id=50073<br />
If you run into the following error when trying to run Compiz Fusion on an ATI card:<br />
<br />
Missing GLX_EXT_texture_from_pixmap<br />
<br />
This is because Compiz Fusion's binary was compiled against Mesa's OpenGL library rather than ATI's OpenGL library (which is what you are using). Re-install libgl-dri (yes you will have to uninstall fglrx temporarily) to get Mesa's OpenGL library. <br />
<br />
copy the library into a directory to keep it because ATI's drivers will over write it. <br />
<br />
mkdir /lib/mesa<br />
cp /usr/lib/libGL.so.1.2 /lib/mesa<br />
<br />
Once you have it copied, you can reinstall your fglrx drivers (It should have been removed when you installed libgl-dri). Now you can start Compiz Fusion using the following example syntax: <br />
<br />
LD_PRELOAD=/lib/mesa/libGL.so.1.2 compiz --replace &<br />
<br />
==== On ATI cards (second solution) ====<br />
<br />
An other problem could arise with GLX_EXT_texture_from_pixmap, it is possible that the card could only render it indirectly, then you have to pass the option to your libgl like that :<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp &<br />
<br />
(Workaround tested on the following card : ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 02))<br />
<br />
==== On Intel chips ====<br />
<br />
First off, check that you're using the intel driver as opposed to i810. Then, run the following command to run Compiz (must use this every time.).<br />
LIBGL_ALWAYS_INDIRECT=true compiz --replace --sm-disable ccp &<br />
If you then do not have borders, run:<br />
emerald --replace<br />
As at 17-Oct-07 the [http://wiki.compiz-fusion.org/Troubleshooting Compiz-Fusion Wiki] states: <i>"If you are using an Intel GMA card with AIGLX, you will need to start Compiz Fusion with LIBGL_ALWAYS_INDIRECT=1 appended.</i>"<br />
<br />
=== Compiz starts, but no effects are visible ===<br />
<br />
If you have installed compiz-decorator-gtk:<br />
Check if GConf schema was correctly installed: <br />
gconftool-2 -R /apps/compiz/plugins | grep plugins<br />
make sure that all plugins are listed (not only fade!). If not, try to install Compiz schema manually (do this as normal user, not as root!!!): <br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
{{Note|Compiz basic plugins are not enabled by default. You should enable "Move Window", "Resize Window", and "Window decoration" plugins in settings manager from fusion-icon to have a usable window manager.}}<br />
<br />
=== Compiz starts, but gtk-window-decorator does not ===<br />
It is a configuration problem for gconf and gconfd. I solved it by removing ".gconf" dir in my home, but I'm using KDE. If you are using Gnome you should enter your ".gconf" directory and remove all Compiz keys. This will erase your Compiz settings, so be sure to reconfigure.<br />
Finally exec as user:<br />
<br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
=== Compiz appears to start, but there are no window borders ===<br />
<br />
When you run fusion-icon from commandline, you get output like this:<br />
<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
* NVIDIA on Xorg detected, exporting: __GL_YIELD=NOTHING<br />
* Using the GTK Interface<br />
* Metacity is already running<br />
* Setting window manager to Compiz<br />
... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
<br />
All you need to do is edit your {{ic|/etc/X11/xorg.conf}} and find the "Depth" directive inside the "Screen" section; change all occurences of this value to 24. This occured to me with my colour depth set to 16; but also happens when it is set to 32.<br />
<br />
----<br />
<br />
You may also try adding ''Option "AddARGBGLXVisuals" "True"'' & ''Option "DisableGLXRootClipping" "True"'' to your "Screen" section if you are using the NVIDIA binary driver. (Radeon, and the open 'nv' driver will not work with this option as far as I can tell.) If you used any other Options elsewhere in '''xorg.conf''' to get Compiz working and still have no luck, try commenting them out and using only the aformentioned ARGBGLXVisuals and GLXRootClipping Options.<br />
<br />
{{Note|Check that "Window decoration", "Move" and "Resize" plugins are enabled with Compiz Settings Manager or gconf-editor.}}<br />
<br />
With gconf-editor you can easly enable "Window decoration", "Move" and "Resize" plugins.<br />
<br />
$ gconf-editor<br />
<br />
Navigate to ''apps > compiz > general > allscreens > options''.<br />
<br />
Add/Edit "active_plugins" Key (Name: active_plugins, Type: List, List type: String).<br />
<br />
Add "decoration", "move", and "resize" to the list.<br />
<br />
----<br />
<br />
'''Another way to fix this''':<br />
* Launch '''ccsm'''.<br />
* Find '''windows decoration''' and make sure it is enabled.<br />
* Now click on it, to edit the options.<br />
* If the entry behind '''command''' is empty, put the value '''gtk-window-decorator''' there.<br />
** Alternatives are '''kde-window-decorator''' and '''emerald'''<br />
* Click '''Back''' and '''Close'''<br />
* If all went well, the borders should appear.<br />
<br />
=== Compiz starts and borders appear, but windows won't move ===<br />
<br />
Be sure you have the "Move Window" plugin installed and enabled in the Compiz settings manager.<br />
<br />
=== Blank screen on resume from suspend-to-ram using the NVIDIA binary drivers ===<br />
<br />
If you receive a blank screen with a responsive cursor upon resume, try disabling sync to vblank:<br />
<br />
gconftool -s /apps/compiz/general/screen0/options/sync_to_vblank-t boolean false<br />
<br />
=== fusion-icon doesn't start ===<br />
<br />
If you get an output like this from the command line:<br />
$ fusion-icon<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
Traceback (most recent call last):<br />
File "/usr/bin/fusion-icon", line 57, in <module><br />
from FusionIcon.interface import choose_interface<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/interface.py", line 23, in <module><br />
import start<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/start.py", line 36, in <module><br />
config.check()<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/util.py", line 362, in check<br />
os.makedirs(self.config_folder)<br />
File "/usr/lib/python2.5/os.py", line 172, in makedirs<br />
mkdir(name, mode)<br />
OSError: [Errno 13] Permission denied: '/home/andy/.config/compiz'<br />
<br />
the problem is with the permission on {{ic|~/.config/compiz}}. You have set the owner of a folder in your area as root. To change this, run (as root)<br />
chown <username> /home/<username>/.config/compiz<br />
<br />
=== Choppy animations, even though everything configured correctly ===<br />
<br />
If everything is configured correctly but you still have poor performance on some effects, try disabling ''CCSM > General Options > Display Settings > Detect Refresh Rate'' and instead choose a value manually. Tested on both NVIDIA and Intel chips. Can work wonders.<br />
<br />
Alternatively, if your chip is NVIDIA and you are experiencing an inadequate refresh rate with "Detect Refresh Rate" enabled in Compiz, it's likely due to an option called DynamicTwinView being enabled by default which plays a factor in accurately reporting the maximum refresh rate that your card and display support. You can disable DynamicTwinView by adding the following line to the "Device" or "Screen" section of your xorg.conf file, and then restarting your computer:<br />
<br />
Option "DynamicTwinView" "False"<br />
<br />
Doing so will allow XrandR to accurately report the refresh rate to anything that detects it, including Compiz. You should be able to leave "Detect Refresh Rate" enabled and get excellent performance. Once again, this only applies to NVIDIA chips.<br />
<br />
=== Fix GNOME screenshot ===<br />
<br />
To re-enable gnome-screenshot (the default behavior caused by hitting {{Keypress|PrtScn}}) simply go to Settings Manager>Commands and map 'gnome-screenshot' to the 'PrtScn' key. This is advantageous because you can also use the Compiz-Fusion 'Screenshot' plugin at the same time since the action that enables it is {{Keypress|Super+Button1}} thereby giving you two methods to do a screen capture (one of which gives a full screen capture in a single keystroke).<br />
<br />
=== Get GNOME workspace switcher work with Compiz-Fusion ===<br />
<br />
In older versions of Compiz, the Gnome Workspace Switcher applet would actually work with Compiz-Fusion (i.e. rotate cube/move plane etc.), but recent versions seem not to. This is due to a new feature introduced in Compiz, which allows real seperate workspaces. For example, if you have a desktop plane with four planes, and have four desktops enabled in Gnome, it sums up to a total of 16 different workspaces. Currently, there is no animation associated with "real" workspace changing. To get the Workspace Switcher work, set the following options in GConf:<br />
<br />
/apps/compiz/general/screen0/options/number_of_desktops = '''1'''<br />
/apps/compiz/general/screen0/options/hsize = 4 (this is an example)<br />
/apps/compiz/general/screen0/options/vsize = 1 (this is an example)<br />
<br />
=== Screen flicks with NVIDIA card ===<br />
<br />
For fixing it, create /etc/modprobe.d/nvidia.conf file and add line:<br />
options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222"<br />
<br />
=== Fix custom cursor theme on GNOME 2.30 ===<br />
<br />
Create or edit /usr/share/icons/default/index.theme for default, or per user '''(non-root)''' ~/.icons/default/index.theme, and add this lines:<br />
<br />
[Icon Theme]<br />
#Name=''foo''<br />
Name=''foo''<br />
#Inherits=''foo''<br />
Inherits=''foo''<br />
[Desktop Entry]<br />
Name[en_US]=index.theme<br />
<br />
"Foo" is the name of the cursor theme.<br />
<br />
=== Screen artifacts on Firefox/Thunderbird ===<br />
<br />
{{Note|Altough this issue is not strictly related to Compiz, it has been added here due to popular misconception that Compiz itself may be the cause.}}<br />
<br />
Some users noticed a strange behavior with AMD/ATI Catalyst drivers starting from 10.6 release. Artifacts are visible mainly with Mozilla applications, where the GUI shows black spots of variable size. This is caused by different 2D acceleration tecnique introduced with Catalyst 10.6.<br />
The problem can be fixed following the troubleshooting steps in the [[ATI_Catalyst#Black.2Fgrey.2Fwhite_boxes.2Fartifacts_mainly_in_firefox.2Fthunderbird|ATI Catalyst page]]<br />
<br />
=== Setting the window manager back to Metacity after uninstall ===<br />
<br />
Removing Compiz with pacman does not set your window manager back to metacity. This can result in no window borders being drawn, an inability to minimize, and an inability to change the focus. To change it back, run the command "gconf-editor" in the terminal (install it if you do not have it already). Use this to set the value of the key {{ic|/desktop/gnome/session/required_components/window_manager}} from "compiz" to "metacity". Log out and back in for this change to take effect.<br />
<br />
=== Context menu in applications (Firefox, ...?) disappears on mouseover ===<br />
<br />
Try disabling "focus stealing prevention" (general options).<br />
<br />
=== See also ===<br />
<br />
* [http://wiki.compiz.org/Troubleshooting Troubleshooting page] on compiz.org<br />
* [http://compiz.org Compiz website], including wiki and forum</div>Plphttps://wiki.archlinux.org/index.php?title=Compiz&diff=270583Compiz2013-08-10T06:53:53Z<p>Plp: /* Other */</p>
<hr />
<div>[[Category:Eye candy]]<br />
[[Category:Stacking WMs]]<br />
[[el:Compiz]]<br />
[[es:Compiz]]<br />
[[fr:Compiz]]<br />
[[it:Compiz]]<br />
[[ja:Compiz]]<br />
[[pl:Compiz]]<br />
[[pt:Compiz]]<br />
[[ru:Compiz]]<br />
[[tr:Compiz]]<br />
[[zh-CN:Compiz]]<br />
{{Out of date|Since Compiz has been moved to the AUR [https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024956.html], some links to packages still need to be added or updated and links to groups need to be replaced.}}<br />
{{Article summary start}}<br />
{{Article summary wiki|Compiz Configuration}}<br />
{{Article summary wiki|Xcompmgr}}<br />
{{Article summary wiki|Cairo Compmgr}}<br />
{{Article summary end}}<br />
<br />
Compiz is a [[Wikipedia:Compositing window manager|compositing window manager]]. It provides its own window manager, [[Emerald]]. Therefore it cannot be used simultaneously with other window managers such as [[Openbox]], [[Fluxbox]], or [[Enlightenment]]. Users who want to keep their current window managers and add some effects to it may wish to try [[Xcompmgr]] instead.<br />
<br />
== Requirements ==<br />
<br />
Users of major [[DE]]s can make good use of {{AUR|compiz-manager}}, performing brief requirements checking and switching to fallback WM in case of errors. Discovering setup and hardware issues can also be done with {{AUR|compiz-check}} script available in [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install [https://aur.archlinux.org/packages.php?K=compiz packages], available in [[AUR]] (known up to date packages: {{AUR|compiz-bzr}}).<br />
<br />
Users who wish to select the packages individually may start with {{Pkg|compiz-core}} and one of [[#Decorators|decorators]].<br />
{{Note|Lack of configured window decorator can render your [[X]] workspace slightly unusable.}}<br />
<br />
=== Initial configuration ===<br />
<br />
While the appearance of the windows and their contents is a function of [[GTK+]] and [[Qt]], the frames around the windows are controlled by the Window Decoration plugin. To use it make sure you have a window decorator installed. Depending on what packages you have downloaded you can choose among several window decorators. The most common ones are Emerald, kde-window-decorator, and gtk-window-decorator. The emerald decorator has the advantage that it fits better to compiz's screen handling and offers transparency effects. To set your default window decorator type the following command string in the "Window Decoration" plugin's settings under the field "Command".<br />
<br />
Ensure that the "Window decorator" plugin is enabled in ccsm's "effects" tab, the "command" field is filled in to start a decorator.<br />
<br />
To set '''emerald''' as your default window-decorator type:<br />
$ emerald --replace<br />
To set the '''kde-window-decorator''' as an alternative to Emerald type:<br />
kde4-window-decorator --replace<br />
To set the '''compiz-decorator-gtk''' as an alternative to Emerald type:<br />
$ gtk-window-decorator --replace<br />
<br />
{{Note|'''Activate important plugins:''' there is high possibility that you will want to activate a few plugins that provide basic window manager behavior or else you will have no ability to drag, scale or close any windows as soon as compiz is activated. Among those plugins are "Window Decoration" under Effects and "Move Window" & "Resize Window" under Window Management. ''ccsm'' command may be used to achieve this. Simply put check marks next to those plugins to activate them.}}<br />
<br />
== Additional software ==<br />
<br />
=== Decorators ===<br />
<br />
* {{App|[[Emerald]]|Compiz's own window decorator with few dependencies. (Note: Works but is buggy and no longer maintained)|http://www.compiz.org|{{Pkg|emerald}}}}<br />
* {{App|compiz-decorator-gtk, compiz-decorator-kde|Alternatives to Emerald, using your desktop environment's configuration backends and looks.|http://www.compiz.org|{{AUR|compiz-bzr}}}}<br />
<br />
=== Other ===<br />
<br />
* {{AUR|ccsm}} (CompizConfig settings manager) - GUI application that lets you configure all of Compiz's plugins<br />
* {{AUR|fusion-icon}} - offers a tray icon and a nice way to start compiz, start ccsm and change the WM / Window Decorator<br />
<br />
== Starting Compiz Fusion ==<br />
<br />
=== Manually (with "fusion-icon") ===<br />
<br />
Launch the Compiz Fusion tray icon:<br />
$ fusion-icon<br />
<br />
See [[General Troubleshooting#Session permissions]] if you get some permission related errors.<br />
<br />
Right click on the icon in the panel and go to 'select window manager'. Choose "Compiz" if it isn't selected already, and you should be set.<br />
<br />
If this fails you can start compiz-fusion by using the following additional command to replace your default window decorator with Compiz's window decorator (Emerald):<br />
$ emerald --replace<br />
<br />
'''Again, note:''' If you want to use compiz window decorations make sure you have the "Window Decoration" plugin marked in the compiz settings through ccsm.<br />
<br />
=== Manually (without "fusion-icon") ===<br />
<br />
Launch Compiz with the following command (which replaces your current window manager):<br />
$ compiz --replace ccp &<br />
<br />
A quick overview over common compiz command-line options:<br />
* {{ic|--indirect-rendering}}: use indirect-rendering (AIGLX)<br />
* {{ic|--loose-binding}}: can help performance issues (NVIDIA?)<br />
* {{ic|--replace}}: replace current window-manager<br />
* {{ic|--keep-window-hints}}: keep the gnome window-manager gconf-settings for available viewports, ...<br />
* {{ic|--sm-disable}}: disable session-management<br />
* {{ic|ccp}}: the "ccp" command loads the last configured settings from ccsm (CompizConfig Settings Manager) otherwise Compiz will load with no settings and you won't be able to do anything with your windows like dragging, maximizing/minimizing, or moving.<br />
<br />
=== KDE4 ===<br />
<br />
{{Note|The first and last methods will load Compiz-Fusion as the default window manager instead of KWin. This is faster than loading Compiz with 'fusion-icon' because it avoids loading two window managers at startup. This also prevents that annoying black screen flicker you might see using other methods (when KWin switches to Compiz on KDE's desktop loading screens). The downside is that if Compiz crashes, it may be more difficult to recover your desktop.}}<br />
<br />
==== Use System Settings (easiest)====<br />
<br />
Go to: ''System Settings > Default Applications > Window Manager > Use a different window manager''<br />
<br />
'''''If''''' you need to run compiz with custom options select "Compiz custom" (when you run {{ic|fusion-icon}} from a terminal you can see the command line with which compiz was started).<br />
Create a file called "compiz-kde-launcher" in {{ic|/usr/local/bin}}. Then make the file executable: {{ic|chmod +x /usr/bin/compiz-kde-launcher}}.<br />
<br />
For example:<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT&#61;1<br />
compiz --replace ccp &<br />
wait<br />
}}<br />
<br />
==== Autostart with "fusion-icon" ====<br />
<br />
Add a symbolic link, that points to the fusion-icon executable, in your KDE Autostart directory:<br />
$ ln -s /usr/bin/fusion-icon ~/.kde4/Autostart/fusion-icon<br />
<br />
Next time KDE is started, it will load fusion-icon automatically.<br />
<br />
==== Autostart link without "fusion-icon" ====<br />
<br />
{{Warning|Do '''not''' create '''compiz.desktop''' if you intend to install compiz-decorator-gtk; it will create a file conflict.}}<br />
<br />
* Append a desktop entry in the KDE Autostart directory. If it doesn't already exist (it should), create the file {{ic|~/.kde4/Autostart/compiz.desktop}} with the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp --replace<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
X-GNOME-Autostart-Phase=WindowManager<br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note|If '''compiz.desktop''' already exists, you may have to add {{ic|--replace}} and/or {{ic|ccp}} to the Exec variable. Without {{ic|--replace}}, Compiz won't load since it will detect another window manager already loaded. Without {{ic|ccp}}, Compiz will not load any of the settings and plugins that you have enabled through CompizConfig Settings Manager ('''ccsm''') and you won't be able to manipulate any of your windows.}}<br />
<br />
* If you want to use the optional {{ic|fusion-icon}} application, launch '''fusion-icon'''. If you log out normally with '''fusion-icon''' running, KDE should restore your session and launch '''fusion-icon''' the next time you log in if this setting is enabled. If it doesn't appear to be working, ensure you have the following line in {{ic|~/.kde4/share/config/ksmserverrc}}:<br />
<br />
loginMode=restorePreviousLogout<br />
<br />
{{Note|This is a KDE specific setting that will allow you to restore other apps next time you log in, not just fusion-icon.}}<br />
<br />
==== Export KDEWM without "fusion-icon" (preferred) ====<br />
<br />
As root you must create a short script by doing the following in your terminal. This will allow you to load compiz with the switches because doing it directly via {{ic|1=export KDEWM="compiz --replace ccp --sm-disable"}} doesn't seem to work.<br />
$ echo "compiz --replace ccp --sm-disable &" > /usr/bin/compiz-fusion<br />
<br />
{{Note|If this line doesn't work, make sure the '''fusion-icon''' package is installed and then use this line instead:<br />
$ echo "fusion-icon &" > /usr/bin/compiz-fusion<br />
Be sure to complete the whole method before trying this substitute.}}<br />
<br />
Ensure that {{ic|/usr/bin/compiz-fusion}} has executable ('''+x''') permissions.<br />
$ chmod a+x /usr/bin/compiz-fusion<br />
<br />
Choose one of the following:<br />
<br />
:1) Compiz for your user only > Edit the file {{ic|~/.kde4/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
:2) Compiz system wide > Edit the file {{ic|/etc/kde/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
{{Note|<br />
* If that still doesn't work, yet another alternate way to accomplish the above method is to include the line:<br />
export KDEWM&#61;"compiz-fusion"<br />
in your user's {{ic|~/.bashrc}} file.<br />
* If you optionally use the {{ic|/usr/local/bin}} directory it may not work. In that case you should export the script including the whole path:<br />
export KDEWM&#61;"/usr/local/bin/compiz-fusion"<br />
}}<br />
<br />
=== GNOME ===<br />
<br />
If you have installed [[GNOME3]] with gnome-shell, either enable forced Fallback mode (System Info > Graphics) or simply uninstall gnome-shell.<br />
{{Note|Fallback mode is not necessary if you choose the Compiz/Cairo-Dock session method below.}}<br />
<br />
==== Alternate Session for GNOME (preferred method for experienced Compiz/Dock users) ====<br />
<br />
The {{AUR|gnome-session-compiz}} can be used to add an additional menu entry in the GNOME session login dialog. This method does not require foced fallback mode and/or modifications to sensitive system files/settings. Also, you can switch between GNOME Shell and Compiz/Cairo-Dock between sessions. If you can't get it working, you can always go back to your original GNOME session.<br />
<br />
For this method to work, Compiz and Cairo-Dock (Taskbar/Panel) may have to be [[#Configuration|configured initially]] for fresh accounts, from another working session (ccsm in GNOME Shell worked fine for me).<br />
<br />
This method completely replaces the GNOME's window manager and panel (they are not launched at all, rather than being replaced or killed later). So, before actually switching to this alternate session, you may want to configure corresponding/alternate features of the original panel application in Cairo-Dock:<br />
* Add Application Menu icon to Cairo-Dock and remember its key-bindings.<br />
* Remap Application Menu key-bindings to ALT+F1 and ALT+F2, for convenience.<br />
* Add Clock, WiFi, NetSpeed icons to the dock as applicable.<br />
* Add Log-out icon:<br />
** Set the command for logout to "gnome-session-quit --logout"<br />
** Set the command for shutdown to "gnome-session-quit --power-off"<br />
* Add the Notification Area Old (systray) icon to Cairo-Dock.<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
This Method makes use of the [http://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] to specify a Compiz Desktop Entry and of the GConf default windowmanager setting. Thanks to the Desktop Entry you should be able to select Compiz as a windowmanager out of GDM.<br />
<br />
'''1)'''If the following file doesn't already exist (it should), create it {{ic|/usr/share/applications/compiz.desktop}} containing the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp #Make sure ccp is included so that Compiz loads your previous settings.<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
##-> the folloing line cause gnome-session warning and slow startup, so try not to enable this<br />
# X-GNOME-Autostart-Phase=WindowManager <br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note| If {{ic|compiz.desktop}} already exists, you must make sure that the "ccp" is included in the Exec variable. Having "ccp" included simply tells Compiz to load your previous settings, otherwise you won't have any functionality.}}<br />
<br />
If the above doesn't work (in most cases it does), for example if you notice some issues with windows refreshing or low performance, try:<br />
<br />
Exec=/usr/bin/compiz ccp --indirect-rendering<br />
<br />
or<br />
<br />
Exec=/usr/bin/compiz --replace --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
Instead of<br />
<br />
Exec=/usr/bin/compiz ccp<br />
<br />
Some Users noticed a "lag" of 4-10 seconds when loging in from a login manager. The solution is to change the command to:<br />
Exec=bash -c 'compiz ccp decoration --sm-client-id $DESKTOP_AUTOSTART_ID'<br />
as noted [https://bbs.archlinux.org/viewtopic.php?pid=655237#p655237 in the forum]. You can also add the extra parameters as described above if needed.<br />
<br />
'''2)''' Set some GConf parameters using the gconftool-2 command in a terminal window or do it visually with Configuration Editor (gconf-editor). The following outlines using the command line method, but you can also see which keys to change using gconf-editor:<br />
<br />
{{Note| Since those parameters apply to a given user, you '''must''' logout from the root account and log in as that other user before proceeding with the next steps. GConf will fail, if called from a root account.}}<br />
<br />
gconftool-2 --set -t string /desktop/gnome/session/required_components/windowmanager compiz<br />
<br />
The following are optional and in most cases not necessary (the respective keys are deprecated since GNOME 2.12). But iny any case, if the above didn't succeed the next two statements are still valid and should be tried.<br />
<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/current /usr/bin/compiz<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/default /usr/bin/compiz<br />
<br />
==== Autostart (without "fusion-icon") (with GNOME fallback mode session) ====<br />
<br />
Edit file {{ic|/usr/share/gnome-session/sessions/gnome-fallback.session}}:<br />
<br />
Replace your windows manager (gnome-shell,metacity...) with ''compiz'' in '''RequiredComponents''' line.<br />
<br />
Change ''DefaultProvider-windowmanager'' line to ''DefaultProvider-windowmanager=compiz''<br />
<br />
Here is part of my {{ic|gnome-fallback.session}}:<br />
<br />
RequiredComponents=compiz;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=compiz<br />
DefaultProvider-notifications=notification-daemon<br />
<br />
{{Note|I took out gnome-panel as I am using avant-window-navigator as my panel.<br />
I'am using gnome3 fallback mode with compiz, make gtk-window-decorator start with compiz, and make avant-window-navigator start automatically.}}<br />
<br />
==== Autostart (without "fusion-icon", Gnome prior to 2.24) ====<br />
<br />
This is a way that works if you use GDM (and I'd assume KDM too).<br />
<br />
Make a file called /usr/local/bin/compiz-start-boot with the contents:<br />
#!/bin/bash<br />
export WINDOW_MANAGER="compiz ccp"<br />
exec gnome-session<br />
<br />
and make it executable ({{ic|chmod +x /usr/local/bin/compiz-start-boot}}). Next create the file {{ic|/etc/X11/sessions/Compiz.desktop}} containing the following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Compiz on GNOME<br />
Exec=/usr/local/bin/compiz-start-boot<br />
Icon=<br />
Type=Application<br />
<br />
Select Compiz on Gnome as your session and you're good to go.<br />
<br />
==== Autostart (with "fusion-icon") ====<br />
<br />
To start Compiz fusion automatically when starting a session go to System > Preferences > Startup Applications. In the Startup Programs tab, click the Add button.<br />
<br />
You will now see the Add Startup Program dialogue. Fill it in as follows.<br />
<br />
Name:<br />
Compiz Fusion<br />
Command:<br />
fusion-icon<br />
Comment: (Put anything you like or leave blank.)<br />
<br />
{{Note| You can also use "compiz --replace ccp" instead of "fusion-icon" to load compiz but there will be no fusion-icon.<br />
<br />
The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager ('''ccsm''').}}<br />
<br />
When you're done hit the Add button. You should now see your startup program in the list in the Startup Programs tab. It must be checked to be enabled. You can uncheck it to disable Compiz on startup and switch back to Metacity.<br />
<br />
You may also need to use the gconftool-2 command in a terminal window to set the following parameter, otherwise fusion-icon might not load the windows decorator.<br />
gconftool-2 --type bool --set /apps/metacity/general/compositing_manager false<br />
<br />
{{Note|This method will be slower due to the fact that Gnome will first load the default window manager (Metacity), then will launch fusion-icon which will load the Compiz window manager to replace Metacity. Essentially, it will take the amount of time that it takes to load two window manangers to get Compiz loaded. The first method is preferred and eliminates this issue.}}<br />
<br />
=== Mate desktop ===<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
As with Gnome, create a compiz.desktop file (see [[Compiz#Autostart_.28without_.22fusion-icon.22.29_.28Preferred_Method.29]]), then set Compiz as the default window manager :<br />
* on Mate prior to 1.6, edit the following mateconf entries (note: the last two are deprecated values):<br />
mateconftool-2 --set -t string /desktop/mate/session/required_components/windowmanager compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/current /usr/bin/compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/default /usr/bin/compiz<br />
<br />
* on Mate 1.6 and higher, edit the following gsettings value<br />
gsettings set org.mate.session.required-components windowmanager compiz<br />
<br />
=== XFCE ===<br />
<br />
==== XFCE autostart (without "fusion-icon") ====<br />
<br />
This method will start Compiz directly through the XFCE session manager without loading Xfwm.<br />
<br />
Please note the change to xml config files in XFCE newer than 4.2<br />
<br />
To install the session manager, install {{Pkg|xfce4-session}}.<br />
<br />
Now we have to configure the default/failsafe session of XFCE.<br />
<br />
Edit the {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} or (to make the change for all XFCE users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Replace the xfwm startup command,<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="xfwm4"/><br />
</property><br />
<br />
with the following:<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="compiz"/><br />
<value type="string" value="ccp"/><br />
</property><br />
<br />
{{Note|The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
To prevent the default session from being overwritten you may also add this:<br />
<br />
<property name="general" type="empty"><br />
...<br />
...<br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
To remove the existing sessions, run:<br />
$ rm -r ~/.cache/sessions<br />
<br />
==== XFCE autostart (with "fusion-icon") ====<br />
<br />
===== Method 1 =====<br />
<br />
{{Note| This method is the least preferred since it loads both window managers. All the other XFCE methods only load Compiz without loading Xfwm.}}<br />
This will load Xfwm first then replace it with Compiz.<br />
<br />
Open the XFCE Settings Manager & then Sessions & Startup. Click the Application Autostart tab.<br />
<br />
Add<br />
(Name:) Compiz Fusion<br />
<br />
(Command:) fusion-icon<br />
<br />
{{Note|You can also use {{ic|compiz --replace ccp}} instead of '''fusion-icon''' to load Compiz but there will be no fusion-icon. The ''ccp'' value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
===== Method 2 =====<br />
<br />
Edit the file {{ic|~/.config/xfce4-session/xfce4-session.rc}} (settings in this file is used in preference).<br />
<br />
Or to make the change for all XFCE users, edit as root {{ic|/etc/xdg/xfce4-session/xfce4-session.rc}}.<br />
<br />
Add the following<br />
[Failsafe Session]<br />
Client0_Command=fusion-icon<br />
<br />
Comment out Client0_Command=xfwm4 if it exists.<br />
<br />
This will cause xfce to load Compiz instead of Xfwm when the user has no existing sessions.<br />
<br />
To prevent the default session from being overwritten you may also add<br />
[General]<br />
AutoSave=false<br />
SaveOnExit=false<br />
<br />
To remove the existing sessions<br />
rm -R ~/.cache/sessions<br />
<br />
===== Method 3 =====<br />
<br />
Check if this file exists:<br />
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
If not do:<br />
cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
Then edit {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}.<br />
<br />
or (to make the changes for all xfce4 users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Edit Client0_Command that it look like this:<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="fusion-icon"/><br />
<value type="string" value="--force-compiz"/><br />
</property><br />
if '''--force-compiz''' doesn't work use '''compiz --replace --sm-disable --ignore-desktop-hints ccp''' instead.<br />
<br />
Add the '''SaveOnExit property''' if missing and set it to '''false''':<br />
<property name="general" type="empty"><br />
<property name="FailsafeSessionName" type="string" value="Failsafe"/><br />
<property name="SessionName" type="string" value="Default"/><br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
finally remove old xfce4 sessions:<br />
rm -r ~/.cache/sessions<br />
<br />
Now XFCE4 will load compiz instead of XFWM.<br />
<br />
=== As a standalone window manager ===<br />
<br />
The package compiz-core by itself is sufficient to start using compiz-fusion. However ccsm and emerald (or another window-decorator) are additional highly recommended packages. You may install fusion-icon, compiz-fusion-plugins-main, compiz-fusion-plugins-extra or any other package later on at any time.<br />
<br />
To autostart compiz-fusion configure .xinitrc to launch compiz as:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec compiz ccp<br />
</nowiki>}}<br />
You can also add other [[Compiz_fusion#Manually_.28without_.22fusion-icon.22.29|command-line options]] to your .xinitrc<br />
<br />
Or if using fusion-icon, configure .xinitrc as<br />
{{hc|~/.xinitrc|<nowiki><br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
However chances are you will need additional apps (e.g a panel) for optimal usability. So to autostart such apps simply add them to your .xinitrc as:<br />
{{hc|~/.xinitrc|<nowiki><br />
tint2 &<br />
cairo-dock &<br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
{{Note|Add a terminal-emulator to this autostart list while starting for the first time to help [[Compiz_fusion#Configuration|configure]] Compiz.}} <br />
<br />
Feel free to use a different panel, tray, or start a whole bunch of applications with your session.<br />
<br />
==== Add a root menu ====<br />
<br />
To add a root menu similar to that in Openbox, Fluxbox, Blackbox etc. you must install the package {{AUR|compiz-deskmenu}}.<br />
Upon a restart of Compiz-Fusion, you should be able to middle click on your desktop to launch the menu.<br />
<br />
If it does not automatically work, enter the CompizConfig Settings Manager, and in Commands tab, within the General Settings menu, ensure that there is a command to launch Compiz-Deskmenu, and the appropriate key binding is set to Control+Space.<br />
<br />
If it still does not work, enter the Viewport Switcher menu, and change "Plugin for initiate action" to core (NOTE: for versions 0.8.2+ it's 'commands' instead of 'core'), and "Action name for initiate" to run_command0_key.<br />
<br />
An alternative is to use {{AUR|mygtkmenu}}, also in [[AUR]].<br />
<br />
==== Allow users to shutdown/reboot ====<br />
<br />
Refer to [[Allow_Users_to_Shutdown|this]] wiki page. If using "The Modern way" of policykit You can add the command to ccsm->General->Commands and assign a short-cut key to it or alternatively you can use a launcher application.<br />
<br />
== Miscellaneous ==<br />
<br />
=== Configuration ===<br />
<br />
[[Compiz#Configuration|You must do this so your windows function like you expect them to!]].<br />
<br />
=== Using gtk-window-decorator ===<br />
<br />
In order to use gtk-window-decorator, install the package ''compiz-decorator-gtk'' and select "GTK Window Decorator" instead of "Emerald" as your window decorator in fusion-icon or whatever other program you are using to configure compiz.<br />
<br />
=== gconf: additional Compiz configurations ===<br />
<br />
To achieve more satisfying results from Compiz, you can tweak its config with gconf-editor:<br />
<br />
$ gconf-editor<br />
<br />
Note that now compiz-core isn't built with gconf support; It is now built with gconf support through compiz-decorator-gtk. So, you need to install it if you want to use gconf-editor to edit your Compiz configuration.<br />
The Compiz gconf configuration is located in in the key ''apps > compiz > general > allscreens > options''.<br />
<br />
"Active plugins" is where you specify the plugins you would like to use. Simply edit the key and add a value(refer to the key ''apps > compiz > plugins'' to see possible values). Plugins I’ve found useful are screenshot, png, fade, and minimize. Please do not remove those enabled by default.<br />
<br />
=== ATI R600/R700 notes ===<br />
<br />
While using fusion-icon you shouldn't experience any problems because it takes care of everything for you, but if you are using one of the autostart methods that do not involve fusion-icon you will run into trouble. For example when using the Xfce autostart method without fusion icon you must edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml per the instructions above. However, if you follow the directions above explicity you will find that compiz does not load. You must instead make your xfce4-session.xml file look like this<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="LIBGL_ALWAYS_INDIRECT=1"/><br />
<value type="string" value="compiz"/><br />
<value type="string" value="--sm-disable"/><br />
<value type="string" value="--ignore-desktop-hints"/><br />
<value type="string" value="ccp"/><br />
<value type="string" value="--indirect-rendering"/><br />
</property><br />
<br />
This example targeted Xfce specifically, but it can be adapted to any desktop environment. It's just a matter of figuring out how to add it to the proper config file. The key thing is the required command which if typed on a command line would look like this<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
This is how Xfce's session manager interprets the above XML code. Notice that you do not need --replace because you are not first loading xfwm and then compiz.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Fallback ===<br />
<br />
If you are using [[KDE]], [[GNOME]] or [[XFCE]] and something is not right, for example you don’t see borders for your window, you can switch back to default DE window manager with this command:<br />
<br />
''wm_name'' --replace<br />
<br />
with kwin, metacity or xfwm4 instead of ''wm_name''.<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
Default plugin keyboard shortcuts (plugins have to be activated!)<br />
<br />
* Switch windows = {{Keypress|Alt+Tab}}.<br />
* Switch to next desktops = {{Keypress|Ctrl+Alt+&larr;}}.<br />
* Switch to previous desktop = {{Keypress|Ctrl+Alt+&rarr;}}.<br />
* Move window = {{Keypress|Alt+Left click}}.<br />
* Resize window = {{Keypress|Alt+Right click}}.<br />
<br />
A more detailed list can be found under [http://wiki.compiz-fusion.org/CommonKeyboardShortcuts CommonKeyboardShortcuts] in the Compiz wiki or you can always just look at your plugin's configuration ('''ccsm''').<br />
<br />
== Troubleshooting ==<br />
<br />
{{Out of date}}<br />
<br />
=== Missing GLX_EXT_texture_from_pixmaps ===<br />
<br />
==== On ATI cards (first solution) ====<br />
<br />
https://bbs.archlinux.org/viewtopic.php?id=50073<br />
If you run into the following error when trying to run Compiz Fusion on an ATI card:<br />
<br />
Missing GLX_EXT_texture_from_pixmap<br />
<br />
This is because Compiz Fusion's binary was compiled against Mesa's OpenGL library rather than ATI's OpenGL library (which is what you are using). Re-install libgl-dri (yes you will have to uninstall fglrx temporarily) to get Mesa's OpenGL library. <br />
<br />
copy the library into a directory to keep it because ATI's drivers will over write it. <br />
<br />
mkdir /lib/mesa<br />
cp /usr/lib/libGL.so.1.2 /lib/mesa<br />
<br />
Once you have it copied, you can reinstall your fglrx drivers (It should have been removed when you installed libgl-dri). Now you can start Compiz Fusion using the following example syntax: <br />
<br />
LD_PRELOAD=/lib/mesa/libGL.so.1.2 compiz --replace &<br />
<br />
==== On ATI cards (second solution) ====<br />
<br />
An other problem could arise with GLX_EXT_texture_from_pixmap, it is possible that the card could only render it indirectly, then you have to pass the option to your libgl like that :<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp &<br />
<br />
(Workaround tested on the following card : ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 02))<br />
<br />
==== On Intel chips ====<br />
<br />
First off, check that you're using the intel driver as opposed to i810. Then, run the following command to run Compiz (must use this every time.).<br />
LIBGL_ALWAYS_INDIRECT=true compiz --replace --sm-disable ccp &<br />
If you then do not have borders, run:<br />
emerald --replace<br />
As at 17-Oct-07 the [http://wiki.compiz-fusion.org/Troubleshooting Compiz-Fusion Wiki] states: <i>"If you are using an Intel GMA card with AIGLX, you will need to start Compiz Fusion with LIBGL_ALWAYS_INDIRECT=1 appended.</i>"<br />
<br />
=== Compiz starts, but no effects are visible ===<br />
<br />
If you have installed compiz-decorator-gtk:<br />
Check if GConf schema was correctly installed: <br />
gconftool-2 -R /apps/compiz/plugins | grep plugins<br />
make sure that all plugins are listed (not only fade!). If not, try to install Compiz schema manually (do this as normal user, not as root!!!): <br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
{{Note|Compiz basic plugins are not enabled by default. You should enable "Move Window", "Resize Window", and "Window decoration" plugins in settings manager from fusion-icon to have a usable window manager.}}<br />
<br />
=== Compiz starts, but gtk-window-decorator does not ===<br />
It is a configuration problem for gconf and gconfd. I solved it by removing ".gconf" dir in my home, but I'm using KDE. If you are using Gnome you should enter your ".gconf" directory and remove all Compiz keys. This will erase your Compiz settings, so be sure to reconfigure.<br />
Finally exec as user:<br />
<br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
=== Compiz appears to start, but there are no window borders ===<br />
<br />
When you run fusion-icon from commandline, you get output like this:<br />
<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
* NVIDIA on Xorg detected, exporting: __GL_YIELD=NOTHING<br />
* Using the GTK Interface<br />
* Metacity is already running<br />
* Setting window manager to Compiz<br />
... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
<br />
All you need to do is edit your {{ic|/etc/X11/xorg.conf}} and find the "Depth" directive inside the "Screen" section; change all occurences of this value to 24. This occured to me with my colour depth set to 16; but also happens when it is set to 32.<br />
<br />
----<br />
<br />
You may also try adding ''Option "AddARGBGLXVisuals" "True"'' & ''Option "DisableGLXRootClipping" "True"'' to your "Screen" section if you are using the NVIDIA binary driver. (Radeon, and the open 'nv' driver will not work with this option as far as I can tell.) If you used any other Options elsewhere in '''xorg.conf''' to get Compiz working and still have no luck, try commenting them out and using only the aformentioned ARGBGLXVisuals and GLXRootClipping Options.<br />
<br />
{{Note|Check that "Window decoration", "Move" and "Resize" plugins are enabled with Compiz Settings Manager or gconf-editor.}}<br />
<br />
With gconf-editor you can easly enable "Window decoration", "Move" and "Resize" plugins.<br />
<br />
$ gconf-editor<br />
<br />
Navigate to ''apps > compiz > general > allscreens > options''.<br />
<br />
Add/Edit "active_plugins" Key (Name: active_plugins, Type: List, List type: String).<br />
<br />
Add "decoration", "move", and "resize" to the list.<br />
<br />
----<br />
<br />
'''Another way to fix this''':<br />
* Launch '''ccsm'''.<br />
* Find '''windows decoration''' and make sure it is enabled.<br />
* Now click on it, to edit the options.<br />
* If the entry behind '''command''' is empty, put the value '''gtk-window-decorator''' there.<br />
** Alternatives are '''kde-window-decorator''' and '''emerald'''<br />
* Click '''Back''' and '''Close'''<br />
* If all went well, the borders should appear.<br />
<br />
=== Compiz starts and borders appear, but windows won't move ===<br />
<br />
Be sure you have the "Move Window" plugin installed and enabled in the Compiz settings manager.<br />
<br />
=== Blank screen on resume from suspend-to-ram using the NVIDIA binary drivers ===<br />
<br />
If you receive a blank screen with a responsive cursor upon resume, try disabling sync to vblank:<br />
<br />
gconftool -s /apps/compiz/general/screen0/options/sync_to_vblank-t boolean false<br />
<br />
=== fusion-icon doesn't start ===<br />
<br />
If you get an output like this from the command line:<br />
$ fusion-icon<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
Traceback (most recent call last):<br />
File "/usr/bin/fusion-icon", line 57, in <module><br />
from FusionIcon.interface import choose_interface<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/interface.py", line 23, in <module><br />
import start<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/start.py", line 36, in <module><br />
config.check()<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/util.py", line 362, in check<br />
os.makedirs(self.config_folder)<br />
File "/usr/lib/python2.5/os.py", line 172, in makedirs<br />
mkdir(name, mode)<br />
OSError: [Errno 13] Permission denied: '/home/andy/.config/compiz'<br />
<br />
the problem is with the permission on {{ic|~/.config/compiz}}. You have set the owner of a folder in your area as root. To change this, run (as root)<br />
chown <username> /home/<username>/.config/compiz<br />
<br />
=== Choppy animations, even though everything configured correctly ===<br />
<br />
If everything is configured correctly but you still have poor performance on some effects, try disabling ''CCSM > General Options > Display Settings > Detect Refresh Rate'' and instead choose a value manually. Tested on both NVIDIA and Intel chips. Can work wonders.<br />
<br />
Alternatively, if your chip is NVIDIA and you are experiencing an inadequate refresh rate with "Detect Refresh Rate" enabled in Compiz, it's likely due to an option called DynamicTwinView being enabled by default which plays a factor in accurately reporting the maximum refresh rate that your card and display support. You can disable DynamicTwinView by adding the following line to the "Device" or "Screen" section of your xorg.conf file, and then restarting your computer:<br />
<br />
Option "DynamicTwinView" "False"<br />
<br />
Doing so will allow XrandR to accurately report the refresh rate to anything that detects it, including Compiz. You should be able to leave "Detect Refresh Rate" enabled and get excellent performance. Once again, this only applies to NVIDIA chips.<br />
<br />
=== Fix GNOME screenshot ===<br />
<br />
To re-enable gnome-screenshot (the default behavior caused by hitting {{Keypress|PrtScn}}) simply go to Settings Manager>Commands and map 'gnome-screenshot' to the 'PrtScn' key. This is advantageous because you can also use the Compiz-Fusion 'Screenshot' plugin at the same time since the action that enables it is {{Keypress|Super+Button1}} thereby giving you two methods to do a screen capture (one of which gives a full screen capture in a single keystroke).<br />
<br />
=== Get GNOME workspace switcher work with Compiz-Fusion ===<br />
<br />
In older versions of Compiz, the Gnome Workspace Switcher applet would actually work with Compiz-Fusion (i.e. rotate cube/move plane etc.), but recent versions seem not to. This is due to a new feature introduced in Compiz, which allows real seperate workspaces. For example, if you have a desktop plane with four planes, and have four desktops enabled in Gnome, it sums up to a total of 16 different workspaces. Currently, there is no animation associated with "real" workspace changing. To get the Workspace Switcher work, set the following options in GConf:<br />
<br />
/apps/compiz/general/screen0/options/number_of_desktops = '''1'''<br />
/apps/compiz/general/screen0/options/hsize = 4 (this is an example)<br />
/apps/compiz/general/screen0/options/vsize = 1 (this is an example)<br />
<br />
=== Screen flicks with NVIDIA card ===<br />
<br />
For fixing it, create /etc/modprobe.d/nvidia.conf file and add line:<br />
options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222"<br />
<br />
=== Fix custom cursor theme on GNOME 2.30 ===<br />
<br />
Create or edit /usr/share/icons/default/index.theme for default, or per user '''(non-root)''' ~/.icons/default/index.theme, and add this lines:<br />
<br />
[Icon Theme]<br />
#Name=''foo''<br />
Name=''foo''<br />
#Inherits=''foo''<br />
Inherits=''foo''<br />
[Desktop Entry]<br />
Name[en_US]=index.theme<br />
<br />
"Foo" is the name of the cursor theme.<br />
<br />
=== Screen artifacts on Firefox/Thunderbird ===<br />
<br />
{{Note|Altough this issue is not strictly related to Compiz, it has been added here due to popular misconception that Compiz itself may be the cause.}}<br />
<br />
Some users noticed a strange behavior with AMD/ATI Catalyst drivers starting from 10.6 release. Artifacts are visible mainly with Mozilla applications, where the GUI shows black spots of variable size. This is caused by different 2D acceleration tecnique introduced with Catalyst 10.6.<br />
The problem can be fixed following the troubleshooting steps in the [[ATI_Catalyst#Black.2Fgrey.2Fwhite_boxes.2Fartifacts_mainly_in_firefox.2Fthunderbird|ATI Catalyst page]]<br />
<br />
=== Setting the window manager back to Metacity after uninstall ===<br />
<br />
Removing Compiz with pacman does not set your window manager back to metacity. This can result in no window borders being drawn, an inability to minimize, and an inability to change the focus. To change it back, run the command "gconf-editor" in the terminal (install it if you do not have it already). Use this to set the value of the key {{ic|/desktop/gnome/session/required_components/window_manager}} from "compiz" to "metacity". Log out and back in for this change to take effect.<br />
<br />
=== Context menu in applications (Firefox, ...?) disappears on mouseover ===<br />
<br />
Try disabling "focus stealing prevention" (general options).<br />
<br />
=== See also ===<br />
<br />
* [http://wiki.compiz.org/Troubleshooting Troubleshooting page] on compiz.org<br />
* [http://compiz.org Compiz website], including wiki and forum</div>Plphttps://wiki.archlinux.org/index.php?title=Compiz&diff=270582Compiz2013-08-10T06:53:26Z<p>Plp: /* Other */</p>
<hr />
<div>[[Category:Eye candy]]<br />
[[Category:Stacking WMs]]<br />
[[el:Compiz]]<br />
[[es:Compiz]]<br />
[[fr:Compiz]]<br />
[[it:Compiz]]<br />
[[ja:Compiz]]<br />
[[pl:Compiz]]<br />
[[pt:Compiz]]<br />
[[ru:Compiz]]<br />
[[tr:Compiz]]<br />
[[zh-CN:Compiz]]<br />
{{Out of date|Since Compiz has been moved to the AUR [https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024956.html], some links to packages still need to be added or updated and links to groups need to be replaced.}}<br />
{{Article summary start}}<br />
{{Article summary wiki|Compiz Configuration}}<br />
{{Article summary wiki|Xcompmgr}}<br />
{{Article summary wiki|Cairo Compmgr}}<br />
{{Article summary end}}<br />
<br />
Compiz is a [[Wikipedia:Compositing window manager|compositing window manager]]. It provides its own window manager, [[Emerald]]. Therefore it cannot be used simultaneously with other window managers such as [[Openbox]], [[Fluxbox]], or [[Enlightenment]]. Users who want to keep their current window managers and add some effects to it may wish to try [[Xcompmgr]] instead.<br />
<br />
== Requirements ==<br />
<br />
Users of major [[DE]]s can make good use of {{AUR|compiz-manager}}, performing brief requirements checking and switching to fallback WM in case of errors. Discovering setup and hardware issues can also be done with {{AUR|compiz-check}} script available in [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install [https://aur.archlinux.org/packages.php?K=compiz packages], available in [[AUR]] (known up to date packages: {{AUR|compiz-bzr}}).<br />
<br />
Users who wish to select the packages individually may start with {{Pkg|compiz-core}} and one of [[#Decorators|decorators]].<br />
{{Note|Lack of configured window decorator can render your [[X]] workspace slightly unusable.}}<br />
<br />
=== Initial configuration ===<br />
<br />
While the appearance of the windows and their contents is a function of [[GTK+]] and [[Qt]], the frames around the windows are controlled by the Window Decoration plugin. To use it make sure you have a window decorator installed. Depending on what packages you have downloaded you can choose among several window decorators. The most common ones are Emerald, kde-window-decorator, and gtk-window-decorator. The emerald decorator has the advantage that it fits better to compiz's screen handling and offers transparency effects. To set your default window decorator type the following command string in the "Window Decoration" plugin's settings under the field "Command".<br />
<br />
Ensure that the "Window decorator" plugin is enabled in ccsm's "effects" tab, the "command" field is filled in to start a decorator.<br />
<br />
To set '''emerald''' as your default window-decorator type:<br />
$ emerald --replace<br />
To set the '''kde-window-decorator''' as an alternative to Emerald type:<br />
kde4-window-decorator --replace<br />
To set the '''compiz-decorator-gtk''' as an alternative to Emerald type:<br />
$ gtk-window-decorator --replace<br />
<br />
{{Note|'''Activate important plugins:''' there is high possibility that you will want to activate a few plugins that provide basic window manager behavior or else you will have no ability to drag, scale or close any windows as soon as compiz is activated. Among those plugins are "Window Decoration" under Effects and "Move Window" & "Resize Window" under Window Management. ''ccsm'' command may be used to achieve this. Simply put check marks next to those plugins to activate them.}}<br />
<br />
== Additional software ==<br />
<br />
=== Decorators ===<br />
<br />
* {{App|[[Emerald]]|Compiz's own window decorator with few dependencies. (Note: Works but is buggy and no longer maintained)|http://www.compiz.org|{{Pkg|emerald}}}}<br />
* {{App|compiz-decorator-gtk, compiz-decorator-kde|Alternatives to Emerald, using your desktop environment's configuration backends and looks.|http://www.compiz.org|{{AUR|compiz-bzr}}}}<br />
<br />
=== Other ===<br />
<br />
* {{AUR|ccsm}} (CompizConfig settings manager) - GUI application that lets you configure all of Compiz's plugins<br />
* {{AUR|fusion-icon}} - offers a tray icon and a nice way to start compiz, start ccsm and change the WM / Window Decorator<br />
<br />
{{Note|''fusion-icon'' is currently broken due to a bug introduced with ''glib2'' 2.36.1 ({{Bug|34892}}), and has been removed from the repositories. If you plan on using ''fusion-icon'', you should install {{AUR|fusion-icon-fixed}} from the [[AUR]] instead.}}<br />
<br />
== Starting Compiz Fusion ==<br />
<br />
=== Manually (with "fusion-icon") ===<br />
<br />
Launch the Compiz Fusion tray icon:<br />
$ fusion-icon<br />
<br />
See [[General Troubleshooting#Session permissions]] if you get some permission related errors.<br />
<br />
Right click on the icon in the panel and go to 'select window manager'. Choose "Compiz" if it isn't selected already, and you should be set.<br />
<br />
If this fails you can start compiz-fusion by using the following additional command to replace your default window decorator with Compiz's window decorator (Emerald):<br />
$ emerald --replace<br />
<br />
'''Again, note:''' If you want to use compiz window decorations make sure you have the "Window Decoration" plugin marked in the compiz settings through ccsm.<br />
<br />
=== Manually (without "fusion-icon") ===<br />
<br />
Launch Compiz with the following command (which replaces your current window manager):<br />
$ compiz --replace ccp &<br />
<br />
A quick overview over common compiz command-line options:<br />
* {{ic|--indirect-rendering}}: use indirect-rendering (AIGLX)<br />
* {{ic|--loose-binding}}: can help performance issues (NVIDIA?)<br />
* {{ic|--replace}}: replace current window-manager<br />
* {{ic|--keep-window-hints}}: keep the gnome window-manager gconf-settings for available viewports, ...<br />
* {{ic|--sm-disable}}: disable session-management<br />
* {{ic|ccp}}: the "ccp" command loads the last configured settings from ccsm (CompizConfig Settings Manager) otherwise Compiz will load with no settings and you won't be able to do anything with your windows like dragging, maximizing/minimizing, or moving.<br />
<br />
=== KDE4 ===<br />
<br />
{{Note|The first and last methods will load Compiz-Fusion as the default window manager instead of KWin. This is faster than loading Compiz with 'fusion-icon' because it avoids loading two window managers at startup. This also prevents that annoying black screen flicker you might see using other methods (when KWin switches to Compiz on KDE's desktop loading screens). The downside is that if Compiz crashes, it may be more difficult to recover your desktop.}}<br />
<br />
==== Use System Settings (easiest)====<br />
<br />
Go to: ''System Settings > Default Applications > Window Manager > Use a different window manager''<br />
<br />
'''''If''''' you need to run compiz with custom options select "Compiz custom" (when you run {{ic|fusion-icon}} from a terminal you can see the command line with which compiz was started).<br />
Create a file called "compiz-kde-launcher" in {{ic|/usr/local/bin}}. Then make the file executable: {{ic|chmod +x /usr/bin/compiz-kde-launcher}}.<br />
<br />
For example:<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT&#61;1<br />
compiz --replace ccp &<br />
wait<br />
}}<br />
<br />
==== Autostart with "fusion-icon" ====<br />
<br />
Add a symbolic link, that points to the fusion-icon executable, in your KDE Autostart directory:<br />
$ ln -s /usr/bin/fusion-icon ~/.kde4/Autostart/fusion-icon<br />
<br />
Next time KDE is started, it will load fusion-icon automatically.<br />
<br />
==== Autostart link without "fusion-icon" ====<br />
<br />
{{Warning|Do '''not''' create '''compiz.desktop''' if you intend to install compiz-decorator-gtk; it will create a file conflict.}}<br />
<br />
* Append a desktop entry in the KDE Autostart directory. If it doesn't already exist (it should), create the file {{ic|~/.kde4/Autostart/compiz.desktop}} with the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp --replace<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
X-GNOME-Autostart-Phase=WindowManager<br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note|If '''compiz.desktop''' already exists, you may have to add {{ic|--replace}} and/or {{ic|ccp}} to the Exec variable. Without {{ic|--replace}}, Compiz won't load since it will detect another window manager already loaded. Without {{ic|ccp}}, Compiz will not load any of the settings and plugins that you have enabled through CompizConfig Settings Manager ('''ccsm''') and you won't be able to manipulate any of your windows.}}<br />
<br />
* If you want to use the optional {{ic|fusion-icon}} application, launch '''fusion-icon'''. If you log out normally with '''fusion-icon''' running, KDE should restore your session and launch '''fusion-icon''' the next time you log in if this setting is enabled. If it doesn't appear to be working, ensure you have the following line in {{ic|~/.kde4/share/config/ksmserverrc}}:<br />
<br />
loginMode=restorePreviousLogout<br />
<br />
{{Note|This is a KDE specific setting that will allow you to restore other apps next time you log in, not just fusion-icon.}}<br />
<br />
==== Export KDEWM without "fusion-icon" (preferred) ====<br />
<br />
As root you must create a short script by doing the following in your terminal. This will allow you to load compiz with the switches because doing it directly via {{ic|1=export KDEWM="compiz --replace ccp --sm-disable"}} doesn't seem to work.<br />
$ echo "compiz --replace ccp --sm-disable &" > /usr/bin/compiz-fusion<br />
<br />
{{Note|If this line doesn't work, make sure the '''fusion-icon''' package is installed and then use this line instead:<br />
$ echo "fusion-icon &" > /usr/bin/compiz-fusion<br />
Be sure to complete the whole method before trying this substitute.}}<br />
<br />
Ensure that {{ic|/usr/bin/compiz-fusion}} has executable ('''+x''') permissions.<br />
$ chmod a+x /usr/bin/compiz-fusion<br />
<br />
Choose one of the following:<br />
<br />
:1) Compiz for your user only > Edit the file {{ic|~/.kde4/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
:2) Compiz system wide > Edit the file {{ic|/etc/kde/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
{{Note|<br />
* If that still doesn't work, yet another alternate way to accomplish the above method is to include the line:<br />
export KDEWM&#61;"compiz-fusion"<br />
in your user's {{ic|~/.bashrc}} file.<br />
* If you optionally use the {{ic|/usr/local/bin}} directory it may not work. In that case you should export the script including the whole path:<br />
export KDEWM&#61;"/usr/local/bin/compiz-fusion"<br />
}}<br />
<br />
=== GNOME ===<br />
<br />
If you have installed [[GNOME3]] with gnome-shell, either enable forced Fallback mode (System Info > Graphics) or simply uninstall gnome-shell.<br />
{{Note|Fallback mode is not necessary if you choose the Compiz/Cairo-Dock session method below.}}<br />
<br />
==== Alternate Session for GNOME (preferred method for experienced Compiz/Dock users) ====<br />
<br />
The {{AUR|gnome-session-compiz}} can be used to add an additional menu entry in the GNOME session login dialog. This method does not require foced fallback mode and/or modifications to sensitive system files/settings. Also, you can switch between GNOME Shell and Compiz/Cairo-Dock between sessions. If you can't get it working, you can always go back to your original GNOME session.<br />
<br />
For this method to work, Compiz and Cairo-Dock (Taskbar/Panel) may have to be [[#Configuration|configured initially]] for fresh accounts, from another working session (ccsm in GNOME Shell worked fine for me).<br />
<br />
This method completely replaces the GNOME's window manager and panel (they are not launched at all, rather than being replaced or killed later). So, before actually switching to this alternate session, you may want to configure corresponding/alternate features of the original panel application in Cairo-Dock:<br />
* Add Application Menu icon to Cairo-Dock and remember its key-bindings.<br />
* Remap Application Menu key-bindings to ALT+F1 and ALT+F2, for convenience.<br />
* Add Clock, WiFi, NetSpeed icons to the dock as applicable.<br />
* Add Log-out icon:<br />
** Set the command for logout to "gnome-session-quit --logout"<br />
** Set the command for shutdown to "gnome-session-quit --power-off"<br />
* Add the Notification Area Old (systray) icon to Cairo-Dock.<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
This Method makes use of the [http://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] to specify a Compiz Desktop Entry and of the GConf default windowmanager setting. Thanks to the Desktop Entry you should be able to select Compiz as a windowmanager out of GDM.<br />
<br />
'''1)'''If the following file doesn't already exist (it should), create it {{ic|/usr/share/applications/compiz.desktop}} containing the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp #Make sure ccp is included so that Compiz loads your previous settings.<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
##-> the folloing line cause gnome-session warning and slow startup, so try not to enable this<br />
# X-GNOME-Autostart-Phase=WindowManager <br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note| If {{ic|compiz.desktop}} already exists, you must make sure that the "ccp" is included in the Exec variable. Having "ccp" included simply tells Compiz to load your previous settings, otherwise you won't have any functionality.}}<br />
<br />
If the above doesn't work (in most cases it does), for example if you notice some issues with windows refreshing or low performance, try:<br />
<br />
Exec=/usr/bin/compiz ccp --indirect-rendering<br />
<br />
or<br />
<br />
Exec=/usr/bin/compiz --replace --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
Instead of<br />
<br />
Exec=/usr/bin/compiz ccp<br />
<br />
Some Users noticed a "lag" of 4-10 seconds when loging in from a login manager. The solution is to change the command to:<br />
Exec=bash -c 'compiz ccp decoration --sm-client-id $DESKTOP_AUTOSTART_ID'<br />
as noted [https://bbs.archlinux.org/viewtopic.php?pid=655237#p655237 in the forum]. You can also add the extra parameters as described above if needed.<br />
<br />
'''2)''' Set some GConf parameters using the gconftool-2 command in a terminal window or do it visually with Configuration Editor (gconf-editor). The following outlines using the command line method, but you can also see which keys to change using gconf-editor:<br />
<br />
{{Note| Since those parameters apply to a given user, you '''must''' logout from the root account and log in as that other user before proceeding with the next steps. GConf will fail, if called from a root account.}}<br />
<br />
gconftool-2 --set -t string /desktop/gnome/session/required_components/windowmanager compiz<br />
<br />
The following are optional and in most cases not necessary (the respective keys are deprecated since GNOME 2.12). But iny any case, if the above didn't succeed the next two statements are still valid and should be tried.<br />
<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/current /usr/bin/compiz<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/default /usr/bin/compiz<br />
<br />
==== Autostart (without "fusion-icon") (with GNOME fallback mode session) ====<br />
<br />
Edit file {{ic|/usr/share/gnome-session/sessions/gnome-fallback.session}}:<br />
<br />
Replace your windows manager (gnome-shell,metacity...) with ''compiz'' in '''RequiredComponents''' line.<br />
<br />
Change ''DefaultProvider-windowmanager'' line to ''DefaultProvider-windowmanager=compiz''<br />
<br />
Here is part of my {{ic|gnome-fallback.session}}:<br />
<br />
RequiredComponents=compiz;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=compiz<br />
DefaultProvider-notifications=notification-daemon<br />
<br />
{{Note|I took out gnome-panel as I am using avant-window-navigator as my panel.<br />
I'am using gnome3 fallback mode with compiz, make gtk-window-decorator start with compiz, and make avant-window-navigator start automatically.}}<br />
<br />
==== Autostart (without "fusion-icon", Gnome prior to 2.24) ====<br />
<br />
This is a way that works if you use GDM (and I'd assume KDM too).<br />
<br />
Make a file called /usr/local/bin/compiz-start-boot with the contents:<br />
#!/bin/bash<br />
export WINDOW_MANAGER="compiz ccp"<br />
exec gnome-session<br />
<br />
and make it executable ({{ic|chmod +x /usr/local/bin/compiz-start-boot}}). Next create the file {{ic|/etc/X11/sessions/Compiz.desktop}} containing the following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Compiz on GNOME<br />
Exec=/usr/local/bin/compiz-start-boot<br />
Icon=<br />
Type=Application<br />
<br />
Select Compiz on Gnome as your session and you're good to go.<br />
<br />
==== Autostart (with "fusion-icon") ====<br />
<br />
To start Compiz fusion automatically when starting a session go to System > Preferences > Startup Applications. In the Startup Programs tab, click the Add button.<br />
<br />
You will now see the Add Startup Program dialogue. Fill it in as follows.<br />
<br />
Name:<br />
Compiz Fusion<br />
Command:<br />
fusion-icon<br />
Comment: (Put anything you like or leave blank.)<br />
<br />
{{Note| You can also use "compiz --replace ccp" instead of "fusion-icon" to load compiz but there will be no fusion-icon.<br />
<br />
The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager ('''ccsm''').}}<br />
<br />
When you're done hit the Add button. You should now see your startup program in the list in the Startup Programs tab. It must be checked to be enabled. You can uncheck it to disable Compiz on startup and switch back to Metacity.<br />
<br />
You may also need to use the gconftool-2 command in a terminal window to set the following parameter, otherwise fusion-icon might not load the windows decorator.<br />
gconftool-2 --type bool --set /apps/metacity/general/compositing_manager false<br />
<br />
{{Note|This method will be slower due to the fact that Gnome will first load the default window manager (Metacity), then will launch fusion-icon which will load the Compiz window manager to replace Metacity. Essentially, it will take the amount of time that it takes to load two window manangers to get Compiz loaded. The first method is preferred and eliminates this issue.}}<br />
<br />
=== Mate desktop ===<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
As with Gnome, create a compiz.desktop file (see [[Compiz#Autostart_.28without_.22fusion-icon.22.29_.28Preferred_Method.29]]), then set Compiz as the default window manager :<br />
* on Mate prior to 1.6, edit the following mateconf entries (note: the last two are deprecated values):<br />
mateconftool-2 --set -t string /desktop/mate/session/required_components/windowmanager compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/current /usr/bin/compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/default /usr/bin/compiz<br />
<br />
* on Mate 1.6 and higher, edit the following gsettings value<br />
gsettings set org.mate.session.required-components windowmanager compiz<br />
<br />
=== XFCE ===<br />
<br />
==== XFCE autostart (without "fusion-icon") ====<br />
<br />
This method will start Compiz directly through the XFCE session manager without loading Xfwm.<br />
<br />
Please note the change to xml config files in XFCE newer than 4.2<br />
<br />
To install the session manager, install {{Pkg|xfce4-session}}.<br />
<br />
Now we have to configure the default/failsafe session of XFCE.<br />
<br />
Edit the {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} or (to make the change for all XFCE users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Replace the xfwm startup command,<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="xfwm4"/><br />
</property><br />
<br />
with the following:<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="compiz"/><br />
<value type="string" value="ccp"/><br />
</property><br />
<br />
{{Note|The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
To prevent the default session from being overwritten you may also add this:<br />
<br />
<property name="general" type="empty"><br />
...<br />
...<br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
To remove the existing sessions, run:<br />
$ rm -r ~/.cache/sessions<br />
<br />
==== XFCE autostart (with "fusion-icon") ====<br />
<br />
===== Method 1 =====<br />
<br />
{{Note| This method is the least preferred since it loads both window managers. All the other XFCE methods only load Compiz without loading Xfwm.}}<br />
This will load Xfwm first then replace it with Compiz.<br />
<br />
Open the XFCE Settings Manager & then Sessions & Startup. Click the Application Autostart tab.<br />
<br />
Add<br />
(Name:) Compiz Fusion<br />
<br />
(Command:) fusion-icon<br />
<br />
{{Note|You can also use {{ic|compiz --replace ccp}} instead of '''fusion-icon''' to load Compiz but there will be no fusion-icon. The ''ccp'' value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
===== Method 2 =====<br />
<br />
Edit the file {{ic|~/.config/xfce4-session/xfce4-session.rc}} (settings in this file is used in preference).<br />
<br />
Or to make the change for all XFCE users, edit as root {{ic|/etc/xdg/xfce4-session/xfce4-session.rc}}.<br />
<br />
Add the following<br />
[Failsafe Session]<br />
Client0_Command=fusion-icon<br />
<br />
Comment out Client0_Command=xfwm4 if it exists.<br />
<br />
This will cause xfce to load Compiz instead of Xfwm when the user has no existing sessions.<br />
<br />
To prevent the default session from being overwritten you may also add<br />
[General]<br />
AutoSave=false<br />
SaveOnExit=false<br />
<br />
To remove the existing sessions<br />
rm -R ~/.cache/sessions<br />
<br />
===== Method 3 =====<br />
<br />
Check if this file exists:<br />
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
If not do:<br />
cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
Then edit {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}.<br />
<br />
or (to make the changes for all xfce4 users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Edit Client0_Command that it look like this:<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="fusion-icon"/><br />
<value type="string" value="--force-compiz"/><br />
</property><br />
if '''--force-compiz''' doesn't work use '''compiz --replace --sm-disable --ignore-desktop-hints ccp''' instead.<br />
<br />
Add the '''SaveOnExit property''' if missing and set it to '''false''':<br />
<property name="general" type="empty"><br />
<property name="FailsafeSessionName" type="string" value="Failsafe"/><br />
<property name="SessionName" type="string" value="Default"/><br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
finally remove old xfce4 sessions:<br />
rm -r ~/.cache/sessions<br />
<br />
Now XFCE4 will load compiz instead of XFWM.<br />
<br />
=== As a standalone window manager ===<br />
<br />
The package compiz-core by itself is sufficient to start using compiz-fusion. However ccsm and emerald (or another window-decorator) are additional highly recommended packages. You may install fusion-icon, compiz-fusion-plugins-main, compiz-fusion-plugins-extra or any other package later on at any time.<br />
<br />
To autostart compiz-fusion configure .xinitrc to launch compiz as:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec compiz ccp<br />
</nowiki>}}<br />
You can also add other [[Compiz_fusion#Manually_.28without_.22fusion-icon.22.29|command-line options]] to your .xinitrc<br />
<br />
Or if using fusion-icon, configure .xinitrc as<br />
{{hc|~/.xinitrc|<nowiki><br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
However chances are you will need additional apps (e.g a panel) for optimal usability. So to autostart such apps simply add them to your .xinitrc as:<br />
{{hc|~/.xinitrc|<nowiki><br />
tint2 &<br />
cairo-dock &<br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
{{Note|Add a terminal-emulator to this autostart list while starting for the first time to help [[Compiz_fusion#Configuration|configure]] Compiz.}} <br />
<br />
Feel free to use a different panel, tray, or start a whole bunch of applications with your session.<br />
<br />
==== Add a root menu ====<br />
<br />
To add a root menu similar to that in Openbox, Fluxbox, Blackbox etc. you must install the package {{AUR|compiz-deskmenu}}.<br />
Upon a restart of Compiz-Fusion, you should be able to middle click on your desktop to launch the menu.<br />
<br />
If it does not automatically work, enter the CompizConfig Settings Manager, and in Commands tab, within the General Settings menu, ensure that there is a command to launch Compiz-Deskmenu, and the appropriate key binding is set to Control+Space.<br />
<br />
If it still does not work, enter the Viewport Switcher menu, and change "Plugin for initiate action" to core (NOTE: for versions 0.8.2+ it's 'commands' instead of 'core'), and "Action name for initiate" to run_command0_key.<br />
<br />
An alternative is to use {{AUR|mygtkmenu}}, also in [[AUR]].<br />
<br />
==== Allow users to shutdown/reboot ====<br />
<br />
Refer to [[Allow_Users_to_Shutdown|this]] wiki page. If using "The Modern way" of policykit You can add the command to ccsm->General->Commands and assign a short-cut key to it or alternatively you can use a launcher application.<br />
<br />
== Miscellaneous ==<br />
<br />
=== Configuration ===<br />
<br />
[[Compiz#Configuration|You must do this so your windows function like you expect them to!]].<br />
<br />
=== Using gtk-window-decorator ===<br />
<br />
In order to use gtk-window-decorator, install the package ''compiz-decorator-gtk'' and select "GTK Window Decorator" instead of "Emerald" as your window decorator in fusion-icon or whatever other program you are using to configure compiz.<br />
<br />
=== gconf: additional Compiz configurations ===<br />
<br />
To achieve more satisfying results from Compiz, you can tweak its config with gconf-editor:<br />
<br />
$ gconf-editor<br />
<br />
Note that now compiz-core isn't built with gconf support; It is now built with gconf support through compiz-decorator-gtk. So, you need to install it if you want to use gconf-editor to edit your Compiz configuration.<br />
The Compiz gconf configuration is located in in the key ''apps > compiz > general > allscreens > options''.<br />
<br />
"Active plugins" is where you specify the plugins you would like to use. Simply edit the key and add a value(refer to the key ''apps > compiz > plugins'' to see possible values). Plugins I’ve found useful are screenshot, png, fade, and minimize. Please do not remove those enabled by default.<br />
<br />
=== ATI R600/R700 notes ===<br />
<br />
While using fusion-icon you shouldn't experience any problems because it takes care of everything for you, but if you are using one of the autostart methods that do not involve fusion-icon you will run into trouble. For example when using the Xfce autostart method without fusion icon you must edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml per the instructions above. However, if you follow the directions above explicity you will find that compiz does not load. You must instead make your xfce4-session.xml file look like this<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="LIBGL_ALWAYS_INDIRECT=1"/><br />
<value type="string" value="compiz"/><br />
<value type="string" value="--sm-disable"/><br />
<value type="string" value="--ignore-desktop-hints"/><br />
<value type="string" value="ccp"/><br />
<value type="string" value="--indirect-rendering"/><br />
</property><br />
<br />
This example targeted Xfce specifically, but it can be adapted to any desktop environment. It's just a matter of figuring out how to add it to the proper config file. The key thing is the required command which if typed on a command line would look like this<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
This is how Xfce's session manager interprets the above XML code. Notice that you do not need --replace because you are not first loading xfwm and then compiz.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Fallback ===<br />
<br />
If you are using [[KDE]], [[GNOME]] or [[XFCE]] and something is not right, for example you don’t see borders for your window, you can switch back to default DE window manager with this command:<br />
<br />
''wm_name'' --replace<br />
<br />
with kwin, metacity or xfwm4 instead of ''wm_name''.<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
Default plugin keyboard shortcuts (plugins have to be activated!)<br />
<br />
* Switch windows = {{Keypress|Alt+Tab}}.<br />
* Switch to next desktops = {{Keypress|Ctrl+Alt+&larr;}}.<br />
* Switch to previous desktop = {{Keypress|Ctrl+Alt+&rarr;}}.<br />
* Move window = {{Keypress|Alt+Left click}}.<br />
* Resize window = {{Keypress|Alt+Right click}}.<br />
<br />
A more detailed list can be found under [http://wiki.compiz-fusion.org/CommonKeyboardShortcuts CommonKeyboardShortcuts] in the Compiz wiki or you can always just look at your plugin's configuration ('''ccsm''').<br />
<br />
== Troubleshooting ==<br />
<br />
{{Out of date}}<br />
<br />
=== Missing GLX_EXT_texture_from_pixmaps ===<br />
<br />
==== On ATI cards (first solution) ====<br />
<br />
https://bbs.archlinux.org/viewtopic.php?id=50073<br />
If you run into the following error when trying to run Compiz Fusion on an ATI card:<br />
<br />
Missing GLX_EXT_texture_from_pixmap<br />
<br />
This is because Compiz Fusion's binary was compiled against Mesa's OpenGL library rather than ATI's OpenGL library (which is what you are using). Re-install libgl-dri (yes you will have to uninstall fglrx temporarily) to get Mesa's OpenGL library. <br />
<br />
copy the library into a directory to keep it because ATI's drivers will over write it. <br />
<br />
mkdir /lib/mesa<br />
cp /usr/lib/libGL.so.1.2 /lib/mesa<br />
<br />
Once you have it copied, you can reinstall your fglrx drivers (It should have been removed when you installed libgl-dri). Now you can start Compiz Fusion using the following example syntax: <br />
<br />
LD_PRELOAD=/lib/mesa/libGL.so.1.2 compiz --replace &<br />
<br />
==== On ATI cards (second solution) ====<br />
<br />
An other problem could arise with GLX_EXT_texture_from_pixmap, it is possible that the card could only render it indirectly, then you have to pass the option to your libgl like that :<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp &<br />
<br />
(Workaround tested on the following card : ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 02))<br />
<br />
==== On Intel chips ====<br />
<br />
First off, check that you're using the intel driver as opposed to i810. Then, run the following command to run Compiz (must use this every time.).<br />
LIBGL_ALWAYS_INDIRECT=true compiz --replace --sm-disable ccp &<br />
If you then do not have borders, run:<br />
emerald --replace<br />
As at 17-Oct-07 the [http://wiki.compiz-fusion.org/Troubleshooting Compiz-Fusion Wiki] states: <i>"If you are using an Intel GMA card with AIGLX, you will need to start Compiz Fusion with LIBGL_ALWAYS_INDIRECT=1 appended.</i>"<br />
<br />
=== Compiz starts, but no effects are visible ===<br />
<br />
If you have installed compiz-decorator-gtk:<br />
Check if GConf schema was correctly installed: <br />
gconftool-2 -R /apps/compiz/plugins | grep plugins<br />
make sure that all plugins are listed (not only fade!). If not, try to install Compiz schema manually (do this as normal user, not as root!!!): <br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
{{Note|Compiz basic plugins are not enabled by default. You should enable "Move Window", "Resize Window", and "Window decoration" plugins in settings manager from fusion-icon to have a usable window manager.}}<br />
<br />
=== Compiz starts, but gtk-window-decorator does not ===<br />
It is a configuration problem for gconf and gconfd. I solved it by removing ".gconf" dir in my home, but I'm using KDE. If you are using Gnome you should enter your ".gconf" directory and remove all Compiz keys. This will erase your Compiz settings, so be sure to reconfigure.<br />
Finally exec as user:<br />
<br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
=== Compiz appears to start, but there are no window borders ===<br />
<br />
When you run fusion-icon from commandline, you get output like this:<br />
<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
* NVIDIA on Xorg detected, exporting: __GL_YIELD=NOTHING<br />
* Using the GTK Interface<br />
* Metacity is already running<br />
* Setting window manager to Compiz<br />
... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
<br />
All you need to do is edit your {{ic|/etc/X11/xorg.conf}} and find the "Depth" directive inside the "Screen" section; change all occurences of this value to 24. This occured to me with my colour depth set to 16; but also happens when it is set to 32.<br />
<br />
----<br />
<br />
You may also try adding ''Option "AddARGBGLXVisuals" "True"'' & ''Option "DisableGLXRootClipping" "True"'' to your "Screen" section if you are using the NVIDIA binary driver. (Radeon, and the open 'nv' driver will not work with this option as far as I can tell.) If you used any other Options elsewhere in '''xorg.conf''' to get Compiz working and still have no luck, try commenting them out and using only the aformentioned ARGBGLXVisuals and GLXRootClipping Options.<br />
<br />
{{Note|Check that "Window decoration", "Move" and "Resize" plugins are enabled with Compiz Settings Manager or gconf-editor.}}<br />
<br />
With gconf-editor you can easly enable "Window decoration", "Move" and "Resize" plugins.<br />
<br />
$ gconf-editor<br />
<br />
Navigate to ''apps > compiz > general > allscreens > options''.<br />
<br />
Add/Edit "active_plugins" Key (Name: active_plugins, Type: List, List type: String).<br />
<br />
Add "decoration", "move", and "resize" to the list.<br />
<br />
----<br />
<br />
'''Another way to fix this''':<br />
* Launch '''ccsm'''.<br />
* Find '''windows decoration''' and make sure it is enabled.<br />
* Now click on it, to edit the options.<br />
* If the entry behind '''command''' is empty, put the value '''gtk-window-decorator''' there.<br />
** Alternatives are '''kde-window-decorator''' and '''emerald'''<br />
* Click '''Back''' and '''Close'''<br />
* If all went well, the borders should appear.<br />
<br />
=== Compiz starts and borders appear, but windows won't move ===<br />
<br />
Be sure you have the "Move Window" plugin installed and enabled in the Compiz settings manager.<br />
<br />
=== Blank screen on resume from suspend-to-ram using the NVIDIA binary drivers ===<br />
<br />
If you receive a blank screen with a responsive cursor upon resume, try disabling sync to vblank:<br />
<br />
gconftool -s /apps/compiz/general/screen0/options/sync_to_vblank-t boolean false<br />
<br />
=== fusion-icon doesn't start ===<br />
<br />
If you get an output like this from the command line:<br />
$ fusion-icon<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
Traceback (most recent call last):<br />
File "/usr/bin/fusion-icon", line 57, in <module><br />
from FusionIcon.interface import choose_interface<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/interface.py", line 23, in <module><br />
import start<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/start.py", line 36, in <module><br />
config.check()<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/util.py", line 362, in check<br />
os.makedirs(self.config_folder)<br />
File "/usr/lib/python2.5/os.py", line 172, in makedirs<br />
mkdir(name, mode)<br />
OSError: [Errno 13] Permission denied: '/home/andy/.config/compiz'<br />
<br />
the problem is with the permission on {{ic|~/.config/compiz}}. You have set the owner of a folder in your area as root. To change this, run (as root)<br />
chown <username> /home/<username>/.config/compiz<br />
<br />
=== Choppy animations, even though everything configured correctly ===<br />
<br />
If everything is configured correctly but you still have poor performance on some effects, try disabling ''CCSM > General Options > Display Settings > Detect Refresh Rate'' and instead choose a value manually. Tested on both NVIDIA and Intel chips. Can work wonders.<br />
<br />
Alternatively, if your chip is NVIDIA and you are experiencing an inadequate refresh rate with "Detect Refresh Rate" enabled in Compiz, it's likely due to an option called DynamicTwinView being enabled by default which plays a factor in accurately reporting the maximum refresh rate that your card and display support. You can disable DynamicTwinView by adding the following line to the "Device" or "Screen" section of your xorg.conf file, and then restarting your computer:<br />
<br />
Option "DynamicTwinView" "False"<br />
<br />
Doing so will allow XrandR to accurately report the refresh rate to anything that detects it, including Compiz. You should be able to leave "Detect Refresh Rate" enabled and get excellent performance. Once again, this only applies to NVIDIA chips.<br />
<br />
=== Fix GNOME screenshot ===<br />
<br />
To re-enable gnome-screenshot (the default behavior caused by hitting {{Keypress|PrtScn}}) simply go to Settings Manager>Commands and map 'gnome-screenshot' to the 'PrtScn' key. This is advantageous because you can also use the Compiz-Fusion 'Screenshot' plugin at the same time since the action that enables it is {{Keypress|Super+Button1}} thereby giving you two methods to do a screen capture (one of which gives a full screen capture in a single keystroke).<br />
<br />
=== Get GNOME workspace switcher work with Compiz-Fusion ===<br />
<br />
In older versions of Compiz, the Gnome Workspace Switcher applet would actually work with Compiz-Fusion (i.e. rotate cube/move plane etc.), but recent versions seem not to. This is due to a new feature introduced in Compiz, which allows real seperate workspaces. For example, if you have a desktop plane with four planes, and have four desktops enabled in Gnome, it sums up to a total of 16 different workspaces. Currently, there is no animation associated with "real" workspace changing. To get the Workspace Switcher work, set the following options in GConf:<br />
<br />
/apps/compiz/general/screen0/options/number_of_desktops = '''1'''<br />
/apps/compiz/general/screen0/options/hsize = 4 (this is an example)<br />
/apps/compiz/general/screen0/options/vsize = 1 (this is an example)<br />
<br />
=== Screen flicks with NVIDIA card ===<br />
<br />
For fixing it, create /etc/modprobe.d/nvidia.conf file and add line:<br />
options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222"<br />
<br />
=== Fix custom cursor theme on GNOME 2.30 ===<br />
<br />
Create or edit /usr/share/icons/default/index.theme for default, or per user '''(non-root)''' ~/.icons/default/index.theme, and add this lines:<br />
<br />
[Icon Theme]<br />
#Name=''foo''<br />
Name=''foo''<br />
#Inherits=''foo''<br />
Inherits=''foo''<br />
[Desktop Entry]<br />
Name[en_US]=index.theme<br />
<br />
"Foo" is the name of the cursor theme.<br />
<br />
=== Screen artifacts on Firefox/Thunderbird ===<br />
<br />
{{Note|Altough this issue is not strictly related to Compiz, it has been added here due to popular misconception that Compiz itself may be the cause.}}<br />
<br />
Some users noticed a strange behavior with AMD/ATI Catalyst drivers starting from 10.6 release. Artifacts are visible mainly with Mozilla applications, where the GUI shows black spots of variable size. This is caused by different 2D acceleration tecnique introduced with Catalyst 10.6.<br />
The problem can be fixed following the troubleshooting steps in the [[ATI_Catalyst#Black.2Fgrey.2Fwhite_boxes.2Fartifacts_mainly_in_firefox.2Fthunderbird|ATI Catalyst page]]<br />
<br />
=== Setting the window manager back to Metacity after uninstall ===<br />
<br />
Removing Compiz with pacman does not set your window manager back to metacity. This can result in no window borders being drawn, an inability to minimize, and an inability to change the focus. To change it back, run the command "gconf-editor" in the terminal (install it if you do not have it already). Use this to set the value of the key {{ic|/desktop/gnome/session/required_components/window_manager}} from "compiz" to "metacity". Log out and back in for this change to take effect.<br />
<br />
=== Context menu in applications (Firefox, ...?) disappears on mouseover ===<br />
<br />
Try disabling "focus stealing prevention" (general options).<br />
<br />
=== See also ===<br />
<br />
* [http://wiki.compiz.org/Troubleshooting Troubleshooting page] on compiz.org<br />
* [http://compiz.org Compiz website], including wiki and forum</div>Plphttps://wiki.archlinux.org/index.php?title=Compiz&diff=265813Compiz2013-07-11T09:42:05Z<p>Plp: /* Other */</p>
<hr />
<div>[[Category:Eye candy]]<br />
[[Category:Stacking WMs]]<br />
[[el:Compiz]]<br />
[[es:Compiz]]<br />
[[fr:Compiz]]<br />
[[it:Compiz]]<br />
[[ja:Compiz]]<br />
[[pl:Compiz]]<br />
[[pt:Compiz]]<br />
[[ru:Compiz]]<br />
[[tr:Compiz]]<br />
[[zh-CN:Compiz]]<br />
{{Out of date|Since Compiz has been moved to the AUR [https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024956.html], some links to packages still need to be added or updated and links to groups need to be replaced.}}<br />
{{Article summary start}}<br />
{{Article summary wiki|Compiz Configuration}}<br />
{{Article summary wiki|Xcompmgr}}<br />
{{Article summary wiki|Cairo Compmgr}}<br />
{{Article summary end}}<br />
<br />
Compiz is a [[Wikipedia:Compositing window manager|compositing window manager]]. It provides its own window manager, [[Emerald]]. Therefore it cannot be used simultaneously with other window managers such as [[Openbox]], [[Fluxbox]], or [[Enlightenment]]. Users who want to keep their current window managers and add some effects to it may wish to try [[Xcompmgr]] instead.<br />
<br />
== Requirements ==<br />
<br />
Users of major [[DE]]s can make good use of {{AUR|compiz-manager}}, performing brief requirements checking and switching to fallback WM in case of errors. Discovering setup and hardware issues can also be done with {{AUR|compiz-check}} script available in [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install [https://aur.archlinux.org/packages.php?K=compiz packages], available in [[AUR]].<br />
<br />
Users who wish to select the packages individually may start with {{Pkg|compiz-core}} and one of [[#Decorators|decorators]].<br />
{{Note|Lack of configured window decorator can render your [[X]] workspace slightly unusable.}}<br />
<br />
=== Initial configuration ===<br />
<br />
While the appearance of the windows and their contents is a function of [[GTK+]] and [[Qt]], the frames around the windows are controlled by the Window Decoration plugin. To use it make sure you have a window decorator installed. Depending on what packages you have downloaded you can choose among several window decorators. The most common ones are Emerald, kde-window-decorator, and gtk-window-decorator. The emerald decorator has the advantage that it fits better to compiz's screen handling and offers transparency effects. To set your default window decorator type the following command string in the "Window Decoration" plugin's settings under the field "Command".<br />
<br />
Ensure that the "Window decorator" plugin is enabled in ccsm's "effects" tab, the "command" field is filled in to start a decorator.<br />
<br />
To set '''emerald''' as your default window-decorator type:<br />
$ emerald --replace<br />
To set the '''kde-window-decorator''' as an alternative to Emerald type:<br />
kde4-window-decorator --replace<br />
To set the '''compiz-decorator-gtk''' as an alternative to Emerald type:<br />
$ gtk-window-decorator --replace<br />
<br />
{{Box RED|Activate important plugins!|<br />
There is high possibility that you will want to activate a few plugins that provide basic window manager behavior or else you will have no ability to drag, scale or close any windows as soon as compiz is activated. Among those plugins are "Window Decoration" under Effects and "Move Window" & "Resize Window" under Window Management. ''ccsm'' command may be used to achieve this. Simply put check marks next to those plugins to activate them.}}<br />
<br />
== Additional software ==<br />
<br />
=== Decorators ===<br />
<br />
* {{App|[[Emerald]]|Compiz's own window decorator with few dependencies. (Note: Works but is buggy and no longer maintained)|http://www.compiz.org|{{Pkg|emerald}}}}<br />
* {{Pkg|compiz-decorator-gtk}} and {{Pkg|compiz-decorator-kde}} &ndash; alternatives to Emerald, using your desktop environment's configuration backends and looks.<br />
<br />
=== Other ===<br />
<br />
* [https://aur.archlinux.org/packages/?K=ccsm ccsm] (CompizConfig settings manager) - GUI application that lets you configure all of Compiz's plugins<br />
* [https://aur.archlinux.org/packages/?K=fusion-icon fusion-icon] - offers a tray icon and a nice way to start compiz, start ccsm and change the WM / Window Decorator<br />
<br />
{{Box RED|Warning:|<br />
fusion-icon is currently broken due to a bug introduced with glib2 2.36.1 (FS#34892), and has been removed from the repos. If you plan on using fusion-icon, you should install [https://aur.archlinux.org/packages/fusion-icon-fixed/ fusion-icon-fixed] from AUR instead.}}<br />
<br />
== Starting Compiz Fusion ==<br />
<br />
=== Manually (with "fusion-icon") ===<br />
<br />
Launch the Compiz Fusion tray icon:<br />
$ fusion-icon<br />
<br />
{{Note|If it fails (almost never), you may try it with dbus-launch:<br />
$ dbus-launch "fusion-icon"}}<br />
Right click on the icon in the panel and go to 'select window manager'. Choose "Compiz" if it isn't selected already, and you should be set.<br />
<br />
If this fails you can start compiz-fusion by using the following additional command to replace your default window decorator with Compiz's window decorator (Emerald):<br />
$ emerald --replace<br />
<br />
'''Again, note:''' If you want to use compiz window decorations make sure you have the "Window Decoration" plugin marked in the compiz settings through ccsm.<br />
<br />
=== Manually (without "fusion-icon") ===<br />
<br />
Launch Compiz with the following command (which replaces your current window manager):<br />
$ compiz --replace ccp &<br />
<br />
A quick overview over common compiz command-line options:<br />
* {{ic|--indirect-rendering}}: use indirect-rendering (AIGLX)<br />
* {{ic|--loose-binding}}: can help performance issues (NVIDIA?)<br />
* {{ic|--replace}}: replace current window-manager<br />
* {{ic|--keep-window-hints}}: keep the gnome window-manager gconf-settings for available viewports, ...<br />
* {{ic|--sm-disable}}: disable session-management<br />
* {{ic|ccp}}: the "ccp" command loads the last configured settings from ccsm (CompizConfig Settings Manager) otherwise Compiz will load with no settings and you won't be able to do anything with your windows like dragging, maximizing/minimizing, or moving.<br />
<br />
=== KDE4 ===<br />
<br />
{{Note|The first and last methods will load Compiz-Fusion as the default window manager instead of KWin. This is faster than loading Compiz with 'fusion-icon' because it avoids loading two window managers at startup. This also prevents that annoying black screen flicker you might see using other methods (when KWin switches to Compiz on KDE's desktop loading screens). The downside is that if Compiz crashes, it may be more difficult to recover your desktop.}}<br />
<br />
==== Use System Settings (easiest)====<br />
<br />
Go to: ''System Settings > Default Applications > Window Manager > Use a different window manager''<br />
<br />
'''''If''''' you need to run compiz with custom options select "Compiz custom" (when you run {{ic|fusion-icon}} from a terminal you can see the command line with which compiz was started).<br />
Create a file called "compiz-kde-launcher" in {{ic|/usr/local/bin}}. Then make the file executable: {{ic|chmod +x /usr/bin/compiz-kde-launcher}}.<br />
<br />
For example:<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT&#61;1<br />
compiz --replace ccp &<br />
wait<br />
}}<br />
<br />
==== Autostart with "fusion-icon" ====<br />
<br />
Add a symbolic link, that points to the fusion-icon executable, in your KDE Autostart directory:<br />
$ ln -s /usr/bin/fusion-icon ~/.kde4/Autostart/fusion-icon<br />
<br />
Next time KDE is started, it will load fusion-icon automatically.<br />
<br />
==== Autostart link without "fusion-icon" ====<br />
<br />
{{Warning|Do '''not''' create '''compiz.desktop''' if you intend to install compiz-decorator-gtk; it will create a file conflict.}}<br />
<br />
* Append a desktop entry in the KDE Autostart directory. If it doesn't already exist (it should), create the file {{ic|~/.kde4/Autostart/compiz.desktop}} with the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp --replace<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
X-GNOME-Autostart-Phase=WindowManager<br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note|If '''compiz.desktop''' already exists, you may have to add {{ic|--replace}} and/or {{ic|ccp}} to the Exec variable. Without {{ic|--replace}}, Compiz won't load since it will detect another window manager already loaded. Without {{ic|ccp}}, Compiz will not load any of the settings and plugins that you have enabled through CompizConfig Settings Manager ('''ccsm''') and you won't be able to manipulate any of your windows.}}<br />
<br />
* If you want to use the optional {{ic|fusion-icon}} application, launch '''fusion-icon'''. If you log out normally with '''fusion-icon''' running, KDE should restore your session and launch '''fusion-icon''' the next time you log in if this setting is enabled. If it doesn't appear to be working, ensure you have the following line in {{ic|~/.kde4/share/config/ksmserverrc}}:<br />
<br />
loginMode=restorePreviousLogout<br />
<br />
{{Note|This is a KDE specific setting that will allow you to restore other apps next time you log in, not just fusion-icon.}}<br />
<br />
==== Export KDEWM without "fusion-icon" (preferred) ====<br />
<br />
As root you must create a short script by doing the following in your terminal. This will allow you to load compiz with the switches because doing it directly via {{ic|1=export KDEWM="compiz --replace ccp --sm-disable"}} doesn't seem to work.<br />
$ echo "compiz --replace ccp --sm-disable &" > /usr/bin/compiz-fusion<br />
<br />
{{Note|If this line doesn't work, make sure the '''fusion-icon''' package is installed and then use this line instead:<br />
$ echo "fusion-icon &" > /usr/bin/compiz-fusion<br />
Be sure to complete the whole method before trying this substitute.}}<br />
<br />
Ensure that {{ic|/usr/bin/compiz-fusion}} has executable ('''+x''') permissions.<br />
$ chmod a+x /usr/bin/compiz-fusion<br />
<br />
Choose one of the following:<br />
<br />
:1) Compiz for your user only > Edit the file {{ic|~/.kde4/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
:2) Compiz system wide > Edit the file {{ic|/etc/kde/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
{{Note|<br />
* If that still doesn't work, yet another alternate way to accomplish the above method is to include the line:<br />
export KDEWM&#61;"compiz-fusion"<br />
in your user's {{ic|~/.bashrc}} file.<br />
* If you optionally use the {{ic|/usr/local/bin}} directory it may not work. In that case you should export the script including the whole path:<br />
export KDEWM&#61;"/usr/local/bin/compiz-fusion"<br />
}}<br />
<br />
=== GNOME ===<br />
<br />
If you have installed [[GNOME3]] with gnome-shell, either enable forced Fallback mode (System Info > Graphics) or simply uninstall gnome-shell.<br />
{{Note|Fallback mode is not necessary if you choose the Compiz/Cairo-Dock session method below.}}<br />
<br />
==== Alternate Session for GNOME (preferred method for experienced Compiz/Dock users) ====<br />
<br />
The {{AUR|gnome-session-compiz}} can be used to add an additional menu entry in the GNOME session login dialog. This method does not require foced fallback mode and/or modifications to sensitive system files/settings. Also, you can switch between GNOME Shell and Compiz/Cairo-Dock between sessions. If you can't get it working, you can always go back to your original GNOME session.<br />
<br />
For this method to work, Compiz and Cairo-Dock (Taskbar/Panel) may have to be [[#Configuration|configured initially]] for fresh accounts, from another working session (ccsm in GNOME Shell worked fine for me).<br />
<br />
This method completely replaces the GNOME's window manager and panel (they are not launched at all, rather than being replaced or killed later). So, before actually switching to this alternate session, you may want to configure corresponding/alternate features of the original panel application in Cairo-Dock:<br />
* Add Application Menu icon to Cairo-Dock and remember its key-bindings.<br />
* Remap Application Menu key-bindings to ALT+F1 and ALT+F2, for convenience.<br />
* Add Clock, WiFi, NetSpeed icons to the dock as applicable.<br />
* Add Log-out icon:<br />
** Set the command for logout to "gnome-session-quit --logout"<br />
** Set the command for shutdown to "gnome-session-quit --power-off"<br />
* Add the Notification Area Old (systray) icon to Cairo-Dock.<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
This Method makes use of the [http://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] to specify a Compiz Desktop Entry and of the GConf default windowmanager setting. Thanks to the Desktop Entry you should be able to select Compiz as a windowmanager out of GDM.<br />
<br />
'''1)'''If the following file doesn't already exist (it should), create it {{ic|/usr/share/applications/compiz.desktop}} containing the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp #Make sure ccp is included so that Compiz loads your previous settings.<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
##-> the folloing line cause gnome-session warning and slow startup, so try not to enable this<br />
# X-GNOME-Autostart-Phase=WindowManager <br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note| If {{ic|compiz.desktop}} already exists, you must make sure that the "ccp" is included in the Exec variable. Having "ccp" included simply tells Compiz to load your previous settings, otherwise you won't have any functionality.}}<br />
<br />
If the above doesn't work (in most cases it does), for example if you notice some issues with windows refreshing or low performance, try:<br />
<br />
Exec=/usr/bin/compiz ccp --indirect-rendering<br />
<br />
or<br />
<br />
Exec=/usr/bin/compiz --replace --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
Instead of<br />
<br />
Exec=/usr/bin/compiz ccp<br />
<br />
Some Users noticed a "lag" of 4-10 seconds when loging in from a login manager. The solution is to change the command to:<br />
Exec=bash -c 'compiz ccp decoration --sm-client-id $DESKTOP_AUTOSTART_ID'<br />
as noted [https://bbs.archlinux.org/viewtopic.php?pid=655237#p655237 in the forum]. You can also add the extra parameters as described above if needed.<br />
<br />
'''2)''' Set some GConf parameters using the gconftool-2 command in a terminal window or do it visually with Configuration Editor (gconf-editor). The following outlines using the command line method, but you can also see which keys to change using gconf-editor:<br />
<br />
{{Note| Since those parameters apply to a given user, you '''must''' logout from the root account and log in as that other user before proceeding with the next steps. GConf will fail, if called from a root account.}}<br />
<br />
gconftool-2 --set -t string /desktop/gnome/session/required_components/windowmanager compiz<br />
<br />
The following are optional and in most cases not necessary (the respective keys are deprecated since GNOME 2.12). But iny any case, if the above didn't succeed the next two statements are still valid and should be tried.<br />
<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/current /usr/bin/compiz<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/default /usr/bin/compiz<br />
<br />
==== Autostart (without "fusion-icon") (with GNOME fallback mode session) ====<br />
<br />
Edit file {{ic|/usr/share/gnome-session/sessions/gnome-fallback.session}}:<br />
<br />
Replace your windows manager (gnome-shell,metacity...) with ''compiz'' in '''RequiredComponents''' line.<br />
<br />
Change ''DefaultProvider-windowmanager'' line to ''DefaultProvider-windowmanager=compiz''<br />
<br />
Here is part of my {{ic|gnome-fallback.session}}:<br />
<br />
RequiredComponents=compiz;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=compiz<br />
DefaultProvider-notifications=notification-daemon<br />
<br />
{{Note|I took out gnome-panel as I am using avant-window-navigator as my panel.<br />
I'am using gnome3 fallback mode with compiz, make gtk-window-decorator start with compiz, and make avant-window-navigator start automatically.}}<br />
<br />
==== Autostart (without "fusion-icon", Gnome prior to 2.24) ====<br />
<br />
This is a way that works if you use GDM (and I'd assume KDM too).<br />
<br />
Make a file called /usr/local/bin/compiz-start-boot with the contents:<br />
#!/bin/bash<br />
export WINDOW_MANAGER="compiz ccp"<br />
exec gnome-session<br />
<br />
and make it executable ({{ic|chmod +x /usr/local/bin/compiz-start-boot}}). Next create the file {{ic|/etc/X11/sessions/Compiz.desktop}} containing the following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Compiz on GNOME<br />
Exec=/usr/local/bin/compiz-start-boot<br />
Icon=<br />
Type=Application<br />
<br />
Select Compiz on Gnome as your session and you're good to go.<br />
<br />
==== Autostart (with "fusion-icon") ====<br />
<br />
To start Compiz fusion automatically when starting a session go to System > Preferences > Startup Applications. In the Startup Programs tab, click the Add button.<br />
<br />
You will now see the Add Startup Program dialogue. Fill it in as follows.<br />
<br />
Name:<br />
Compiz Fusion<br />
Command:<br />
fusion-icon<br />
Comment: (Put anything you like or leave blank.)<br />
<br />
{{Note| You can also use "compiz --replace ccp" instead of "fusion-icon" to load compiz but there will be no fusion-icon.<br />
<br />
The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager ('''ccsm''').}}<br />
<br />
When you're done hit the Add button. You should now see your startup program in the list in the Startup Programs tab. It must be checked to be enabled. You can uncheck it to disable Compiz on startup and switch back to Metacity.<br />
<br />
You may also need to use the gconftool-2 command in a terminal window to set the following parameter, otherwise fusion-icon might not load the windows decorator.<br />
gconftool-2 --type bool --set /apps/metacity/general/compositing_manager false<br />
<br />
{{Note|This method will be slower due to the fact that Gnome will first load the default window manager (Metacity), then will launch fusion-icon which will load the Compiz window manager to replace Metacity. Essentially, it will take the amount of time that it takes to load two window manangers to get Compiz loaded. The first method is preferred and eliminates this issue.}}<br />
<br />
=== Mate desktop ===<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
As with Gnome, create a compiz.desktop file (see [[Compiz#Autostart_.28without_.22fusion-icon.22.29_.28Preferred_Method.29]]), then set Compiz as the default window manager :<br />
* on Mate prior to 1.6, edit the following mateconf entries (note: the last two are deprecated values):<br />
mateconftool-2 --set -t string /desktop/mate/session/required_components/windowmanager compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/current /usr/bin/compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/default /usr/bin/compiz<br />
<br />
* on Mate 1.6 and higher, edit the following gsettings value<br />
gsettings set org.mate.session.required-components windowmanager compiz<br />
<br />
=== XFCE ===<br />
<br />
==== XFCE autostart (without "fusion-icon") ====<br />
<br />
This method will start Compiz directly through the XFCE session manager without loading Xfwm.<br />
<br />
Please note the change to xml config files in XFCE newer than 4.2<br />
<br />
To install the session manager, install {{Pkg|xfce4-session}}.<br />
<br />
Now we have to configure the default/failsafe session of XFCE.<br />
<br />
Edit the {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} or (to make the change for all XFCE users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Replace the xfwm startup command,<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="xfwm4"/><br />
</property><br />
<br />
with the following:<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="compiz"/><br />
<value type="string" value="ccp"/><br />
</property><br />
<br />
{{Note|The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
To prevent the default session from being overwritten you may also add this:<br />
<br />
<property name="general" type="empty"><br />
...<br />
...<br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
To remove the existing sessions, run:<br />
$ rm -r ~/.cache/sessions<br />
<br />
==== XFCE autostart (with "fusion-icon") ====<br />
<br />
===== Method 1 =====<br />
<br />
{{Note| This method is the least preferred since it loads both window managers. All the other XFCE methods only load Compiz without loading Xfwm.}}<br />
This will load Xfwm first then replace it with Compiz.<br />
<br />
Open the XFCE Settings Manager & then Sessions & Startup. Click the Application Autostart tab.<br />
<br />
Add<br />
(Name:) Compiz Fusion<br />
<br />
(Command:) fusion-icon<br />
<br />
{{Note|You can also use {{ic|compiz --replace ccp}} instead of '''fusion-icon''' to load Compiz but there will be no fusion-icon. The ''ccp'' value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
===== Method 2 =====<br />
<br />
Edit the file {{ic|~/.config/xfce4-session/xfce4-session.rc}} (settings in this file is used in preference).<br />
<br />
Or to make the change for all XFCE users, edit as root {{ic|/etc/xdg/xfce4-session/xfce4-session.rc}}.<br />
<br />
Add the following<br />
[Failsafe Session]<br />
Client0_Command=fusion-icon<br />
<br />
Comment out Client0_Command=xfwm4 if it exists.<br />
<br />
This will cause xfce to load Compiz instead of Xfwm when the user has no existing sessions.<br />
<br />
To prevent the default session from being overwritten you may also add<br />
[General]<br />
AutoSave=false<br />
SaveOnExit=false<br />
<br />
To remove the existing sessions<br />
rm -R ~/.cache/sessions<br />
<br />
===== Method 3 =====<br />
<br />
Check if this file exists:<br />
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
If not do:<br />
cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
Then edit {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}.<br />
<br />
or (to make the changes for all xfce4 users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Edit Client0_Command that it look like this:<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="fusion-icon"/><br />
<value type="string" value="--force-compiz"/><br />
</property><br />
if '''--force-compiz''' doesn't work use '''compiz --replace --sm-disable --ignore-desktop-hints ccp''' instead.<br />
<br />
Add the '''SaveOnExit property''' if missing and set it to '''false''':<br />
<property name="general" type="empty"><br />
<property name="FailsafeSessionName" type="string" value="Failsafe"/><br />
<property name="SessionName" type="string" value="Default"/><br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
finally remove old xfce4 sessions:<br />
rm -r ~/.cache/sessions<br />
<br />
Now XFCE4 will load compiz instead of XFWM.<br />
<br />
=== As a standalone window manager ===<br />
<br />
The package compiz-core by itself is sufficient to start using compiz-fusion. However ccsm and emerald (or another window-decorator) are additional highly recommended packages. You may install fusion-icon, compiz-fusion-plugins-main, compiz-fusion-plugins-extra or any other package later on at any time.<br />
<br />
To autostart compiz-fusion configure .xinitrc to launch compiz as:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec compiz ccp<br />
</nowiki>}}<br />
You can also add other [[Compiz_fusion#Manually_.28without_.22fusion-icon.22.29|command-line options]] to your .xinitrc<br />
<br />
Or if using fusion-icon, configure .xinitrc as<br />
{{hc|~/.xinitrc|<nowiki><br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
However chances are you will need additional apps (e.g a panel) for optimal usability. So to autostart such apps simply add them to your .xinitrc as:<br />
{{hc|~/.xinitrc|<nowiki><br />
tint2 &<br />
cairo-dock &<br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
{{Note|Add a terminal-emulator to this autostart list while starting for the first time to help [[Compiz_fusion#Configuration|configure]] Compiz.}} <br />
<br />
An alternative method, utilizing a simple script entitled '''start-fusion.sh''':<br />
{{hc|start-fusion.sh|<nowiki><br />
#!/bin/sh<br />
# add more apps here if necessary or start another panel, tray like pypanel, bmpanel, stalonetray<br />
xfce4-panel&<br />
fusion-icon<br />
</nowiki>}}<br />
If this script dosn't work for you, or you get issues with '''dbus''' utilize this script:<br />
{{hc|start-fusion.sh|<nowiki><br />
#!/bin/sh<br />
cd /home/<yourusername><br />
eval $(dbus-launch --sh-syntax --exit-with-session)<br />
/usr/bin/X :0.0 -br -audit 0 -nolisten tcp vt7 &<br />
export DISPLAY=:0.0<br />
sleep 1<br />
compiz-manager decoration move resize > /tmp/compiz.log 2>&1 &<br />
# add more apps here if necessary or start another panel, tray like pypanel, bmpanel, stalonetray<br />
xfce4-panel&<br />
fusion-icon<br />
</nowiki>}}<br />
Make it executable<br />
<br />
chmod +x start-fusion.sh<br />
<br />
And add it to .xinitrc, like this:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec /path/to/file/start-fusion.sh<br />
</nowiki>}}<br />
<br />
Feel free to use a different panel, tray, or start a whole bunch of applications with your session.<br />
See [https://bbs.archlinux.org/viewtopic.php?id=51282 this forum thread] for more info.<br />
<br />
{{Note|Using a separate script instead of running everything from xinitrc is the only way to let all launching applications use ConsoleKit: see [[ConsoleKit#Running_several_applications_from_.7E.2F.xinitrc|this article]].}}<br />
<br />
==== Add a root menu ====<br />
<br />
To add a root menu similar to that in Openbox, Fluxbox, Blackbox etc. you must install the package {{AUR|compiz-deskmenu}}.<br />
Upon a restart of Compiz-Fusion, you should be able to middle click on your desktop to launch the menu.<br />
<br />
If it does not automatically work, enter the CompizConfig Settings Manager, and in Commands tab, within the General Settings menu, ensure that there is a command to launch Compiz-Deskmenu, and the appropriate key binding is set to Control+Space.<br />
<br />
If it still does not work, enter the Viewport Switcher menu, and change "Plugin for initiate action" to core (NOTE: for versions 0.8.2+ it's 'commands' instead of 'core'), and "Action name for initiate" to run_command0_key.<br />
<br />
An alternative is to use {{AUR|mygtkmenu}}, also in [[AUR]].<br />
<br />
==== Allow users to shutdown/reboot ====<br />
<br />
Refer to [[Allow_Users_to_Shutdown|this]] wiki page. If using "The Modern way" of policykit You can add the command to ccsm->General->Commands and assign a short-cut key to it or alternatively you can use a launcher application.<br />
<br />
== Miscellaneous ==<br />
<br />
=== Configuration ===<br />
<br />
[[Compiz#Configuration|You must do this so your windows function like you expect them to!]].<br />
<br />
=== Using gtk-window-decorator ===<br />
<br />
In order to use gtk-window-decorator, install the package ''compiz-decorator-gtk'' and select "GTK Window Decorator" instead of "Emerald" as your window decorator in fusion-icon or whatever other program you are using to configure compiz.<br />
<br />
=== gconf: additional Compiz configurations ===<br />
<br />
To achieve more satisfying results from Compiz, you can tweak its config with gconf-editor:<br />
<br />
$ gconf-editor<br />
<br />
Note that now compiz-core isn't built with gconf support; It is now built with gconf support through compiz-decorator-gtk. So, you need to install it if you want to use gconf-editor to edit your Compiz configuration.<br />
The Compiz gconf configuration is located in in the key ''apps > compiz > general > allscreens > options''.<br />
<br />
"Active plugins" is where you specify the plugins you would like to use. Simply edit the key and add a value(refer to the key ''apps > compiz > plugins'' to see possible values). Plugins I’ve found useful are screenshot, png, fade, and minimize. Please do not remove those enabled by default.<br />
<br />
=== ATI R600/R700 notes ===<br />
<br />
While using fusion-icon you shouldn't experience any problems because it takes care of everything for you, but if you are using one of the autostart methods that do not involve fusion-icon you will run into trouble. For example when using the Xfce autostart method without fusion icon you must edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml per the instructions above. However, if you follow the directions above explicity you will find that compiz does not load. You must instead make your xfce4-session.xml file look like this<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="LIBGL_ALWAYS_INDIRECT=1"/><br />
<value type="string" value="compiz"/><br />
<value type="string" value="--sm-disable"/><br />
<value type="string" value="--ignore-desktop-hints"/><br />
<value type="string" value="ccp"/><br />
<value type="string" value="--indirect-rendering"/><br />
</property><br />
<br />
This example targeted Xfce specifically, but it can be adapted to any desktop environment. It's just a matter of figuring out how to add it to the proper config file. The key thing is the required command which if typed on a command line would look like this<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
This is how Xfce's session manager interprets the above XML code. Notice that you do not need --replace because you are not first loading xfwm and then compiz.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Fallback ===<br />
<br />
If you are using [[KDE]], [[GNOME]] or [[XFCE]] and something is not right, for example you don’t see borders for your window, you can switch back to default DE window manager with this command:<br />
<br />
''wm_name'' --replace<br />
<br />
with kwin, metacity or xfwm4 instead of ''wm_name''.<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
Default plugin keyboard shortcuts (plugins have to be activated!)<br />
<br />
* Switch windows = {{Keypress|Alt+Tab}}.<br />
* Switch to next desktops = {{Keypress|Ctrl+Alt+&larr;}}.<br />
* Switch to previous desktop = {{Keypress|Ctrl+Alt+&rarr;}}.<br />
* Move window = {{Keypress|Alt+Left click}}.<br />
* Resize window = {{Keypress|Alt+Right click}}.<br />
<br />
A more detailed list can be found under [http://wiki.compiz-fusion.org/CommonKeyboardShortcuts CommonKeyboardShortcuts] in the Compiz wiki or you can always just look at your plugin's configuration ('''ccsm''').<br />
<br />
== Troubleshooting ==<br />
<br />
{{Out of date}}<br />
<br />
=== Missing GLX_EXT_texture_from_pixmaps ===<br />
<br />
==== On ATI cards (first solution) ====<br />
<br />
https://bbs.archlinux.org/viewtopic.php?id=50073<br />
If you run into the following error when trying to run Compiz Fusion on an ATI card:<br />
<br />
Missing GLX_EXT_texture_from_pixmap<br />
<br />
This is because Compiz Fusion's binary was compiled against Mesa's OpenGL library rather than ATI's OpenGL library (which is what you are using). Re-install libgl-dri (yes you will have to uninstall fglrx temporarily) to get Mesa's OpenGL library. <br />
<br />
copy the library into a directory to keep it because ATI's drivers will over write it. <br />
<br />
mkdir /lib/mesa<br />
cp /usr/lib/libGL.so.1.2 /lib/mesa<br />
<br />
Once you have it copied, you can reinstall your fglrx drivers (It should have been removed when you installed libgl-dri). Now you can start Compiz Fusion using the following example syntax: <br />
<br />
LD_PRELOAD=/lib/mesa/libGL.so.1.2 compiz --replace &<br />
<br />
==== On ATI cards (second solution) ====<br />
<br />
An other problem could arise with GLX_EXT_texture_from_pixmap, it is possible that the card could only render it indirectly, then you have to pass the option to your libgl like that :<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp &<br />
<br />
(Workaround tested on the following card : ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 02))<br />
<br />
==== On Intel chips ====<br />
<br />
First off, check that you're using the intel driver as opposed to i810. Then, run the following command to run Compiz (must use this every time.).<br />
LIBGL_ALWAYS_INDIRECT=true compiz --replace --sm-disable ccp &<br />
If you then do not have borders, run:<br />
emerald --replace<br />
As at 17-Oct-07 the [http://wiki.compiz-fusion.org/Troubleshooting Compiz-Fusion Wiki] states: <i>"If you are using an Intel GMA card with AIGLX, you will need to start Compiz Fusion with LIBGL_ALWAYS_INDIRECT=1 appended.</i>"<br />
<br />
=== Compiz starts, but no effects are visible ===<br />
<br />
If you have installed compiz-decorator-gtk:<br />
Check if GConf schema was correctly installed: <br />
gconftool-2 -R /apps/compiz/plugins | grep plugins<br />
make sure that all plugins are listed (not only fade!). If not, try to install Compiz schema manually (do this as normal user, not as root!!!): <br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
{{Note|Compiz basic plugins are not enabled by default. You should enable "Move Window", "Resize Window", and "Window decoration" plugins in settings manager from fusion-icon to have a usable window manager.}}<br />
<br />
=== Compiz starts, but gtk-window-decorator does not ===<br />
It is a configuration problem for gconf and gconfd. I solved it by removing ".gconf" dir in my home, but I'm using KDE. If you are using Gnome you should enter your ".gconf" directory and remove all Compiz keys. This will erase your Compiz settings, so be sure to reconfigure.<br />
Finally exec as user:<br />
<br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
=== Compiz appears to start, but there are no window borders ===<br />
<br />
When you run fusion-icon from commandline, you get output like this:<br />
<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
* NVIDIA on Xorg detected, exporting: __GL_YIELD=NOTHING<br />
* Using the GTK Interface<br />
* Metacity is already running<br />
* Setting window manager to Compiz<br />
... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
<br />
All you need to do is edit your {{ic|/etc/X11/xorg.conf}} and find the "Depth" directive inside the "Screen" section; change all occurences of this value to 24. This occured to me with my colour depth set to 16; but also happens when it is set to 32.<br />
<br />
----<br />
<br />
You may also try adding ''Option "AddARGBGLXVisuals" "True"'' & ''Option "DisableGLXRootClipping" "True"'' to your "Screen" section if you are using the NVIDIA binary driver. (Radeon, and the open 'nv' driver will not work with this option as far as I can tell.) If you used any other Options elsewhere in '''xorg.conf''' to get Compiz working and still have no luck, try commenting them out and using only the aformentioned ARGBGLXVisuals and GLXRootClipping Options.<br />
<br />
{{Note|Check that "Window decoration", "Move" and "Resize" plugins are enabled with Compiz Settings Manager or gconf-editor.}}<br />
<br />
With gconf-editor you can easly enable "Window decoration", "Move" and "Resize" plugins.<br />
<br />
$ gconf-editor<br />
<br />
Navigate to ''apps > compiz > general > allscreens > options''.<br />
<br />
Add/Edit "active_plugins" Key (Name: active_plugins, Type: List, List type: String).<br />
<br />
Add "decoration", "move", and "resize" to the list.<br />
<br />
----<br />
<br />
'''Another way to fix this''':<br />
* Launch '''ccsm'''.<br />
* Find '''windows decoration''' and make sure it is enabled.<br />
* Now click on it, to edit the options.<br />
* If the entry behind '''command''' is empty, put the value '''gtk-window-decorator''' there.<br />
** Alternatives are '''kde-window-decorator''' and '''emerald'''<br />
* Click '''Back''' and '''Close'''<br />
* If all went well, the borders should appear.<br />
<br />
=== Compiz starts and borders appear, but windows won't move ===<br />
<br />
Be sure you have the "Move Window" plugin installed and enabled in the Compiz settings manager.<br />
<br />
=== Blank screen on resume from suspend-to-ram using the NVIDIA binary drivers ===<br />
<br />
If you receive a blank screen with a responsive cursor upon resume, try disabling sync to vblank:<br />
<br />
gconftool -s /apps/compiz/general/screen0/options/sync_to_vblank-t boolean false<br />
<br />
=== fusion-icon doesn't start ===<br />
<br />
If you get an output like this from the command line:<br />
$ fusion-icon<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
Traceback (most recent call last):<br />
File "/usr/bin/fusion-icon", line 57, in <module><br />
from FusionIcon.interface import choose_interface<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/interface.py", line 23, in <module><br />
import start<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/start.py", line 36, in <module><br />
config.check()<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/util.py", line 362, in check<br />
os.makedirs(self.config_folder)<br />
File "/usr/lib/python2.5/os.py", line 172, in makedirs<br />
mkdir(name, mode)<br />
OSError: [Errno 13] Permission denied: '/home/andy/.config/compiz'<br />
<br />
the problem is with the permission on {{ic|~/.config/compiz}}. You have set the owner of a folder in your area as root. To change this, run (as root)<br />
chown <username> /home/<username>/.config/compiz<br />
<br />
=== Choppy animations, even though everything configured correctly ===<br />
<br />
If everything is configured correctly but you still have poor performance on some effects, try disabling ''CCSM > General Options > Display Settings > Detect Refresh Rate'' and instead choose a value manually. Tested on both NVIDIA and Intel chips. Can work wonders.<br />
<br />
Alternatively, if your chip is NVIDIA and you are experiencing an inadequate refresh rate with "Detect Refresh Rate" enabled in Compiz, it's likely due to an option called DynamicTwinView being enabled by default which plays a factor in accurately reporting the maximum refresh rate that your card and display support. You can disable DynamicTwinView by adding the following line to the "Device" or "Screen" section of your xorg.conf file, and then restarting your computer:<br />
<br />
Option "DynamicTwinView" "False"<br />
<br />
Doing so will allow XrandR to accurately report the refresh rate to anything that detects it, including Compiz. You should be able to leave "Detect Refresh Rate" enabled and get excellent performance. Once again, this only applies to NVIDIA chips.<br />
<br />
=== Fix GNOME screenshot ===<br />
<br />
To re-enable gnome-screenshot (the default behavior caused by hitting {{Keypress|PrtScn}}) simply go to Settings Manager>Commands and map 'gnome-screenshot' to the 'PrtScn' key. This is advantageous because you can also use the Compiz-Fusion 'Screenshot' plugin at the same time since the action that enables it is {{Keypress|Super+Button1}} thereby giving you two methods to do a screen capture (one of which gives a full screen capture in a single keystroke).<br />
<br />
=== Get GNOME workspace switcher work with Compiz-Fusion ===<br />
<br />
In older versions of Compiz, the Gnome Workspace Switcher applet would actually work with Compiz-Fusion (i.e. rotate cube/move plane etc.), but recent versions seem not to. This is due to a new feature introduced in Compiz, which allows real seperate workspaces. For example, if you have a desktop plane with four planes, and have four desktops enabled in Gnome, it sums up to a total of 16 different workspaces. Currently, there is no animation associated with "real" workspace changing. To get the Workspace Switcher work, set the following options in GConf:<br />
<br />
/apps/compiz/general/screen0/options/number_of_desktops = '''1'''<br />
/apps/compiz/general/screen0/options/hsize = 4 (this is an example)<br />
/apps/compiz/general/screen0/options/vsize = 1 (this is an example)<br />
<br />
=== Screen flicks with NVIDIA card ===<br />
<br />
For fixing it, create /etc/modprobe.d/nvidia.conf file and add line:<br />
options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222"<br />
<br />
=== Fix custom cursor theme on GNOME 2.30 ===<br />
<br />
Create or edit /usr/share/icons/default/index.theme for default, or per user '''(non-root)''' ~/.icons/default/index.theme, and add this lines:<br />
<br />
[Icon Theme]<br />
#Name=''foo''<br />
Name=''foo''<br />
#Inherits=''foo''<br />
Inherits=''foo''<br />
[Desktop Entry]<br />
Name[en_US]=index.theme<br />
<br />
"Foo" is the name of the cursor theme.<br />
<br />
=== Screen artifacts on Firefox/Thunderbird ===<br />
<br />
{{Note|Altough this issue is not strictly related to Compiz, it has been added here due to popular misconception that Compiz itself may be the cause.}}<br />
<br />
Some users noticed a strange behavior with AMD/ATI Catalyst drivers starting from 10.6 release. Artifacts are visible mainly with Mozilla applications, where the GUI shows black spots of variable size. This is caused by different 2D acceleration tecnique introduced with Catalyst 10.6.<br />
The problem can be fixed following the troubleshooting steps in the [[ATI_Catalyst#Black.2Fgrey.2Fwhite_boxes.2Fartifacts_mainly_in_firefox.2Fthunderbird|ATI Catalyst page]]<br />
<br />
=== Setting the window manager back to Metacity after uninstall ===<br />
<br />
Removing Compiz with pacman does not set your window manager back to metacity. This can result in no window borders being drawn, an inability to minimize, and an inability to change the focus. To change it back, run the command "gconf-editor" in the terminal (install it if you do not have it already). Use this to set the value of the key {{ic|/desktop/gnome/session/required_components/window_manager}} from "compiz" to "metacity". Log out and back in for this change to take effect.<br />
<br />
=== Context menu in applications (Firefox, ...?) disappears on mouseover ===<br />
<br />
Try disabling "focus stealing prevention" (general options).<br />
<br />
=== See also ===<br />
<br />
* [http://wiki.compiz.org/Troubleshooting Troubleshooting page] on compiz.org<br />
* [http://compiz.org Compiz website], including wiki and forum</div>Plphttps://wiki.archlinux.org/index.php?title=Compiz&diff=265812Compiz2013-07-11T09:40:32Z<p>Plp: /* Other */</p>
<hr />
<div>[[Category:Eye candy]]<br />
[[Category:Stacking WMs]]<br />
[[el:Compiz]]<br />
[[es:Compiz]]<br />
[[fr:Compiz]]<br />
[[it:Compiz]]<br />
[[ja:Compiz]]<br />
[[pl:Compiz]]<br />
[[pt:Compiz]]<br />
[[ru:Compiz]]<br />
[[tr:Compiz]]<br />
[[zh-CN:Compiz]]<br />
{{Out of date|Since Compiz has been moved to the AUR [https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024956.html], some links to packages still need to be added or updated and links to groups need to be replaced.}}<br />
{{Article summary start}}<br />
{{Article summary wiki|Compiz Configuration}}<br />
{{Article summary wiki|Xcompmgr}}<br />
{{Article summary wiki|Cairo Compmgr}}<br />
{{Article summary end}}<br />
<br />
Compiz is a [[Wikipedia:Compositing window manager|compositing window manager]]. It provides its own window manager, [[Emerald]]. Therefore it cannot be used simultaneously with other window managers such as [[Openbox]], [[Fluxbox]], or [[Enlightenment]]. Users who want to keep their current window managers and add some effects to it may wish to try [[Xcompmgr]] instead.<br />
<br />
== Requirements ==<br />
<br />
Users of major [[DE]]s can make good use of {{AUR|compiz-manager}}, performing brief requirements checking and switching to fallback WM in case of errors. Discovering setup and hardware issues can also be done with {{AUR|compiz-check}} script available in [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install [https://aur.archlinux.org/packages.php?K=compiz packages], available in [[AUR]].<br />
<br />
Users who wish to select the packages individually may start with {{Pkg|compiz-core}} and one of [[#Decorators|decorators]].<br />
{{Note|Lack of configured window decorator can render your [[X]] workspace slightly unusable.}}<br />
<br />
=== Initial configuration ===<br />
<br />
While the appearance of the windows and their contents is a function of [[GTK+]] and [[Qt]], the frames around the windows are controlled by the Window Decoration plugin. To use it make sure you have a window decorator installed. Depending on what packages you have downloaded you can choose among several window decorators. The most common ones are Emerald, kde-window-decorator, and gtk-window-decorator. The emerald decorator has the advantage that it fits better to compiz's screen handling and offers transparency effects. To set your default window decorator type the following command string in the "Window Decoration" plugin's settings under the field "Command".<br />
<br />
Ensure that the "Window decorator" plugin is enabled in ccsm's "effects" tab, the "command" field is filled in to start a decorator.<br />
<br />
To set '''emerald''' as your default window-decorator type:<br />
$ emerald --replace<br />
To set the '''kde-window-decorator''' as an alternative to Emerald type:<br />
kde4-window-decorator --replace<br />
To set the '''compiz-decorator-gtk''' as an alternative to Emerald type:<br />
$ gtk-window-decorator --replace<br />
<br />
{{Box RED|Activate important plugins!|<br />
There is high possibility that you will want to activate a few plugins that provide basic window manager behavior or else you will have no ability to drag, scale or close any windows as soon as compiz is activated. Among those plugins are "Window Decoration" under Effects and "Move Window" & "Resize Window" under Window Management. ''ccsm'' command may be used to achieve this. Simply put check marks next to those plugins to activate them.}}<br />
<br />
== Additional software ==<br />
<br />
=== Decorators ===<br />
<br />
* {{App|[[Emerald]]|Compiz's own window decorator with few dependencies. (Note: Works but is buggy and no longer maintained)|http://www.compiz.org|{{Pkg|emerald}}}}<br />
* {{Pkg|compiz-decorator-gtk}} and {{Pkg|compiz-decorator-kde}} &ndash; alternatives to Emerald, using your desktop environment's configuration backends and looks.<br />
<br />
=== Other ===<br />
<br />
* [https://aur.archlinux.org/packages/?K=ccsm ccsm] (CompizConfig settings manager) - GUI application that lets you configure all of Compiz's plugins<br />
* [https://aur.archlinux.org/packages/?K=fusion-icon fusion-icon] - offers a tray icon and a nice way to start compiz, start ccsm and change the WM / Window Decorator<br />
<br />
{{Box RED|Warning:|<br />
fusion-icon is currently broken, due to a bug introduced with glib2 2.36.1 (FS#34892) and has been removed from the repos. If you plan on using fusion-icon, you should install [https://aur.archlinux.org/packages/fusion-icon-fixed/ fusion-icon-fixed] from AUR instead.}}<br />
<br />
== Starting Compiz Fusion ==<br />
<br />
=== Manually (with "fusion-icon") ===<br />
<br />
Launch the Compiz Fusion tray icon:<br />
$ fusion-icon<br />
<br />
{{Note|If it fails (almost never), you may try it with dbus-launch:<br />
$ dbus-launch "fusion-icon"}}<br />
Right click on the icon in the panel and go to 'select window manager'. Choose "Compiz" if it isn't selected already, and you should be set.<br />
<br />
If this fails you can start compiz-fusion by using the following additional command to replace your default window decorator with Compiz's window decorator (Emerald):<br />
$ emerald --replace<br />
<br />
'''Again, note:''' If you want to use compiz window decorations make sure you have the "Window Decoration" plugin marked in the compiz settings through ccsm.<br />
<br />
=== Manually (without "fusion-icon") ===<br />
<br />
Launch Compiz with the following command (which replaces your current window manager):<br />
$ compiz --replace ccp &<br />
<br />
A quick overview over common compiz command-line options:<br />
* {{ic|--indirect-rendering}}: use indirect-rendering (AIGLX)<br />
* {{ic|--loose-binding}}: can help performance issues (NVIDIA?)<br />
* {{ic|--replace}}: replace current window-manager<br />
* {{ic|--keep-window-hints}}: keep the gnome window-manager gconf-settings for available viewports, ...<br />
* {{ic|--sm-disable}}: disable session-management<br />
* {{ic|ccp}}: the "ccp" command loads the last configured settings from ccsm (CompizConfig Settings Manager) otherwise Compiz will load with no settings and you won't be able to do anything with your windows like dragging, maximizing/minimizing, or moving.<br />
<br />
=== KDE4 ===<br />
<br />
{{Note|The first and last methods will load Compiz-Fusion as the default window manager instead of KWin. This is faster than loading Compiz with 'fusion-icon' because it avoids loading two window managers at startup. This also prevents that annoying black screen flicker you might see using other methods (when KWin switches to Compiz on KDE's desktop loading screens). The downside is that if Compiz crashes, it may be more difficult to recover your desktop.}}<br />
<br />
==== Use System Settings (easiest)====<br />
<br />
Go to: ''System Settings > Default Applications > Window Manager > Use a different window manager''<br />
<br />
'''''If''''' you need to run compiz with custom options select "Compiz custom" (when you run {{ic|fusion-icon}} from a terminal you can see the command line with which compiz was started).<br />
Create a file called "compiz-kde-launcher" in {{ic|/usr/local/bin}}. Then make the file executable: {{ic|chmod +x /usr/bin/compiz-kde-launcher}}.<br />
<br />
For example:<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT&#61;1<br />
compiz --replace ccp &<br />
wait<br />
}}<br />
<br />
==== Autostart with "fusion-icon" ====<br />
<br />
Add a symbolic link, that points to the fusion-icon executable, in your KDE Autostart directory:<br />
$ ln -s /usr/bin/fusion-icon ~/.kde4/Autostart/fusion-icon<br />
<br />
Next time KDE is started, it will load fusion-icon automatically.<br />
<br />
==== Autostart link without "fusion-icon" ====<br />
<br />
{{Warning|Do '''not''' create '''compiz.desktop''' if you intend to install compiz-decorator-gtk; it will create a file conflict.}}<br />
<br />
* Append a desktop entry in the KDE Autostart directory. If it doesn't already exist (it should), create the file {{ic|~/.kde4/Autostart/compiz.desktop}} with the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp --replace<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
X-GNOME-Autostart-Phase=WindowManager<br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note|If '''compiz.desktop''' already exists, you may have to add {{ic|--replace}} and/or {{ic|ccp}} to the Exec variable. Without {{ic|--replace}}, Compiz won't load since it will detect another window manager already loaded. Without {{ic|ccp}}, Compiz will not load any of the settings and plugins that you have enabled through CompizConfig Settings Manager ('''ccsm''') and you won't be able to manipulate any of your windows.}}<br />
<br />
* If you want to use the optional {{ic|fusion-icon}} application, launch '''fusion-icon'''. If you log out normally with '''fusion-icon''' running, KDE should restore your session and launch '''fusion-icon''' the next time you log in if this setting is enabled. If it doesn't appear to be working, ensure you have the following line in {{ic|~/.kde4/share/config/ksmserverrc}}:<br />
<br />
loginMode=restorePreviousLogout<br />
<br />
{{Note|This is a KDE specific setting that will allow you to restore other apps next time you log in, not just fusion-icon.}}<br />
<br />
==== Export KDEWM without "fusion-icon" (preferred) ====<br />
<br />
As root you must create a short script by doing the following in your terminal. This will allow you to load compiz with the switches because doing it directly via {{ic|1=export KDEWM="compiz --replace ccp --sm-disable"}} doesn't seem to work.<br />
$ echo "compiz --replace ccp --sm-disable &" > /usr/bin/compiz-fusion<br />
<br />
{{Note|If this line doesn't work, make sure the '''fusion-icon''' package is installed and then use this line instead:<br />
$ echo "fusion-icon &" > /usr/bin/compiz-fusion<br />
Be sure to complete the whole method before trying this substitute.}}<br />
<br />
Ensure that {{ic|/usr/bin/compiz-fusion}} has executable ('''+x''') permissions.<br />
$ chmod a+x /usr/bin/compiz-fusion<br />
<br />
Choose one of the following:<br />
<br />
:1) Compiz for your user only > Edit the file {{ic|~/.kde4/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
:2) Compiz system wide > Edit the file {{ic|/etc/kde/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
{{Note|<br />
* If that still doesn't work, yet another alternate way to accomplish the above method is to include the line:<br />
export KDEWM&#61;"compiz-fusion"<br />
in your user's {{ic|~/.bashrc}} file.<br />
* If you optionally use the {{ic|/usr/local/bin}} directory it may not work. In that case you should export the script including the whole path:<br />
export KDEWM&#61;"/usr/local/bin/compiz-fusion"<br />
}}<br />
<br />
=== GNOME ===<br />
<br />
If you have installed [[GNOME3]] with gnome-shell, either enable forced Fallback mode (System Info > Graphics) or simply uninstall gnome-shell.<br />
{{Note|Fallback mode is not necessary if you choose the Compiz/Cairo-Dock session method below.}}<br />
<br />
==== Alternate Session for GNOME (preferred method for experienced Compiz/Dock users) ====<br />
<br />
The {{AUR|gnome-session-compiz}} can be used to add an additional menu entry in the GNOME session login dialog. This method does not require foced fallback mode and/or modifications to sensitive system files/settings. Also, you can switch between GNOME Shell and Compiz/Cairo-Dock between sessions. If you can't get it working, you can always go back to your original GNOME session.<br />
<br />
For this method to work, Compiz and Cairo-Dock (Taskbar/Panel) may have to be [[#Configuration|configured initially]] for fresh accounts, from another working session (ccsm in GNOME Shell worked fine for me).<br />
<br />
This method completely replaces the GNOME's window manager and panel (they are not launched at all, rather than being replaced or killed later). So, before actually switching to this alternate session, you may want to configure corresponding/alternate features of the original panel application in Cairo-Dock:<br />
* Add Application Menu icon to Cairo-Dock and remember its key-bindings.<br />
* Remap Application Menu key-bindings to ALT+F1 and ALT+F2, for convenience.<br />
* Add Clock, WiFi, NetSpeed icons to the dock as applicable.<br />
* Add Log-out icon:<br />
** Set the command for logout to "gnome-session-quit --logout"<br />
** Set the command for shutdown to "gnome-session-quit --power-off"<br />
* Add the Notification Area Old (systray) icon to Cairo-Dock.<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
This Method makes use of the [http://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] to specify a Compiz Desktop Entry and of the GConf default windowmanager setting. Thanks to the Desktop Entry you should be able to select Compiz as a windowmanager out of GDM.<br />
<br />
'''1)'''If the following file doesn't already exist (it should), create it {{ic|/usr/share/applications/compiz.desktop}} containing the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp #Make sure ccp is included so that Compiz loads your previous settings.<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
##-> the folloing line cause gnome-session warning and slow startup, so try not to enable this<br />
# X-GNOME-Autostart-Phase=WindowManager <br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note| If {{ic|compiz.desktop}} already exists, you must make sure that the "ccp" is included in the Exec variable. Having "ccp" included simply tells Compiz to load your previous settings, otherwise you won't have any functionality.}}<br />
<br />
If the above doesn't work (in most cases it does), for example if you notice some issues with windows refreshing or low performance, try:<br />
<br />
Exec=/usr/bin/compiz ccp --indirect-rendering<br />
<br />
or<br />
<br />
Exec=/usr/bin/compiz --replace --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
Instead of<br />
<br />
Exec=/usr/bin/compiz ccp<br />
<br />
Some Users noticed a "lag" of 4-10 seconds when loging in from a login manager. The solution is to change the command to:<br />
Exec=bash -c 'compiz ccp decoration --sm-client-id $DESKTOP_AUTOSTART_ID'<br />
as noted [https://bbs.archlinux.org/viewtopic.php?pid=655237#p655237 in the forum]. You can also add the extra parameters as described above if needed.<br />
<br />
'''2)''' Set some GConf parameters using the gconftool-2 command in a terminal window or do it visually with Configuration Editor (gconf-editor). The following outlines using the command line method, but you can also see which keys to change using gconf-editor:<br />
<br />
{{Note| Since those parameters apply to a given user, you '''must''' logout from the root account and log in as that other user before proceeding with the next steps. GConf will fail, if called from a root account.}}<br />
<br />
gconftool-2 --set -t string /desktop/gnome/session/required_components/windowmanager compiz<br />
<br />
The following are optional and in most cases not necessary (the respective keys are deprecated since GNOME 2.12). But iny any case, if the above didn't succeed the next two statements are still valid and should be tried.<br />
<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/current /usr/bin/compiz<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/default /usr/bin/compiz<br />
<br />
==== Autostart (without "fusion-icon") (with GNOME fallback mode session) ====<br />
<br />
Edit file {{ic|/usr/share/gnome-session/sessions/gnome-fallback.session}}:<br />
<br />
Replace your windows manager (gnome-shell,metacity...) with ''compiz'' in '''RequiredComponents''' line.<br />
<br />
Change ''DefaultProvider-windowmanager'' line to ''DefaultProvider-windowmanager=compiz''<br />
<br />
Here is part of my {{ic|gnome-fallback.session}}:<br />
<br />
RequiredComponents=compiz;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=compiz<br />
DefaultProvider-notifications=notification-daemon<br />
<br />
{{Note|I took out gnome-panel as I am using avant-window-navigator as my panel.<br />
I'am using gnome3 fallback mode with compiz, make gtk-window-decorator start with compiz, and make avant-window-navigator start automatically.}}<br />
<br />
==== Autostart (without "fusion-icon", Gnome prior to 2.24) ====<br />
<br />
This is a way that works if you use GDM (and I'd assume KDM too).<br />
<br />
Make a file called /usr/local/bin/compiz-start-boot with the contents:<br />
#!/bin/bash<br />
export WINDOW_MANAGER="compiz ccp"<br />
exec gnome-session<br />
<br />
and make it executable ({{ic|chmod +x /usr/local/bin/compiz-start-boot}}). Next create the file {{ic|/etc/X11/sessions/Compiz.desktop}} containing the following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Compiz on GNOME<br />
Exec=/usr/local/bin/compiz-start-boot<br />
Icon=<br />
Type=Application<br />
<br />
Select Compiz on Gnome as your session and you're good to go.<br />
<br />
==== Autostart (with "fusion-icon") ====<br />
<br />
To start Compiz fusion automatically when starting a session go to System > Preferences > Startup Applications. In the Startup Programs tab, click the Add button.<br />
<br />
You will now see the Add Startup Program dialogue. Fill it in as follows.<br />
<br />
Name:<br />
Compiz Fusion<br />
Command:<br />
fusion-icon<br />
Comment: (Put anything you like or leave blank.)<br />
<br />
{{Note| You can also use "compiz --replace ccp" instead of "fusion-icon" to load compiz but there will be no fusion-icon.<br />
<br />
The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager ('''ccsm''').}}<br />
<br />
When you're done hit the Add button. You should now see your startup program in the list in the Startup Programs tab. It must be checked to be enabled. You can uncheck it to disable Compiz on startup and switch back to Metacity.<br />
<br />
You may also need to use the gconftool-2 command in a terminal window to set the following parameter, otherwise fusion-icon might not load the windows decorator.<br />
gconftool-2 --type bool --set /apps/metacity/general/compositing_manager false<br />
<br />
{{Note|This method will be slower due to the fact that Gnome will first load the default window manager (Metacity), then will launch fusion-icon which will load the Compiz window manager to replace Metacity. Essentially, it will take the amount of time that it takes to load two window manangers to get Compiz loaded. The first method is preferred and eliminates this issue.}}<br />
<br />
=== Mate desktop ===<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
As with Gnome, create a compiz.desktop file (see [[Compiz#Autostart_.28without_.22fusion-icon.22.29_.28Preferred_Method.29]]), then set Compiz as the default window manager :<br />
* on Mate prior to 1.6, edit the following mateconf entries (note: the last two are deprecated values):<br />
mateconftool-2 --set -t string /desktop/mate/session/required_components/windowmanager compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/current /usr/bin/compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/default /usr/bin/compiz<br />
<br />
* on Mate 1.6 and higher, edit the following gsettings value<br />
gsettings set org.mate.session.required-components windowmanager compiz<br />
<br />
=== XFCE ===<br />
<br />
==== XFCE autostart (without "fusion-icon") ====<br />
<br />
This method will start Compiz directly through the XFCE session manager without loading Xfwm.<br />
<br />
Please note the change to xml config files in XFCE newer than 4.2<br />
<br />
To install the session manager, install {{Pkg|xfce4-session}}.<br />
<br />
Now we have to configure the default/failsafe session of XFCE.<br />
<br />
Edit the {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} or (to make the change for all XFCE users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Replace the xfwm startup command,<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="xfwm4"/><br />
</property><br />
<br />
with the following:<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="compiz"/><br />
<value type="string" value="ccp"/><br />
</property><br />
<br />
{{Note|The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
To prevent the default session from being overwritten you may also add this:<br />
<br />
<property name="general" type="empty"><br />
...<br />
...<br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
To remove the existing sessions, run:<br />
$ rm -r ~/.cache/sessions<br />
<br />
==== XFCE autostart (with "fusion-icon") ====<br />
<br />
===== Method 1 =====<br />
<br />
{{Note| This method is the least preferred since it loads both window managers. All the other XFCE methods only load Compiz without loading Xfwm.}}<br />
This will load Xfwm first then replace it with Compiz.<br />
<br />
Open the XFCE Settings Manager & then Sessions & Startup. Click the Application Autostart tab.<br />
<br />
Add<br />
(Name:) Compiz Fusion<br />
<br />
(Command:) fusion-icon<br />
<br />
{{Note|You can also use {{ic|compiz --replace ccp}} instead of '''fusion-icon''' to load Compiz but there will be no fusion-icon. The ''ccp'' value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
===== Method 2 =====<br />
<br />
Edit the file {{ic|~/.config/xfce4-session/xfce4-session.rc}} (settings in this file is used in preference).<br />
<br />
Or to make the change for all XFCE users, edit as root {{ic|/etc/xdg/xfce4-session/xfce4-session.rc}}.<br />
<br />
Add the following<br />
[Failsafe Session]<br />
Client0_Command=fusion-icon<br />
<br />
Comment out Client0_Command=xfwm4 if it exists.<br />
<br />
This will cause xfce to load Compiz instead of Xfwm when the user has no existing sessions.<br />
<br />
To prevent the default session from being overwritten you may also add<br />
[General]<br />
AutoSave=false<br />
SaveOnExit=false<br />
<br />
To remove the existing sessions<br />
rm -R ~/.cache/sessions<br />
<br />
===== Method 3 =====<br />
<br />
Check if this file exists:<br />
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
If not do:<br />
cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
Then edit {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}.<br />
<br />
or (to make the changes for all xfce4 users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Edit Client0_Command that it look like this:<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="fusion-icon"/><br />
<value type="string" value="--force-compiz"/><br />
</property><br />
if '''--force-compiz''' doesn't work use '''compiz --replace --sm-disable --ignore-desktop-hints ccp''' instead.<br />
<br />
Add the '''SaveOnExit property''' if missing and set it to '''false''':<br />
<property name="general" type="empty"><br />
<property name="FailsafeSessionName" type="string" value="Failsafe"/><br />
<property name="SessionName" type="string" value="Default"/><br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
finally remove old xfce4 sessions:<br />
rm -r ~/.cache/sessions<br />
<br />
Now XFCE4 will load compiz instead of XFWM.<br />
<br />
=== As a standalone window manager ===<br />
<br />
The package compiz-core by itself is sufficient to start using compiz-fusion. However ccsm and emerald (or another window-decorator) are additional highly recommended packages. You may install fusion-icon, compiz-fusion-plugins-main, compiz-fusion-plugins-extra or any other package later on at any time.<br />
<br />
To autostart compiz-fusion configure .xinitrc to launch compiz as:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec compiz ccp<br />
</nowiki>}}<br />
You can also add other [[Compiz_fusion#Manually_.28without_.22fusion-icon.22.29|command-line options]] to your .xinitrc<br />
<br />
Or if using fusion-icon, configure .xinitrc as<br />
{{hc|~/.xinitrc|<nowiki><br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
However chances are you will need additional apps (e.g a panel) for optimal usability. So to autostart such apps simply add them to your .xinitrc as:<br />
{{hc|~/.xinitrc|<nowiki><br />
tint2 &<br />
cairo-dock &<br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
{{Note|Add a terminal-emulator to this autostart list while starting for the first time to help [[Compiz_fusion#Configuration|configure]] Compiz.}} <br />
<br />
An alternative method, utilizing a simple script entitled '''start-fusion.sh''':<br />
{{hc|start-fusion.sh|<nowiki><br />
#!/bin/sh<br />
# add more apps here if necessary or start another panel, tray like pypanel, bmpanel, stalonetray<br />
xfce4-panel&<br />
fusion-icon<br />
</nowiki>}}<br />
If this script dosn't work for you, or you get issues with '''dbus''' utilize this script:<br />
{{hc|start-fusion.sh|<nowiki><br />
#!/bin/sh<br />
cd /home/<yourusername><br />
eval $(dbus-launch --sh-syntax --exit-with-session)<br />
/usr/bin/X :0.0 -br -audit 0 -nolisten tcp vt7 &<br />
export DISPLAY=:0.0<br />
sleep 1<br />
compiz-manager decoration move resize > /tmp/compiz.log 2>&1 &<br />
# add more apps here if necessary or start another panel, tray like pypanel, bmpanel, stalonetray<br />
xfce4-panel&<br />
fusion-icon<br />
</nowiki>}}<br />
Make it executable<br />
<br />
chmod +x start-fusion.sh<br />
<br />
And add it to .xinitrc, like this:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec /path/to/file/start-fusion.sh<br />
</nowiki>}}<br />
<br />
Feel free to use a different panel, tray, or start a whole bunch of applications with your session.<br />
See [https://bbs.archlinux.org/viewtopic.php?id=51282 this forum thread] for more info.<br />
<br />
{{Note|Using a separate script instead of running everything from xinitrc is the only way to let all launching applications use ConsoleKit: see [[ConsoleKit#Running_several_applications_from_.7E.2F.xinitrc|this article]].}}<br />
<br />
==== Add a root menu ====<br />
<br />
To add a root menu similar to that in Openbox, Fluxbox, Blackbox etc. you must install the package {{AUR|compiz-deskmenu}}.<br />
Upon a restart of Compiz-Fusion, you should be able to middle click on your desktop to launch the menu.<br />
<br />
If it does not automatically work, enter the CompizConfig Settings Manager, and in Commands tab, within the General Settings menu, ensure that there is a command to launch Compiz-Deskmenu, and the appropriate key binding is set to Control+Space.<br />
<br />
If it still does not work, enter the Viewport Switcher menu, and change "Plugin for initiate action" to core (NOTE: for versions 0.8.2+ it's 'commands' instead of 'core'), and "Action name for initiate" to run_command0_key.<br />
<br />
An alternative is to use {{AUR|mygtkmenu}}, also in [[AUR]].<br />
<br />
==== Allow users to shutdown/reboot ====<br />
<br />
Refer to [[Allow_Users_to_Shutdown|this]] wiki page. If using "The Modern way" of policykit You can add the command to ccsm->General->Commands and assign a short-cut key to it or alternatively you can use a launcher application.<br />
<br />
== Miscellaneous ==<br />
<br />
=== Configuration ===<br />
<br />
[[Compiz#Configuration|You must do this so your windows function like you expect them to!]].<br />
<br />
=== Using gtk-window-decorator ===<br />
<br />
In order to use gtk-window-decorator, install the package ''compiz-decorator-gtk'' and select "GTK Window Decorator" instead of "Emerald" as your window decorator in fusion-icon or whatever other program you are using to configure compiz.<br />
<br />
=== gconf: additional Compiz configurations ===<br />
<br />
To achieve more satisfying results from Compiz, you can tweak its config with gconf-editor:<br />
<br />
$ gconf-editor<br />
<br />
Note that now compiz-core isn't built with gconf support; It is now built with gconf support through compiz-decorator-gtk. So, you need to install it if you want to use gconf-editor to edit your Compiz configuration.<br />
The Compiz gconf configuration is located in in the key ''apps > compiz > general > allscreens > options''.<br />
<br />
"Active plugins" is where you specify the plugins you would like to use. Simply edit the key and add a value(refer to the key ''apps > compiz > plugins'' to see possible values). Plugins I’ve found useful are screenshot, png, fade, and minimize. Please do not remove those enabled by default.<br />
<br />
=== ATI R600/R700 notes ===<br />
<br />
While using fusion-icon you shouldn't experience any problems because it takes care of everything for you, but if you are using one of the autostart methods that do not involve fusion-icon you will run into trouble. For example when using the Xfce autostart method without fusion icon you must edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml per the instructions above. However, if you follow the directions above explicity you will find that compiz does not load. You must instead make your xfce4-session.xml file look like this<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="LIBGL_ALWAYS_INDIRECT=1"/><br />
<value type="string" value="compiz"/><br />
<value type="string" value="--sm-disable"/><br />
<value type="string" value="--ignore-desktop-hints"/><br />
<value type="string" value="ccp"/><br />
<value type="string" value="--indirect-rendering"/><br />
</property><br />
<br />
This example targeted Xfce specifically, but it can be adapted to any desktop environment. It's just a matter of figuring out how to add it to the proper config file. The key thing is the required command which if typed on a command line would look like this<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
This is how Xfce's session manager interprets the above XML code. Notice that you do not need --replace because you are not first loading xfwm and then compiz.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Fallback ===<br />
<br />
If you are using [[KDE]], [[GNOME]] or [[XFCE]] and something is not right, for example you don’t see borders for your window, you can switch back to default DE window manager with this command:<br />
<br />
''wm_name'' --replace<br />
<br />
with kwin, metacity or xfwm4 instead of ''wm_name''.<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
Default plugin keyboard shortcuts (plugins have to be activated!)<br />
<br />
* Switch windows = {{Keypress|Alt+Tab}}.<br />
* Switch to next desktops = {{Keypress|Ctrl+Alt+&larr;}}.<br />
* Switch to previous desktop = {{Keypress|Ctrl+Alt+&rarr;}}.<br />
* Move window = {{Keypress|Alt+Left click}}.<br />
* Resize window = {{Keypress|Alt+Right click}}.<br />
<br />
A more detailed list can be found under [http://wiki.compiz-fusion.org/CommonKeyboardShortcuts CommonKeyboardShortcuts] in the Compiz wiki or you can always just look at your plugin's configuration ('''ccsm''').<br />
<br />
== Troubleshooting ==<br />
<br />
{{Out of date}}<br />
<br />
=== Missing GLX_EXT_texture_from_pixmaps ===<br />
<br />
==== On ATI cards (first solution) ====<br />
<br />
https://bbs.archlinux.org/viewtopic.php?id=50073<br />
If you run into the following error when trying to run Compiz Fusion on an ATI card:<br />
<br />
Missing GLX_EXT_texture_from_pixmap<br />
<br />
This is because Compiz Fusion's binary was compiled against Mesa's OpenGL library rather than ATI's OpenGL library (which is what you are using). Re-install libgl-dri (yes you will have to uninstall fglrx temporarily) to get Mesa's OpenGL library. <br />
<br />
copy the library into a directory to keep it because ATI's drivers will over write it. <br />
<br />
mkdir /lib/mesa<br />
cp /usr/lib/libGL.so.1.2 /lib/mesa<br />
<br />
Once you have it copied, you can reinstall your fglrx drivers (It should have been removed when you installed libgl-dri). Now you can start Compiz Fusion using the following example syntax: <br />
<br />
LD_PRELOAD=/lib/mesa/libGL.so.1.2 compiz --replace &<br />
<br />
==== On ATI cards (second solution) ====<br />
<br />
An other problem could arise with GLX_EXT_texture_from_pixmap, it is possible that the card could only render it indirectly, then you have to pass the option to your libgl like that :<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp &<br />
<br />
(Workaround tested on the following card : ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 02))<br />
<br />
==== On Intel chips ====<br />
<br />
First off, check that you're using the intel driver as opposed to i810. Then, run the following command to run Compiz (must use this every time.).<br />
LIBGL_ALWAYS_INDIRECT=true compiz --replace --sm-disable ccp &<br />
If you then do not have borders, run:<br />
emerald --replace<br />
As at 17-Oct-07 the [http://wiki.compiz-fusion.org/Troubleshooting Compiz-Fusion Wiki] states: <i>"If you are using an Intel GMA card with AIGLX, you will need to start Compiz Fusion with LIBGL_ALWAYS_INDIRECT=1 appended.</i>"<br />
<br />
=== Compiz starts, but no effects are visible ===<br />
<br />
If you have installed compiz-decorator-gtk:<br />
Check if GConf schema was correctly installed: <br />
gconftool-2 -R /apps/compiz/plugins | grep plugins<br />
make sure that all plugins are listed (not only fade!). If not, try to install Compiz schema manually (do this as normal user, not as root!!!): <br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
{{Note|Compiz basic plugins are not enabled by default. You should enable "Move Window", "Resize Window", and "Window decoration" plugins in settings manager from fusion-icon to have a usable window manager.}}<br />
<br />
=== Compiz starts, but gtk-window-decorator does not ===<br />
It is a configuration problem for gconf and gconfd. I solved it by removing ".gconf" dir in my home, but I'm using KDE. If you are using Gnome you should enter your ".gconf" directory and remove all Compiz keys. This will erase your Compiz settings, so be sure to reconfigure.<br />
Finally exec as user:<br />
<br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
=== Compiz appears to start, but there are no window borders ===<br />
<br />
When you run fusion-icon from commandline, you get output like this:<br />
<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
* NVIDIA on Xorg detected, exporting: __GL_YIELD=NOTHING<br />
* Using the GTK Interface<br />
* Metacity is already running<br />
* Setting window manager to Compiz<br />
... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
<br />
All you need to do is edit your {{ic|/etc/X11/xorg.conf}} and find the "Depth" directive inside the "Screen" section; change all occurences of this value to 24. This occured to me with my colour depth set to 16; but also happens when it is set to 32.<br />
<br />
----<br />
<br />
You may also try adding ''Option "AddARGBGLXVisuals" "True"'' & ''Option "DisableGLXRootClipping" "True"'' to your "Screen" section if you are using the NVIDIA binary driver. (Radeon, and the open 'nv' driver will not work with this option as far as I can tell.) If you used any other Options elsewhere in '''xorg.conf''' to get Compiz working and still have no luck, try commenting them out and using only the aformentioned ARGBGLXVisuals and GLXRootClipping Options.<br />
<br />
{{Note|Check that "Window decoration", "Move" and "Resize" plugins are enabled with Compiz Settings Manager or gconf-editor.}}<br />
<br />
With gconf-editor you can easly enable "Window decoration", "Move" and "Resize" plugins.<br />
<br />
$ gconf-editor<br />
<br />
Navigate to ''apps > compiz > general > allscreens > options''.<br />
<br />
Add/Edit "active_plugins" Key (Name: active_plugins, Type: List, List type: String).<br />
<br />
Add "decoration", "move", and "resize" to the list.<br />
<br />
----<br />
<br />
'''Another way to fix this''':<br />
* Launch '''ccsm'''.<br />
* Find '''windows decoration''' and make sure it is enabled.<br />
* Now click on it, to edit the options.<br />
* If the entry behind '''command''' is empty, put the value '''gtk-window-decorator''' there.<br />
** Alternatives are '''kde-window-decorator''' and '''emerald'''<br />
* Click '''Back''' and '''Close'''<br />
* If all went well, the borders should appear.<br />
<br />
=== Compiz starts and borders appear, but windows won't move ===<br />
<br />
Be sure you have the "Move Window" plugin installed and enabled in the Compiz settings manager.<br />
<br />
=== Blank screen on resume from suspend-to-ram using the NVIDIA binary drivers ===<br />
<br />
If you receive a blank screen with a responsive cursor upon resume, try disabling sync to vblank:<br />
<br />
gconftool -s /apps/compiz/general/screen0/options/sync_to_vblank-t boolean false<br />
<br />
=== fusion-icon doesn't start ===<br />
<br />
If you get an output like this from the command line:<br />
$ fusion-icon<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
Traceback (most recent call last):<br />
File "/usr/bin/fusion-icon", line 57, in <module><br />
from FusionIcon.interface import choose_interface<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/interface.py", line 23, in <module><br />
import start<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/start.py", line 36, in <module><br />
config.check()<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/util.py", line 362, in check<br />
os.makedirs(self.config_folder)<br />
File "/usr/lib/python2.5/os.py", line 172, in makedirs<br />
mkdir(name, mode)<br />
OSError: [Errno 13] Permission denied: '/home/andy/.config/compiz'<br />
<br />
the problem is with the permission on {{ic|~/.config/compiz}}. You have set the owner of a folder in your area as root. To change this, run (as root)<br />
chown <username> /home/<username>/.config/compiz<br />
<br />
=== Choppy animations, even though everything configured correctly ===<br />
<br />
If everything is configured correctly but you still have poor performance on some effects, try disabling ''CCSM > General Options > Display Settings > Detect Refresh Rate'' and instead choose a value manually. Tested on both NVIDIA and Intel chips. Can work wonders.<br />
<br />
Alternatively, if your chip is NVIDIA and you are experiencing an inadequate refresh rate with "Detect Refresh Rate" enabled in Compiz, it's likely due to an option called DynamicTwinView being enabled by default which plays a factor in accurately reporting the maximum refresh rate that your card and display support. You can disable DynamicTwinView by adding the following line to the "Device" or "Screen" section of your xorg.conf file, and then restarting your computer:<br />
<br />
Option "DynamicTwinView" "False"<br />
<br />
Doing so will allow XrandR to accurately report the refresh rate to anything that detects it, including Compiz. You should be able to leave "Detect Refresh Rate" enabled and get excellent performance. Once again, this only applies to NVIDIA chips.<br />
<br />
=== Fix GNOME screenshot ===<br />
<br />
To re-enable gnome-screenshot (the default behavior caused by hitting {{Keypress|PrtScn}}) simply go to Settings Manager>Commands and map 'gnome-screenshot' to the 'PrtScn' key. This is advantageous because you can also use the Compiz-Fusion 'Screenshot' plugin at the same time since the action that enables it is {{Keypress|Super+Button1}} thereby giving you two methods to do a screen capture (one of which gives a full screen capture in a single keystroke).<br />
<br />
=== Get GNOME workspace switcher work with Compiz-Fusion ===<br />
<br />
In older versions of Compiz, the Gnome Workspace Switcher applet would actually work with Compiz-Fusion (i.e. rotate cube/move plane etc.), but recent versions seem not to. This is due to a new feature introduced in Compiz, which allows real seperate workspaces. For example, if you have a desktop plane with four planes, and have four desktops enabled in Gnome, it sums up to a total of 16 different workspaces. Currently, there is no animation associated with "real" workspace changing. To get the Workspace Switcher work, set the following options in GConf:<br />
<br />
/apps/compiz/general/screen0/options/number_of_desktops = '''1'''<br />
/apps/compiz/general/screen0/options/hsize = 4 (this is an example)<br />
/apps/compiz/general/screen0/options/vsize = 1 (this is an example)<br />
<br />
=== Screen flicks with NVIDIA card ===<br />
<br />
For fixing it, create /etc/modprobe.d/nvidia.conf file and add line:<br />
options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222"<br />
<br />
=== Fix custom cursor theme on GNOME 2.30 ===<br />
<br />
Create or edit /usr/share/icons/default/index.theme for default, or per user '''(non-root)''' ~/.icons/default/index.theme, and add this lines:<br />
<br />
[Icon Theme]<br />
#Name=''foo''<br />
Name=''foo''<br />
#Inherits=''foo''<br />
Inherits=''foo''<br />
[Desktop Entry]<br />
Name[en_US]=index.theme<br />
<br />
"Foo" is the name of the cursor theme.<br />
<br />
=== Screen artifacts on Firefox/Thunderbird ===<br />
<br />
{{Note|Altough this issue is not strictly related to Compiz, it has been added here due to popular misconception that Compiz itself may be the cause.}}<br />
<br />
Some users noticed a strange behavior with AMD/ATI Catalyst drivers starting from 10.6 release. Artifacts are visible mainly with Mozilla applications, where the GUI shows black spots of variable size. This is caused by different 2D acceleration tecnique introduced with Catalyst 10.6.<br />
The problem can be fixed following the troubleshooting steps in the [[ATI_Catalyst#Black.2Fgrey.2Fwhite_boxes.2Fartifacts_mainly_in_firefox.2Fthunderbird|ATI Catalyst page]]<br />
<br />
=== Setting the window manager back to Metacity after uninstall ===<br />
<br />
Removing Compiz with pacman does not set your window manager back to metacity. This can result in no window borders being drawn, an inability to minimize, and an inability to change the focus. To change it back, run the command "gconf-editor" in the terminal (install it if you do not have it already). Use this to set the value of the key {{ic|/desktop/gnome/session/required_components/window_manager}} from "compiz" to "metacity". Log out and back in for this change to take effect.<br />
<br />
=== Context menu in applications (Firefox, ...?) disappears on mouseover ===<br />
<br />
Try disabling "focus stealing prevention" (general options).<br />
<br />
=== See also ===<br />
<br />
* [http://wiki.compiz.org/Troubleshooting Troubleshooting page] on compiz.org<br />
* [http://compiz.org Compiz website], including wiki and forum</div>Plphttps://wiki.archlinux.org/index.php?title=Compiz&diff=265811Compiz2013-07-11T09:40:10Z<p>Plp: /* Other */</p>
<hr />
<div>[[Category:Eye candy]]<br />
[[Category:Stacking WMs]]<br />
[[el:Compiz]]<br />
[[es:Compiz]]<br />
[[fr:Compiz]]<br />
[[it:Compiz]]<br />
[[ja:Compiz]]<br />
[[pl:Compiz]]<br />
[[pt:Compiz]]<br />
[[ru:Compiz]]<br />
[[tr:Compiz]]<br />
[[zh-CN:Compiz]]<br />
{{Out of date|Since Compiz has been moved to the AUR [https://mailman.archlinux.org/pipermail/arch-dev-public/2013-May/024956.html], some links to packages still need to be added or updated and links to groups need to be replaced.}}<br />
{{Article summary start}}<br />
{{Article summary wiki|Compiz Configuration}}<br />
{{Article summary wiki|Xcompmgr}}<br />
{{Article summary wiki|Cairo Compmgr}}<br />
{{Article summary end}}<br />
<br />
Compiz is a [[Wikipedia:Compositing window manager|compositing window manager]]. It provides its own window manager, [[Emerald]]. Therefore it cannot be used simultaneously with other window managers such as [[Openbox]], [[Fluxbox]], or [[Enlightenment]]. Users who want to keep their current window managers and add some effects to it may wish to try [[Xcompmgr]] instead.<br />
<br />
== Requirements ==<br />
<br />
Users of major [[DE]]s can make good use of {{AUR|compiz-manager}}, performing brief requirements checking and switching to fallback WM in case of errors. Discovering setup and hardware issues can also be done with {{AUR|compiz-check}} script available in [[AUR]].<br />
<br />
== Installation ==<br />
<br />
Install [https://aur.archlinux.org/packages.php?K=compiz packages], available in [[AUR]].<br />
<br />
Users who wish to select the packages individually may start with {{Pkg|compiz-core}} and one of [[#Decorators|decorators]].<br />
{{Note|Lack of configured window decorator can render your [[X]] workspace slightly unusable.}}<br />
<br />
=== Initial configuration ===<br />
<br />
While the appearance of the windows and their contents is a function of [[GTK+]] and [[Qt]], the frames around the windows are controlled by the Window Decoration plugin. To use it make sure you have a window decorator installed. Depending on what packages you have downloaded you can choose among several window decorators. The most common ones are Emerald, kde-window-decorator, and gtk-window-decorator. The emerald decorator has the advantage that it fits better to compiz's screen handling and offers transparency effects. To set your default window decorator type the following command string in the "Window Decoration" plugin's settings under the field "Command".<br />
<br />
Ensure that the "Window decorator" plugin is enabled in ccsm's "effects" tab, the "command" field is filled in to start a decorator.<br />
<br />
To set '''emerald''' as your default window-decorator type:<br />
$ emerald --replace<br />
To set the '''kde-window-decorator''' as an alternative to Emerald type:<br />
kde4-window-decorator --replace<br />
To set the '''compiz-decorator-gtk''' as an alternative to Emerald type:<br />
$ gtk-window-decorator --replace<br />
<br />
{{Box RED|Activate important plugins!|<br />
There is high possibility that you will want to activate a few plugins that provide basic window manager behavior or else you will have no ability to drag, scale or close any windows as soon as compiz is activated. Among those plugins are "Window Decoration" under Effects and "Move Window" & "Resize Window" under Window Management. ''ccsm'' command may be used to achieve this. Simply put check marks next to those plugins to activate them.}}<br />
<br />
== Additional software ==<br />
<br />
=== Decorators ===<br />
<br />
* {{App|[[Emerald]]|Compiz's own window decorator with few dependencies. (Note: Works but is buggy and no longer maintained)|http://www.compiz.org|{{Pkg|emerald}}}}<br />
* {{Pkg|compiz-decorator-gtk}} and {{Pkg|compiz-decorator-kde}} &ndash; alternatives to Emerald, using your desktop environment's configuration backends and looks.<br />
<br />
=== Other ===<br />
<br />
* [https://aur.archlinux.org/packages/?K=ccsm ccsm] (CompizConfig settings manager) - GUI application that lets you configure all of Compiz's plugins<br />
* [https://aur.archlinux.org/packages/?K=fusion-icon fusion-icon] - offers a tray icon and a nice way to start compiz, start ccsm and change the WM / Window Decorator<br />
<br />
{{Box RED|Warning|<br />
fusion-icon is currently broken, due to a bug introduced with glib2 2.36.1 (FS#34892) and has been removed from the repos. If you plan on using fusion-icon, you should install [https://aur.archlinux.org/packages/fusion-icon-fixed/ fusion-icon-fixed] from AUR instead.}}<br />
<br />
== Starting Compiz Fusion ==<br />
<br />
=== Manually (with "fusion-icon") ===<br />
<br />
Launch the Compiz Fusion tray icon:<br />
$ fusion-icon<br />
<br />
{{Note|If it fails (almost never), you may try it with dbus-launch:<br />
$ dbus-launch "fusion-icon"}}<br />
Right click on the icon in the panel and go to 'select window manager'. Choose "Compiz" if it isn't selected already, and you should be set.<br />
<br />
If this fails you can start compiz-fusion by using the following additional command to replace your default window decorator with Compiz's window decorator (Emerald):<br />
$ emerald --replace<br />
<br />
'''Again, note:''' If you want to use compiz window decorations make sure you have the "Window Decoration" plugin marked in the compiz settings through ccsm.<br />
<br />
=== Manually (without "fusion-icon") ===<br />
<br />
Launch Compiz with the following command (which replaces your current window manager):<br />
$ compiz --replace ccp &<br />
<br />
A quick overview over common compiz command-line options:<br />
* {{ic|--indirect-rendering}}: use indirect-rendering (AIGLX)<br />
* {{ic|--loose-binding}}: can help performance issues (NVIDIA?)<br />
* {{ic|--replace}}: replace current window-manager<br />
* {{ic|--keep-window-hints}}: keep the gnome window-manager gconf-settings for available viewports, ...<br />
* {{ic|--sm-disable}}: disable session-management<br />
* {{ic|ccp}}: the "ccp" command loads the last configured settings from ccsm (CompizConfig Settings Manager) otherwise Compiz will load with no settings and you won't be able to do anything with your windows like dragging, maximizing/minimizing, or moving.<br />
<br />
=== KDE4 ===<br />
<br />
{{Note|The first and last methods will load Compiz-Fusion as the default window manager instead of KWin. This is faster than loading Compiz with 'fusion-icon' because it avoids loading two window managers at startup. This also prevents that annoying black screen flicker you might see using other methods (when KWin switches to Compiz on KDE's desktop loading screens). The downside is that if Compiz crashes, it may be more difficult to recover your desktop.}}<br />
<br />
==== Use System Settings (easiest)====<br />
<br />
Go to: ''System Settings > Default Applications > Window Manager > Use a different window manager''<br />
<br />
'''''If''''' you need to run compiz with custom options select "Compiz custom" (when you run {{ic|fusion-icon}} from a terminal you can see the command line with which compiz was started).<br />
Create a file called "compiz-kde-launcher" in {{ic|/usr/local/bin}}. Then make the file executable: {{ic|chmod +x /usr/bin/compiz-kde-launcher}}.<br />
<br />
For example:<br />
{{hc|/usr/local/bin/compiz-kde-launcher|<br />
#!/bin/bash<br />
LIBGL_ALWAYS_INDIRECT&#61;1<br />
compiz --replace ccp &<br />
wait<br />
}}<br />
<br />
==== Autostart with "fusion-icon" ====<br />
<br />
Add a symbolic link, that points to the fusion-icon executable, in your KDE Autostart directory:<br />
$ ln -s /usr/bin/fusion-icon ~/.kde4/Autostart/fusion-icon<br />
<br />
Next time KDE is started, it will load fusion-icon automatically.<br />
<br />
==== Autostart link without "fusion-icon" ====<br />
<br />
{{Warning|Do '''not''' create '''compiz.desktop''' if you intend to install compiz-decorator-gtk; it will create a file conflict.}}<br />
<br />
* Append a desktop entry in the KDE Autostart directory. If it doesn't already exist (it should), create the file {{ic|~/.kde4/Autostart/compiz.desktop}} with the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp --replace<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
X-GNOME-Autostart-Phase=WindowManager<br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note|If '''compiz.desktop''' already exists, you may have to add {{ic|--replace}} and/or {{ic|ccp}} to the Exec variable. Without {{ic|--replace}}, Compiz won't load since it will detect another window manager already loaded. Without {{ic|ccp}}, Compiz will not load any of the settings and plugins that you have enabled through CompizConfig Settings Manager ('''ccsm''') and you won't be able to manipulate any of your windows.}}<br />
<br />
* If you want to use the optional {{ic|fusion-icon}} application, launch '''fusion-icon'''. If you log out normally with '''fusion-icon''' running, KDE should restore your session and launch '''fusion-icon''' the next time you log in if this setting is enabled. If it doesn't appear to be working, ensure you have the following line in {{ic|~/.kde4/share/config/ksmserverrc}}:<br />
<br />
loginMode=restorePreviousLogout<br />
<br />
{{Note|This is a KDE specific setting that will allow you to restore other apps next time you log in, not just fusion-icon.}}<br />
<br />
==== Export KDEWM without "fusion-icon" (preferred) ====<br />
<br />
As root you must create a short script by doing the following in your terminal. This will allow you to load compiz with the switches because doing it directly via {{ic|1=export KDEWM="compiz --replace ccp --sm-disable"}} doesn't seem to work.<br />
$ echo "compiz --replace ccp --sm-disable &" > /usr/bin/compiz-fusion<br />
<br />
{{Note|If this line doesn't work, make sure the '''fusion-icon''' package is installed and then use this line instead:<br />
$ echo "fusion-icon &" > /usr/bin/compiz-fusion<br />
Be sure to complete the whole method before trying this substitute.}}<br />
<br />
Ensure that {{ic|/usr/bin/compiz-fusion}} has executable ('''+x''') permissions.<br />
$ chmod a+x /usr/bin/compiz-fusion<br />
<br />
Choose one of the following:<br />
<br />
:1) Compiz for your user only > Edit the file {{ic|~/.kde4/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
:2) Compiz system wide > Edit the file {{ic|/etc/kde/env/compiz.sh}} and add the following line so KDE will load compiz (via the script you just created) instead of loading KWin.<br />
: {{bc|1=KDEWM="compiz-fusion"}}<br />
<br />
{{Note|<br />
* If that still doesn't work, yet another alternate way to accomplish the above method is to include the line:<br />
export KDEWM&#61;"compiz-fusion"<br />
in your user's {{ic|~/.bashrc}} file.<br />
* If you optionally use the {{ic|/usr/local/bin}} directory it may not work. In that case you should export the script including the whole path:<br />
export KDEWM&#61;"/usr/local/bin/compiz-fusion"<br />
}}<br />
<br />
=== GNOME ===<br />
<br />
If you have installed [[GNOME3]] with gnome-shell, either enable forced Fallback mode (System Info > Graphics) or simply uninstall gnome-shell.<br />
{{Note|Fallback mode is not necessary if you choose the Compiz/Cairo-Dock session method below.}}<br />
<br />
==== Alternate Session for GNOME (preferred method for experienced Compiz/Dock users) ====<br />
<br />
The {{AUR|gnome-session-compiz}} can be used to add an additional menu entry in the GNOME session login dialog. This method does not require foced fallback mode and/or modifications to sensitive system files/settings. Also, you can switch between GNOME Shell and Compiz/Cairo-Dock between sessions. If you can't get it working, you can always go back to your original GNOME session.<br />
<br />
For this method to work, Compiz and Cairo-Dock (Taskbar/Panel) may have to be [[#Configuration|configured initially]] for fresh accounts, from another working session (ccsm in GNOME Shell worked fine for me).<br />
<br />
This method completely replaces the GNOME's window manager and panel (they are not launched at all, rather than being replaced or killed later). So, before actually switching to this alternate session, you may want to configure corresponding/alternate features of the original panel application in Cairo-Dock:<br />
* Add Application Menu icon to Cairo-Dock and remember its key-bindings.<br />
* Remap Application Menu key-bindings to ALT+F1 and ALT+F2, for convenience.<br />
* Add Clock, WiFi, NetSpeed icons to the dock as applicable.<br />
* Add Log-out icon:<br />
** Set the command for logout to "gnome-session-quit --logout"<br />
** Set the command for shutdown to "gnome-session-quit --power-off"<br />
* Add the Notification Area Old (systray) icon to Cairo-Dock.<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
This Method makes use of the [http://standards.freedesktop.org/desktop-entry-spec/latest/ Desktop Entry Specification] to specify a Compiz Desktop Entry and of the GConf default windowmanager setting. Thanks to the Desktop Entry you should be able to select Compiz as a windowmanager out of GDM.<br />
<br />
'''1)'''If the following file doesn't already exist (it should), create it {{ic|/usr/share/applications/compiz.desktop}} containing the following:<br />
<br />
[Desktop Entry]<br />
Type=Application<br />
Encoding=UTF-8<br />
Name=Compiz<br />
Exec=/usr/bin/compiz ccp #Make sure ccp is included so that Compiz loads your previous settings.<br />
NoDisplay=true<br />
# name of loadable control center module<br />
X-GNOME-WMSettingsModule=compiz<br />
# autostart phase<br />
##-> the folloing line cause gnome-session warning and slow startup, so try not to enable this<br />
# X-GNOME-Autostart-Phase=WindowManager <br />
X-GNOME-Provides=windowmanager<br />
# name we put on the WM spec check window<br />
X-GNOME-WMName=Compiz<br />
# back compat only<br />
X-GnomeWMSettingsLibrary=compiz<br />
<br />
{{Note| If {{ic|compiz.desktop}} already exists, you must make sure that the "ccp" is included in the Exec variable. Having "ccp" included simply tells Compiz to load your previous settings, otherwise you won't have any functionality.}}<br />
<br />
If the above doesn't work (in most cases it does), for example if you notice some issues with windows refreshing or low performance, try:<br />
<br />
Exec=/usr/bin/compiz ccp --indirect-rendering<br />
<br />
or<br />
<br />
Exec=/usr/bin/compiz --replace --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
Instead of<br />
<br />
Exec=/usr/bin/compiz ccp<br />
<br />
Some Users noticed a "lag" of 4-10 seconds when loging in from a login manager. The solution is to change the command to:<br />
Exec=bash -c 'compiz ccp decoration --sm-client-id $DESKTOP_AUTOSTART_ID'<br />
as noted [https://bbs.archlinux.org/viewtopic.php?pid=655237#p655237 in the forum]. You can also add the extra parameters as described above if needed.<br />
<br />
'''2)''' Set some GConf parameters using the gconftool-2 command in a terminal window or do it visually with Configuration Editor (gconf-editor). The following outlines using the command line method, but you can also see which keys to change using gconf-editor:<br />
<br />
{{Note| Since those parameters apply to a given user, you '''must''' logout from the root account and log in as that other user before proceeding with the next steps. GConf will fail, if called from a root account.}}<br />
<br />
gconftool-2 --set -t string /desktop/gnome/session/required_components/windowmanager compiz<br />
<br />
The following are optional and in most cases not necessary (the respective keys are deprecated since GNOME 2.12). But iny any case, if the above didn't succeed the next two statements are still valid and should be tried.<br />
<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/current /usr/bin/compiz<br />
gconftool-2 --set -t string /desktop/gnome/applications/window_manager/default /usr/bin/compiz<br />
<br />
==== Autostart (without "fusion-icon") (with GNOME fallback mode session) ====<br />
<br />
Edit file {{ic|/usr/share/gnome-session/sessions/gnome-fallback.session}}:<br />
<br />
Replace your windows manager (gnome-shell,metacity...) with ''compiz'' in '''RequiredComponents''' line.<br />
<br />
Change ''DefaultProvider-windowmanager'' line to ''DefaultProvider-windowmanager=compiz''<br />
<br />
Here is part of my {{ic|gnome-fallback.session}}:<br />
<br />
RequiredComponents=compiz;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=compiz<br />
DefaultProvider-notifications=notification-daemon<br />
<br />
{{Note|I took out gnome-panel as I am using avant-window-navigator as my panel.<br />
I'am using gnome3 fallback mode with compiz, make gtk-window-decorator start with compiz, and make avant-window-navigator start automatically.}}<br />
<br />
==== Autostart (without "fusion-icon", Gnome prior to 2.24) ====<br />
<br />
This is a way that works if you use GDM (and I'd assume KDM too).<br />
<br />
Make a file called /usr/local/bin/compiz-start-boot with the contents:<br />
#!/bin/bash<br />
export WINDOW_MANAGER="compiz ccp"<br />
exec gnome-session<br />
<br />
and make it executable ({{ic|chmod +x /usr/local/bin/compiz-start-boot}}). Next create the file {{ic|/etc/X11/sessions/Compiz.desktop}} containing the following:<br />
[Desktop Entry]<br />
Version=1.0<br />
Encoding=UTF-8<br />
Name=Compiz on GNOME<br />
Exec=/usr/local/bin/compiz-start-boot<br />
Icon=<br />
Type=Application<br />
<br />
Select Compiz on Gnome as your session and you're good to go.<br />
<br />
==== Autostart (with "fusion-icon") ====<br />
<br />
To start Compiz fusion automatically when starting a session go to System > Preferences > Startup Applications. In the Startup Programs tab, click the Add button.<br />
<br />
You will now see the Add Startup Program dialogue. Fill it in as follows.<br />
<br />
Name:<br />
Compiz Fusion<br />
Command:<br />
fusion-icon<br />
Comment: (Put anything you like or leave blank.)<br />
<br />
{{Note| You can also use "compiz --replace ccp" instead of "fusion-icon" to load compiz but there will be no fusion-icon.<br />
<br />
The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager ('''ccsm''').}}<br />
<br />
When you're done hit the Add button. You should now see your startup program in the list in the Startup Programs tab. It must be checked to be enabled. You can uncheck it to disable Compiz on startup and switch back to Metacity.<br />
<br />
You may also need to use the gconftool-2 command in a terminal window to set the following parameter, otherwise fusion-icon might not load the windows decorator.<br />
gconftool-2 --type bool --set /apps/metacity/general/compositing_manager false<br />
<br />
{{Note|This method will be slower due to the fact that Gnome will first load the default window manager (Metacity), then will launch fusion-icon which will load the Compiz window manager to replace Metacity. Essentially, it will take the amount of time that it takes to load two window manangers to get Compiz loaded. The first method is preferred and eliminates this issue.}}<br />
<br />
=== Mate desktop ===<br />
<br />
==== Autostart (without "fusion-icon") (preferred method) ====<br />
<br />
As with Gnome, create a compiz.desktop file (see [[Compiz#Autostart_.28without_.22fusion-icon.22.29_.28Preferred_Method.29]]), then set Compiz as the default window manager :<br />
* on Mate prior to 1.6, edit the following mateconf entries (note: the last two are deprecated values):<br />
mateconftool-2 --set -t string /desktop/mate/session/required_components/windowmanager compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/current /usr/bin/compiz<br />
mateconftool-2 --set -t string /desktop/mate/applications/window_manager/default /usr/bin/compiz<br />
<br />
* on Mate 1.6 and higher, edit the following gsettings value<br />
gsettings set org.mate.session.required-components windowmanager compiz<br />
<br />
=== XFCE ===<br />
<br />
==== XFCE autostart (without "fusion-icon") ====<br />
<br />
This method will start Compiz directly through the XFCE session manager without loading Xfwm.<br />
<br />
Please note the change to xml config files in XFCE newer than 4.2<br />
<br />
To install the session manager, install {{Pkg|xfce4-session}}.<br />
<br />
Now we have to configure the default/failsafe session of XFCE.<br />
<br />
Edit the {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}} or (to make the change for all XFCE users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Replace the xfwm startup command,<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="xfwm4"/><br />
</property><br />
<br />
with the following:<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="compiz"/><br />
<value type="string" value="ccp"/><br />
</property><br />
<br />
{{Note|The ccp value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
To prevent the default session from being overwritten you may also add this:<br />
<br />
<property name="general" type="empty"><br />
...<br />
...<br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
To remove the existing sessions, run:<br />
$ rm -r ~/.cache/sessions<br />
<br />
==== XFCE autostart (with "fusion-icon") ====<br />
<br />
===== Method 1 =====<br />
<br />
{{Note| This method is the least preferred since it loads both window managers. All the other XFCE methods only load Compiz without loading Xfwm.}}<br />
This will load Xfwm first then replace it with Compiz.<br />
<br />
Open the XFCE Settings Manager & then Sessions & Startup. Click the Application Autostart tab.<br />
<br />
Add<br />
(Name:) Compiz Fusion<br />
<br />
(Command:) fusion-icon<br />
<br />
{{Note|You can also use {{ic|compiz --replace ccp}} instead of '''fusion-icon''' to load Compiz but there will be no fusion-icon. The ''ccp'' value will tell compiz to load your previous Compiz settings as configured with CompizConfig Settings Manager (ccsm).}}<br />
<br />
===== Method 2 =====<br />
<br />
Edit the file {{ic|~/.config/xfce4-session/xfce4-session.rc}} (settings in this file is used in preference).<br />
<br />
Or to make the change for all XFCE users, edit as root {{ic|/etc/xdg/xfce4-session/xfce4-session.rc}}.<br />
<br />
Add the following<br />
[Failsafe Session]<br />
Client0_Command=fusion-icon<br />
<br />
Comment out Client0_Command=xfwm4 if it exists.<br />
<br />
This will cause xfce to load Compiz instead of Xfwm when the user has no existing sessions.<br />
<br />
To prevent the default session from being overwritten you may also add<br />
[General]<br />
AutoSave=false<br />
SaveOnExit=false<br />
<br />
To remove the existing sessions<br />
rm -R ~/.cache/sessions<br />
<br />
===== Method 3 =====<br />
<br />
Check if this file exists:<br />
~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
If not do:<br />
cp /etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml<br />
<br />
Then edit {{ic|~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}.<br />
<br />
or (to make the changes for all xfce4 users) {{ic|/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml}}:<br />
<br />
Edit Client0_Command that it look like this:<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="fusion-icon"/><br />
<value type="string" value="--force-compiz"/><br />
</property><br />
if '''--force-compiz''' doesn't work use '''compiz --replace --sm-disable --ignore-desktop-hints ccp''' instead.<br />
<br />
Add the '''SaveOnExit property''' if missing and set it to '''false''':<br />
<property name="general" type="empty"><br />
<property name="FailsafeSessionName" type="string" value="Failsafe"/><br />
<property name="SessionName" type="string" value="Default"/><br />
<property name="SaveOnExit" type="bool" value="false"/><br />
</property><br />
<br />
finally remove old xfce4 sessions:<br />
rm -r ~/.cache/sessions<br />
<br />
Now XFCE4 will load compiz instead of XFWM.<br />
<br />
=== As a standalone window manager ===<br />
<br />
The package compiz-core by itself is sufficient to start using compiz-fusion. However ccsm and emerald (or another window-decorator) are additional highly recommended packages. You may install fusion-icon, compiz-fusion-plugins-main, compiz-fusion-plugins-extra or any other package later on at any time.<br />
<br />
To autostart compiz-fusion configure .xinitrc to launch compiz as:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec compiz ccp<br />
</nowiki>}}<br />
You can also add other [[Compiz_fusion#Manually_.28without_.22fusion-icon.22.29|command-line options]] to your .xinitrc<br />
<br />
Or if using fusion-icon, configure .xinitrc as<br />
{{hc|~/.xinitrc|<nowiki><br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
However chances are you will need additional apps (e.g a panel) for optimal usability. So to autostart such apps simply add them to your .xinitrc as:<br />
{{hc|~/.xinitrc|<nowiki><br />
tint2 &<br />
cairo-dock &<br />
exec fusion-icon<br />
</nowiki>}}<br />
<br />
{{Note|Add a terminal-emulator to this autostart list while starting for the first time to help [[Compiz_fusion#Configuration|configure]] Compiz.}} <br />
<br />
An alternative method, utilizing a simple script entitled '''start-fusion.sh''':<br />
{{hc|start-fusion.sh|<nowiki><br />
#!/bin/sh<br />
# add more apps here if necessary or start another panel, tray like pypanel, bmpanel, stalonetray<br />
xfce4-panel&<br />
fusion-icon<br />
</nowiki>}}<br />
If this script dosn't work for you, or you get issues with '''dbus''' utilize this script:<br />
{{hc|start-fusion.sh|<nowiki><br />
#!/bin/sh<br />
cd /home/<yourusername><br />
eval $(dbus-launch --sh-syntax --exit-with-session)<br />
/usr/bin/X :0.0 -br -audit 0 -nolisten tcp vt7 &<br />
export DISPLAY=:0.0<br />
sleep 1<br />
compiz-manager decoration move resize > /tmp/compiz.log 2>&1 &<br />
# add more apps here if necessary or start another panel, tray like pypanel, bmpanel, stalonetray<br />
xfce4-panel&<br />
fusion-icon<br />
</nowiki>}}<br />
Make it executable<br />
<br />
chmod +x start-fusion.sh<br />
<br />
And add it to .xinitrc, like this:<br />
{{hc|~/.xinitrc|<nowiki><br />
exec /path/to/file/start-fusion.sh<br />
</nowiki>}}<br />
<br />
Feel free to use a different panel, tray, or start a whole bunch of applications with your session.<br />
See [https://bbs.archlinux.org/viewtopic.php?id=51282 this forum thread] for more info.<br />
<br />
{{Note|Using a separate script instead of running everything from xinitrc is the only way to let all launching applications use ConsoleKit: see [[ConsoleKit#Running_several_applications_from_.7E.2F.xinitrc|this article]].}}<br />
<br />
==== Add a root menu ====<br />
<br />
To add a root menu similar to that in Openbox, Fluxbox, Blackbox etc. you must install the package {{AUR|compiz-deskmenu}}.<br />
Upon a restart of Compiz-Fusion, you should be able to middle click on your desktop to launch the menu.<br />
<br />
If it does not automatically work, enter the CompizConfig Settings Manager, and in Commands tab, within the General Settings menu, ensure that there is a command to launch Compiz-Deskmenu, and the appropriate key binding is set to Control+Space.<br />
<br />
If it still does not work, enter the Viewport Switcher menu, and change "Plugin for initiate action" to core (NOTE: for versions 0.8.2+ it's 'commands' instead of 'core'), and "Action name for initiate" to run_command0_key.<br />
<br />
An alternative is to use {{AUR|mygtkmenu}}, also in [[AUR]].<br />
<br />
==== Allow users to shutdown/reboot ====<br />
<br />
Refer to [[Allow_Users_to_Shutdown|this]] wiki page. If using "The Modern way" of policykit You can add the command to ccsm->General->Commands and assign a short-cut key to it or alternatively you can use a launcher application.<br />
<br />
== Miscellaneous ==<br />
<br />
=== Configuration ===<br />
<br />
[[Compiz#Configuration|You must do this so your windows function like you expect them to!]].<br />
<br />
=== Using gtk-window-decorator ===<br />
<br />
In order to use gtk-window-decorator, install the package ''compiz-decorator-gtk'' and select "GTK Window Decorator" instead of "Emerald" as your window decorator in fusion-icon or whatever other program you are using to configure compiz.<br />
<br />
=== gconf: additional Compiz configurations ===<br />
<br />
To achieve more satisfying results from Compiz, you can tweak its config with gconf-editor:<br />
<br />
$ gconf-editor<br />
<br />
Note that now compiz-core isn't built with gconf support; It is now built with gconf support through compiz-decorator-gtk. So, you need to install it if you want to use gconf-editor to edit your Compiz configuration.<br />
The Compiz gconf configuration is located in in the key ''apps > compiz > general > allscreens > options''.<br />
<br />
"Active plugins" is where you specify the plugins you would like to use. Simply edit the key and add a value(refer to the key ''apps > compiz > plugins'' to see possible values). Plugins I’ve found useful are screenshot, png, fade, and minimize. Please do not remove those enabled by default.<br />
<br />
=== ATI R600/R700 notes ===<br />
<br />
While using fusion-icon you shouldn't experience any problems because it takes care of everything for you, but if you are using one of the autostart methods that do not involve fusion-icon you will run into trouble. For example when using the Xfce autostart method without fusion icon you must edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml per the instructions above. However, if you follow the directions above explicity you will find that compiz does not load. You must instead make your xfce4-session.xml file look like this<br />
<br />
<property name="Client0_Command" type="array"><br />
<value type="string" value="LIBGL_ALWAYS_INDIRECT=1"/><br />
<value type="string" value="compiz"/><br />
<value type="string" value="--sm-disable"/><br />
<value type="string" value="--ignore-desktop-hints"/><br />
<value type="string" value="ccp"/><br />
<value type="string" value="--indirect-rendering"/><br />
</property><br />
<br />
This example targeted Xfce specifically, but it can be adapted to any desktop environment. It's just a matter of figuring out how to add it to the proper config file. The key thing is the required command which if typed on a command line would look like this<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --sm-disable --ignore-desktop-hints ccp --indirect-rendering<br />
<br />
This is how Xfce's session manager interprets the above XML code. Notice that you do not need --replace because you are not first loading xfwm and then compiz.<br />
<br />
== Tips and tricks ==<br />
<br />
=== Fallback ===<br />
<br />
If you are using [[KDE]], [[GNOME]] or [[XFCE]] and something is not right, for example you don’t see borders for your window, you can switch back to default DE window manager with this command:<br />
<br />
''wm_name'' --replace<br />
<br />
with kwin, metacity or xfwm4 instead of ''wm_name''.<br />
<br />
=== Keyboard shortcuts ===<br />
<br />
Default plugin keyboard shortcuts (plugins have to be activated!)<br />
<br />
* Switch windows = {{Keypress|Alt+Tab}}.<br />
* Switch to next desktops = {{Keypress|Ctrl+Alt+&larr;}}.<br />
* Switch to previous desktop = {{Keypress|Ctrl+Alt+&rarr;}}.<br />
* Move window = {{Keypress|Alt+Left click}}.<br />
* Resize window = {{Keypress|Alt+Right click}}.<br />
<br />
A more detailed list can be found under [http://wiki.compiz-fusion.org/CommonKeyboardShortcuts CommonKeyboardShortcuts] in the Compiz wiki or you can always just look at your plugin's configuration ('''ccsm''').<br />
<br />
== Troubleshooting ==<br />
<br />
{{Out of date}}<br />
<br />
=== Missing GLX_EXT_texture_from_pixmaps ===<br />
<br />
==== On ATI cards (first solution) ====<br />
<br />
https://bbs.archlinux.org/viewtopic.php?id=50073<br />
If you run into the following error when trying to run Compiz Fusion on an ATI card:<br />
<br />
Missing GLX_EXT_texture_from_pixmap<br />
<br />
This is because Compiz Fusion's binary was compiled against Mesa's OpenGL library rather than ATI's OpenGL library (which is what you are using). Re-install libgl-dri (yes you will have to uninstall fglrx temporarily) to get Mesa's OpenGL library. <br />
<br />
copy the library into a directory to keep it because ATI's drivers will over write it. <br />
<br />
mkdir /lib/mesa<br />
cp /usr/lib/libGL.so.1.2 /lib/mesa<br />
<br />
Once you have it copied, you can reinstall your fglrx drivers (It should have been removed when you installed libgl-dri). Now you can start Compiz Fusion using the following example syntax: <br />
<br />
LD_PRELOAD=/lib/mesa/libGL.so.1.2 compiz --replace &<br />
<br />
==== On ATI cards (second solution) ====<br />
<br />
An other problem could arise with GLX_EXT_texture_from_pixmap, it is possible that the card could only render it indirectly, then you have to pass the option to your libgl like that :<br />
<br />
LIBGL_ALWAYS_INDIRECT=1 compiz --replace ccp &<br />
<br />
(Workaround tested on the following card : ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 02))<br />
<br />
==== On Intel chips ====<br />
<br />
First off, check that you're using the intel driver as opposed to i810. Then, run the following command to run Compiz (must use this every time.).<br />
LIBGL_ALWAYS_INDIRECT=true compiz --replace --sm-disable ccp &<br />
If you then do not have borders, run:<br />
emerald --replace<br />
As at 17-Oct-07 the [http://wiki.compiz-fusion.org/Troubleshooting Compiz-Fusion Wiki] states: <i>"If you are using an Intel GMA card with AIGLX, you will need to start Compiz Fusion with LIBGL_ALWAYS_INDIRECT=1 appended.</i>"<br />
<br />
=== Compiz starts, but no effects are visible ===<br />
<br />
If you have installed compiz-decorator-gtk:<br />
Check if GConf schema was correctly installed: <br />
gconftool-2 -R /apps/compiz/plugins | grep plugins<br />
make sure that all plugins are listed (not only fade!). If not, try to install Compiz schema manually (do this as normal user, not as root!!!): <br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
{{Note|Compiz basic plugins are not enabled by default. You should enable "Move Window", "Resize Window", and "Window decoration" plugins in settings manager from fusion-icon to have a usable window manager.}}<br />
<br />
=== Compiz starts, but gtk-window-decorator does not ===<br />
It is a configuration problem for gconf and gconfd. I solved it by removing ".gconf" dir in my home, but I'm using KDE. If you are using Gnome you should enter your ".gconf" directory and remove all Compiz keys. This will erase your Compiz settings, so be sure to reconfigure.<br />
Finally exec as user:<br />
<br />
gconftool-2 --install-schema-file=/usr/share/gconf/schemas/compiz-decorator-gtk.schemas<br />
<br />
=== Compiz appears to start, but there are no window borders ===<br />
<br />
When you run fusion-icon from commandline, you get output like this:<br />
<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
* NVIDIA on Xorg detected, exporting: __GL_YIELD=NOTHING<br />
* Using the GTK Interface<br />
* Metacity is already running<br />
* Setting window manager to Compiz<br />
... executing: compiz --replace --sm-disable --ignore-desktop-hints ccp<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
compiz (core) - Warn: No GLXFBConfig for depth 32<br />
<br />
All you need to do is edit your {{ic|/etc/X11/xorg.conf}} and find the "Depth" directive inside the "Screen" section; change all occurences of this value to 24. This occured to me with my colour depth set to 16; but also happens when it is set to 32.<br />
<br />
----<br />
<br />
You may also try adding ''Option "AddARGBGLXVisuals" "True"'' & ''Option "DisableGLXRootClipping" "True"'' to your "Screen" section if you are using the NVIDIA binary driver. (Radeon, and the open 'nv' driver will not work with this option as far as I can tell.) If you used any other Options elsewhere in '''xorg.conf''' to get Compiz working and still have no luck, try commenting them out and using only the aformentioned ARGBGLXVisuals and GLXRootClipping Options.<br />
<br />
{{Note|Check that "Window decoration", "Move" and "Resize" plugins are enabled with Compiz Settings Manager or gconf-editor.}}<br />
<br />
With gconf-editor you can easly enable "Window decoration", "Move" and "Resize" plugins.<br />
<br />
$ gconf-editor<br />
<br />
Navigate to ''apps > compiz > general > allscreens > options''.<br />
<br />
Add/Edit "active_plugins" Key (Name: active_plugins, Type: List, List type: String).<br />
<br />
Add "decoration", "move", and "resize" to the list.<br />
<br />
----<br />
<br />
'''Another way to fix this''':<br />
* Launch '''ccsm'''.<br />
* Find '''windows decoration''' and make sure it is enabled.<br />
* Now click on it, to edit the options.<br />
* If the entry behind '''command''' is empty, put the value '''gtk-window-decorator''' there.<br />
** Alternatives are '''kde-window-decorator''' and '''emerald'''<br />
* Click '''Back''' and '''Close'''<br />
* If all went well, the borders should appear.<br />
<br />
=== Compiz starts and borders appear, but windows won't move ===<br />
<br />
Be sure you have the "Move Window" plugin installed and enabled in the Compiz settings manager.<br />
<br />
=== Blank screen on resume from suspend-to-ram using the NVIDIA binary drivers ===<br />
<br />
If you receive a blank screen with a responsive cursor upon resume, try disabling sync to vblank:<br />
<br />
gconftool -s /apps/compiz/general/screen0/options/sync_to_vblank-t boolean false<br />
<br />
=== fusion-icon doesn't start ===<br />
<br />
If you get an output like this from the command line:<br />
$ fusion-icon<br />
* Detected Session: gnome<br />
* Searching for installed applications...<br />
Traceback (most recent call last):<br />
File "/usr/bin/fusion-icon", line 57, in <module><br />
from FusionIcon.interface import choose_interface<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/interface.py", line 23, in <module><br />
import start<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/start.py", line 36, in <module><br />
config.check()<br />
File "/usr/lib/python2.5/site-packages/FusionIcon/util.py", line 362, in check<br />
os.makedirs(self.config_folder)<br />
File "/usr/lib/python2.5/os.py", line 172, in makedirs<br />
mkdir(name, mode)<br />
OSError: [Errno 13] Permission denied: '/home/andy/.config/compiz'<br />
<br />
the problem is with the permission on {{ic|~/.config/compiz}}. You have set the owner of a folder in your area as root. To change this, run (as root)<br />
chown <username> /home/<username>/.config/compiz<br />
<br />
=== Choppy animations, even though everything configured correctly ===<br />
<br />
If everything is configured correctly but you still have poor performance on some effects, try disabling ''CCSM > General Options > Display Settings > Detect Refresh Rate'' and instead choose a value manually. Tested on both NVIDIA and Intel chips. Can work wonders.<br />
<br />
Alternatively, if your chip is NVIDIA and you are experiencing an inadequate refresh rate with "Detect Refresh Rate" enabled in Compiz, it's likely due to an option called DynamicTwinView being enabled by default which plays a factor in accurately reporting the maximum refresh rate that your card and display support. You can disable DynamicTwinView by adding the following line to the "Device" or "Screen" section of your xorg.conf file, and then restarting your computer:<br />
<br />
Option "DynamicTwinView" "False"<br />
<br />
Doing so will allow XrandR to accurately report the refresh rate to anything that detects it, including Compiz. You should be able to leave "Detect Refresh Rate" enabled and get excellent performance. Once again, this only applies to NVIDIA chips.<br />
<br />
=== Fix GNOME screenshot ===<br />
<br />
To re-enable gnome-screenshot (the default behavior caused by hitting {{Keypress|PrtScn}}) simply go to Settings Manager>Commands and map 'gnome-screenshot' to the 'PrtScn' key. This is advantageous because you can also use the Compiz-Fusion 'Screenshot' plugin at the same time since the action that enables it is {{Keypress|Super+Button1}} thereby giving you two methods to do a screen capture (one of which gives a full screen capture in a single keystroke).<br />
<br />
=== Get GNOME workspace switcher work with Compiz-Fusion ===<br />
<br />
In older versions of Compiz, the Gnome Workspace Switcher applet would actually work with Compiz-Fusion (i.e. rotate cube/move plane etc.), but recent versions seem not to. This is due to a new feature introduced in Compiz, which allows real seperate workspaces. For example, if you have a desktop plane with four planes, and have four desktops enabled in Gnome, it sums up to a total of 16 different workspaces. Currently, there is no animation associated with "real" workspace changing. To get the Workspace Switcher work, set the following options in GConf:<br />
<br />
/apps/compiz/general/screen0/options/number_of_desktops = '''1'''<br />
/apps/compiz/general/screen0/options/hsize = 4 (this is an example)<br />
/apps/compiz/general/screen0/options/vsize = 1 (this is an example)<br />
<br />
=== Screen flicks with NVIDIA card ===<br />
<br />
For fixing it, create /etc/modprobe.d/nvidia.conf file and add line:<br />
options nvidia NVreg_RegistryDwords="PerfLevelSrc=0x2222"<br />
<br />
=== Fix custom cursor theme on GNOME 2.30 ===<br />
<br />
Create or edit /usr/share/icons/default/index.theme for default, or per user '''(non-root)''' ~/.icons/default/index.theme, and add this lines:<br />
<br />
[Icon Theme]<br />
#Name=''foo''<br />
Name=''foo''<br />
#Inherits=''foo''<br />
Inherits=''foo''<br />
[Desktop Entry]<br />
Name[en_US]=index.theme<br />
<br />
"Foo" is the name of the cursor theme.<br />
<br />
=== Screen artifacts on Firefox/Thunderbird ===<br />
<br />
{{Note|Altough this issue is not strictly related to Compiz, it has been added here due to popular misconception that Compiz itself may be the cause.}}<br />
<br />
Some users noticed a strange behavior with AMD/ATI Catalyst drivers starting from 10.6 release. Artifacts are visible mainly with Mozilla applications, where the GUI shows black spots of variable size. This is caused by different 2D acceleration tecnique introduced with Catalyst 10.6.<br />
The problem can be fixed following the troubleshooting steps in the [[ATI_Catalyst#Black.2Fgrey.2Fwhite_boxes.2Fartifacts_mainly_in_firefox.2Fthunderbird|ATI Catalyst page]]<br />
<br />
=== Setting the window manager back to Metacity after uninstall ===<br />
<br />
Removing Compiz with pacman does not set your window manager back to metacity. This can result in no window borders being drawn, an inability to minimize, and an inability to change the focus. To change it back, run the command "gconf-editor" in the terminal (install it if you do not have it already). Use this to set the value of the key {{ic|/desktop/gnome/session/required_components/window_manager}} from "compiz" to "metacity". Log out and back in for this change to take effect.<br />
<br />
=== Context menu in applications (Firefox, ...?) disappears on mouseover ===<br />
<br />
Try disabling "focus stealing prevention" (general options).<br />
<br />
=== See also ===<br />
<br />
* [http://wiki.compiz.org/Troubleshooting Troubleshooting page] on compiz.org<br />
* [http://compiz.org Compiz website], including wiki and forum</div>Plp