MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "continue": {
        "rvcontinue": "13218|591493",
        "continue": "||"
    },
    "warnings": {
        "main": {
            "*": "Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes."
        },
        "revisions": {
            "*": "Because \"rvslots\" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new format will always be used."
        }
    },
    "limits": {
        "backlinks": 500
    },
    "query": {
        "pages": {
            "982": {
                "pageid": 982,
                "ns": 0,
                "title": "CUPS",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Printers]]\n[[Category:Servers]]\n[[cs:CUPS]]\n[[de:CUPS]]\n[[es:CUPS]]\n[[fr:CUPS]]\n[[it:CUPS]]\n[[ja:CUPS]]\n[[pl:CUPS]]\n[[ru:CUPS]]\n[[th:CUPS]]\n[[zh-hans:CUPS]]\n[[zh-hant:CUPS]]\n{{Related articles start}}\n{{Related|CUPS/Printer sharing}}\n{{Related|CUPS/Printer-specific problems}}\n{{Related|CUPS/Troubleshooting}}\n{{Related|Samba}}\n{{Related|LPRng}}\n{{Related articles end}}\n\n[https://www.cups.org/ CUPS] is the standards-based, open source printing system developed by Apple Inc. for macOS\u00ae and other UNIX\u00ae-like operating systems.\n\n== Installation ==\n\n[[Install]] the {{Pkg|cups}} package.\n\nIf you intend to \"print\" into a PDF document, also install the {{pkg|cups-pdf}} package. By default, pdf files are stored in {{ic|/var/spool/cups-pdf/''username''/}}. The location can be changed in {{ic|/etc/cups/cups-pdf.conf}}.\n\n[[Enable]] and [[start]] {{ic|org.cups.cupsd.service}}.\n\n=== Socket activation ===\n\n{{Pkg|cups}} provides a {{ic|org.cups.cupsd.socket}} unit. If {{ic|org.cups.cupsd.socket}} is [[enable]]d (and {{ic|org.cups.cupsd.service}} is [[disable]]d), systemd will not start CUPS immediately, it will just listen to the appropriate sockets. Then, whenever a program attempts to connect to one of these CUPS sockets, systemd will start {{ic|org.cups.cupsd.service}} and transparently hand over control of these ports to the CUPS process.\n\nThis way, CUPS is only started once a program wants to make use of the service.\n\n== Connection Interfaces ==\n\nAdditional steps for printer detection are listed below for various connection interfaces.\n\n{{Note|1=<nowiki></nowiki>\n* CUPS helper programs are run using the {{ic|cups}} user and group. This allows the helper programs to access printer devices and read config files in {{ic|/etc/cups/}}, which are owned by the {{ic|cups}} group.\n* Prior to {{Pkg|cups}} 2.2.6-2, the {{ic|lp}} group [https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/cups&id=a209bf21797a239c7ddb4614f0266ba1e5238622 was used instead]. After the upgrade, the files in {{ic|/etc/cups}} should be owned by the {{ic|cups}} group and {{ic|User 209}} and {{ic|Group 209}} set in {{ic|/etc/cups/cups-files.conf}}.\n}}\n\n=== USB ===\n\nTo see if your USB printer is detected:\n\n{{hc|$ lsusb|\n(...)\nBus 001 Device 007: ID 03f0:1004 Hewlett-Packard DeskJet 970c/970cse\n}}\n\n=== Parallel port ===\n\nTo use a parallel port printer, the {{ic|lp}}, {{ic|parport}} and {{ic|parport_pc}} [[kernel modules]] are required.\n\n{{hc|$ dmesg {{!}} grep -i parport|\n parport0: Printer, Hewlett-Packard HP LaserJet 2100 Series\n lp0: using parport0 (polling)\n}}\n\n=== Network ===\n\nTo discover or share printers using DNS-SD/mDNS, setup [[Avahi#Hostname_resolution|.local hostname resolution]] with [[Avahi]] and [[restart]] {{ic|org.cups.cupsd.service}}.\n\n{{Note|DNS-SD is only supported when using [[Avahi]]. CUPS does not support using [[systemd-resolved]] for DNS-SD, see [https://github.com/apple/cups/issues/5452 CUPS issue 5452].}}\n\nTo share printers with [[Samba]], e.g. if the system is to be a print server for Windows clients, the {{Pkg|samba}} package will be required.\n\n== Printer Drivers ==\n\n{{Expansion|CUPS is planning to drop PPD and driver support ([https://github.com/apple/cups/issues/5271 CUPS issue 5271]), instead relying entirely on IPP Everywhere. Explain what is/will be handled by {{Pkg|cups}} and what by {{Pkg|cups-filters}} and/or other software.}}\n\n\nThe drivers for a printer may come from any of the sources shown below. See [[CUPS/Printer-specific problems]] for an incomplete list of drivers that others have managed to get working.\n\nTo drive a printer, CUPS needs a PPD file and, for most printers, some [https://www.cups.org/doc/man-filter.html filters].\nFor details on how CUPS uses PPDs and filters, see [https://www.cups.org/doc/postscript-driver.html].\n\nThe [http://www.openprinting.org/printers OpenPrinting Printer List] provides driver recommendations for many printers. It also supplies PPD files for each printer, but most are available through [[#Foomatic|foomatic]] or the recommended driver package.\n\nWhen a PPD file is provided to CUPS, the CUPS server will regenerate the PPD files and save them in {{ic|/etc/cups/ppd/}}.\n\n=== CUPS ===\n\nCUPS includes support for [[wikipedia:AirPrint|AirPrint]] and [http://www.pwg.org/ipp/everywhere.html IPP Everywhere] printers.\n\n=== OpenPrinting CUPS filters ===\n\nThe Linux Foundation's OpenPrinting workgroup provides [https://wiki.linuxfoundation.org/openprinting/cups-filters cups-filters]. Those are backends, filters, and other binaries that were once part of CUPS but are no longer maintained by Apple. They are available in the {{Pkg|cups-filters}} package that is a dependency of {{Pkg|cups}}.\n\nNon-PDF printers require {{pkg|ghostscript}} to be installed. For PostScript printers {{Pkg|gsfonts}} may also be required.\n\n=== Foomatic ===\n\nThe Linux Foundation's OpenPrinting workgroup's [https://wiki.linuxfoundation.org/openprinting/database/foomatic foomatic] provides PPDs for many printer drivers, both free and nonfree. For more information about what foomatic does, see [http://www.openprinting.org/download/kpfeifle/LinuxKongress2002/Tutorial/IV.Foomatic-Developer/IV.tutorial-handout-foomatic-development.html Foomatic from the Developer's View].\n\nTo use foomatic, install {{pkg|foomatic-db-engine}} and at least one of:\n\n* {{pkg|foomatic-db}} - a collection of XML files used by foomatic-db-engine to generate PPD files.\n* {{pkg|foomatic-db-ppds}} - prebuilt PPD files.\n* {{Pkg|foomatic-db-nonfree}} - a collection of XML files from printer manufacturers under non-free licenses used by foomatic-db-engine to generate PPD files.\n* {{pkg|foomatic-db-nonfree-ppds}} - prebuilt PPD files under non-free licenses.\n\nThe foomatic PPDs may require additional filters, such as {{aur|min12xxw}}.\n\n=== Gutenprint ===\n\nThe [http://gimp-print.sourceforge.net/ Gutenprint project] provides drivers for Canon, Epson, Lexmark, Sony, Olympus, and PCL printers for use with CUPS and [[GIMP]].\n\nInstall {{Pkg|gutenprint}} and {{Pkg|foomatic-db-gutenprint-ppds}}.\n\n{{Note|When the Gutenprint packages get updated, the printers using Gutenprint drivers will stop working until you run {{ic|cups-genppdupdate}} as root and restart CUPS. ''cups-genppdupdate'' will update the PPD files of the configured printers, see {{man|8|cups-genppdupdate}} for more details.}}\n\n=== Manufacturer-specific drivers ===\n\nMany printer manufacturers supply their own Linux drivers. These are often available in the official Arch repositories or in the [[AUR]].\n\nSome of those drivers are described in more detail in [[CUPS/Printer-specific problems]].\n\n== Printer URI ==\n\nListed below are additional steps to manually generate the URI if required. Some printers or drivers may need a special URI as described in [[CUPS/Printer-specific problems]].\n\n=== USB ===\n\nCUPS should be able to automatically generate a URI for USB printers, for example {{ic|1=usb://HP/DESKJET%20940C?serial=CN16E6C364BH}}.\n\nIf it does not, see [[CUPS/Troubleshooting#USB printers]] for troubleshooting steps.\n\n=== Parallel port ===\n\nThe URI should be of the form {{ic|parallel:''device''}}. For instance, if the printer is connected on {{ic|/dev/lp0}}, use {{ic|parallel:/dev/lp0}}.\nIf you are using a USB to parallel port adapter, use {{ic|parallel:/dev/usb/lp0}} as the printer URI.\n\n=== Network ===\n\nIf you have set up [[Avahi]] as in [[#Network]], CUPS should detect the printer URI. You can also use {{ic|avahi-discover}} to find the name of your printer and its address (for instance, {{ic|BRN30055C6B4C7A.local/10.10.0.155:631}}).\n\nThe URI can also be generated manually, without using [[Avahi]].\nA list of the available URI schemes for networked printers is available in the [https://www.cups.org/doc/network.html#PROTOCOLS CUPS documentation]. As exact details of the URIs differ between printers, check either the manual of the printer or [[CUPS/Printer-specific problems]].\n\nThe URI for printers on [[SMB]] shares is described in the {{man|8|smbspool}} man page.\n\n{{Note|Any special characters in the printer URIs need to be appropriately quoted, or, if your Windows printer name or user passwords have spaces, CUPS will throw a {{ic|lpadmin: Bad device-uri}} error.\nFor example, {{ic|smb://BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6}} becomes {{ic|smb://BEN-DESKTOP/HP%20Color%20LaserJet%20CP1510%20series%20PCL6}}.\n  \nThis result string can be obtained by running the following command:\n\n $ python -c 'from urllib.parse import quote; print(\"smb://\" + quote(\"BEN-DESKTOP/HP Color LaserJet CP1510 series PCL6\"))'\n\n}}\n\nRemote CUPS print servers can be accessed through a URI of the form {{ic|ipp://''hostname'':631/printers/''queue_name''}}. See [[CUPS/Printer sharing#Printer sharing]] for details on setting up the remote print server.\n\nSee [[CUPS/Troubleshooting#Networking issues]] for additional issues and solutions.\n\n{{Warning|1=Avoid configuring both the server and the client with a printer filter - either the print queue on the client or the server should be 'raw'. This avoids sending a print job through the filters for a printer twice, which can cause problems (for instance, [https://bbs.archlinux.org/viewtopic.php?pid=1589908#p1589908]). See [[#Usage]] for an example of setting a print queue to 'raw'.}}\n\n== Usage ==\n\nCUPS can be fully controlled using the lp* and cups* CLI tools.\nAlternatively, the [[#Web interface]] or one of several [[#GUI applications]] can be used.\n\n* The ''queue'' name is a short but descriptive name used on the system to identify the queue. This name should not contain spaces or any special characters. For instance, a print queue corresponding to a HP LaserJet 5P could be named \"hpljet5p\". More than one queue can be associated with each physical printer.\n* The ''location'' is a description of the printer's physical location (for instance \"bedroom\", or \"kitchen\"). This is to aid in maintaining several printers.\n* The ''description'' is a full description of the print queue. A common use is a full printer name (like \"HP LaserJet 5P\").\n\n=== CLI tools ===\n\nSee [http://localhost:631/help/options.html CUPS local documentation] for more tips on the command-line tools.\n\n{{Note|Command-line switches cannot be grouped}}\n\n{{Style|Nonstandard use of definition lists, comments in command line.}}\n\n;List the devices\n # lpinfo -v\n $ /usr/lib/cups/backend/snmp ''ip_address''  # Use SNMP to find a URI\n\n;List the models\n $ lpinfo -m\n\n;Add a new queue\n # lpadmin -p ''queue_name'' -E -v ''uri'' -m ''model''\n\nThe ''queue_name'' is up to you.\nExamples:\n # lpadmin -p HP_DESKJET_940C -E -v \"usb://HP/DESKJET%20940C?serial=CN16E6C364BH\" -m drv:///HP/hp-deskjet_940c.ppd.gz\n # lpadmin -p AirPrint -E -v \"ipp://10.0.1.25/ipp/print\" -m everywhere    # Driverless queue (Apple AirPrint or IPP Everywhere)\n # lpadmin -p SHARED_PRINTER -m raw    # Raw queue; no PPD or filter\n # lpadmin -p Test_Printer -E -v \"ipp://10.0.1.3/ipp/print\" -m pxlmono.ppd    # Specifying a PPD instead of a model\n\n{{Note|When specifying the PPD, use just the file name and not the full path (for instance, {{ic|pxlmono.ppd}} instead of {{ic|/usr/share/ppd/cupsfilters/pxlmono.ppd}}). Alternatively, the full path can be used with the {{ic|-P}} command line switch.}}\n\n;Set the default printer\n $ lpoptions -d ''queue_name''\n\n;Change the options\n $ lpoptions -p ''queue_name'' -l # List the options\n $ lpoptions -p ''queue_name'' -o ''option''=''value'' # Set an option\n\nExample:\n $ lpoptions -p HP_DESKJET_940C -o PageSize=A4\n\n;Check the status\n $ lpstat -s\n $ lpstat -p ''queue_name''\n\n;Deactivate a printer\n # cupsdisable ''queue_name''\n\n;Activate a printer\n # cupsenable ''queue_name''\n\n;Set the printer to accept jobs\n # cupsaccept ''queue_name''\n\n;Remove a printer\nFirst set it to reject all incoming entries:\n # cupsreject ''queue_name''\nThen disable it.\n # cupsdisable ''queue_name''\nFinally remove it.\n # lpadmin -x ''queue_name''\n\n;Print a file\n $ lpr ''file''\n $ lpr -# 17 ''file''            # print the file 17 times\n $ echo 'Hello, world!' | lpr -p # print the result of a command. The -p switch adds a header.\n\n;Check the queue\n $ lpq\n $ lpq -a # on all queues\n\n;Clear the queue\n # lprm   # remove last entry only\n # lprm - # remove all entries\n\n=== Web interface ===\n\nThe CUPS server can be fully administered through the web interface, available on http://localhost:631/.\n\n{{Note|If an HTTPS connection to CUPS is used, it ''may'' take a very long time before the interface appears the first time it is accessed. This is because the first request triggers the generation of SSL certificates which can be a time-consuming job.}}\n\nTo perform administrative tasks from the web interface authentication is required. Authenticate either as {{ic|root}} or make sure your user is member of a group with printer administration privileges, see [[#Configuration]].\n\n;Add a queue\nGo to the '''Administration''' page. \n\n;Modify existing queues\nGo to the '''Printers''' page, and select a queue to modify.\n\n;Test a queue\nGo to the '''Printers''' page, and select a queue.\n\n=== GUI applications ===\n\nIf your user does not have sufficient privileges to administer CUPS, the applications will request the root password when they start. To give users administrative privileges without needing root access, see [[#Configuration]].\n\n* {{App|GtkLP|GTK interface for CUPS.|https://gtklp.sirtobi.com/index.shtml|{{AUR|gtklp}}}}\n* {{App|print-manager|Tool for managing print jobs and printers ([[KDE]]).|https://cgit.kde.org/print-manager.git|{{Pkg|print-manager}}}}\n* {{App|system-config-printer|GTK printer configuration tool and status applet.|http://cyberelk.net/tim/software/system-config-printer/|{{Pkg|system-config-printer}}}}\n\n== Configuration ==\n\nThe CUPS server configuration is located in {{ic|/etc/cups/cupsd.conf}} and {{ic|/etc/cups/cups-files.conf}} (see {{man|5|cupsd.conf}} and {{man|5|cups-files.conf}}). After editing either file, [[restart]] {{ic|org.cups.cupsd.service}} to apply any changes. The default configuration is sufficient for most users.\n\n[[User group]]s with printer administration privileges are defined in {{ic|SystemGroup}} in the {{ic|/etc/cups/cups-files.conf}}. The {{ic|sys}} and {{ic|root}} and {{ic|wheel}} [[groups]] are used by default.\n\n{{pkg|cups}} is built with {{pkg|libpaper}} support and libpaper defaults to the '''Letter''' paper size. To avoid having to change the paper size for each print queue you add, edit {{ic|/etc/papersize}} and set your system default paper size. See {{man|5|papersize}}.\n\nBy default, all logs are sent to files in {{ic|/var/log/cups/}}. By changing the values of the {{ic|AccessLog}}, {{ic|ErrorLog}}, and {{ic|PageLog}} directives in {{ic|/etc/cups/cups-files.conf}} to {{ic|syslog}}, CUPS can be made to log to the [[systemd journal]] instead. See [https://fedoraproject.org/wiki/Changes/CupsJournalLogging the fedora wiki page] for information on the original proposed change.\n\n=== cups-browsed ===\n\n{{Out of date|{{ic|cups-browsed.service}} is not required to discover printers advertised over DNS-SD, that is done by {{ic|org.cups.cupsd.service}}. The service is only required to discover printers on an LDAP server and those using the legacy CUPS protocol (CUPS servers \u2264 1.5).}}\n\nCUPS can use [[Avahi]] browsing to discover unknown shared printers in your network. This can be useful in large setups where the server is unknown. To use this feature, set up [[Avahi#Hostname_resolution|.local hostname resolution]], and start both {{ic|avahi-daemon.service}} and {{ic|cups-browsed.service}}. Jobs are sent directly to the printer without any processing so the created queues may not work, however driverless printers such as those supporting [http://www.pwg.org/ipp/everywhere.html IPP Everywhere] or [[wikipedia:AirPrint|AirPrint]] should work out of the box.\n\n{{Note|1=<nowiki></nowiki>\n* Searching for network printers [https://bbs.archlinux.org/viewtopic.php?pid=1720219#p1720219 may significantly increase the time it takes for your computer to boot].\n* {{ic|cups-browsed.service}} is only needed to dynamically add and remove printers as they appear and disappear from a network. It is not required if you simply want to add a an DNS-SD/mDNS supporting network printer to CUPS.\n}}\n\n=== Print servers and remote administration ===\n\nSee [[CUPS/Printer sharing]] and [[CUPS/Printer sharing#Remote administration]].\n\n=== Allowing admin authentication through PolicyKit ===\n\n[[PolicyKit]] can be configured to allow users to configure printers using a GUI without the admin password.\n\n{{Note|1=You may need to install {{Pkg|cups-pk-helper}} for working this rules.}}\n\nHere is an example that allows members of the wheel [[user group]] to administer printers without a password:\n\n{{hc|/etc/polkit-1/rules.d/49-allow-passwordless-printer-admin.rules|<nowiki>\npolkit.addRule(function(action, subject) { \n    if (action.id == \"org.opensuse.cupspkhelper.mechanism.all-edit\" && \n        subject.isInGroup(\"wheel\")){ \n        return polkit.Result.YES; \n    } \n});\n</nowiki>}}\n\n=== Without a local CUPS server ===\n\nCUPS can be configured to directly connect to remote printer servers instead of running a local print server. This requires [[install]]ation of the {{Pkg|libcups}} package. Some applications will still require the {{Pkg|cups}} package for printing.\n\n{{Warning|Accessing remote printers without a local CUPS server is not recommended by the developers. [https://lists.cups.org/pipermail/cups/2015-October/027229.html]}}\n\nTo use a remote CUPS server, set the {{ic|CUPS_SERVER}} [[environment variable]] to {{ic|printerserver.mydomain:port}}. For instance, if you want to use a different print server for a single [[Firefox]] instance (substitute {{ic|printserver.mydomain:port}} with your print server name/port):\n\n $ CUPS_SERVER=printserver.mydomain:port firefox\n\n== Troubleshooting ==\n\nSee [[CUPS/Troubleshooting]].\n\n== See also ==\n\n* [http://localhost:631/help Official CUPS documentation], ''locally installed''\n* [[Wikipedia:CUPS]]\n* [http://www.linuxfoundation.org/collaborate/workgroups/openprinting OpenPrinting homepage]\n* [https://en.opensuse.org/Concepts_printing OpenSuSE Concepts printing guide - explains the full printing workflow]\n* [https://en.opensuse.org/SDB:CUPS_in_a_Nutshell OpenSuSE CUPS in a Nutshell - a quick CUPS overview]\n* [https://wiki.gentoo.org/wiki/Printing Gentoo's printing guide]\n* [[debian:Printing|Debian's Printing portal - detailed technical guides]]\n* [[debian:SystemPrinting|Debian's printing overview - a basic view of the CUPS printing system]]"
                    }
                ]
            },
            "1068": {
                "pageid": 1068,
                "ns": 0,
                "title": "Adding Firefox Search Engines As User",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "#REDIRECT [[Firefox#Adding search engines]]"
                    }
                ]
            },
            "1167": {
                "pageid": 1167,
                "ns": 0,
                "title": "Browser plugins",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Web browser]]\n[[de:Browser Plugins]]\n[[es:Browser plugins]]\n[[fr:Plugins navigateur]]\n[[ja:\u30d6\u30e9\u30a6\u30b6\u30d7\u30e9\u30b0\u30a4\u30f3]]\n[[zh-hans:Browser plugins]]\n{{Related articles start}}\n{{Related|Browser extensions}}\n{{Related|Opera}}\n{{Related|Firefox}}\n{{Related|Chromium}}\n{{Related articles end}}\n\nThere are two types of browser plugins, based on the plugin API they use:\n\n* Netscape plugin API ([[Wikipedia:NPAPI|NPAPI]]): these plugins work in most smaller browsers ([[Firefox#Plugins|Firefox supports only the Flash Player plugin]], Chromium and Opera do '''not''' support these plugins).\n* Pepper plugin API ('''PPAPI'''): these plugins work in [[Chromium]] (and Chrome), [[Opera]] and [[Vivaldi]].\n\nMost plugins on this page are NPAPI-only, unless noted otherwise.\n\n== Flash players ==\n\n=== Adobe Flash Player ===\n\n==== Installation ====\n\nThe package you will need to install depends on the browser you use.\n\n* The NPAPI version can be [[install]]ed with the {{Pkg|flashplugin}} package.\n* The PPAPI version can be [[install]]ed with the {{Pkg|pepper-flash}} package.\n\n{{Note|\n* Some Flash apps may require the {{AUR|ttf-ms-fonts}} package in order to properly render text.\n* The {{AUR|freshplayerplugin}} package provides an ''experimental'' adapter to use {{Pkg|pepper-flash}} with NPAPI based browsers like Firefox. It can be configured (e.g. for enabling HW-acceleration) by copying {{ic|/usr/share/freshplayerplugin/freshwrapper.conf.example}} to {{ic|~/.config/freshwrapper.conf}}.\n}}\n\n==== Upgrade ====\n\nIf you are using [[Firefox]], please make sure to follow [[Firefox#Firefox detects the wrong version of my plugin|this instruction first]].\n\n==== Configuration ====\n\nTo change the preferences (privacy settings, resource usage, etc.) of Flash Player, right click on any embedded Flash content (for instance [https://helpx.adobe.com/flash-player.html adobe's flash home]) and choose ''Settings'' from the menu.\n\nYou can also use the Flash settings file {{ic|/etc/adobe/mms.cfg}}. Gentoo has an extensively commented [http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-plugins/adobe-flash/files/mms.cfg example mms.cfg].\n\nTo enable video decoding with [[hardware video acceleration]] (NPAPI-only), add/uncomment the following line:\n EnableLinuxHWVideoDecode = 1\nIt might also be required to add/uncomment the following line:\n OverrideGPUValidation = 1\n\n==== Multiple monitor full-screen fix ====\n\nWhen using a multiple monitor setup, or swapping between virtual desktops, it is possible to lose focus on a fullscreen flash window. In such a case, the adobe flash-plugin will automatically exit full-screen mode. This may not be to your liking.\n\nUnfortunately, this behavior is hard coded into the binary. In order to change this behavior it is necessary to alter the binary.\n\nFixing this issue only works for the NPAPI plugin and this issue can be fixed via 2 ways.\n\n* Using the {{AUR|flashplugin-focusfix}}.\n\n* [http://www.webupd8.org/2012/10/ubuntu-multi-monitor-tweaks-full-screen.html Patching manually]:\n\n:After the package has been installed, backup {{ic|libflashplayer.so}}:\n:{{bc|# cp /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so.backup}}\n\n:Then, you will need to alter that file using a hex editor like {{Pkg|ghex}}. You must open it with root privileges obviously.\n:{{bc|# ghex /usr/lib/mozilla/plugins/libflashplayer.so}}\n\n:Using the hex editor find the string {{ic|_NET_ACTIVE_WINDOW}}. In ghex the readable string is on the right hand side of the window, and the hex is on the left, you are trying to locate the readable string. It should be easy to find using a search function.\n\n:Upon finding {{ic|_NET_ACTIVE_WINDOW}} rewrite the line, but '''do not''' change the length of the line, for example {{ic|_NET_ACTIVE_WINDOW}} becomes {{ic|_XET_ACTIVE_WINDOW}}.\n\n:Save the binary, and restart any processes using the plugin (as this will crash any instance of the plugin in use.)\n\n==== Playing DRM-protected content ====\n\nSee [[Flash DRM content]].\n\n=== Gnash ===\n\n[[Wikipedia:Gnash (software)|Gnash]] is a free (libre) alternative to Adobe Flash Player. It is available both as a standalone player for desktop computers and embedded devices, as well as a browser plugin, and supports the SWF format up to version 7 (with versions 8 and 9 under development) and about 80% of ActionScript 2.0.\n\nThere is a packages available: {{AUR|gnash-git}}.\n\n=== Lightspark ===\n\n[http://lightspark.github.com/ Lightspark] is another attempt to provide a free alternative to Adobe Flash aimed at supporting newer Flash formats. Lightspark has the ability to fall back on Gnash for old content, which enables users to install both and enjoy wider coverage. Although it is still very much in development, it supports some [https://github.com/lightspark/lightspark/wiki/Site-Support popular sites]. \n\nLightspark can be [[install]]ed with the {{AUR|lightspark-git}} package.\n\n== PDF viewer ==\n\n=== PDF.js ===\n\n[https://github.com/mozilla/pdf.js PDF.js] is a PDF renderer created by Mozilla and built using HTML5 technologies.\n\nIt is included in [[Firefox]].\n\nFor [[Chromium]] and Google Chrome it is available as extension in the [https://chrome.google.com/webstore/detail/pdf-viewer/oemmndcbldboiebfnladdacbdfmadadm Chrome Web Store].\n\n=== External PDF viewers ===\n\nTo use an external PDF viewer you need [[#MozPlugger]].\n\nIf you want to use MozPlugger with Evince, for example, you have to find the lines containing {{ic|pdf}} in the {{ic|/etc/mozpluggerrc}} file and modify the corresponding line after {{ic|GV()}} as below:\n repeat noisy swallow(evince) fill: evince \"$file\"\n(replace {{ic|evince}} with something else if it is not your viewer of choice).\n\nWhen using Firefox, you may need to change 2 values in {{ic|about:config}}:\n* Change {{ic|pdfjs.disabled}}'s value to ''true'';\n* Change {{ic|plugin.disable_full_page_plugin_for_types}}'s value to an empty value.\n\nThen restart Firefox to use the plugin.\n\n== UnionPay Online Pay ==\n\n{{Note|This plugin is NPAPI-only and thus does '''not work''' in Chromium, Opera and Firefox.}}\n\n[[Install]] {{AUR|upeditor}} package for the \"security plugin\" used by UnionPay Online Pay (\u94f6\u8054\u5728\u7ebf\u652f\u4ed8).\n\n== Citrix ==\n\nSee [[Citrix]].\n\n== Java (IcedTea) ==\n\n{{Note|Both Java plugins are NPAPI-only and thus do '''not work''' in Chromium, Opera and Firefox.}}\n\nTo enable [[Java]] support in your browser, you have two options: the open-source [[Wikipedia:OpenJDK|OpenJDK]] (recommended) or Oracle's proprietary version. For details about why OpenJDK is recommended see [https://mailman.archlinux.org/pipermail/arch-general/2011-August/021671.html].\n\nTo use OpenJDK, you have to install the [http://icedtea.classpath.org/wiki/Main_Page IcedTea] browser plugin, {{Pkg|icedtea-web}}.\n\nIf you want to use Oracle's JRE, install the {{AUR|jre}} package.\n\n== Pipelight ==\n\nSee [[Pipelight]].\n\n== Multimedia playback ==\n\nMany browsers support the [[GStreamer]] framework to play multimedia inside HTML5 {{ic|<audio>}} and {{ic|<video>}} elements. Check the optional dependencies of the browser package (or of the web engine, e.g. {{Pkg|webkit2gtk}} or {{Pkg|qt5-webkit}}) to see if GStreamer is supported. See [[GStreamer#Installation]] for the description of each plugin.\n\nFor media formats that are not natively supported by your browser (e.g. most browsers don't play {{ic|.mkv}} files), the following plugins are available:\n\n* {{App|Rosa Media Player Plugin|Qt-based NPAPI plugin that uses MPlayer as backend.|https://abf.rosalinux.ru/uxteam/ROSA_Media_Player|{{AUR|rosa-media-player-plugin}}}}\n* {{App|VLC Plugin|NPAPI plugin that uses VLC as backend.|https://code.videolan.org/videolan/npapi-vlc|{{AUR|npapi-vlc}}}}\n\n== Google Hangouts ==\n{{Note|This plugin is not required when using Chromium or Firefox}}\n\nHangouts plugin can be installed with the {{AUR|google-talkplugin}} package.\nHangouts is a messenger by Google, that allows you to make video call between 15 people simultaneously, or share your screen with others.\n\n== MozPlugger ==\n\nMozPlugger can be installed with the {{AUR|mozplugger}} package.\n\n[http://mozplugger.mozdev.org/ MozPlugger] is a Mozilla plugin which can show many types of multimedia inside your browser. To accomplish this, it uses external programs such as MPlayer, xine, Evince, OpenOffice, TiMidity, etc. To modify or add applications to be used by MozPlugger just modify the {{ic|/etc/mozpluggerrc}} file.\n\nFor example, MozPlugger uses OpenOffice by default to open {{ic|doc}} files. To change it to use LibreOffice instead, look for the OpenOffice section:\n{{hc|/etc/mozpluggerrc|\n...\n### OpenOffice\ndefine([OO],[swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 \"$file\"\n    swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 \"$file\"\n    swallow(VCLSalFrame) fill: soffice -nologo $1 \"$file\"])\n...\n}}\nand add LibreOffice at the beginning of the list:\n{{hc|/etc/mozpluggerrc|\n...\n### LibreOffice/OpenOffice\ndefine([OO],[swallow(VCLSalFrame) fill: libreoffice --nologo --norestore --view $1 \"$file\"\n    swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 \"$file\"\n    swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 \"$file\"\n    swallow(VCLSalFrame) fill: soffice -nologo $1 \"$file\"])\n...\n}}\n{{Note|Be sure to also choose LibreOffice as your preferred application to open {{ic|doc}} files.}}\n\nAs another simple example, if you want to open {{ic|cpp}} files with your favorite text editor (we will use Kate) to get syntax highlighting, just add a new section to your {{ic|mozpluggerrc}} file:\n{{hc|/etc/mozpluggerrc|\ntext/x-c++:cpp:C++ Source File\ntext/x-c++:hpp:C++ Header File\n    repeat noisy swallow(kate) fill: kate -b \"$file\"\n}}\n\nTo change the default of MPlayer so that [[mpv]] is used instead, change the appropriate lines such that:\n{{hc|1=/etc/mozpluggerrc|2=\n...\n### MPlayer\n\n#define(MP_CMD,[mplayer -really-quiet -nojoystick -nofs -zoom -vo xv,x11 -ao esd,alsa,oss,arts,null -osdlevel 0 $1 </dev/null])\ndefine(MP_CMD,[mpv -really-quiet $1 </dev/null])\n\n#define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(-xy $width -wid $window $1)])\ndefine(MP_EMBED,[embed noisy ignore_errors: MP_CMD(--autofit=$width -wid $window $1)])\n\n#define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(MPlayer): MP_CMD($1)])\ndefine(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(mpv): MP_CMD($1)])\n\n...\n\n#define(MP_AUDIO,[mplayer -quiet -nojoystick $1 </dev/null])\ndefine(MP_AUDIO,[mpv -really-quiet $1 </dev/null])\n\n#define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mplayer -quiet -nojoystick $1 \"$file\" </dev/null])\ndefine(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mpv -really-quiet $1 \"$file\" </dev/null])\n...\n}}\n\nFor a more complete list of MozPlugger options see {{man|7|mozplugger|url=https://www.freebsd.org/cgi/man.cgi?query=mozplugger}}.\n\n== Troubleshooting ==\n\n=== Flash Player: no sound ===\n\nFlash Player outputs its sound only through the default [[ALSA]] device, which is number '''0'''. If you have multiple sound devices (a very common example is having a sound card and HDMI output in the video card), then your preferred device may have a different number.\n\nFor a list of available devices with their respective numbers, run:\n{{hc|$ aplay -l|\n **** List of PLAYBACK Hardware Devices ****\n card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]\n   Subdevices: 1/1\n   Subdevice #0: subdevice #0\n card 1: DX [Xonar DX], device 0: Multichannel [Multichannel]\n   Subdevices: 0/1\n   Subdevice #0: subdevice #0\n card 1: DX [Xonar DX], device 1: Digital [Digital]\n   Subdevices: 1/1\n   Subdevice #0: subdevice #0\n}}\nIn this case, the HDMI output is {{ic|card 0}} and the sound card is {{ic|card 1}}. To make your sound card the default for ALSA, create the file {{ic|.asoundrc}} in your home directory, with the following content:\n{{hc|~/.asoundrc|\npcm.!default {\n    type hw\n    card 1\n}\n \nctl.!default {\n    type hw\n    card 1\n}\n}}\n\n=== Flash Player: blocking sound for other applications or delayed playback ===\n\nIf sound is delayed within Flash videos or Flash stops sound from any other application, then make sure you do not have {{ic|snd_pcm_oss}} module loaded:\n $ lsmod | grep snd_pcm_oss\nYou can unload it:\n # rmmod snd_pcm_oss\nand restart the browser to see if it helps.\n\n=== Flash Player: performance ===\n\nAdobe's Flash plugin has some serious performance issues, especially when CPU frequency scaling is used. There seems to be a policy not to use the whole CPU workload, so the frequency scaling governor does not clock the CPU any higher. To work around this issue, see [[CPU frequency scaling#Switching threshold]]\n\n=== Flash Player: black bars in full screen playback on multi-headed setups ===\n\nThe Flash plugin has a known bug where the full screen mode does not really work when you have a multi-monitor setup. Apparently, it incorrectly determines the full screen resolution, so the full screen Flash Player fills the correct monitor but gets scaled as if the monitor had the resolution of the total display area.\n\nTo fix this, you can use the \"hack\" described [http://al.robotfuzz.com/content/workaround-fullscreen-flash-linux-multiheaded-desktops here]. Simply download the source from the link given on the page, and follow the instructions in the README.\n\n{{Note|While the author mentions using NVDIA's TwinView, the hack should work for any multi-monitor setup.}}\n\n=== Firefox: old Flash Player version shown after upgrade ===\n\nSolution for Firefox: delete file \"pluginreg.dat\" in user's profile directory.\n\n* Close firefox\n* Go to {{ic|/home/''<username>''/.mozilla/firefox/''<profile_folder>''/}}\n* Delete file \"pluginreg.dat\"\n\nFirefox will automatically rebuild this file once it is started again. Make sure to substitute ''<username>'' and ''<profile_folder>'' with the appropriate information.\n\n=== Firefox: plugins are installed but not working ===\n\nA common problem is that the plugin path is unset. This typically occurs on a new install, when the user has not re-logged in before running Firefox after the installation. Test if the path is unset:\n $ printenv MOZ_PLUGIN_PATH\nIf unset, then either re-login, or source {{ic|/etc/profile.d/mozilla-common.sh}} and start Firefox from the same shell:\n $ source /etc/profile.d/mozilla-common.sh && firefox"
                    }
                ]
            },
            "1168": {
                "pageid": 1168,
                "ns": 0,
                "title": "Firefox/Tweaks",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Web browser]]\n[[ja:Firefox \u8a2d\u5b9a]]\n{{Related articles start}}\n{{Related|Firefox}}\n{{Related|Browser plugins}}\n{{Related|Firefox/Profile on RAM}}\n{{Related|Firefox/Privacy}}\n{{Related articles end}}\n\n{{Merge|Firefox#Tips and tricks|Also overlaps with [[Firefox#Configuration]]; deciding if some particular topic should be here or on the main page is arbitrary. The \"tweaks\" are the backbone of the content related to Firefox, so they should be directly on the main page. The troubleshooting section can be split into a subpage if the result is deemed too long.}}\n\nThis page contains advanced Firefox configuration options and performance tweaks.\n\n== Performance ==\n\nImproving 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.\n\n{{Note|Listed options may only be available for the latest version of Firefox.}}\n\nThis section contains advanced Firefox options for performance tweaking. For additional information see [http://kb.mozillazine.org/Category:Tweaking_preferences these MozillaZine articles].\n\n=== Change Performance settings ===\n\nFirefox automatically uses settings based on the computer's hardware specifications [https://support.mozilla.org/en-US/kb/performance-settings].\n\nAdjusting these settings can be done in Preferences or by changing the {{ic|dom.ipc.processCount}} value to {{ic|1-8}} and {{ic|browser.preferences.defaultPerformanceSettings.enabled}} to {{ic|false}} manually in {{ic|about:config}}.\n\nHowever you may want to manually adjust this setting to increase performance even further or decrease memory usage on low-end devices.\n\nIn this case the '''Content process limit''' for the current [[user]] has been increased to ''4'':\n\n{{hc|$ ps -e {{!}} grep 'Web Content'|\n13991 tty1     00:00:04 Web Content\n14027 tty1     00:00:09 Web Content\n14031 tty1     00:00:20 Web Content\n14040 tty1     00:00:26 Web Content\n}}\n\n=== Enable OpenGL Off-Main-Thread Compositing (OMTC) ===\n\nBasic software OMTC is enabled by default.\n\nTo 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.\n\nIf OpenGL OMTC is disabled, you can force-enable it by going to {{ic|about:config}} and enabling {{ic|layers.acceleration.force-enabled}}. Restart Firefox for changes to take effect.\n\n{{note|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\u2019t sure.}}\n\nFor more information on OMTC in Firefox read [[MozillaWiki:Platform/GFX/OffMainThreadCompositing]].\n\n=== Enable WebRender ===\n\nEnables WebRender compositor in Servo, instead of Gecko. It improves performance on supported hardware, fixes some black visual glitches when \"OpenGL Off-Main-Thread\" is enabled. Currently it has some known bugs. You can read more in [[MozillaWiki:Platform/GFX/Quantum Render]].\n\nMozilla is slowly deploying WebRender to \"qualified\" Linux configurations. The qualification mostly depends on the GPU, the driver's version and the screen resolution. \n\nOne can force-enable it using one of the two methods below:\n# by setting the {{ic|MOZ_WEBRENDER}} [[environment variable]] to {{ic|1}} before launching Firefox.\n# by going to {{ic|about:config}} and setting {{ic|gfx.webrender.all}} to {{ic|true}}. Restart Firefox for changes to take effect.\n\nTo check if WebRender is enabled go to {{ic|about:support}} and under the \"Graphics\" section, in the \"Decision Log\" sub-section, look for \"WEBRENDER\". If it reports \"available by user: Force enabled by pref\", it means is enabled. Otherwise it will just report \"opt-in by default: WebRender is an opt-in feature\".\n\n{{Note|If WebRender 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 are not sure.}}\n\n=== Enable Accelerated Azure Canvas ===\n\n{{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)]].}}\n\nGo 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 {{ic|true}}.\n\nTo verify restart Firefox then go to {{ic|about:support}} and search for {{ic|AzureCanvasAccelerated}} which should be set to ''1''.\n\nThe acceleration efficiency can be tested by comparing the speed of a [http://js1k.com/2016-elemental/demo/2445 javascript demo] with and without the setting.\n\n=== Stop urlclassifier3.sqlite from being created again ===\n\n{{Out of date|This advice seems not need anymore. ({{ic|urlclassifier*}} files don't exist as of Firefox 64+.)}}\n\nRemoving 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.\n\n $ cd ~/.mozilla/firefox/<profile_dir>\n $ echo \"\" > urlclassifier3.sqlite\n $ chmod 400 urlclassifier3.sqlite\n\nThis effectively makes the file empty and then read-only so Firefox cannot write to it anymore.\n\n=== Turn off the disk cache ===\n\nEvery object loaded (html page, jpeg image, css stylesheet, gif banner) is saved in the Firefox cache for future use without the need to download it again. It is estimated that only a fraction of these objects will be reused, usually about 30%. This is because of very short object expiration time, updates or simply user behavior (loading new pages instead of returning to the ones already visited). The Firefox cache is divided into memory and disk cache and the latter results in frequent disk writes: newly loaded objects are written to memory and older objects are removed.\n\nThe disk cache can be turned off by enabling ''Preferences > Privacy & Security > Cached Web Content - Override automatic cache management'' and setting to {{ic|0}} ''Limit cache to ... MB of space''.\n\nAn alternative approach is to use {{Ic|about:config}} settings:\n\n* Set {{Ic|browser.cache.disk.enable}} to {{ic|false}}\n* Verify that {{Ic|browser.cache.memory.enable}} is set to {{ic|true}}, more information about this option can be found in the [http://kb.mozillazine.org/Browser.cache.memory.enable browser.cache.memory Mozilla article]\n* Add the entry (''right click > new > integer'') {{Ic|browser.cache.memory.capacity}} and set it to the amount of KB you want to spare, or to {{ic|-1}} for [http://kb.mozillazine.org/Browser.cache.memory.capacity#-1 automatic] cache size selection (skipping this step has the same effect as setting the value to {{ic|-1}})\n** The \"automatic\" size selection is based on a decade-old table that only contains settings for systems at or below 8GB of system memory.  The following formula very closely approximates this table, and can be used to set the Firefox cache more dynamically:  {{ic|41297 - (41606 / (1 + ((RAM / 1.16) ^ 0.75)))}}, where {{ic|RAM}} is in GB and the result is in KB.\n\nThis method has some drawbacks:\n\n* The content of currently browsed webpages is lost if the browser crashes or after a reboot, this can be avoided using [[anything-sync-daemon]] or any similar periodically-syncing script so that cache gets copied over to the drive on a regular basis\n* The settings need to be configured for each user individually\n\n=== Longer interval between session information record ===\n\nFirefox stores the current session status (opened urls, cookies, history and form data) to the disk on a regular basis. It is used to recover a previous session in case of crash.\nThe default setting is to save the session every 15 seconds, resulting in frequent disk access. \n\nTo increase the save interval to 10 minutes (600000 milliseconds) for example, change in {{ic|about:config}} the setting of {{ic|browser.sessionstore.interval}} to {{ic|600000}}\n\nTo disable completely this feature, change {{ic|browser.sessionstore.resume_from_crash}} to {{ic|false}}\n\n=== Referrer header control ===\n\nThe HTTP {{ic|Referer}} header can be extensively configured via {{ic|about:config}}. See [[MozillaWiki:Security/Referrer]] for the available preferences.\n\n=== Defragment the profile's SQLite databases ===\n\n{{Warning|This procedure may damage the databases in such a way that sessions are not saved properly.}}\n\nFirefox keeps bookmarks, history, passwords 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.\n\nYou can use {{AUR|profile-cleaner}} to do this, while Firefox is '''not''' running:\n\n{| class=\"wikitable\"\n|+ profile-cleaner usage example:\n! SQLite database || Size Before || Size After || % change\n|- \n|urlclassifier3.sqlite|| 37 M || 30 M || 19 %\n|-\n|places.sqlite || 16 M || 2.4 M || 85 %\n|-\n|}\n\nFirefox provides 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, search for {{ic|Places Database}} and click the {{ic|Verify Integrity}} button.\n\n=== Cache the entire profile into RAM via tmpfs ===\n\nIf the system has memory to spare, {{ic|tmpfs}} can be used to [[Firefox/Profile_on_RAM|cache the entire profile directory]], which might result in increased Firefox responsiveness.\n\n=== Disable Pocket ===\n\nIf you do not use the Pocket-service, you may want to disable it by setting {{ic|extensions.pocket.enabled}} to ''false'' in {{ic|about:config}}.\n\n== Appearance ==\n\n=== Fonts ===\n\nSee the main article: [[Font configuration]]\n\n==== Configure the DPI value ====\n\nModifying 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'''.\n\nNote 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.\n\nSee also [[HiDPI#Firefox]] for information about HiDPI displays and  [https://www.sven.de/dpi/] for calculating the DPI.\n\n==== Default font settings from Microsoft Windows ====\n\nBelow are the default font preferences when Firefox is installed in Microsoft Windows. Many web sites use the Microsoft fonts.\n\n{{bc|\nProportional: Serif Size (pixels): 16\nSerif: Times New Roman\nSans-serif: Arial\nMonospace: Courier New Size (pixels): 13\n}}\n\n=== General user interface CSS settings ===\n\nFirefox'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'').\n\n{{Note|\n* The {{ic|chrome/}} folder and {{ic|userChrome.css}}/{{ic|userContent.css}} files may not necessarily exist, so they may need to be created.\n* {{ic|toolkit.legacyUserProfileCustomizations.stylesheets}} must be enabled in {{ic|about:config}}.\n}}\n\nThis section only deals with the {{ic|userChrome.css}} file which modifies Firefox's user interface, and not web pages.\n\n==== Change the interface font ====\n\nThe setting effectively overrides the global GTK font preferences, and does not affect webpages, only the user interface itself:\n\n{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|\n* {\n    font-family: \"FONT_NAME\";\n}\n}}\n\n==== Hide button icons ====\n\nEnables text-only buttons:\n{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|\n.button-box .button-icon {\n    display: none;\n}\n}}\n\n==== Hiding various tab buttons ====\n\nThese 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.\n\n{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|<nowiki>\n/* Tab bar */\n\n.tabbrowser-strip *[class^=\"scrollbutton\"] {\n    /* Hide tab scroll buttons */\n    display: none;\n}\n\n.tabbrowser-strip *[class^=\"tabs-alltabs\"] {\n    /* Hide tab drop-down list */\n    display: none;\n}\n\n.tabbrowser-strip *[class^=\"tabs-newtab-button\"] {\n    /* Hide new-tab button */\n    display: none;\n}</nowiki>\n}}\n\n==== Horizontal tabs ====\n\nTo place the tab bar horizontally stacked along the sides of the browser window:\n\n{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|\n/* Display the tabbar on the left */\n#content > tabbox {\n    -moz-box-orient: horizontal;\n}\n\n.tabbrowser-strip {\n    -moz-box-orient: vertical;\n    /*\n     * You can set this to -moz-scrollbars-vertical instead,\n     * but then the scrollbar will *always* be visible.  this way\n     * there is never a scrollbar, so it behaves like the tab bar\n     * normally does\n     */\n     overflow: -moz-scrollbars-none;\n}\n\n.tabbrowser-tabs {\n    -moz-box-orient: horizontal;\n    min-width: 20ex;   /* You may want to increase this value */\n    -mox-box-pack: start;\n    -moz-box-align: start;\n}\n\n.tabbrowser-tabs > hbox {\n    -moz-box-orient: vertical;\n    -moz-box-align: stretch;\n    -moz-box-pack: start;\n}\n\n.tabbrowser-tabs > hbox > tab {\n    -moz-box-align: start;\n    -moz-box-orient: horizontal;\n}\n}}\n\n==== Hide title bar and window border ====\n\nTo replace the title bar with the tab bar, enable {{ic|browser.tabs.drawInTitlebar}} in {{ic|about:config}}.\n\nOr go to \"Menu\", then \"Customize\" and then at the bottom-left corner find checkbox named \"Title Bar\". Uncheck it. If the checkbox is missing, make sure the {{ic|XDG_CURRENT_DESKTOP}} environment variable is correctly set and/or the {{ic|MOZ_GTK_TITLEBAR_DECORATION}} environment variable is set to \"client\".\n\n==== Auto-hide Bookmarks Toolbar ====\n\n{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|\n#PersonalToolbar {\n    visibility: collapse !important;\n}\n\n#navigator-toolbox:hover > #PersonalToolbar {\n    visibility: visible !important;\n}\n}}\n\n==== Remove sidebar width restrictions ====\n\n{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userChrome.css|\n/* remove maximum/minimum  width restriction of sidebar */\n#sidebar {\n    max-width: none !important;\n    min-width: 0px !important;\n}\n}}\n\n==== Unreadable input fields with dark GTK themes ====\n\nWhen using a dark [[GTK]] theme, one might encounter Internet pages with unreadable input and text fields (e.g. text input field with white text on white background, or black text on dark background). This can happen because the site only sets either background or text color, and Firefox takes the other one from the theme. To prevent Firefox from using theme's colors in web pages confirm {{ic|browser.display.use_system_colors}} is set to {{ic|false}} in {{ic|about:config}}.\n\nOtherwise, if the previous modification didn't solve the issue, it is possible to launch Firefox with a light GTK theme by adding a new string in {{ic|about:config}} named {{ic|widget.content.gtk-theme-override}} and setting it to a light theme like {{ic|Breeze:light}} or {{ic|Adwaita:light}}.\n\n===== Override input field color with CSS =====\n\n{{Note|1=Related bug has been resolved starting with 68. [https://bugzilla.mozilla.org/show_bug.cgi?id=1527048#c44]}}\n\nThe extension [https://addons.mozilla.org/firefox/addon/text-contrast-for-dark-themes/ Text Contrast for Dark Themes] sets the other color as needed to maintain contrast.\n\nAlternatively set the standard colors explicitly for all web pages in {{ic|userContent.css}} or using the [https://addons.mozilla.org/firefox/addon/styl-us/ stylus add-on].\nThe style sheet is usually located in your profile folder (visit {{ic|about:profiles}} for the path) in {{ic|chrome/userContent.css}}, if not you can create it there.\n\nThe following sets input fields to standard black text / white background; both can be overridden by the displayed site, so that colors are seen as intended:\n\n{{Note|If you want {{ic|urlbar}} and {{ic|searchbar}} to be {{ic|white}} remove the two first {{ic|:not}} css selectors.}}\n\n{{bc|1=\ninput:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']):not([type='radio']), textarea, select {\n    -moz-appearance: none !important;\n    background-color: white;\n    color: black;\n}\n\n#downloads-indicator-counter {\n    color: white;\n}\n}}\n\n===== Change the GTK theme =====\n\nTo force Firefox to use a light theme (e.g. Adwaita) for both web content and UI, see [[GTK#Themes]].\n\n===== Change the GTK theme for content process only =====\n\n{{Note|1=Works with multiprocess enabled. [https://bugzilla.mozilla.org/show_bug.cgi?id=1158076#c145]}}\n\nTo force Firefox to use a light theme (e.g. Adwaita) for web content only:\n\n# Open {{ic|about:config}} in the address bar.\n# Create a new {{ic|widget.content.gtk-theme-override}} string type entry ({{ic|right mouse button}} ''> New > String'').\n# Set the value to the light theme to use for rendering purposes (e.g. {{ic|Adwaita:light}}).\n# Restart Firefox.\n\n=== Web content CSS settings ===\n\nThis 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.\n\nThis 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.\n\n==== Import other CSS files ====\n\n{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|\n@import url(\"./imports/some_file.css\");\n}}\n\n==== Block certain parts of a domain ====\n\n{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|\n@-moz-document domain(example.com) {\n    div#header {\n        background-image: none !important;\n    } \n}\n}}\n\n==== Add [pdf] after links to PDF files ====\n\n{{hc|~/.mozilla/firefox/<profile_dir>/chrome/userContent.css|<nowiki>\n/* add '[pdf]' next to links to PDF files */\na[href$=\".pdf\"]:after {\n    font-size: smaller;\n    content: \" [pdf]\";\n}</nowiki>\n}}\n\n==== Block ads ====\n\nSee [http://www.floppymoose.com floppymoose.com] for an example of how to use {{ic|userContent.css}} as a basic ad-blocker.\n\n== Mouse and keyboard ==\n\n=== Mouse wheel scroll speed ===\n\nTo 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:\n\n* Set {{ic|mousewheel.acceleration.start}} to {{ic|-1}}.\n* Set {{ic|mousewheel.acceleration.factor}} to the desired number ({{ic|10}} to {{ic|20}} are common values).\n\nMozilla's recommendation for increasing the mousewheel scroll speed is to:\n\n* Set {{ic|mousewheel.default.delta_multiplier_y}} between {{ic|200}} and {{ic|500}} (default: {{ic|100}})\n\n=== Pixel-perfect trackpad scrolling ===\n\nTo 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.\n\nIf scrolling is undesirably jerky, try enabling Firefox's \"Use smooth scrolling\" option in Preferences > General > Browsing.\n\n=== Enable touchscreen gestures ===\n\nMake sure {{ic|dom.w3c_touch_events.enabled}} is either set to 1 (''enabled'') or 2 (''default, auto-detect'').\n\nAdd {{ic|1=MOZ_USE_XINPUT2 DEFAULT=1}} to {{ic|/etc/security/pam_env.conf}} and then logout or reboot your system for the changes to take effect.\n\nOn some devices, it may be necessary to disable xinput's touchscreen gestures by running the following:\n $ xsetwacom --set ''device'' Gesture off\n\n=== Mouse click on URL bar's behavior ===\n\nTo make the url bar behaves like in Windows regarding mouse clicks: a single click selects everything, a double click selects a single word until a punctuation sign and a triple click selects everything again, set the following in {{ic|about:config}}:\n\n browser.urlbar.clickSelectsAll; true\n browser.urlbar.doubleClickSelectsAll; false\n layout.word_select.stop_at_punctuation; true (default)\n\n=== Set backspace's behavior ===\n\nSee [[Firefox#Backspace does not work as the 'Back' button]].\n\n=== Disable middle mouse button clipboard paste ===\n\nSee [[Firefox#Middle-click behavior]].\n\n=== Emacs key bindings ===\nTo have Emacs/Readline-like key bindings active in text fields, see [[GTK#Emacs key bindings]].\n\n== Miscellaneous ==\n\n=== Enable additional media codecs ===\n\n{{Expansion|This section is not completed, there are many other variables related to Media Codecs in firefox.}}\n\nBefore 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:\n\n{| class=\"wikitable\"\n|+ Suggested values\n! Key || Value || Description\n|-\n| media.mediasource.enabled || true (default) || Enable [[wikipedia:Media_Source_Extensions|Media Source Extensions]] (MSE)\n|-\n| media.mediasource.mp4.enabled || true (default) || Enable [[wikipedia:MPEG-4_Part_14|MP4]] MSE\n|-\n| media.mediasource.webm.enabled || true (default) || Enable [[wikipedia:WebM|WebM]] MSE.\n|-\n| media.mediasource.ignore_codecs || true || Enable H.264 MSE, amongst other things (This boolean key has to be created!)\n|-\n| media.av1.enabled|| true ||  Enable [[wikipedia:AV1|AV1]]\n|}\n\n==== Widevine and Netflix/Amazon Video ====\n\nWidevine is a digital rights management tool that Netflix, Amazon Prime Video, and others use to protect their video content.\n\nThe 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.\n{{Note|Please make sure to check the ''Play DRM content'' option under Content-Preference.}}\n\nIt is also required that the private mode browsing is disabled, for the window and in the preferences.\n\n=== Remove full screen warning ===\n\nWarning about video displayed in full screen mode (\"\u2026 is now fullscreen\") can be disabled by setting {{ic|full-screen-api.warning.timeout}} to {{ic|0}} in {{ic|about:config}}.\n\n=== Change the order of search engines in the Firefox Search Bar ===\n\nTo change the order search engines are displayed in:\n\n* Open the drop-down list of search engines and click ''Manage Search Engines...'' entry.\n* Highlight the engine you want to move and use ''Move Up'' or ''Move Down'' to move it. Alternatively, you can use drag-and-drop.\n\n=== \"I'm Feeling Lucky\" mode ===\n\nSome search engines have a \"feeling lucky\" feature. For example, Google has \"I'm Feeling Lucky\", and DuckDuckGo has \"I'm Feeling Ducky\".\n\nTo activate them, search for {{ic|keyword.url}} in {{ic|about:config}} and modify its value (if any) to the URL of the search engine. \n\nFor Google, set it to:\n\n{{bc|<nowiki>https://www.google.com/search?btnI=I%27m+Feeling+Lucky&q=</nowiki>}}\n\nFor DuckDuckGo, set it to:\n\n{{bc|<nowiki>https://duckduckgo.com/?q=\\</nowiki>}}\n\n=== Secure DNS with DNSSEC validator ===\n\nYou can enable [[DNSSEC]] support for safer browsing.\n\n=== Adding magnet protocol association ===\n\nIn {{ic|about:config}} set {{ic|network.protocol-handler.expose.magnet}} to {{ic|false}}. In case it does not exist, it needs to be created, right click on a free area and select ''New > Boolean'', input {{ic|network.protocol-handler.expose.magnet}} and set it to {{ic|false}}.\n\nThe next time you open a magnet link, you will be prompted with a ''Launch Application'' dialogue. From there simply select your chosen [[List_of_applications/Internet#BitTorrent_clients|BitTorrent client]]. This technique can also be used with other protocols: {{ic|network.protocol-handler.expose.<protocol>}}.\n\n=== Prevent accidental closing ===\n\nThere are different approaches to handle this:\n\nUnder {{ic|about:preferences#general}} select {{ic|Warn you when quitting the browser}}.\n\nAn alternative is to add a rule in your window manager configuration file. For example in [[Openbox]] add:\n  <keybind key=\"C-q\">\n    <action name=\"Execute\">\n      <execute>false</execute>\n    </action>\n  </keybind>\nin the ''<keyboard>'' section of your {{ic|~/.config/openbox/rc.xml}} file.\n\n{{Note|This will be effective for every application used under a graphic server.}}\n\nThe [https://addons.mozilla.org/firefox/addon/disable-ctrl-q-and-cmd-q/ Disable Ctrl-Q and Cmd-Q] extension can be installed to prevent unwanted closing of the browser.\n\n{{Note|1=This extension no longer works on Linux due to a [https://bugzilla.mozilla.org/show_bug.cgi?id=1325692 bug].}}\n\n=== Plugins do not work with latest version ===\n\nThere can be compatibility issues with plugins not working with the latest Firefox version (e.g. [http://5digits.org/pentadactyl/index Pentadactyl]). If possible, try installing the nightly/beta builds available, or temporarily [[downgrade]] Firefox.\n\n[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.\n\n=== Jerky or choppy scrolling ===\n\nScrolling 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: \n\n# Set  {{ic|mousewheel.min_line_scroll_amount}} to 40\n# Set  {{ic|general.smoothScroll}} and {{ic|general.smoothScroll.pages}} to '''false'''\n# 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.\" \n# Set  {{ic|image.mem.max_decoded_image_kb}} to at least 512K\n\nNow scrolling should flow smoothly.\n\n=== Run Firefox inside an nspawn container ===\n\n{{Move|systemd-nspawn|This is potentially useful for any browser, so... move back?}}\n\nIf you have problems accessing the X server from within the container, you might want to consider [[Systemd-nspawn#Use an X environment]].\n\nTo run as PID 1\n\n  # systemd-nspawn --setenv=DISPLAY=:0 \\\n               --setenv=XAUTHORITY=~/.Xauthority \\\n               --bind-ro=$HOME/.Xauthority:/root/.Xauthority \\\n               --bind=/tmp/.X11-unix \\\n               -D ~/containers/firefox \\\n               firefox\n\nElse rather boot the container, with systemd ideally setting up your networking with [[systemd-networkd]]:\n\n # systemd-nspawn --bind-ro=$HOME/.Xauthority:/root/.Xauthority \\\n               --bind=/tmp/.X11-unix \\\n               -D ~/containers/firefox \\\n               --network-veth -b\n\n{{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 are having trouble, try binding /tmp/.X11-unix read-only instead: {{ic|--bind-ro<nowiki>=</nowiki>/tmp/.X11-unix}} }}\n\nOnce your container is booted, run the Xorg binary like so:\n\n # systemd-run -M firefox --setenv=DISPLAY=:0 firefox\n\n=== Disable WebRTC audio post processing ===\n\nIf you are using the PulseAudio [[PulseAudio/Troubleshooting#Enable Echo/Noise-Cancellation|module-echo-cancel]], you probably do not want Firefox to do additional audio post processing.\n\nTo disable audio post processing, change the value of the following preferences to {{ic|false}}:\n\n* {{ic|media.getusermedia.aec_enabled}} (Acoustic Echo Cancellation)\n* {{ic|media.getusermedia.agc_enabled}} (Automatic Gain Control)\n* {{ic|media.getusermedia.noise_enabled}} (Noise suppression)\n\n=== Fido U2F authentication ===\n\nInstall {{pkg|libu2f-host}} for the required udev rules to allow Firefox to communicate with the U2F key.\n\nFirefox supports the Fido U2F authentication protocol.\n\n{{Note|Firefox does not inplement the entire U2F protocol [https://www.yubico.com/2017/11/how-to-navigate-fido-u2f-in-firefox-quantum/]. Some sites might not work correctly.}}\n\n=== Get ALSA working back ===\n\nAs long as Arch keeps building Firefox with ''ac_add_options --enable-alsa'', then one can make Firefox allow ioctl syscalls, blocked by default by Firefox sandboxing, and required by ALSA setting {{ic|security.sandbox.content.syscall_whitelist}} in {{ic|about:config}}, to the right ioctl syscall number, which is ''16'' for x86-64 and ''54'' for x86-32.  See:\n\n[https://www.linuxquestions.org/questions/slackware-14/firefox-in-current-alsa-sound-4175622116]\n[https://codelab.wordpress.com/2017/12/11/firefox-drops-alsa-apulse-to-the-rescue]\n[https://www.bleepingcomputer.com/news/security/firefox-57-brings-better-sandboxing-on-linux]\n\nNo need for apulse if built as done so far.\n\n== See also ==\n\n* [http://kb.mozillazine.org/Knowledge_Base MozillaZine Wiki]\n* [http://kb.mozillazine.org/About:config_entries about:config entries MozillaZine article]\n* [http://linuxtidbits.wordpress.com/2009/08/01/better-fox-cat-and-weasel/ Firefox touch-ups that might be desired]"
                    }
                ]
            },
            "1196": {
                "pageid": 1196,
                "ns": 0,
                "title": "KDE",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:KDE]]\n[[ar:KDE]]\n[[cs:KDE]]\n[[de:Plasma]]\n[[es:KDE]]\n[[fa:KDE]]\n[[fr:KDE]]\n[[it:KDE]]\n[[ja:KDE]]\n[[pl:KDE]]\n[[pt:KDE]]\n[[ru:KDE]]\n[[zh-hans:KDE]]\n[[zh-hant:KDE]]\n{{Related articles start}}\n{{Related|Desktop environment}}\n{{Related|Display manager}}\n{{Related|Window manager}}\n{{Related|Qt}}\n{{Related|SDDM}}\n{{Related|Dolphin}}\n{{Related|KDE Wallet}}\n{{Related|KDevelop}}\n{{Related|Trinity}}\n{{Related|Uniform Look for Qt and GTK Applications}}\n{{Related articles end}}\n\nKDE is a software project currently comprising a [[desktop environment]] known as Plasma, a collection of libraries and frameworks (KDE Frameworks) and several applications (KDE Applications) as well. KDE upstream has a well maintained [https://userbase.kde.org/ UserBase wiki]. Detailed information about most KDE applications can be found there.\n\n== Installation ==\n\n=== Plasma ===\n\nBefore installing Plasma, make sure you have a working [[Xorg]] installation on your system.\n\n[[Install]] the {{Pkg|plasma-meta}} meta-package or the {{Grp|plasma}} group. For differences between {{Pkg|plasma-meta}} and {{Grp|plasma}} reference [[Package group]]. Alternatively, for a more minimal Plasma installation, install the {{Pkg|plasma-desktop}} package.\n\nTo enable support for [[Wayland]] in Plasma, also install the {{Pkg|plasma-wayland-session}} package.\n\n=== KDE applications ===\n\nTo install the full set of KDE Applications, install the {{Grp|kde-applications}} group or the {{Pkg|kde-applications-meta}} meta-package. Note that this will only install applications, it will not install any version of Plasma.\n\n=== Unstable releases ===\n\nSee [[Official repositories#kde-unstable]]\n\n== Starting Plasma ==\n{{Note|Although it is possible to launch Plasma under [[Wayland]], there are some missing features and known problems. See [https://community.kde.org/Plasma/Wayland_Showstoppers Wayland Showstoppers] for a list of issues and the [https://phabricator.kde.org/project/board/99/ Plasma on Wayland workboard] for the current state of development. Use [[Xorg]] for the most complete and stable experience.}}\n\nPlasma can be started either using a [[display manager]], or from the console.\n\n=== Using a display manager ===\n\n* Select ''Plasma'' to launch a new session in [[Xorg]].\n* [[Install]] {{Pkg|plasma-wayland-session}} and select ''Plasma (Wayland)'' to launch a new session in [[Wayland]].\n\n=== From the console ===\n\n* To start Plasma with [[xinit|xinit/startx]], append {{ic|exec startplasma-x11}} to your {{ic|.xinitrc}} file. If you want to start Xorg at login, please see [[Start X at login]].\n* To start a Plasma on Wayland session from a console, run {{ic|1=XDG_SESSION_TYPE=wayland dbus-run-session startplasma-wayland}}.[https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland]\n\n== Configuration ==\n\nMost settings for KDE applications are stored in {{ic|~/.config/}}. However, configuring KDE is primarily done through the '''System Settings''' application. It can be started from a terminal by executing {{ic|systemsettings5}}.\n\n=== Personalization ===\n\n==== Plasma desktop ====\n\n===== Themes =====\n\n[https://store.kde.org/browse/cat/104/ Plasma themes] define the look of panels and plasmoids. For easy system-wide installation, some themes are available in both the official repositories and the [https://aur.archlinux.org/packages.php?K=plasma+theme AUR].\n\nPlasma themes can also be installed through ''System Settings > Workspace Theme > Plasma Theme > Get new themes from the Internet''.\n\nThe [https://store.kde.org/ KDE-Store] offers more Plasma customization's, like [[SDDM]] themes and splash-screens.\n\n====== Qt and GTK Applications Appearance ======\n\n{{Tip|For Qt and GTK theme consistency, see [[Uniform look for Qt and GTK applications]].}}\n\n; Qt4\nBreeze is not directly available for Qt4 since it cannot be built without KDE 4 packages, which have been dropped from the extra repository in August 2018 ({{Bug|59784}}). However you can install {{Pkg|breeze-gtk}} and pick GTK as GUI Style by running {{ic|qtconfig-qt4}}.\n\n; GTK\n\nThe recommended theme for a pleasant appearance in GTK applications is {{Pkg|breeze-gtk}}, a GTK theme designed to mimic the appearance of Plasma's Breeze theme.\nInstall {{Pkg|kde-gtk-config}} (part of the {{grp|plasma}} group) and select {{ic|Breeze}} or {{ic|Breeze-Dark}} as the GTK2/GTK3 theme in ''System Settings > Application Style > GNOME/GTK Application Style''.\n\nIn some themes, tooltips in GTK applications have white text on white backgrounds making it difficult to read. To change the colors in GTK2 applications, find the section for tooltips in the {{ic|.gtkrc-2.0}} file and change it. For GTK3 application two files need to be changed, {{ic|gtk.css}} and {{ic|settings.ini}}.\n\nSome GTK2 programs like {{AUR|vuescan-bin}} still look hardly usable due to invisible checkboxes with the Breeze or Adwaita skin in a Plasma session. To workaround this, install and select e.g. the Numix-Frost-Light skin of the {{AUR|numix-frost-themes}} under ''System Settings'' > ''Application Style'' > ''GNOME/GTK Application Style'' > ''GTK2 Theme:''. Numix-Frost-Light looks similar to Breeze.\n\n===== Faces =====\n\nPlasma and [[SDDM]] will both use a PNG file found at {{ic|~/.face.icon}} as a user's avatar. To configure with a graphical interface, you can use ''System Settings > Accounts Details > User Manager'', which may first need to be [[install]]ed (see the {{Pkg|user-manager}} package). The default icon can be found in {{ic|/usr/share/sddm/faces/}}.\n\n===== Widgets =====\n\nPlasmoids are little scripted (plasmoid scripts) or coded (plasmoid binaries) KDE applications designed to enhance the functionality of your desktop.\n\nThe easiest way to install plasmoid scripts is by right-clicking onto a panel or the desktop and choosing ''Add Widgets > Get New Widgets... > Download New Plasma Widgets''. This will present a nice frontend for https://store.kde.org/ that allows you to install, uninstall, or update third-party plasmoid scripts with literally just one click.\n\nMany Plasmoid binaries are available from the [https://aur.archlinux.org/packages.php?K=plasmoid AUR].\n\n===== Sound applet in the system tray =====\n\n[[Install]] {{Pkg|plasma-pa}} or {{Pkg|kmix}} (start Kmix from the Application Launcher). {{Pkg|plasma-pa}} is now installed by default with {{Grp|plasma}}, no further configuration needed.\n\n{{Note|1=To adjust the [https://bugs.kde.org/show_bug.cgi?id=313579#c28 step size of volume increments/decrements], add e.g. {{ic|1=VolumePercentageStep=1}} in the {{ic|[Global]}} section of {{ic|~/.config/kmixrc}}.}}\n\n===== Disable panel shadow =====\n\nAs the Plasma panel is on top of other windows, its shadow is drawn over them. [https://bbs.archlinux.org/viewtopic.php?pid=1228394#p1228394] To disable this behaviour without impacting other shadows, [[install]] {{Pkg|xorg-xprop}} and run:\n\n $ xprop -remove _KDE_NET_WM_SHADOW\n\nthen select the panel with the plus-sized cursor. [https://forum.kde.org/viewtopic.php?f=285&t=121592] For automation, install {{Pkg|xorg-xwininfo}} and create the following script:\n\n{{hc|/usr/local/bin/kde-no-shadow|<nowiki>\n#!/bin/bash\nfor WID in $(xwininfo -root -tree | sed '/\"Plasma\": (\"plasmashell\" \"plasmashell\")/!d; s/^  *\\([^ ]*\\) .*/\\1/g'); do\n   xprop -id $WID -remove _KDE_NET_WM_SHADOW\ndone\n</nowiki>}}\n\nSet execution permissions for the script:\n\n # chmod 755 /usr/local/bin/kde-no-shadow\n\nThe script can be run on login with ''Add Script'' in ''Autostart'':\n\n $ kcmshell5 autostart\n\n==== Window decorations ====\n\n[https://store.kde.org/browse/cat/114/ Window decorations] can be changed in ''System Settings > Application Style > Window Decorations''.\n\nThere you can also directly download and install more themes with one click, and some are available in the [https://aur.archlinux.org/packages.php?K=kde+window+decoration AUR].\n\n==== Icon themes ====\n\nIcon themes can be installed and changed on ''System Settings > Icons''.\n\n{{Note|Although all modern Linux desktops share the same icon theme format, desktops like [[GNOME]] use fewer icons (esp. in menus and toolbars). Themes developed for such desktops usually lack icons required by Plasma and KDE apps. It is recommended to install Plasma compatible icon themes instead.}}\n\n{{Tip|Since some icon themes do not inherit from the default icon theme, some icons may be missing. \nTo inherit from the Breeze, add {{ic|breeze}} to the {{ic|1=Inherits=}} array in {{ic|/usr/share/icon/''theme-name''/index.theme}}, for example: {{ic|1=Inherits=breeze,hicolor}}. You need to reapply this patch after every update to the icon theme, consider using [[Pacman hooks]] to automate the process.}}\n\n==== Space efficiency ====\n\nThe Plasma Netbook shell has been dropped from Plasma 5, see the following [https://forum.kde.org/viewtopic.php?f=289&t=126631&p=335947&hilit=plasma+netbook#p335899 KDE forum post]. However, you can achieve something similar by editing the file {{ic|~/.config/kwinrc}} adding  {{ic|1=BorderlessMaximizedWindows=true}} in the {{ic|[Windows]}} section.\n\n==== Thumbnail generation ====\n\nTo allow thumbnail generation for media or document files on the desktop and in Dolphin, install {{Pkg|kdegraphics-thumbnailers}} and {{Pkg|ffmpegthumbs}}.\n\nThen enable the thumbnail categories for the desktop via ''right click'' on the ''desktop background'' > ''Configure Desktop'' > ''Icons'' > ''Configure Preview Plugins...''.\n\nIn ''Dolphin'', navigate to ''Control'' > ''Configure Dolphin...'' >  ''General'' > ''Previews''.\n\n=== Printing ===\n\n{{Tip|Use the [[CUPS]] web interface for faster configuration. Printers configured in this way can be used in KDE applications. }}\n\nYou can also configure printers in ''System Settings > Printers''. To use this method, you must first install {{Pkg|print-manager}} and {{Pkg|cups}}. See [[CUPS#Configuration]].\n\n=== Samba/Windows support ===\n\nIf you want to have access to Windows services, install [[Samba]] (package {{Pkg|samba}}).\n\nThe Dolphin share functionality requires the package {{Pkg|kdenetwork-filesharing}} and usershares, which the stock {{ic|smb.conf}} does not have enabled. Instructions to add them are in [[Samba#Enable Usershares]], after which sharing in Dolphin should work out of the box after restarting Samba.\n\n{{Tip|Use {{ic|*}} (asterisk) for both username and password when accessing a Windows share without authentication in Dolphin's prompt.}}\n\nUnlike GTK file browsers which utilize GVfs also for the launched program, opening files from Samba shares in Dolphin via KIO makes Plasma copy the whole file to the local system first with most programs (VLC is an exception).\nTo workaround this, you can use a GTK based file browser like {{Pkg|thunar}} with {{Pkg|gvfs}} and {{Pkg|gvfs-smb}} (and {{Pkg|gnome-keyring}} for saving login credentials) to access SMB shares in a more able way.\n\nAnother possibility is to [[mount]] a Samba share via {{Pkg|cifs-utils}} to make it look to Plasma like if the SMB share was just a normal local folder and thus can be accessed normally.\nSee [[Samba#Manual mounting]] and [[Samba#Automatic mounting]].\n\nAn GUI solution is available with {{AUR|samba-mounter-git}}, which offers basically the same functionality via an easy to use option located at ''System Settings'' > ''Network Drivers''. However, it might break with new KDE Plasma versions.\n\n=== KDE Desktop activities ===\n\n[https://userbase.kde.org/Plasma#Activities KDE Desktop Activities] are special workspaces where you can select specific settings for each activity that apply only when you are using said activity.\n\n=== Power management ===\n\n[[Install]] {{Pkg|powerdevil}} for an integrated Plasma power managing service. This service offers additional power saving features, monitor brightness control (if supported) and battery reporting including peripheral devices.\n\nAn alternative package without [[NetworkManager]] and [[Bluez]] dependencies is provided by {{AUR|powerdevil-light}}.\n\n{{Accuracy|Regarding the note below, it might be that the problem is the logind setting ''LidSwitchIgnoreInhibited'' which defaults to ''yes''. [https://bbs.archlinux.org/viewtopic.php?pid&#61;1649022#p1649022]}}\n\n{{Note|Powerdevil may not [[Power management#Power managers|inhibit]] all logind settings (such as the lid close action for laptops). In these cases, the logind setting itself will need to be changed - see [[Power management#Power management with systemd]].}}\n\n=== Autostart ===\n\nPlasma can autostart applications and run scripts on startup and shutdown. To autostart an application, navigate to ''System Settings > Startup and Shutdown > Autostart'' and add the program or shell script of your choice. For applications, a ''.desktop'' file will be created, for shell scripts, a symlink will be created.\n\n{{Note|\n* Programs can be autostarted on login only, whilst shell scripts can also be run on shutdown or even before Plasma itself starts.\n* Shell scripts will only be run if they are marked [[executable]].\n}}\n\n* Place [[Desktop entries]] (i.e. ''.desktop'' files) in the appropriate [[XDG Autostart]] directory.\n\n* Place or symlink shell scripts in one of the following directories:\n\n:; {{ic|~/.config/plasma-workspace/env/}}: for executing scripts at login before launching Plasma.\n:; {{ic|~/.config/autostart-scripts/}}: for executing scripts at login.\n:; {{ic|~/.config/plasma-workspace/shutdown/}}: for executing scripts on shutdown.\n\n=== Phonon ===\n\nFrom [[Wikipedia:Phonon (software)|Wikipedia]]:\n\n:Phonon is the multimedia API provided by KDE and is the standard abstraction for handling multimedia streams within KDE software and also used by several Qt applications.\n\n:Phonon was originally created to allow KDE and Qt software to be independent of any single multimedia framework such as GStreamer or xine and to provide a stable API for a major version's lifetime.\n\nPhonon is being widely used within KDE, for both audio (e.g., the System notifications or KDE audio apps) and video (e.g., the [[Dolphin]] video thumbnails).\n\n==== Which backend should I choose? ====\n\nYou can choose between backends based on [[GStreamer]] and [[VLC]] \u2013 each available in versions for Qt4 applications and Qt5 applications ({{AUR|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}} \u2013 {{AUR|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}).\n\n[https://www.phoronix.com/scan.php?page=news_item&px=MTUwNDM Upstream prefers VLC] but prominent Linux distributions (Kubuntu and Fedora-KDE for example) prefer GStreamer because that allows them to easily leave out patented MPEG codecs from the default installation. Both backends have a slightly different [https://community.kde.org/Phonon/FeatureMatrix features set]. The Gstreamer backend has some optional codec dependency, install them as needed:\n\n* {{Pkg|gst-libav}} \u2014 Libav codecs.\n* {{Pkg|gst-plugins-good}} \u2014 PulseAudio support and additional codecs.\n* {{Pkg|gst-plugins-ugly}} \u2014 additional codecs.\n* {{Pkg|gst-plugins-bad}} \u2014 additional codecs.\n\nIn the past other backends were developed as well but are no longer maintained and their AUR packages have been deleted.\n\n{{Note|1=<br>\n* Multiple backends can be installed at once and prioritized via the ''phononsettings'' application.\n* According to the [https://forum.kde.org/viewtopic.php?f=250&t=126476&p=335080 KDE forums], the VLC backend lacks support for [[wikipedia:ReplayGain|ReplayGain]].\n* If using the VLC backend, you may experience crashes every time Plasma wants to send you an audible warning and in quite a number of other cases as well [https://forum.kde.org/viewtopic.php?f=289&t=135956]. A possible fix is to rebuild the VLC plugins cache:\n{{bc|# /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins}}\n}}\n\n== Applications ==\n\nThe KDE project provides a suite of applications that integrate with the Plasma desktop. See the {{Grp|kde-applications}} group for a full listing of the available applications. Also see [[:Category:KDE]] for related KDE application pages.\n\nAside from the programs provided in KDE Applications, there are many other applications available that can complement the Plasma desktop. Some of these are discussed below.\n\n=== System administration ===\n\n==== Terminate Xorg server through KDE System Settings ====\n\nNavigate to the submenu ''System Settings > Input Devices > Keyboard > Advanced (tab) > \"Key Sequence to kill the X server\"'' and ensure that the checkbox is ticked.\n\n==== KCM ====\n\nKCM stands for '''KC'''onfig '''M'''odule. KCMs can help you configure your system by providing interfaces in System Settings, or through the command line with ''kcmshell5''.\n\n* {{App|sddm-kcm|KDE Config Module for [[SDDM]].|https://cgit.kde.org/sddm-kcm.git|{{Pkg|sddm-kcm}}}}\n* {{App|kde-gtk-config|GTK2 and GTK3 Configurator for KDE.|https://cgit.kde.org/kde-gtk-config.git|{{Pkg|kde-gtk-config}}}}\n* {{App|System policies|Set of configuration modules which allows administrator to change [[PolicyKit]] settings.|https://cgit.kde.org/polkit-kde-kcmodules-1.git|{{AUR|kcm-polkit-kde-git}}}}\n* {{App|wacom tablet|KDE GUI for the Wacom Linux Drivers.|https://www.linux-apps.com/p/1127862/|{{Pkg|kcm-wacomtablet}}}}\n* {{App|Kcmsystemd|systemd control module for KDE.|https://github.com/rthomsen/kcmsystemd|{{AUR|systemd-kcm}}}}\n\nMore KCMs can be found at [https://www.linux-apps.com/search?projectSearchText=KCM linux-apps.com].\n\n=== Desktop search ===\n\nKDE implements desktop search with a software called [[Baloo]], a file indexing and searching solution.\n\n=== Web browsers ===\n\nThe following web browsers can integrate with Plasma:\n\n* {{App|[[Wikipedia:Konqueror|Konqueror]]|Part of the KDE project, supports two rendering engines \u2013 KHTML and the [[Chromium]]-based Qt WebEngine.|https://konqueror.org/|{{Pkg|konqueror}}}}\n* {{App|[[Wikipedia:Falkon|Falkon]]|A Qt web browser with Plasma integration features, previously known as Qupzilla. It uses Qt WebEngine.|https://userbase.kde.org/Falkon/|{{Pkg|falkon}}}}\n* {{App|[[Chromium]]|Chromium and its proprietary variant Google Chrome have limited Plasma integration. [[KDE Wallet#KDE Wallet for Chrome and Chromium|They can use KWallet]] and KDE Open/Save windows.|https://www.chromium.org/|{{Pkg|chromium}}}}\n* {{App|[[Firefox]]|Firefox can be configured to better integrate with Plasma. See [[Firefox#KDE/GNOME integration|Firefox KDE integration]] for details.|https://mozilla.org/firefox|{{Pkg|firefox}}}}\n\n{{Tip|Starting from Plasma 5.13, one can integrate [[Firefox]] or [[Chrome]] with Plasma: providing media playback control from the Plasma tray, download notifications and find open tabs in KRunner. [[Install]] {{pkg|plasma-browser-integration}} and the corresponding browser add-on. Chrome/Chromium support should already be included, for Firefox add-on see [[Firefox#KDE/GNOME integration]].}}\n\n=== PIM ===\n\nKDE offers its own stack for [[Wikipedia:Personal information management|personal information management]] (PIM). This includes emails, contacts, calendar, etc. To install all the PIM packages, you could use the {{Grp|kdepim}} package group or the {{Pkg|kdepim-meta}} meta package.\n\n==== Akonadi ====\n\nAkonadi is a system meant to act as a local cache for PIM data, regardless of its origin, which can be then used by other applications. This includes the user's emails, contacts, calendars, events, journals, alarms, notes, and so on. Akonadi does not store any data by itself: the storage format depends on the nature of the data (for example, contacts may be stored in vCard format).\n\nInstall {{Pkg|akonadi}}. For additional addons, install {{Pkg|kdepim-addons}}.\n\n{{Note|If you wish to use a database engine other than [[MariaDB]], then when installing the {{Pkg|akonadi}} package, use the following command to skip installing the {{Pkg|mariadb}} dependencies:\n\n # pacman -S akonadi --assume-installed mariadb\n\nSee also {{Bug|32878}}.\n}}\n\n===== MySQL =====\n\nBy default Akonadi will use {{ic|/usr/bin/mysqld}} ([[MariaDB]] by default, see [[MySQL]] for alternative providers) to run a managed MySQL instance with the database stored in {{ic|~/.local/share/akonadi/db_data/}}.\n\n====== System-wide MySQL instance ======\n\nAkonadi supports using the system-wide [[MySQL]] for its database.[https://techbase.kde.org/KDE_PIM/Akonadi#Can_Akonadi_use_a_normal_MySQL_server_running_on_my_system.3F]\n\n{{Expansion|Add instructions.}}\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QMYSQL\n\n[QMYSQL]\nHost=\nName=akonadi_''username''\nOptions=\"UNIX_SOCKET=/run/mysqld/mysqld.sock\"\nStartServer=false\n}}\n\n===== PostgreSQL =====\n\nAkonadi supports either using the existing system-wide [[PostgreSQL]] instance, i.e. {{ic|postgresql.service}}, or running a PostgreSQL instance with user privileges and the database in {{ic|~/.local/share/akonadi/db_data/}}.\n\n====== Per-user PostgreSQL instance ======\n\n[[Install]] {{Pkg|postgresql}} and {{Pkg|postgresql-old-upgrade}}.\n\nEdit Akonadi configuration file so that it has the following contents:\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QPSQL\n}}\n\n{{Note|\n* When Akonadi starts, it will create the {{ic|[QPSQL]}} section and set the appropriate variables in it.\n* The database will be stored in {{ic|~/.local/share/akonadi/db_data/}}.\n}}\n\nStart Akonadi with {{ic|akonadictl start}}, and check its status: {{ic|akonadictl status}}.\n\n{{Note|\n* Starting with {{Pkg|akonadi}} 19.08.0-1 the PostgreSQL database cluster in {{ic|~/.local/share/akonadi/db_data/}} will get automatically upgraded when a major PostgreSQL version upgrade is detected.\n* For previous {{Pkg|akonadi}} versions major PostgreSQL version upgrades will require a manual database upgrade. Follow the [https://userbase.kde.org/Akonadi/Postgres_update update instructions on KDE UserBase Wiki]. Make sure to adjust the paths to PostgreSQL binaries to those used by {{Pkg|postgresql}} and {{Pkg|postgresql-old-upgrade}}, see [[PostgreSQL#Upgrading PostgreSQL]].\n}}\n\n====== System-wide PostgreSQL instance ======\n\nThis requires an already configured and running [[PostgreSQL]].\n\nCreate a PostgreSQL user account for your user:\n\n [postgres]$ createuser ''username''\n\nCreate a database for Akonadi:\n\n [postgres]$ createdb -O ''username'' --locale=en_US.UTF-8 -T template0 akonadi-''username''\n\nConfigure Akonadi to use the system-wide PostgreSQL:\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QPSQL\n\n[QPSQL]\nHost=/run/postgresql\nName=akonadi-''username''\nStartServer=false\n}}\n\n{{Note|Custom port, username and password can be specified with options {{ic|1=Port=}}, {{ic|1=User=}}, {{ic|1=Password=}} in the {{ic|[QPSQL]}} section.}}\n\nStart Akonadi with {{ic|akonadictl start}}, and check its status: {{ic|akonadictl status}}.\n\n===== SQLite =====\n\nTo use [[SQLite]] edit Akonadi configuration file to match the configuration below:\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QSQLITE3\n}}\n\n{{Note|\n* When Akonadi starts, it will create the {{ic|[QSQLITE3]}} section and set the appropriate variables in it.\n* The database will be stored as {{ic|~/.local/share/akonadi/akonadi.db}}.\n}}\n\n===== Disabling Akonadi =====\n\nSee this [https://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem section in the KDE userbase].\n\n=== KDE Telepathy ===\n\n[https://community.kde.org/KTp KDE Telepathy] is a project with the goal to closely integrate Instant Messaging with the KDE desktop. It utilizes the Telepathy framework as a backend and is intended to replace Kopete.\n\nTo install all Telepathy protocols, install the {{Grp|telepathy}} group.\nTo use the KDE Telepathy client, install the {{Pkg|telepathy-kde-meta}} package that includes all the packages contained in the {{Grp|telepathy-kde}} group.\n\n==== Use Telegram with KDE Telepathy ====\n\n[[Telegram]] protocol is available using {{pkg|telepathy-haze}}, installing {{aur|telegram-purple}} or {{aur|telegram-purple-git}} and {{aur|telepathy-morse-git}}. The username is the Telegram account telephone number (complete with the national prefix {{ic|+''xx''}}, e.g. {{ic|+49}} for Germany).\n\nThe configuration through the GUI may be tricky: if the phone number is not accepted when configuring a new account in the KDE Telepathy client (with an error message complaining about an invalid parameter which prevents the account creation), insert it between single quotes and then remove the quotes manually from the configuration file ({{ic|~/.local/share/telepathy/mission-control/accounts.cfg}}) after the account creation (if the quotes are not removed after, an authentication error should rise).\n\n{{Note|The configuration file should be edited manually when KDE Telepathy is not running, e.g. when there is no KDE desktop session active, otherwise manual changes may be overwritten by the software.}}\n\n=== KDE Connect ===\n\n[https://community.kde.org/KDEConnect KDE Connect] provides several features to connect your [[Android]] phone with your Linux desktop:\n\n* Share files and URLs to/from KDE from/to any app, without wires.\n* Touchpad emulation: Use your phone screen as your computer's touchpad.\n* Notifications sync (4.3+): Read your Android notifications from the desktop.\n* Shared clipboard: copy and paste between your phone and your computer.\n* Multimedia remote control: Use your phone as a remote for Linux media players.\n* WiFi connection: no usb wire or bluetooth needed.\n* RSA Encryption: your information is safe.\n\nYou will need to install KDE Connect both on your computer and on your Android. For PC side, [[install]] {{Pkg|kdeconnect}} package. For Android side, install KDE Connect from [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google Play] or from [https://f-droid.org/packages/org.kde.kdeconnect_tp/ F-Droid]. If you want to browse your phone's filesystem, you need to [[install]] {{Pkg|sshfs}} as well and configure filesystem exposes in your Android app.\n\nIt is possible to use KDE Connect even if you do not use the Plasma desktop. For desktop environments that use AppIndicators, such as Unity, install {{AUR|indicator-kdeconnect}} package as well. For GNOME users, better integration can be achieved by installing {{AUR|gnome-shell-extension-gsconnect}} instead of {{Pkg|kdeconnect}}.\n\nIf you use a [[firewall]], you need to open UDP and TCP ports {{ic|1714}} through {{ic|1764}}. See https://community.kde.org/KDEConnect#Troubleshooting.\n\n== Tips and tricks ==\n\n=== Use a different window manager ===\n\nThe component chooser settings in Plasma does not allow changing the window manager anymore. [https://github.com/KDE/plasma-desktop/commit/2f83a4434a888cd17b03af1f9925cbb054256ade]\nIn order to change the window manager used you need to set the {{ic|KDEWM}} [[environment variable]] before KDE startup. [https://wiki.haskell.org/Xmonad/Using_xmonad_in_KDE] To do that you can create a script called {{ic|set_window_manager.sh}} in {{ic|~/.config/plasma-workspace/env/}} and export the {{ic|KDEWM}} variable there. For example to use the i3 window manager :\n\n{{hc|~/.config/plasma-workspace/env/set_window_manager.sh|2=\nexport KDEWM=/usr/bin/i3\n}}\n\nAnd then make it executable :\n\n{{bc|$ chmod +x ~/.config/plasma-workspace/env/set_window_manager.sh}}\n\n{{Note|When using i3 window manager with Plasma, it may be necessary to manually set dialogs to open in floating mode in order for them to correctly appear. For more information, see [[I3#Correct handling of floating dialogs]].}}\n\n==== KDE/Openbox session ====\n\nThe {{Pkg|openbox}} package provides a session for using KDE with [[Openbox]]. To make use of this session, select ''KDE/Openbox'' from the [[display manager]] menu.\n\nFor those starting the session manually, add the following line to your [[xinit]] configuration:\n\n{{hc|~/.xinitrc|\nexec openbox-kde-session\n}}\n\n==== Re-enabling compositing effects ====\n\nWhen replacing Kwin with a window manager which does not provide a Compositor (such as Openbox), any desktop compositing effects e.g. transparency will be lost. In this case, install and run a separate Composite manager to provide the effects such as [[Xcompmgr]] or [[Compton]].\n\n=== Configuring monitor resolution / multiple monitors ===\n\nTo enable display resolution management and multiple monitors in Plasma, install {{Pkg|kscreen}}. This provides additional options to ''System Settings > Display and Monitor''.\n\n=== KWin-lowlatency ===\n\n[https://github.com/tildearrow/kwin-lowlatency KWin-lowlatency] is a attempt to reduce latency and stuttering in the popular KWin compositor and is available as {{AUR|kwin-lowlatency}}.\n\n=== Configuring ICC profiles ===\n\nTo enable [[ICC profiles]] in Plasma, [[install]] {{Pkg|colord-kde}}. This provides additional options to ''System Settings > Color Corrections''.\n\nICC profiles can be imported using ''Add Profile''.\n\n=== Disable opening application launcher with Super key (Windows key) ===\n\nTo disable this feature you currently can run the following command:\n\n $ kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta \"\"\n\n=== Disable bookmarks showing in application menu ===\n\nWith Plasma Browser integration installed, KDE will show bookmarks in the application launcher.\n\nTo disable this feature you currently can run the following commands:\n\n $ mkdir ~/.local/share/kservices5\n $ sed 's/EnabledByDefault=true$/EnabledByDefault=false/' /usr/share/kservices5/plasma-runner-bookmarks.desktop > ~/.local/share/kservices5/plasma-runner-bookmarks.desktop\n\n== Troubleshooting ==\n\n=== Fonts ===\n\n==== Fonts in a Plasma session look poor ====\n\nTry installing the {{Pkg|ttf-dejavu}} and {{Pkg|ttf-liberation}} packages.\n\nAfter the installation, be sure to log out and back in. You should not have to modify anything in ''System Settings > Fonts''. If you are using {{Pkg|qt5ct}}, the settings in Qt5 Configuration Tool may override the font settings in System Settings.\n\nIf you have personally set up how your [[Fonts]] render, be aware that System Settings may alter their appearance. When you go ''System Settings > Fonts'' System Settings will likely alter your font configuration file ({{ic|fonts.conf}}).\n\nThere is no way to prevent this, but, if you set the values to match your {{ic|fonts.conf}} file, the expected font rendering will return (it will require you to restart your application or in a few cases restart your desktop). Note that Gnome's Font Preferences also does this.\n\n==== Fonts are huge or seem disproportional ====\n\nTry to force font DPI to {{ic|'''96'''}} in ''System Settings > Fonts''.\n\nIf that does not work, try setting the DPI directly in your Xorg configuration as documented in [[Xorg#Setting DPI manually]].\n\n=== Configuration related ===\n\nMany problems in KDE are related to its configuration.\n\n==== Plasma desktop behaves strangely ====\n\nPlasma problems are usually caused by unstable ''Plasma widgets'' (colloquially called ''plasmoids'')  or ''Plasma themes''. First, find which was the last widget or theme you had installed and disable or uninstall it.\n\nSo, if your desktop suddenly exhibits \"locking up\", this is likely caused by a faulty installed widget. If you cannot remember which widget you installed before the problem began (sometimes it can be an irregular problem), try to track it down by removing each widget until the problem ceases. Then you can uninstall the widget, and file a bug report on the [https://bugs.kde.org/ KDE bug tracker] '''only if it is an official widget'''. If it is not, it is recommended to find the entry on the [https://store.kde.org/ KDE Store] and inform the developer of that widget about the problem (detailing steps to reproduce, etc.).\n\nIf you cannot find the problem, but you do not want ''all'' the settings to be lost, navigate to {{ic|~/.config/}} and run the following command:\n\n $ for j in plasma*; do mv -- \"$j\" \"${j%}.bak\"; done\n\nThis command will rename '''all''' Plasma related configuration files to ''*.bak'' (e.g. {{ic|plasmarc.bak}}) of your user and when you will relogin into Plasma, you will have the default settings back. To undo that action, remove the ''.bak'' file extension. If you already have ''*.bak'' files, rename, move, or delete them first. It is highly recommended that you create regular backups anyway. See [[Synchronization and backup programs]] for a list of possible solutions.\n\n==== Clean cache to resolve upgrade problems ====\n\nThe [https://bbs.archlinux.org/viewtopic.php?id=135301 problem] may be caused by old cache. Sometimes, after an upgrade, the old cache might introduce strange, hard to debug behaviour such as unkillable shells, hangs when changing various settings, Ark being unable to extract archives or Amarok not recognizing any of your music. This solution can also resolve problems with KDE and Qt applications looking bad after an update.\n\nRebuild the cache using the following commands:\n\n $ rm ~/.config/Trolltech.conf\n $ kbuildsycoca5 --noincremental\n\nOptionally, empty the {{ic|~/.cache/}} folder contents, however, this will also clear the cache of other applications:\n \n $ rm -rf ~/.cache/*\n\n==== Volume control, notifications or multimedia keys do not work ====\n\nHiding certain items in the System Tray settings (e.g. Audio Volume, Media Player or Notifications) also disables related features. Hiding the ''Audio Volume'' disables volume control keys, ''Media Player'' disables multimedia keys (rewind, stop, pause) and hiding ''Notifications'' disables showing notifications.\n\n==== Login Screen KCM does not sync cursor settings to SDDM ====\n\nThe Login Screen KCM reads your cursor settings from {{ic|~/.config/kcminputrc}}, without this file no settings are synced. The easiest way to generate this file is to change your cursor theme in ''System Settings > Cursors'', then change it back to your preferred cursor theme.\n\n=== Graphical problems ===\n\nMake sure you have the proper driver for your GPU installed. See [[Xorg#Driver installation]] for more information. If you have an older card, it might help to [[#Disable desktop effects manually or automatically for defined applications]] or [[#Disable compositing]].\n\n==== Getting current state of KWin for support and debug purposes ====\n\nThis command prints out a summary of the current state of KWin including used options, used compositing backend and relevant OpenGL driver capabilities. See more on [https://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ Martin's blog].\n\n $ qdbus org.kde.KWin /KWin supportInformation\n\n==== Disable desktop effects manually or automatically for defined applications ====\n\nPlasma has desktop effects enabled by default and e.g. not every game will disable them automatically. You can disable desktop effects in ''System Settings > Desktop Behavior > Desktop Effects'' and you can toggle desktop effects with {{ic|Alt+Shift+F12}}. \n\nAdditionally, you can create custom KWin rules to automatically disable/enable compositing when a certain application/window starts under ''System Settings > Window Management > Window Rules''.\n\n==== Enable transparency ====\n\nIf you use a transparent background without enabling the compositor, you will get the message:\n\n This color scheme uses a transparent background which does not appear to be supported on your desktop\n\nIn ''System Settings > Display and Monitor > Compositor'', check ''Enable compositor on startup'' and restart Plasma.\n\n==== Disable compositing ====\n\nIn ''System Settings > Display and Monitor > Compositor'', uncheck ''Enable compositor on startup'' and restart Plasma.\n\n==== Flickering in fullscreen when compositing is enabled ====\n\nIn ''System Settings > Display and Monitor > Compositor'', uncheck ''Allow applications to block compositing''. This may harm performance.\n\n==== Screen tearing with NVIDIA ====\n\nSee [[NVIDIA/Troubleshooting#Avoid screen tearing in KDE (KWin)]].\n\n==== Plasma cursor sometimes shown incorrectly ====\n\nCreate the directory {{ic|~/.icons/default}} and inside a file named {{ic|index.theme}} with the following contents:\n\n{{hc|~/.icons/default/index.theme|2=\n[Icon Theme]\nInherits=breeze_cursors\n}}\n\nExecute the following command:\n\n $ ln -s /usr/share/icons/breeze_cursors/cursors ~/.icons/default/cursors\n\n==== Unusable screen resolution set ====\n\nYour local configuration settings for kscreen can override those set in {{ic|xorg.conf}}. Look for kscreen configuration files in {{ic|~/.local/share/kscreen/}} and check if mode is being set to a resolution that is not supported by your monitor.\n\n==== Blurry icons in System tray ====\n\nIn order to add icons to tray, applications often make use of the library appindicator. If your icons are blurry, check which version of libappindicator you have installed. If you only have {{Pkg|libappindicator-gtk2}} installed, you can install {{Pkg|libappindicator-gtk3}} or {{Pkg|libappindicator-sharp}} as an attempt to get clear icons.\n\n=== Sound problems ===\n\n{{Note|First make sure you have {{Pkg|alsa-utils}} installed.}}\n\n==== No sound after suspend ====\n\nIf there is no sound after suspending and if KMix does not show audio devices which should be there, restarting plasmashell and pulseaudio may help:\n\n $ killall plasmashell\n $ systemctl --user restart pulseaudio.service\n $ plasmashell\n\nSome applications may also need to be restarted in order for sound to play from them again.\n\n==== MP3 files cannot be played when using the GStreamer Phonon backend ====\n\nThis can be solved by installing the GStreamer libav plugin (package {{Pkg|gst-libav}}). If you still encounter problems, you can try changing the Phonon backend used by installing another such as {{AUR|phonon-qt4-vlc}} or {{Pkg|phonon-qt5-vlc}}.\n\nThen, make sure the backend is preferred via ''System Settings > Multimedia > Audio and Video > Backend''.\n\n=== Power management ===\n\n==== No Suspend/Hibernate options ====\n\nIf your system is able to suspend or hibernate using [[systemd]] but do not have these options shown in KDE, make sure {{Pkg|powerdevil}} is installed.\n\n=== KMail ===\n\n==== Clean Akonadi configuration to fix KMail ====\n\nSee [https://docs.kde.org/trunk5/en/pim/kmail2/clean-start-after-a-failed-migration.html this] document for detail.\n\nIf you want a backup, copy the following configuration directories:\n\n $ cp -a ~/.local/share/akonadi ~/.local/share/akonadi-old\n $ cp -a ~/.config/akonadi ~/.config/akonadi-old\n\n==== Empty IMAP inbox in KMail ====\n\nFor some IMAP accounts KMail will show the inbox as a top-level container (so it will not be possible to read messages there) with all other folders of this account inside.[https://bugs.kde.org/show_bug.cgi?id=284172]. To solve this problem simply disable the server-side subscriptions in the KMail account settings.\n\n==== Authorization error for EWS account in KMail ====\n\nWhile setting up EWS account in KMail, you may keep getting errors about failed authorization even for valid and fully working credentials. This is likely caused by broken communication between [[KWallet]] and KMail. To workaround the issue set a passsword via qdbus:\n\n $ qdbus org.freedesktop.Akonadi.Resource.akonadi_ews_resource_0 /Settings org.kde.Akonadi.Ews.Wallet.setPassword \"XXX\"\n\n=== Networking ===\n\n==== Freezes when using Automount on a NFS volume  ====\n\nUsing [[Fstab#Automount with systemd]] on a [[NFS]] volume may cause freezes, see [https://bugs.kde.org/show_bug.cgi?id=354137 bug report upstream].\n\n=== Aggressive QXcbConnection journal logging ===\n\nSee [[Qt#Disable/Change Qt journal logging behaviour]].\n\n=== KF5/Qt 5 applications do not display icons in i3/FVWM/awesome ===\n\nSee [[Qt#Configuration of Qt5 apps under environments other than KDE Plasma]].\n\n=== Problems with saving credentials and persistently occurring KWallet dialogs ===\n\nIt is not recommended to turn off the [[KWallet]] password saving system in the user settings as it is required to save encrypted credentials like WiFi passphrases for each user. Persistently occuring KWallet dialogs can be the consequence of turning it off.\n\nIn case you find the dialogs to unlock the wallet annoying when applications want to access it, you can let the [[Display manager|display managers]] [[SDDM]] and [[LightDM]] unlock the wallet at login automatically, see [[KDE Wallet#Unlock KDE Wallet automatically on login]]. The first wallet needs to be generated by KWallet (and not user-generated) in order to be usable for system program credentials.\n\nIn case you want the wallet credentials not to be opened in memory for every application, you can restrict applications from accessing it with {{Pkg|kwalletmanager}} in the KWallet settings.\n\nIf you do not care for credential encryption at all, you can simply leave the password forms blank when KWallet asks for the password while creating a wallet. In this case, applications can access passwords without having to unlock the wallet first.\n\n=== Discover does not show any applications ===\n\nThis can be solved by installing {{Pkg|packagekit-qt5}}.\n\n=== High CPU usage of kscreenlocker_greet with NVIDIA drivers ===\n\nAs described in [https://bugs.kde.org/show_bug.cgi?id=347772 KDE Bug 347772] NVIDIA OpenGL drivers and QML may not play well together with Qt 5. This may lead {{ic|kscreenlocker_greet}} to high CPU usage after unlocking the session. To work around this issue, set the {{ic|QSG_RENDERER_LOOP}} [[environment variable]] to {{ic|basic}}.\n\nThen kill previous instances of the greeter with {{ic|killall kscreenlocker_greet}}.\n\n=== OS error 22 when running Akonadi on ZFS ===\n\nIf your home directory is on a [[ZFS]] pool, create a {{ic|~/.config/akonadi/mysql-local.conf}} file with the following contents:\n\n [mysqld]\n innodb_use_native_aio = 0\n\nSee [[MariaDB#OS error 22 when running on ZFS]].\n\n=== Some programs are unable to scroll when their windows are inactive ===\n\nThis is caused by the problematic way of GTK3 handling mouse scroll events. A workaround for this is to set [[environment variable]] {{ic|1=GDK_CORE_DEVICE_EVENTS=1}}. However, this workaround also breaks touchpad smooth scrolling and touchscreen scrolling.\n\n=== TeamViewer behaves slowly ===\n\nWhen using TeamViewer, it may behave slowly if you use smooth animations (such as windows minimizing). See [[#Disable compositing]] as a workaround.\n\n== See also ==\n\n* [https://www.kde.org/ KDE homepage]\n* [https://bugs.kde.org/ KDE bug tracker]\n* [https://blog.martin-graesslin.com/blog/kategorien/kde/ Martin Graesslin's blog]"
                    }
                ]
            },
            "1461": {
                "pageid": 1461,
                "ns": 0,
                "title": "Browser plugins (\u7b80\u4f53\u4e2d\u6587)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Web browser (\u7b80\u4f53\u4e2d\u6587)]]\n[[de:Browser Plugins]]\n[[en:Browser plugins]]\n[[es:Browser plugins]]\n[[fr:Plugins navigateur]]\n[[ja:\u30d6\u30e9\u30a6\u30b6\u30d7\u30e9\u30b0\u30a4\u30f3]]\n{{Related articles start (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|Opera}}\n{{Related|Firefox (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|Chromium (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related articles end}}\n\u6839\u636e\u63d2\u4ef6 API \u7684\u4e0d\u540c\uff0c\u6d4f\u89c8\u5668\u7684\u63d2\u4ef6\u53ef\u4ee5\u5206\u4e3a\u4e24\u79cd\uff1a\n*Netscape plugin API (NPAPI): \u53ef\u4ee5\u5728\u4e00\u4e9b\u5c0f\u7684\u6d4f\u89c8\u5668\u4e2d\u4f7f\u7528 ([[Firefox#Plugins|\u4ec5\u652f\u6301 Flash Player plugin]], Chromium and Opera do '''not''' support these plugins).,'''\u4e0d\u80fd''' \u5728 Chromium \u548c Opera '''\u4e0d'''\u652f\u6301\u8fd9\u4e9b\u63d2\u4ef6).\n*Pepper plugin API (PPAPI): \u4ec5\u80fd\u5728 [[Chromium]]\uff0cChrome, [[Opera]] \u548c [[Vivaldi]]\u4e2d\u4f7f\u7528.\n\n\u9664\u975e\u660e\u786e\u8bf4\u660e\uff0c\u672c\u9875\u4e2d\u7684\u63d2\u4ef6\u90fd\u53ea\u652f\u6301 NPAPI\u3002\n\n==Flash Player==\n\n===Adobe Flash Player===\n\n==== Installation ====\n\n\u4e0d\u540c\u7684\u6d4f\u89c8\u5668\u9700\u8981\u5b89\u88c5\u4e0d\u540c\u7684\u63d2\u4ef6\u3002\n\n* NPAPI \u63d2\u4ef6\u53ef\u4ee5\u901a\u8fc7\u8f6f\u4ef6\u5305 {{Pkg|flashplugin}} \u8fdb\u884c [[\u5b89\u88c5]]\u3002\n\n* PPAPI \u7248\u672c\u53ef\u4ee5\u901a\u8fc7 {{Pkg|pepper-flash}} \u8fdb\u884c [[\u5b89\u88c5]]\u3002\n{{Note|\n* \u67d0\u4e9b\u65f6\u5019\u6587\u672c\u663e\u793a\u4e0d\u592a\u6b63\u5e38\uff0c\u53ef\u80fd\u9700\u8981\u4ece[[AUR (\u7b80\u4f53\u4e2d\u6587)|AUR]]\u5b89\u88c5{{AUR|ttf-ms-fonts}}\n* {{AUR|freshplayerplugin-git}} \u8f6f\u4ef6\u5305\u63d0\u4f9b\u4e86 NPAPI \u6d4f\u89c8\u5668\u6bd4\u5982 Firefox \u4f7f\u7528 {{Pkg|pepper-flash}} \u7684\u6d4b\u8bd5\u7248\u672c\u3002\u53ef\u4ee5\u901a\u8fc7\u5c06 {{ic|/usr/share/freshplayerplugin/freshwrapper.conf.example}} \u590d\u5236\u5230 {{ic|/usr/share/freshplayerplugin/freshwrapper.conf}} \u914d\u7f6e\u786c\u4ef6\u52a0\u901f\u3002\n}}\n\n==== \u66f4\u65b0 ====\n\n\u5982\u679c\u4f7f\u7528 [[Firefox]]\uff0c\u8bf7\u67e5\u9605 [[Firefox#Firefox detects the wrong version of my plugin|\u6b64\u5904\u7684\u8bf4\u660e]].\n\n==== \u914d\u7f6e ====\n\nTo change the preferences (privacy settings, resource usage, etc.) of Flash Player, right click on any embedded Flash content (for instance [https://helpx.adobe.com/flash-player.html adobe's flash home]) and choose ''Settings'' from the menu.\n\nYou can also use the Flash settings file {{ic|/etc/adobe/mms.cfg}}. Gentoo has an extensively commented [http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/www-plugins/adobe-flash/files/mms.cfg example mms.cfg].\n\nTo enable video decoding with [[hardware video acceleration]], add/uncomment the following line:\n EnableLinuxHWVideoDecode = 1\nIt might also be required to add/uncomment the following line:\n OverrideGPUValidation = 1\n\n==== Multiple monitor full-screen fix ====\n\nWhen using a multiple monitor setup, or swapping between virtual desktops, it is possible to lose focus on a fullscreen flash window. In such a case, the adobe flash-plugin will automatically exit full-screen mode. This may not be to your liking.\n\nUnfortunately, this behavior is hard coded into the binary. In order to change this behavior it is necessary to alter the binary.\n\nFixing this issue only works for the NPAPI plugin and this issue can be fixed via 2 ways.\n\n* Using the {{AUR|flashplugin-focusfix}}.\n\n* [http://www.webupd8.org/2012/10/ubuntu-multi-monitor-tweaks-full-screen.html Patching manually]:\n\n:After the package has been installed, backup {{ic|libflashplayer.so}}:\n:{{bc|# cp /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so.backup}}\n\n:Then, you will need to alter that file using a hex editor like {{Pkg|ghex}}. You must open it with root privileges obviously.\n:{{bc|# ghex /usr/lib/mozilla/plugins/libflashplayer.so}}\n\n:Using the hex editor find the string {{ic|_NET_ACTIVE_WINDOW}}. In ghex the readable string is on the right hand side of the window, and the hex is on the left, you are trying to locate the readable string. It should be easy to find using a search function.\n\n:Upon finding {{ic|_NET_ACTIVE_WINDOW}} rewrite the line, but '''do not''' change the length of the line, for example {{ic|_NET_ACTIVE_WINDOW}} becomes {{ic|_XET_ACTIVE_WINDOW}}.\n\n:Save the binary, and restart any processes using the plugin (as this will crash any instance of the plugin in use.)\n\n==== Playing DRM-protected content ====\n\nSee [[Flash DRM content]].\n\n=== Shumway ===\n\n[http://mozilla.github.io/shumway/ Shumway] \u5c1d\u8bd5\u76f4\u63a5\u4f7f\u7528 HTML5 \u6280\u672f\u800c\u4e0d\u662f\u672c\u5730\u4ee3\u7801\u5904\u7406\u548c\u663e\u793a SWF \u6587\u4ef6\uff0c\u5df2\u7ecf [https://github.com/mozilla/shumway/issues/2420 \u505c\u6b62\u5f00\u53d1]\u3002 \n\n===Gnash===\n\n[[Wikipedia:Gnash (software)|Gnash]] \u662f Adobe Flash Player \u7684\u81ea\u7531\u8f6f\u4ef6\u66ff\u4ee3\u3002\u53ef\u4ee5\u4f5c\u4e3a\u5355\u72ec\u7684\u64ad\u653e\u5668\uff0c\u4e5f\u53ef\u4ee5\u5d4c\u5165\u6d4f\u89c8\u5668\u3002\u652f\u6301 SWF v7 \u548c 80% \u7684  ActionScript 2.0\u3002\n\n\u53ef\u4ee5\u901a\u8fc7\u8f6f\u4ef6\u5305{{AUR|gnash}}{{Broken package link|{{aur-mirror|gnash}}}}, {{AUR|gnash-kde4}}{{Broken package link|{{aur-mirror|gnash-kde4}}}}, {{AUR|gnash-git}}.\n\n=== Lightspark ===\n\n[http://lightspark.github.com/ Lightspark] is another attempt to provide a free alternative to Adobe Flash aimed at supporting newer Flash formats. Lightspark has the ability to fall back on Gnash for old content, which enables users to install both and enjoy wider coverage. Although it is still very much in development, it supports some [https://github.com/lightspark/lightspark/wiki/Site-Support popular sites]. \n\nLightspark can be [[install]]ed with the {{AUR|lightspark-git}} package.\n\n==PDF\u6d4f\u89c8\u5668==\n=== PDF.js ===\n\n[https://github.com/mozilla/pdf.js PDF.js] is a PDF renderer created by Mozilla and built using HTML5 technologies.\n\nIt is included in [[Firefox]].\n\nFor [[Chromium]] and Google Chrome it is available as extension in the [https://chrome.google.com/webstore/detail/pdf-viewer/oemmndcbldboiebfnladdacbdfmadadm Chrome Web Store].\n\n=== External PDF viewers ===\n\nTo use an external PDF viewer you need [[#MozPlugger]].\n\nIf you want to use MozPlugger with Evince, for example, you have to find the lines containing {{ic|pdf}} in the {{ic|/etc/mozpluggerrc}} file and modify the corresponding line after {{ic|GV()}} as below:\n repeat noisy swallow(evince) fill: evince \"$file\"\n(replace {{ic|evince}} with something else if it is not your viewer of choice).\n\nIf this is not enough, you may need to change 2 values in {{ic|about:config}}:\n* Change {{ic|pdfjs.disabled}}'s value to ''true'';\n* Change {{ic|plugin.disable_full_page_plugin_for_types}}'s value to an empty value.\n\nRestart and it should work like a charm!\n\n== \u4e2d\u56fd\u7684\u5728\u7ebf\u652f\u4ed8 ==\n\n\u4e2d\u56fd\u7684\u7b2c\u4e09\u65b9\u5728\u7ebf\u652f\u4ed8\u7f51\u7ad9\u901a\u5e38\u91c7\u7528\u6240\u8c13\u7684\u201c\u5b89\u5168\u63d2\u4ef6\u201d\u6765\u8f93\u5165\u5bc6\u7801\u3002\u8fd9\u4e9b NPAPI \u63d2\u4ef6\u5728 Firefox 52+ \u4e2d\u5df2\u4e0d\u518d\u652f\u6301\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u4f7f\u7528 {{AUR|palemoon}} \n* \u94f6\u8054\u5728\u7ebf\u652f\u4ed8\uff1a{{AUR|upeditor}}\n* \u652f\u4ed8\u5b9d\uff1a{{AUR|aliedit}}{{Broken package link|package not found}}\n\n==Citrix==\n\u53c2\u89c1\uff1a[[Citrix]]\n\n== Java ==\n{{Note|Both Java plugins are NPAPI-only and thus do not work in Chromium and Opera.}}\n\nTo enable [[Java]] support in your browser, you have two options: the open-source [[Wikipedia:OpenJDK|OpenJDK]] (recommended) or Oracle's proprietary version. For details about why OpenJDK is recommended see [https://mailman.archlinux.org/pipermail/arch-general/2011-August/021671.html this].\n\nTo use OpenJDK, you have to install the [http://icedtea.classpath.org/wiki/Main_Page IcedTea] browser plugin, {{Pkg|icedtea-web}}.\n\nIf you want to use Oracle's JRE, install the {{AUR|jre}} package.\n\nSee [[Java#OpenJDK]] for additional details and references.\n\n{{Note|If you experience any problems with the Java plugin (e.g. it is not recognized by the browser), you can try this [[#Plugins_are_installed_but_not_working|solution]]{{Broken section link}}.}}\n\n== Pipelight ==\n\nSee [[Pipelight]].\n\n==\u89c6\u9891\u64ad\u653e\u63d2\u4ef6==\n\n\u5f88\u591a\u6d4f\u89c8\u5668\u652f\u6301\u901a\u8fc7 [[GStreamer]] \u6846\u67b6\u64ad\u653e HTML5 {{ic|<audio>}} \u548c {{ic|<video>}}\u3002\u5b89\u88c5\u65f6\u6ce8\u610f\u67e5\u770b\u6d4f\u89c8\u5668\u7684\u53ef\u9009\u4f9d\u8d56\u5173\u7cfb(\u6216 {{AUR|webkitgtk}}/{{AUR|webkitgtk2}} \u4f9d\u8d56\u5173\u7cfb)\u786e\u8ba4\u652f\u6301\u7684 GStreamer \u7248\u672c\uff0c\u53ef\u80fd\u662f\u5f53\u524d {{ic|gst-*}} \u7248\u672c\u6216\u8001\u7684 {{ic|gstreamer0.10-*}} \u7248\u672c\u3002\u8be6\u60c5\u53c2\u8003 [[GStreamer#Installation]].\n\n=== \u5176\u5b83\u63d2\u4ef6 ===\n\n* {{App|Gecko \u5a92\u4f53\u64ad\u653e\u5668|Mozilla \u5904\u7406\u7f51\u9875\u591a\u5a92\u4f53\u7684\u63d2\u4ef6\uff0c\u4f7f\u7528 MPlayer.|https://sites.google.com/site/kdekorte2/gecko-mediaplayer|{{Pkg|gecko-mediaplayer}}{{Broken package link|package not found}}}}\n* {{App|GNOME Videos \u63d2\u4ef6|\u57fa\u4e8e [[Wikipedia:GNOME Videos|GNOME Videos]] \u5a92\u4f53\u64ad\u653e\u5668\u7684\u63d2\u4ef6\uff0c\u4f7f\u7528 [[GStreamer]].|https://wiki.gnome.org/Apps/Videos|{{Pkg|totem}}}}\n* {{App|Rosa Media Player Plugin|\u57fa\u4e8e MPlayer \u7684 Qt \u6d4f\u89c8\u5668\u63d2\u4ef6.|https://abf.rosalinux.ru/uxteam/ROSA_Media_Player|{{AUR|rosa-media-player-plugin}}}}\n* {{App|VLC Plugin|NPAPI \u63a5\u53e3\uff0cVLC \u63d2\u4ef6.|https://code.videolan.org/videolan/npapi-vlc|{{AUR|npapi-vlc}}}}\n\n==\u5176\u4ed6==\n\n=== Hangouts ===\n\nHangouts plugin can be installed with the {{AUR|google-talkplugin}} package. Installing this plugin is not necessary for fresh version of chromium browser.\nHangouts is a messenger by Google, that allows you to make video call between 15 people simultaneously. While using \"new\" version, you can share your screen with others like in Skype, but if you switch to \"old\" version, it will be possible to do the following things together: watching YouTube, making diagrams, editing documents, playing games and other things.\n\n=== MozPlugger ===\n\nMozPlugger can be installed with the {{AUR|mozplugger}} package.\n\n[http://mozplugger.mozdev.org/ MozPlugger] is a Mozilla plugin which can show many types of multimedia inside your browser. To accomplish this, it uses external programs such as MPlayer, xine, Evince, OpenOffice, TiMidity, etc. To modify or add applications to be used by MozPlugger just modify the {{ic|/etc/mozpluggerrc}} file.\n\nFor example, MozPlugger uses OpenOffice by default to open {{ic|doc}} files. To change it to use LibreOffice instead, look for the OpenOffice section:\n{{hc|/etc/mozpluggerrc|\n...\n### OpenOffice\ndefine([OO],[swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 \"$file\"\n    swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 \"$file\"\n    swallow(VCLSalFrame) fill: soffice -nologo $1 \"$file\"])\n...\n}}\nand add LibreOffice at the beginning of the list:\n{{hc|/etc/mozpluggerrc|\n...\n### LibreOffice/OpenOffice\ndefine([OO],[swallow(VCLSalFrame) fill: libreoffice --nologo --norestore --view $1 \"$file\"\n    swallow(VCLSalFrame) fill: ooffice2.0 -nologo -norestore -view $1 \"$file\"\n    swallow(VCLSalFrame) fill: ooffice -nologo -norestore -view $1 \"$file\"\n    swallow(VCLSalFrame) fill: soffice -nologo $1 \"$file\"])\n...\n}}\n{{Note|Be sure to also choose LibreOffice as your preferred application to open {{ic|doc}} files.}}\n\nAs another simple example, if you want to open {{ic|cpp}} files with your favorite text editor (we will use Kate) to get syntax highlighting, just add a new section to your {{ic|mozpluggerrc}} file:\n{{hc|/etc/mozpluggerrc|\ntext/x-c++:cpp:C++ Source File\ntext/x-c++:hpp:C++ Header File\n    repeat noisy swallow(kate) fill: kate -b \"$file\"\n}}\n\nTo change the default of MPlayer so that [[mpv]] is used instead, change the appropriate lines such that:\n{{hc|1=/etc/mozpluggerrc|2=\n...\n### MPlayer\n\n#define(MP_CMD,[mplayer -really-quiet -nojoystick -nofs -zoom -vo xv,x11 -ao esd,alsa,oss,arts,null -osdlevel 0 $1 </dev/null])\ndefine(MP_CMD,[mpv -really-quiet $1 </dev/null])\n\n#define(MP_EMBED,[embed noisy ignore_errors: MP_CMD(-xy $width -wid $window $1)])\ndefine(MP_EMBED,[embed noisy ignore_errors: MP_CMD(--autofit=$width -wid $window $1)])\n\n#define(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(MPlayer): MP_CMD($1)])\ndefine(MP_NOEMBED,[noembed noisy ignore_errors maxaspect swallow(mpv): MP_CMD($1)])\n\n...\n\n#define(MP_AUDIO,[mplayer -quiet -nojoystick $1 </dev/null])\ndefine(MP_AUDIO,[mpv -really-quiet $1 </dev/null])\n\n#define(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mplayer -quiet -nojoystick $1 \"$file\" </dev/null])\ndefine(MP_AUDIO_STREAM,[controls stream noisy ignore_errors: mpv -really-quiet $1 \"$file\" </dev/null])\n...\n}}\n\nFor a more complete list of MozPlugger options see [http://www.linuxmanpages.com/man7/mozplugger.7.php this page].\n\n==\u7591\u96be\u89e3\u7b54==\n\n===Flash\u65e0\u58f0\u97f3===\nFlash Player\u53ea\u901a\u8fc7\u9ed8\u8ba4\u7684ALSA\u8bbe\u5907\u8f93\u51fa\u97f3\u9891\uff08\u7f16\u53f70\uff09\u3002\u5982\u679c\u4f7f\u7528\u591a\u4e2a\u58f0\u97f3\u8bbe\u5907\uff08\u6bd4\u5982\uff0c\u9664\u4e86\u58f0\u5361\u5916\uff0c\u4f7f\u7528\u4e86\u663e\u5361\u7684HDMI\u8f93\u51fa\uff09\uff0c\u53ef\u80fd\u4f60\u8981\u4f7f\u7528\u7684\u58f0\u97f3\u8bbe\u5907\u7f16\u53f7\u4e0d\u662f0\uff0c\u4ece\u800c\u5bfc\u81f4Flash\u65e0\u58f0\u97f3\u3002\n\n\u4f8b\u5982\uff1a\n $ aplay -l\n **** List of PLAYBACK Hardware Devices ****\n card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]\n   Subdevices: 1/1\n   Subdevice #0: subdevice #0\n card 1: DX [Xonar DX], device 0: Multichannel [Multichannel]\n   Subdevices: 0/1\n   Subdevice #0: subdevice #0\n card 1: DX [Xonar DX], device 1: Digital [Digital]\n   Subdevices: 1/1\n   Subdevice #0: subdevice #0\n\u4e0a\u9762\u7684\u793a\u4f8b\u4e2d\uff0cHDMI\u8bbe\u5907\u7f16\u53f7\u4e3a0\uff0c\u800c\u58f0\u5361\u7f16\u53f7\u4e3a1\u3002\u8981\u5c06\u8be5\u58f0\u5361\u4f5c\u4e3aALSA\u9ed8\u8ba4\u8f93\u5165\uff0c\u521b\u5efa{{ic|~/.asoundrc}}\uff0c\u5185\u5bb9\u5982\u4e0b\uff1a\n pcm.!default {\n type hw\n card 1\n }\n \n ctl.!default {\n type hw\n card 1\n }\n\n===Flash\u72ec\u5360\u4e86\u58f0\u97f3\u8bbe\u5907===\n\u5982\u679c\u53d1\u73b0\u64ad\u653eFlash\u65f6\u5176\u4ed6\u7a0b\u5e8f\u65e0\u6cd5\u6b63\u5e38\u64ad\u653e\u58f0\u97f3\uff0c\u90a3\u4e48\u53ef\u80fd\u662f\u7531\u4e8e\u6ca1\u6709\u52a0\u8f7d{{Ic|snd_pcm_oss}}\u6a21\u5757\uff1a\n $ lsmod | grep snd_pcm_oss\n\u91cd\u65b0\u52a0\u8f7d\uff1a\n # rmmod snd_pcm_oss\n\u5e76\u91cd\u542f\u6d4f\u89c8\u5668\u5373\u53ef\u3002\n\n===Flash\u6027\u80fd===\nAdobe\u7684Flash\u63d2\u4ef6\u6709\u4e25\u91cd\u7684\u6027\u80fd\u95ee\u9898\uff0c\u5c24\u5176\u662f\u5728CPU\u4f7f\u7528\u81ea\u52a8\u964d\u9891\u529f\u80fd\u65f6\u3002\u53c2\u89c1\uff1a[[cpufrequtils#Changing the ondemand governor's threshold]]{{Broken section link}}\u3002\n\n===Flash\u4e2dwebcam\u5206\u8fa8\u7387\u4f4e===\n\u5c1d\u8bd5\u4f7f\u7528\u5982\u4e0b\u547d\u4ee4\u542f\u52a8\u6d4f\u89c8\u5668\uff1a\n $ LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so [broswer]\n\n===Black bars in fullscreen video playback on multiheaded desktops===\nThe Flash plugin has a known bug where the full screen mode does not really work when you have a multi-monitor setup. Apparently, it incorrectly determines the full screen resolution, so the full screen Flash Player fills the correct monitor but gets scaled as if the monitor had the resolution of the total display area.\n\nTo fix this, you can use the \"hack\" described [http://al.robotfuzz.com/content/workaround-fullscreen-flash-linux-multiheaded-desktops here]. Simply download the source from the link given on the page, and follow the instructions in the README.\n\n{{Tip|The hack is available and can be installed with the {{AUR|fullscreenhack}}{{Broken package link|{{aur-mirror|fullscreenhack}}}} package.}}\n\n{{Note|While the author mentions using NVDIA's TwinView, the hack should work for any multi-monitor setup.}}\n\n=== Flash Player: plugin version still shown older version after upgrade ===\n\nSolution for Firefox: delete file \"pluginreg.dat\" in user's profile directory.\n\n* Close firefox\n* Go to /home/<username>/.mozilla/firefox/<profile_folder>/\n* Delete file \"pluginreg.dat\"\n\nFirefox will automatically rebuild this file once it is started again. Make sure to substitute <username> and <profile_folder> with the appropriate information.\n\n===\u63d2\u4ef6\u5b89\u88c5\u540e\u65e0\u6cd5\u4f7f\u7528===\n\u8fd9\u901a\u5e38\u662f\u56e0\u4e3a\u7b2c\u4e00\u6b21\u5b89\u88c5\u63d2\u4ef6\u540e\uff0c\u7528\u6237\u672a\u91cd\u767b\u5f55\uff0c\u63d2\u4ef6\u8def\u5f84\u8fd8\u672a\u8bbe\u7f6e\u3002\u6d4b\u8bd5\u5982\u4e0b\u53d8\u91cf\uff1a\n echo $MOZ_PLUGIN_PATH\n\u82e5\u672a\u8bbe\u7f6e\uff0c\u8bf7\u5c1d\u8bd5\u91cd\u65b0\u767b\u5f55, \u6216:\n $ source /etc/profile.d/mozilla-common.sh && firefox\n\n===Gecko Media Player \u65e0\u6cd5\u64ad\u653e Apple Trailers===\n\u8bbe\u7f6e\u6d4f\u89c8\u5668\u7684\u7528\u6237\u4ee3\u7406\uff08user agent\uff09\u4e3a\uff1a\n QuickTime/7.6.2 (qtver=7.6.2;os=Windows NT 5.1Service Pack 3)"
                    }
                ]
            },
            "2203": {
                "pageid": 2203,
                "ns": 0,
                "title": "Fcitx",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Input methods]]\n[[ja:Fcitx]]\n[[zh-hans:Fcitx]]\n[[Wikipedia:Fcitx|Fcitx]] is a lightweight [[input method]] framework aimed at providing environment independent language support for Linux. It supports a lot of different languages and also provides many useful non-CJK features.\n\n==Installation==\n[[Install]] the {{Pkg|fcitx}} package.\n \n=== Input method engines ===\n\nFcitx provides built-in input methods for Chinese [[wikipedia:Pinyin|Pinyin]] and table-based input (for example [[wikipedia:Wubi method|Wubi]]).\n\nDepending on the language you wish to type, other input method engines are available:\n\n==== Chinese ====\n\n* {{Pkg|fcitx-sunpinyin}}, based on {{Pkg|sunpinyin}}. It strikes a good balance between speed and accuracy.\n* {{Pkg|fcitx-libpinyin}}, based on {{Pkg|libpinyin}}. It has a better algorithm than {{Pkg|fcitx-sunpinyin}}.\n* {{Pkg|fcitx-rime}}, based on schemas from the [[Rime IME]] project.\n* {{Pkg|fcitx-googlepinyin}}, the Google pinyin IME for Android.\n* {{AUR|fcitx-sogoupinyin}}, [http://pinyin.sogou.com/linux/ Sogou input method] supporting Jianpin, fuzzy sound, cloud input, English input, and mixed skin.\n* {{Pkg|fcitx-cloudpinyin}} uses internet sources to provide input candidates. The selected cloud result will be added to local dictionary. It support all fcitx pinyin input method except {{Pkg|fcitx-rime}}.   \n* {{Pkg|fcitx-chewing}} is a popular Zhuyin input engine for Traditional Chinese based on {{Pkg|libchewing}}.\n* {{Pkg|fcitx-table-extra}}  adds [[wikipedia:Cangjie_input_method|Cangjie]], [[wikipedia:Zhengma_method|Zhengma]], [[wikipedia:Boshiamy_method|Boshiamy]] support.\n\n==== Japanese ====\n\n* {{Pkg|fcitx-mozc}}, based on [[Mozc]], the Open Source Edition of Google Japanese Input.\n* {{Pkg|fcitx-kkc}}, a Japanese Kana Kanji input engine, based on {{Pkg|libkkc}}.\n* {{Pkg|fcitx-anthy}}, a popular Japanese input engine. However, it is not actively developed anymore.\n\n==== Other languages ====\n\n* {{Pkg|fcitx-hangul}}, for typing Korean hangul, based on {{Pkg|libhangul}}.\n* {{Pkg|fcitx-unikey}}, for typing Vietnamese characters.\n* {{Pkg|fcitx-sayura}}, for typing Sinhalese.\n* {{Pkg|fcitx-m17n}}, for other languages provided by [http://www.nongnu.org/m17n/ M17n].\n\n=== Input method module ===\n\nTo obtain a better experience in GTK and Qt programs, install the {{Pkg|fcitx-gtk2}}, {{Pkg|fcitx-gtk3}}, {{AUR|fcitx-qt4}} and {{Pkg|fcitx-qt5}} input method modules as your need, or the {{Grp|fcitx-im}} group to install all of them. Without those modules, the input method may work on most applications but you may experience input method hang up, preview window screen location error or no preview error. \n\nApplications below do not use GTK/Qt input module: \n\n* Applications use Tk, motif or xlib\n* Emacs, Opera, OpenOffice, LibreOffice, Skype, Wine, Java, Xterm, urxvt, WPS\n\n=== Others ===\n\n* {{Pkg|fcitx-ui-light}}, light UI for fcitx.\n* {{Pkg|fcitx-table-extra}}, extra table.\n* {{Pkg|fcitx-table-other}}, tables for Latex, Emoji and others. \n* [[#GUI configuration tools]]\n\nOthers packages (including git version) are also available in the [[AUR]]. All components of fcitx will requires fcitx to restart after install.\n\n== Usage ==\n{{Note|You need to have [[Fonts#Chinese, Japanese, Korean, Vietnamese|Chinese, Japanese, Korean or Vietnamese font]] installed to be able to enter the corresponding characters.}}\n\n=== Desktop Environment Autostart ===\nIf you are using any XDG compatible desktop environment such as [[KDE]], [[GNOME]], [[Xfce]], [[LXDE]], after you re-login, the autostart should work out of box. If not run the ''fcitx'' executable. To see if fcitx is working correctly, open an application and press {{ic|Ctrl+Space}} (the default shortcut for switching the input method) to invoke fcitx and input some words.\n\nIf fcitx failed to start with your desktop automatically or if you want to change the parameters to start fcitx, configure [[Autostarting#On_Xorg_startup|autostart]] or edit the {{ic|fcitx-autostart.desktop}} file in your {{ic|~/.config/autostart/}} directory (copy it from {{ic|/etc/xdg/autostart/}} if it doesn't exist yet).\n\nWhen other input methods with xim support are also running, fcitx may fail to start due to an xim error. Ensure that no other input methods are running before you start fcitx.\n\nAlso please set the following environment variables to prefer IM modules for GTK/Qt applications.\n\n=== Set environment variables for IM modules ===\n\n[[Define]] the environment variables to register the input method modules and support xim programs.\n\n{{hc|~/.pam_environment|<nowiki>\nGTK_IM_MODULE=fcitx\nQT_IM_MODULE=fcitx\nXMODIFIERS=@im=fcitx</nowiki>\n}}\n\nRe-login or reboot to make these environment changes effective.\n\nIf ''fcitx'' process does not start automatically, you might need to add {{ic|fcitx &}} in your {{ic|~/.xinitrc}}.\nIf {{ic|fcitx &}} doesn't start, type {{ic|sleep 2}} after it\n\n{{Note|\n* Avoid {{ic|.bashrc}} for this, see [[GregsWiki:DotFiles]].\n* If all Qt apps have problem with fcitx, run ''qtconfig'' (''qtconfig-qt4''), and go to the third tab, make sure ''fcitx'' is in the ''Default Input Method'' combo-box.\n}}\n\n=== XIM ===\n\nOptionally, you can use the [[Wikipedia:X Input Method|X Input Method]] (XIM) in your GTK and/or Qt programs without installing the above modules in which case you need to change the corresponding lines above as following:\n\n GTK_IM_MODULE=xim\n QT_IM_MODULE=xim\n\n{{Warning| Using XIM can sometimes cause problems including not being able to input, no cursor following, word selection window issue, application freeze on input method restart. For these XIM related problems, Fcitx cannot provide any fix or support. This is the same with any other input method framework, so please use the GTK and Qt input method modules instead of xim whenever possible}}\n\n{{Note|Gtk2 uses {{ic|/usr/lib/gtk-2.0/2.10.0/immodules.cache}} as immodule cache file since 2.24.20. If you have set {{ic|GTM_IM_MODULE_FILE}} environment variable or do not use install script of official packages to update the cache, please change/clear the environment variable and use {{ic|/usr/bin/gtk-query-immodules-2.0 --update-cache}} to update immodule cache.}}\n\n{{Note| Qt5 applications no longer support XIM protocol as Qt4 did, and rely on IM modules entirely for communicating with fcitx.}}\n\n==Configuration==\n\n=== GUI configuration tools ===\n\nfcitx provides a [[KDE]] configuration module ({{Pkg|kcm-fcitx}}) and a GTK3 configuration tool ({{Pkg|fcitx-configtool}}).\n\nRun ''fcitx-config-gtk3'' after {{Pkg|fcitx-configtool}} is installed. Unset ''Only Show Current Language'' if you want to enable an input method for a different language.\n\nStop fcitx manually before changing configuration, or the change may be lost.  \n\nIn order to enable spell checking, press {{ic|Ctrl+Alt+h}} when fcitx is on an input method provided by fcitx-keyboard.\n\n=== Input methods configuration ===\n\nYou can add/remove input methods in the GUI tools. Note that the search is case sensitive.\n\nThe first set input method is the inactive state, while all the rest will be active states. You generally want the inactive state to be one of the ''Keyboard'' options (e.g. \"Keyboard - English (US)\"). These options just input based on the keyboard layout in the name.\n\nUnder ''Global Config'', the ''Trigger Input Method'' shortcut will only switch between the inactive and last used active state. The ''Scroll between Input Methods'' will by default only scroll between different active states, but can also be set to include the inactive state in the advanced settings. Furthermore, the ''Scroll between Input Methods'' shortcut has to be pressed in order, e.g. {{ic|ALT_SHIFT}} will only activate if {{ic|alt}} is pressed before {{ic|shift}}.\n\nConfiguration settings for IME's can be found by by setting the keyboard to the desired IME and right-clicking the tray icon.\n\n=== Change default UI ===\n\nFcitx support kimpanel protocol to provide better desktop integration.\n\n* Gnome-Shell: You can install kimpanel from extensions.gnome.org or {{AUR|gnome-shell-extension-kimpanel-git}}, which provides a similar user experience as ibus-gjs.\n* KDE: {{Pkg|kimtoy}} could use skin from Sogou and fcitx.\n\n=== Extend pinyin dictionary ===\n\nPinyin dictionary is located at {{ic|~/.config/fcitx/pinyin}}. File {{ic|pybase.mb}} is for single characters and file {{ic|pyphrase.mb}} defines pinyin phrases. To extend them, put your file into {{ic|/usr/share/fcitx/pinyin}} and restart fcitx.\n\n=== Skins ===\n\nYou can download skins and extract them to one of the following directories, you can create the directory if it doesn't exist:\n\n /usr/share/fcitx/skin   #Global settings\n ~/.config/fcitx/skin    #User settings\n\n=== Cloud Pinyin configuration ===\nAfter installing the {{Pkg|fcitx-cloudpinyin}} input method, restart fcitx. If you could not find it in configuration GUI, enable advanced settings. The cloud query result will be added to current input method dictionary automatically. \n\nIf your network prevents you from accessing Google, change Cloud Pinyin source to Baidu.\n\nThe query result from cloud will list as secondary candidate by default and it is configurable. If the result already exists, only one item is shown. \n\n{{Note|Set query result as first candidate is not recommend because the dictionary order will be changed if query returns an empty result}}\n\n== Tips and tricks ==\n===Clipboard Access===\nYou can use fcitx to input text in you clipboard (as well as a short clipboard history and primary selection). The default trigger key is {{ic|Ctrl-;}}. You can change the trigger key as well as other options in the Clipboard addon configure page.\n\n{{Note|This is NOT a clipboard manager, it doesn't hold the selection or change its content as what a clipboard manager is supposed to do. It can only be used to input from the clipboard.}}\n\n{{Warning| Some clients do not support multi-line input, so you may see the multi-line clipboard content pasted as a single line using fcitx-clipboard. This is either a bug or feature of the program being used and it is not something fcitx is able to help with.}}\n\n===fcitx-remote===\n''fcitx-remote'' is a commandline tool that can be used to control the fcitx state. It is installed with the {{Pkg|fcitx}} package.\n\nOne option worth elaborating upon here is {{ic|fcitx-remote -s ''imname''}}, which switches to the input method identified by {{ic|''imname''}}. The correct {{ic|''imname''}} for an in use input method can be found by executing ''fcitx-diagnose'', and looking under the \"## Input Methods:\" section.\n\n==Troubleshooting==\n\n=== Disable or change ''Extra key for trigger input method'' [sic] ===\nThis setting is under the ''Global Config'' tab and defaults to ''SHIFT Both'', meaning that pressing ''either'' shift key will immediately change input methods. Although it should only apply when a shift key is pressed individually, it tends to randomly interrupt typing capital letters, selecting text with the keyboard, etc. while using standard keyboard input.\n\nIn addition, this setting may revert to default without warning at any time. To ensure fcitx's config cannot be modified, you must make fcitx's config file immutable: {{ic|# chattr +i ~/.config/fcitx/config}}.\n\n=== Diagnose the problem ===\nIf you have problems using fcitx, eg. Ctrl+Space fail to work in all applications, then the first thing you should try is to diagnose using {{ic|fcitx-diagnose}}.\nThe output of {{ic|fcitx-diagnose}} should contain the clue to most common problems.\nProviding the output of it will also help when you consult other people(eg. in IRC or forums).\n\n=== Emacs ===\nIf your {{ic|LC_CTYPE}} is English, you may not be able to use input method in emacs due to an old emacs bug. You can set your {{ic|LC_CTYPE}} to something else such as {{ic|zh_CN.UTF-8}} before emacs starts to get rid of this problem. \n\nNote that the corresponding [[locale]] should be [[Locale#Generating locales|generated]] on your your system.\n\nThe default fontset will use `-*-*-*-r-normal--14-*-*-*-*-*-*-*' as basefont (in {{ic|src/xfns.c}}), if you do not have one matched (like terminus or 75dpi things, you can look the output of `xlsfonts'), XIM can not be activated.\n\n==== Emacs Daemon ====\n\nIf you are using [[Emacs#As_a_daemon|emacs daemon/client mode]], {{ic|LC_CTYPE}} should be set when starting the daemon. For example, by running emacs daemon with {{ic|1=LC_CTYPE=zh_CN.UTF-8 emacs --daemon}}.\n\nIf starting emacs daemon from [[systemd]], [[Systemd#Editing provided_units|set]] {{ic|1=Environment=\"LC_CTYPE=zh_CN.UTF-8\" \"XMODIFIERS=@im=fcitx\"}} in the unit file.\n\n({{ic|XMODIFIERS}} may need to be set explicitly here as systemd doesn't load {{ic|.xprofile}}. Check the {{ic|initial-environment}} variable in emacs to verify both variables are set correctly.)\n\n=== Firefox popup menu not work ===\n\nFor [[Firefox]] above version 13, the popup menu may fail to work due to xim, make sure that {{pkg|fcitx-gtk3}} along with a latest version fcitx are installed.\n\n=== Ctrl+Space fail to work in GTK programs ===\n\nThis problem sometimes happens especially when the locale is set as English. Please make sure your {{ic|GTK_IM_MODULE}} is set correctly.\n\nSee also [http://fcitx-im.org/wiki/FAQ#When_use_Ctrl_.2B_Space.2C_Fcitx_cannot_be_triggered_on FAQ]\n\nIf you have set the {{ic|*_IM_MODULE}} environment variables to fcitx but cannot activate fcitx, please check if you have installed the corresponding input method modules.\n\nSome programs can only use xim, if you are using these programs, please make sure your {{ic|XMODIFIERS}} is set properly and be aware of the problems you may have. These programs include all programs that are not using GTK or Qt (e.g. programs that use tk, motif, or xlib directly), emacs, opera, openoffice, libreoffice, skype.\n\nIf you cannot enable fcitx in ''gnome-terminal'' under Gnome and the above way doesn't work, try:\n\n $ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides \"{'Gtk/IMModule':<'fcitx'>}\"\n\n=== Buildin Chinese Pinyin Default NOT ACTIVE ===\n\nIf your locale is {{ic|en_US.UTF-8}}, fcitx did NOT enable the buildin Chinese Pinyin input method by default. There is only {{ic|fcitx-keyboard-us}} input method enabled. You can get a notice by {{ic|fcitx-diagnose}} command like this:\n\n    ## Input Methods:\n        1.  Found 1 enabled input methods:\n                fcitx-keyboard-us\n        2.  Default input methods:\n            **You only have one input method enabled, please add a keyboard input method as the first one and your main input method as the second one.**\n\nThen you should add {{ic|Pinyin}} or {{ic|Shuangpin}} input method to actived input methods by the GUI configure tool.\n\n=== fcitx and KDE ===\n\nFor some reasons, [[KDE]] doesn't handle keyboard layouts properly. For example, if you switch from US (English) to LT (Lithuanian), all numbers on the keyboard should produce Lithuanian letters, but they still produce numbers as the output. This can be fixed by these steps:\n\n# Turn off ''fcitx'' if it is running in the background.\n# Disable stuff related to KDE:\n## At ''System settings > Input devices > Layouts (tab)'' make sure that ''Configure layouts'' is unchecked.\n## At ''System settings > Input devices > Advanced (tab)'' make sure that ''Configure keyboard options'' is unchecked.\n# Start ''fcitx'' to start it. You can close the terminal - ''fcitx'' will still be running in the background.\n# Set up your needed layouts (right click on the system tray icon, then ''Configure'').\n# Right click on the system tray icon, then ''Exit''\n\nAt this point you should have working layouts, native KDE layouts switch icon should appear and you can switch them by mouse scroll or click on it.\n\n=== Input method switched to English unintentionally ===\n\nFor instance, in XMind, when the user presses {{ic|Enter}} to create a node, input method is always switched to English, and has to be switched back to Chinese manually.\n\nTo fix this issue, open the ''fcitx'' GUI configuration tool (provided by {{Pkg|fcitx-configtool}}), switch to tab ''Global Config'', in dropdown menu ''Share State Among Window'', select ''PerProgram'' or ''All''.\n\n=== xmodmap settings being overwritten ===\n\nfcitx controls keyboard layout, so your [[xmodmap]] settings will be overwritten.\nSince 4.2.7, Fcitx will try to load {{ic|~/.Xmodmap}} if it exists.\n\nFor more details on how you can save your xmodmap changes see [http://fcitx-im.org/wiki/FAQ#xmodmap_settings_being_overwritten FAQ]\n\n== See also ==\n\n* [https://gitlab.com/fcitx/fcitx Fcitx GitLab]\n* [http://fcitx-im.org/ Fcitx Wiki]"
                    }
                ]
            },
            "2335": {
                "pageid": 2335,
                "ns": 0,
                "title": "Enlightenment",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Desktop environments]]\n[[cs:Enlightenment]]\n[[de:Enlightenment]]\n[[es:Enlightenment]]\n[[fr:Enlightenment]]\n[[it:Enlightenment]]\n[[ja:Enlightenment]]\n[[lt:Enlightenment]]\n[[pl:Enlightenment]]\n[[zh-hans:Enlightenment]]\n{{Related articles start}}\n{{Related|Desktop environment}}\n{{Related|Display manager}}\n{{Related|Window manager}}\n{{Related articles end}}\n\n== Enlightenment ==\n\nThis comprises both the [https://www.enlightenment.org/ Enlightenment] [[window manager]] and Enlightenment Foundation Libraries (EFL), which provide additional desktop environment features such as a toolkit, object canvas, and abstracted objects. It has been under development since 2005, but in February 2011 the core EFLs saw their first stable 1.0 release.\n\n=== Installation ===\n\n[[Install]] the {{Pkg|enlightenment}} package.\n\nYou might also want to install {{Pkg|terminology}}, which is an EFL-based terminal emulator that integrates well with Enlightenment.\n\n==== From the AUR ====\n\n{{Warning|Some of these PKGBUILDs use unstable development code. Use them at your own risk.}}\n\nDevelopment PKGBUILDs which download and install the very latest development code are available as {{AUR|enlightenment-git}} and its dependencies.\n\nThe following are EFL-based applications, most in an early stage of development and not yet released:\n* {{AUR|ecrire-git}} \u2013 Ecrire text editor\n* {{AUR|edi}} \u2013 An EFL based IDE\n* {{AUR|eluminance-git}} \u2013 Eluminance photo browser\n* {{AUR|enjoy-git}} \u2013 [https://trac.enlightenment.org/e/wiki/Enjoy Enjoy] music player\n* {{AUR|eperiodique}} \u2013 [http://eperiodique.sourceforge.net/ Eperiodique] periodic table viewer\n* {{AUR|ephoto}} and {{AUR|ephoto-git}} \u2013 [http://smhouston.us/ephoto/ Ephoto] picture viewer\n* {{AUR|epour}} \u2013 Torrent client based on EFL\n* {{AUR|epymc-git}} \u2013 E Python Media Center\n* {{AUR|equate-git}} \u2013 Equate calculator\n* {{AUR|eruler-git}} \u2013 Eruler on-screen ruler and measurement tools\n* {{AUR|efbb-git}} \u2013 Escape from Booty Bay angry birds style game\n* {{AUR|elemines-git}} \u2013 [http://elemines.sourceforge.net/ Elemines] minesweeper style game\n* {{AUR|rage}} and {{AUR|rage-git}} \u2013 Rage video player\n* {{AUR|terminology-git}} \u2013 Current git master for {{Pkg|terminology}}\n\n=== Starting Enlightenment ===\n\nSimply choose ''Enlightenment'' session from your favourite [[display manager]] or configure [[xinitrc]] to start it from the console.\n\n==== Entrance ====\n\n{{Merge|Display manager|2=Display managers should be listed centrally. Note that Entrance was delisted from the display manager page on June 30th, 2017 on account of it being abandoned by upstream. [https://wiki.archlinux.org/index.php?title=Display_manager&type=revision&diff=480740&oldid=480517] However, as of June 2017 there is a [https://github.com/Obsidian-StudiosInc/entrance new upstream on GitHub].}}\n\n{{Warning|Entrance is highly experimental, and does not have proper systemd support. Use it at your own risk.}}\n\nEnlightenment has a new display manager called Entrance, which is provided by the {{AUR|entrance-git}} package. Entrance is quite sophisticated and its configuration is controlled by {{ic|/etc/entrance/entrance.conf}}. It can be used by enabling {{ic|entrance.service}} [[systemd#Using units|using systemd]].\n\n==== Starting Enlightenment manually ====\n\nIf you prefer to start Enlightenment manually from the console, add the following line to your {{ic|~/.xinitrc}} file:\n\n{{hc|~/.xinitrc|\nexec enlightenment_start\n}}\n\nAfter that Enlightenment can be launched by typing {{ic|startx}}. See [[xinitrc]] for details.\n\nTo try the experimental [[Wayland]] compositor, enter {{ic|enlightenment_start}} in a [[tty]]. You will probably want to install {{AUR|efl-git}} and {{AUR|enlightenment-git}} for this as it's still experimental, yet relatively complete.\n\n=== Configuration ===\n\nEnlightenment has a sophisticated configuration system that can be accessed from the Main menu's Settings submenu.\n\n==== Network ====\n\n'''ConnMan'''\n\nEnlightenment's preferred network manager is [[ConnMan]] which can be installed from the {{Pkg|connman}} package. Follow the instructions on [[ConnMan]] to do the configuration.\n\nFor extended configuration, you may also install Econnman (available in AUR as {{AUR|econnman}} or {{AUR|econnman-git}}) and its associated dependencies. This is not required for general functionality though.\n\n'''Adding the ConnMan Gadget to the Shelf'''\n\n# Settings -> Extensions -> Modules\n# under System\n# Connection Manager\n# Load that (select then hit ''Load'').\n# Right-click on the shelf at the bottom of the screen.\n# Go to Shelf -> Contents\n# Then, just scroll around and find ''ConnMan''.\n# and hit ''Add''.\n\n'''NetworkManager'''\n\nYou can also use {{Pkg|networkmanager}} to manage your network connections - see [[NetworkManager]] for more information.\n\nNote however that the applet will need Appindicator support to show in Enlightenment's [[#System tray|system tray]]. See [[NetworkManager#Appindicator]]. As an alternative to using the applet, NetworkManager includes both CLI and TUI interfaces for network configuration - see [[NetworkManager#Usage]].\n\n==== Polkit agent ====\n\nEnlightenment does not ship with a [[Polkit#Authentication agents|graphical polkit authentication agent]]. If you want to access some privileged actions (e.g. mount a filesystem on a system device), you have to install one and autostart it. For that you should go to ''Settings Panel > Apps > Startup Applications > System'' and activate it. There is an EFL based authentication agent available in the AUR, {{AUR|polkit-efl-git}}.\n\n==== GNOME Keyring integration ====\n\nIt is possible to use gnome-keyring in Enlightenment. However, at the time of writing, you need a small hack to make it work in full.\nFirst, you must tell Enlightenment to autostart gnome-keyring. For that you should go to ''Settings Panel > Apps > Startup Applications > System'' and activate ''Certificate and Key Storage'', ''GPG Password Agent'', ''SSH Key Agent'' and \"Secret Storage Service\".\nAfter this, you should edit your {{ic|~/.pam_environment}} and add the following:\n\n        #Set gnome-keyring as the ssh authentication agent\n        SSH_AUTH_SOCK=/run/user/${UID}/keyring/ssh\n\nThis \"hack\" is used to override the automatic setting of the variable by \"enlightenment-start\" from \"ssh-agent\" to gnome-keyring. \n\nMore information on this topic in the [[GNOME Keyring]] article.\n\n==== System tray ====\n\n{{Note|Since Enlightenment 20, Xembed support has been removed [https://twitter.com/_enlightenment_/status/538000507315314688] meaning that many 'legacy' applets can no longer be displayed in the Systray. To use these applets, you will need to use a standalone system tray application such as {{Pkg|stalonetray}} instead.}}\n\nEnlightenment has support for a system tray but it is disabled by default. To enable the system tray, open the Enlightenment main menu, navigate to the ''Settings'' submenu and click on the ''Modules'' option. Scroll down until you see the ''Systray'' option. Highlight that option and click the ''Load'' button. Now that the module has been loaded, it can be added to the shelf. Right click on the shelf you wish to add the Systray to, hightlight the ''Shelf'' submenu and click on the ''Contents'' option. Scroll down until you see ''Systray''. Highlight that option and click the ''Add'' button.\n\n==== Notifications ====\n\nEnlightenment provides a notification server through its Notification extension.\n* Notifications may be displayed in any corner of the \"screen\" as defined below\n* Available screen policies are Primary Screen, Current Screen, All Screens, and Xinerama\n* Notifications may be filtered based on urgency (Low, Normal, or Critical in any combination)\n* A default notification timeout may be set and optionally enforced for all notifications\n* The notification server may also optionally ignore replace ID requests\n\n=== Themes ===\n\nMore themes to customize the look of Enlightenment are available from:\n* [https://extra.enlightenment.org/themes/ extra.enlightenment.org]\n* [https://www.enlightenment-themes.org/ enlightenment-themes.org]\n* [http://relighted.c0n.de/#100 relighted.c0n.de] for the default theme in 200 different colors\n* [http://git.enlightenment.org/themes git.enlightenment.org] (git clone the theme you like, run 'make' and you end up with a .edj theme file)\n* [http://packages.bodhilinux.com/bodhi/pool/stable/b/ packages.bodhilinux.com] has a good collection (you will need to extract the .edj file from the .deb; bsdtar will do this and is part of the base ArchLinux install). A nice catalog can be seen at [https://web.archive.org/web/20140120083020/http://art.bodhilinux.com/doku.php?id=bodhi_e17_themes_v3 their wiki].\n* [https://web.archive.org/web/20161025233126/https://exchange.enlightenment.org/theme exchange.enlightenment.org] (archived)\n\nYou can install the themes (coming in .edj format) using the theme configuration dialog or by moving them to {{ic|~/.e/e/themes}}. \n\n{{Note|Enlightenment does not provide a stable theme API, and there have been numerous theme API changes over the years, even after E17 was released. Themes that have not been updated regularly are unlikely to work.}}\n\n{{Tip|1=To make GTK and Qt applications match the default theme of Enlightenment you can download a theme like the [http://gnome-look.org/content/show.php/?content=163472 E17 GTK theme]. Place it in {{ic|~/.themes/}} or install the {{AUR|gtk-theme-e17gtk-git}} package and select application themes from Enlightenments settings, and set it to that, this will make all GTK2 and GTK3 applications match the default Enlightenment theme, you can then configure Qt applications (or configure Qt's default settings) to use the GTK theme so it will mimic the theme your GTK applications are using, this way you can make sure most applications will blend in perfectly with your default enlightenment theme. See also [[Uniform look for Qt and GTK applications]].}}\n\n==== GTK ====\n\nTo alter the GTK theme, go to ''Settings > All > Look > Application Theme''.\n\n=== Modules and Gadgets ===\n\n;Module:Name used in enlightenment to refer to the \"backing\" code for a gadget.  \n;Gadget:Front-end or user interface that should help the end users of Enlightenment do something.\n\nMany Modules provide Gadgets that can be added to your desktop or on a shelf. Some Modules (such as CPUFreq) only provide a single Gadget while others (such as Composite) provide additional features without any gadgets.  Note that certain gadgets such as Systray can only be added to a shelf while others such as Moon can only be loaded on the desktop. \n\n==== \"Extra\" modules ====\n\n{{Warning|These are 3rd party modules and not officially supported by the Enlightenment developers. They are also pulled directly from git, so they are development code that may or may not work at any time. Use at your own risk.}}\nBeyond the modules described here, more \"extra\" modules are available from {{AUR|e-modules-extra-git}}.\n\n'''Scale Windows'''\n\nThe ''Scale Windows'' module, which requires compositing to be enabled, adds several features. The scale windows effect shrinks all open windows and brings them all into view. This is known in \"Mission Control\" in macOS. The scale pager effect zooms out and shows all desktops as a wall, like the compiz expo plugin. Both can be added to the desktop as a gadget or bound to a key binding, mouse binding or screen edge binding.  \n\nSome people like to change the standard window selection key binding {{ic|ALT + Tab}} to use Scale Windows to select windows.  To change this setting, you navigate to ''Menu > Settings > Settings Panel > Input > Keys''.  From here, you can set any key binding you would like.  \n\nTo replace the window selection key binding functionality with Scale Windows, scroll through the left panel until you find the ''ALT'' section and then find and select {{ic|ALT + Tab}}.  Then, scroll through the right panel looking for the \"Scale Windows\" section and choose either ''Select Next'' or ''Select Next (All)'' depending on whether you would like to see windows from only the current desktop or from all desktops and click ''Apply'' to save the binding.\n\nAvailable from [https://git.enlightenment.org/enlightenment/modules/comp-scale.git/ upstream git].\n\n=== Default Keybindings ===\n\n{| class=\"wikitable\"\n|+ Some default Enlightenment keybindings\n| Shift + F10         \n| Maximize Vertically                             \n|-\n| Ctrl + Menu         \n| Show \"Clients\" (windows) Menu                   \n|-\n| Alt + Escape        \n| Show \"Everything Launcher\" (apps, windows, etc) \n|-\n| Win + Left          \n| Maximize Left                                   \n|-\n| Win + Right         \n| Maximize Right                                  \n|-\n| Alt + Shift + F10   \n| Maximize Horizontally                           \n|-\n| Alt + Shift + Left  \n| Flip to the Desktop on the Left                 \n|-\n| Alt + Shift + Right \n| Flip to the Desktop on the Right                \n|-\n| Ctrl + Alt + D      \n| Show the desktop                                \n|-\n| Ctrl + Alt + F      \n| Toggle Fullscreen                               \n|-\n| Ctrl + Alt + I      \n| Toggle iconic mode                              \n|-\n| Ctrl + Alt + K      \n| Kill window\n|-\n| Ctrl + Alt + L      \n| Lock the desktop                                \n|-\n| Ctrl + Alt + N      \n| Maximize Window                                 \n|-\n| Ctrl + Alt + R      \n| Toggle Shade up                                 \n|-\n| Ctrl + Alt + W      \n| Window menu                                     \n|-\n| Ctrl + Alt + X      \n| Close a window                                  \n|-\n| Ctrl + Alt + Down   \n| Lower                                           \n|-\n| Ctrl + Alt + Up     \n| Raise                                           \n|-\n| Ctrl + Alt + Left   \n| Flip to desktop on left                         \n|-\n| Ctrl + Alt + Right  \n| Flip to desktop on right                        \n|-\n| Ctrl + Alt + Delete \n| End session dialog\n|-\n| Ctrl + Alt + Insert \n| Launch the default terminal                                 \n|}\n\n=== Troubleshooting ===\n\nIf you find some unexpected behavior, there are a few things you can do:\n# try to see if the same behavior exists with the default theme\n# disable any 3rd party modules you may have installed\n# backup {{ic|~/.e}} and remove it (e.g. {{ic|mv ~/.e ~/.e.back}})\n\nIf you are sure you found a bug please report it [https://phab.enlightenment.org/maniphest/task/create/ directly upstream]. \n\n==== Compositing ====\n\nWhen the configuration needs to be reset and the settings windows can no longer be approached, configuration for the compositor can be reset using the hardcoded keybinding {{ic|Ctrl + Alt + Shift + Home}}.\n\n==== Unreadable fonts ====\n\nIf fonts are too small and your screen is unreadable, be sure the right font packages are installed. {{Pkg|ttf-dejavu}} and {{Pkg|ttf-bitstream-vera}} are valid candidates.\n\nYou also should consider just increasing the scaling size under the Scaling. You can set scaling under ''Settings > Settings Panel > Look > Scaling''.\n\n==== Backlight always dimmed ====\n\nYou may find that Enlightenment routinely dims the backlight to 0% on logout and will only restore it to 100% when you log into another Enlightenment session. Enlightenment assumes that whatever comes after it will set the backlight to whatever it prefers, if anything as this is what Enlightenment does at start. This is especially problematic when using another desktop environment alongside Enlightenment that cannot control backlight as the backlight will not automatically be restored to its normal level when using that desktop environment. To fix this issue, open the Enlightenment ''Settings Panel'' and, under the ''Look'' tab, click on the ''Composite'' option. Tick the ''Don't fade backlight'' box and click ''OK''.\n\n==== Inconsistent cursor theme ====\n\nYou may find that the cursor theme for the desktop is different to the one used in applications such as [[Firefox]]. This is because desktop applications are using X cursor themes whilst Enlightenment has its own set of cursor themes. For consistency, you can set Enlightenment to always use the X cursor theme. To do this, open the Enlightenment ''Settings Panel'' and click on the ''Input'' tab. Click on the ''Mouse'' option. Change the theme from ''Enlightenment'' to ''X'' and click ''OK''. You should now find that the same cursor theme is used everywhere. If the X cursor theme itself is not always consistent, see [[Cursor themes#XDG specification]].\n\n==== Background images ====\n\nYou can just select wallpapers in the wallpaper settings dialog and import any image with the provided settings dialog, or you can put desired wallpapers into {{ic|~/.e/e/backgrounds/}}\n\nLMB anywhere on the desktop will give access to the settings, select {{ic|/Desktop/Backgrounds/}}\n\nAny new image copied in the {{ic|~/.e/e/backgrounds/}} folder will get the list of available backgrounds auto-updated. You can drop animated gifs and even mp4 and other video files in here and use them as wallpapers if you want. Select desired wallpaper from drop-down menu. Inside the appropriate tabs in the global settings, you can adjust things like tiling of the background image, filling screen and such.\n\n== Enlightenment DR16 ==\n\nEnlightenment, Development Release 16 was first released in 2000, and reached version 1.0 in 2009. Originally, the DR16 stood for the 0.16 version of the Enlightenment project. You'll find it as \"Enlightenment16\" now in the Arch repositories, it is still under development today, regularly updated by its maintainer Kim 'kwo' Woelders. With compositing, shadows and transparencies, E16 kept all of the speed that presided over its foundation by original author Carsten \"Rasterman\" Haitzler but with up to date refinement.\n\n=== To install E16 ===\n\nInstall {{AUR|enlightenment16}}.\n\nSee {{ic|/usr/share/doc/e16/e16.html}} for in depth documentation. The man page is at {{man|1|e16}}{{Dead link|2019|04|20}} and only gives startup options.\n\n=== Basic Configuration ===\n\nMost configuration files for E16 reside in {{ic|~/.e16}} and are text-based, editable at will. That includes the Menus too.\n\nShortcut keys can be either modified by hand, or with the e16keyedit software provided as source on the [http://sourceforge.net/projects/enlightenment/ sourceforge] page of the e16 project. Note that the keyboard shortcuts file is not created in {{ic|~/.e16}} by default. You can copy the packaged version to your home directory if you wish to make changes:\n $ cp /usr/share/e16/config/bindings.cfg ~/.e16\n\n==== Start/Restart/Stop Scripts ====\n\nCreate an Init, a Start and a Stop folder in your {{ic|~/.e16}} folder: any .sh script found there will either be executed at Startup (from Init folder), at each Restart (from Start folder), or at Shutdown (from Stop folder); provided you allowed it through the MMB / settings / session / <enable scripts> button and made them executable with {{ic|chmod +x ''yourscript.sh''}}. Typical examples involves starting pulseaudio or your favorite network manager applet.\n\n==== Compositor ====\n\nShadows, Transparent effects ''et al'' can be found in MMB or RMB /Settings, under Composite .\n\n== See also ==\n* [http://www.enlightenment.org/ Enlightenment Homepage]\n* [http://exchange.enlightenment.org/ Enlightenment Exchange]\n* [http://docs.enlightenment.org/ Enlightenment Developer Documentation]\n* [http://www.bodhilinux.com/e17guide/e17guideEN/ Bodhi Guide to Enlightenment]\n* [http://www.e17-stuff.org/ E17-Stuff]\n* [http://sourceforge.net/projects/enlightenment/ DR16 download resource]\n* [https://lists.sourceforge.net/lists/listinfo/enlightenment-users Enlightenment users mail list]\n* [https://lists.sourceforge.net/lists/listinfo/enlightenment-devel Enlightenment developer mail list]\n* ircs://chat.freenode.net#e"
                    }
                ]
            },
            "2847": {
                "pageid": 2847,
                "ns": 0,
                "title": "Vi",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "{{Lowercase title}}\n[[Category:Text editors]]\n[[es:Vi]]\n[[fr:Vi]]\nAccording to [[Wikipedia:Vi|Wikipedia]]:\n\n:vi is a screen-oriented text editor originally created for the Unix operating system. The portable subset of the behavior of vi and programs based on it, and the ex editor language supported within these programs, is described by (and thus standardized by) the Single Unix Specification and POSIX.\n\n== Installation ==\n\n[[Install]] the {{Pkg|vi}} package.\n\n== Vi-style software ==\n\nThe key bindings and modes of vi have been recreated in various other software:\n\n* [[List of applications/Documents#Vi-style text editors|text editors]], the most popular of which being [[Vim]]\n* [[List of applications/Utilities#File managers|file managers]] like [[ranger]] and [[Vifm]]\n* the [[Readline#Editing mode|Readline]] input library (used by [[Bash]])\n* [[shell]]s like [[Zsh#Key bindings|Zsh]]\n* [[web browser]]s like [[Luakit]], [[qutebrowser]] or {{Pkg|vimb}}; for [[Firefox]] and [[Chromium]] there are [[Browser extensions#Keyboard shortcuts|browser extensions]] available.\n* most [[tiling window manager]]s can be configured for vi-style control\n\n== See also ==\n\n* {{man|1|vi}}"
                    }
                ]
            },
            "3130": {
                "pageid": 3130,
                "ns": 0,
                "title": "Tor",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Anonymity networks]]\n[[de:Tor]]\n[[es:Tor]]\n[[fr:Tor]]\n[[ja:Tor]]\n[[pl:Tor]]\n[[ru:Tor]]\n[[zh-hans:Tor]]\n{{Related articles start}}\n{{Related|GNUnet}}\n{{Related|I2P}}\n{{Related|Freenet}}\n{{Related articles end}}\n[https://www.torproject.org Tor] is an open source implementation of 2nd generation [[Wikipedia:Onion routing|onion routing]] that provides free access to an anonymous proxy network. Its primary goal is to enable [[Wikipedia:Internet anonymity|online anonymity]] by protecting against [[Wikipedia:Traffic analysis|traffic analysis]] attacks.\n\n== Introduction ==\n\nUsers of the Tor network run an onion proxy on their machine. This software connects out to Tor, periodically negotiating a virtual circuit through the Tor network. Tor employs cryptography in a layered manner (hence the 'onion' analogy), ensuring perfect forward secrecy between routers. At the same time, the onion proxy software presents a SOCKS interface to its clients. SOCKS-aware applications may be pointed at Tor, which then multiplexes the traffic through a Tor virtual circuit.\n\n{{Warning|Tor by itself is ''not'' all you need to maintain your anonymity. There are several major pitfalls to watch out for (see: [https://people.torproject.org/~sysrqb/webwml/download/download-easy.html.en#warning Want Tor to really work?]).}}\n\nThrough this process the onion proxy manages networking traffic for end-user anonymity. It keeps a user anonymous by encrypting traffic, sending it through other nodes of the Tor network, and decrypting it at the last node to receive your traffic before forwarding it to the server you specified. One trade off that has to be made for the anonymity Tor provides is that it can be considerably slower than a regular direct connection, due to the large amount of traffic re-routing. Additionally, although Tor provides protection against traffic analysis it cannot prevent traffic confirmation at the boundaries of the Tor network (i.e. the traffic entering and exiting the network).\n\nSee [[Wikipedia:Tor (anonymity network)]] for more information.\n\n== Installation ==\n\n[[Install]] the {{Pkg|tor}} package.\n\nUsually, you will access Tor using Tor Browser, available as the {{AUR|tor-browser}} package or a [https://www.torproject.org/projects/torbrowser.html.en portable executable].\n\nThe {{Pkg|nyx}} (previously named arm - Anonymizing Relay Monitor) package provides a terminal status monitor for bandwidth usage, connection details and more.\n\n== Configuration ==\n\nBy default Tor reads configurations from the file {{ic|/etc/tor/torrc}}. The configuration options are explained in {{man|1|tor}} and the [https://torproject.org/docs/tor-manual.html.en Tor website]. The default configuration should work fine for most Tor users.\n\nThere are potential conflicts between configurations in {{ic|torrc}} and those in {{ic|tor.service}}.\n* In {{ic|torrc}}, {{ic|RunAsDaemon}} should, as by default, be set to {{ic|0}}, since {{ic|1=Type=simple}} is set in the {{ic|[Service]}} section in {{ic|tor.service}}.\n* In {{ic|torrc}}, {{ic|User}} should not be set unless {{ic|1=User=}} is set to {{ic|root}} in the {{ic|[Service]}} section in {{ic|tor.service}}.\n\n=== Relay Configuration ===\n\nThe maximum file descriptor number that can be opened by Tor can be set with {{ic|LimitNOFILE}} in {{ic|tor.service}}. Fast relays may want to increase this value.\n\nIf your computer is not running a webserver, and you have not set {{ic|AccountingMax}}, consider changing your {{ic|ORPort}} to {{ic|443}} and/or your {{ic|DirPort}} to {{ic|80}}. Many Tor users are stuck behind firewalls that only let them browse the web, and this change will let them reach your Tor relay. If you are already using ports {{ic|80}} and {{ic|443}}, other useful ports are {{ic|22}}, {{ic|110}}, and {{ic|143}}.[https://www.torproject.org/docs/tor-relay-debian]\nBut since these are privileged ports, to do so Tor must be run as root, by setting {{ic|1=User=root}} in {{ic|tor.service}} and {{ic|User tor}} in {{ic|torrc}}.\n\nYou may wish to review [https://blog.torproject.org/blog/lifecycle-of-a-new-relay Lifecycle of a New Relay] Tor documentation.\n\n=== Open Tor ControlPort ===\n\nMost users will not need this. \nBut some programs will ask you to ''open your Tor ControlPort'' \nso they get low-level access to your Tor node.\n\nVia the ControlPort, \nother apps can change and monitor your Tor node, \nto modify your Tor config while Tor is running, \nor to get details about Tor network status and Tor circuits.\n\nappend to your {{ic|torrc}} file\n{{bc|\nControlPort 9051\n}}\n\nquote from Tor's [https://gitweb.torproject.org/torspec.git/tree/control-spec.txt control-spec.txt]: \n'For security, the [Tor control] stream should not be accessible by untrusted parties.' \n\nSo, for more security, we will restrict access to the ControlPort, \neither with a ''cookie file'', or a ''control password'', or both.\n\n==== Set a Tor Control cookie file ====\n\nTo your {{ic|torrc}} add\n{{bc|\nCookieAuthentication 1\nCookieAuthFile /var/lib/tor/control_auth_cookie\nCookieAuthFileGroupReadable 1\nDataDirectoryGroupReadable 1\n}}\n\nWith ''cookie auth'', access to your ControlPort is restricted by file permissions \nto your Tor cookie file, and to your Tor data directory.\n\nWith the config above, \nall users in the {{ic|tor}} group have access to your Tor cookie file.\n\nAdd ''user'' to the {{ic|tor}} group\n{{bc|\n# usermod -a -G tor <i>user</i>\n}}\n... and as ''user'', reload group settings\n{{bc|\n$ newgrp tor\n}}\n\n[[restart]] tor\n{{bc|\n# systemctl restart tor\n}}\n\nNow ''user'' should have access to your Tor cookie file.\n{{bc|\n$ stat -c%a /var/lib/tor /var/lib/tor/control_auth_cookie\n}}\nshould print {{ic|750}} and {{ic|640}}.\n\n==== Set a Tor Control password ====\n\nConvert your password from plain-text to hash\n{{bc|\n# set +o history # unset bash history\n# tor --hash-password <i>your_password</i>\n# set -o history # set bash history\n}}\nand add that hash to your {{ic|torrc}}\n{{bc|\nHashedControlPassword <i>your_hash</i>\n}}\nthe bash history commands prevent your clear-text password \nfrom being written to your bash $HISTFILE\n\n==== Open Tor ControlSocket ====\n\nIf some program needs access to your Tor ControlSocket, \nas in Unix Domain Socket,\nadd the following to your {{ic|torrc}}:\n{{bc|\nControlSocket /var/lib/tor/control_socket\nControlSocketsGroupWritable 1\nDataDirectoryGroupReadable 1\nCacheDirectoryGroupReadable 1 # workaround for tor bug #26913\n}}\n\nAdd the user who will run the program to the {{ic|tor}} group:\n{{bc|\n# usermod -a -G tor user\n}}\n\nReload the group settings:\n{{bc|\n$ newgrp tor\n}}\n\nRestart tor\n{{bc|\n# systemctl restart tor\n}}\nand relaunch the program.\n\nTo verify the status of the control sockets:\n{{bc|\n# stat -c%a /var/lib/tor /var/lib/tor/control_socket\n}}\nshould print {{ic|750}} and {{ic|660}}\n\n==== Test your Tor Control ====\n\nTo test your ControlPort, run {{Pkg|gnu-netcat}} with\n{{bc|\n<nowiki>$ echo -e 'PROTOCOLINFO\\r\\n' | nc 127.0.0.1 9051</nowiki>\n}}\n\nTo test your ControlSocket, run {{Pkg|socat}} with\n{{bc|\n<nowiki>$ echo -e 'PROTOCOLINFO\\r\\n' | sudo -u </nowiki><i>user</i><nowiki> socat - UNIX-CLIENT:/var/lib/tor/control_socket</nowiki>\n}}\n\nboth commands should print\n{{bc|\n<nowiki>250-PROTOCOLINFO 1\n250-AUTH METHODS=COOKIE,SAFECOOKIE,HASHEDPASSWORD COOKIEFILE=\"/var/lib/tor/control_auth_cookie\"\n250-VERSION Tor=\"0.3.4.8\"\n250 OK\n514 Authentication required.</nowiki>\n}}\n\nSee Tor's [https://gitweb.torproject.org/torspec.git/tree/control-spec.txt control-spec.txt] for more commands.\n\n== Running Tor in a Chroot ==\n\n{{Warning| Connecting with telnet to the local ControlPort seems to be broken while running Tor in a chroot}}\n\nFor security purposes, it may be desirable to run Tor in a [[chroot]]. The following script will create an appropriate chroot in {{ic|/opt/torchroot}}:\n\n{{hc|~/torchroot-setup.sh|2=<nowiki>\n#!/bin/bash\nexport TORCHROOT=/opt/torchroot\n\nmkdir -p $TORCHROOT\nmkdir -p $TORCHROOT/etc/tor\nmkdir -p $TORCHROOT/dev\nmkdir -p $TORCHROOT/usr/bin\nmkdir -p $TORCHROOT/usr/lib\nmkdir -p $TORCHROOT/usr/share/tor\nmkdir -p $TORCHROOT/var/lib\n\nln -s /usr/lib  $TORCHROOT/lib\ncp /etc/hosts           $TORCHROOT/etc/\ncp /etc/host.conf       $TORCHROOT/etc/\ncp /etc/localtime       $TORCHROOT/etc/\ncp /etc/nsswitch.conf   $TORCHROOT/etc/\ncp /etc/resolv.conf     $TORCHROOT/etc/\ncp /etc/tor/torrc       $TORCHROOT/etc/tor/\n\ncp /usr/bin/tor         $TORCHROOT/usr/bin/\ncp /usr/share/tor/geoip* $TORCHROOT/usr/share/tor/\ncp /lib/libnss* /lib/libnsl* /lib/ld-linux-*.so* /lib/libresolv* /lib/libgcc_s.so* $TORCHROOT/usr/lib/\ncp $(ldd /usr/bin/tor | awk '{print $3}'|grep --color=never \"^/\") $TORCHROOT/usr/lib/\ncp -r /var/lib/tor      $TORCHROOT/var/lib/\nchown -R tor:tor $TORCHROOT/var/lib/tor\n\nsh -c \"grep --color=never ^tor /etc/passwd > $TORCHROOT/etc/passwd\"\nsh -c \"grep --color=never ^tor /etc/group > $TORCHROOT/etc/group\"\n\nmknod -m 644 $TORCHROOT/dev/random c 1 8\nmknod -m 644 $TORCHROOT/dev/urandom c 1 9\nmknod -m 666 $TORCHROOT/dev/null c 1 3\n\nif [[ \"$(uname -m)\" == \"x86_64\" ]]; then\n  cp /usr/lib/ld-linux-x86-64.so* $TORCHROOT/usr/lib/.\n  ln -sr /usr/lib64 $TORCHROOT/lib64\n  ln -s $TORCHROOT/usr/lib ${TORCHROOT}/usr/lib64\nfi\n\n</nowiki>}}\n\nAfter running the script as root, Tor can be launched in the [[chroot]] with the command:\n\n # chroot --userspec=tor:tor /opt/torchroot /usr/bin/tor\n\nor, if you use [[Systemd#Editing provided units|systemd, overload]] the service:\n\n{{hc|/etc/systemd/system/tor.service.d/chroot.conf|2=\n[Service]\nUser=root\nExecStart=\nExecStart=/usr/bin/sh -c \"chroot --userspec=tor:tor /opt/torchroot /usr/bin/tor -f /etc/tor/torrc\"\nKillSignal=SIGINT\n}}\n\n== Running Tor in a systemd-nspawn container with a virtual network interface ==\nIn this example we will create a [[systemd-nspawn]] container named {{ic|tor-exit}} with a virtual macvlan network interface.\n\nSee [[Systemd-nspawn]] and [[systemd-networkd]] for full documentation.\n\n=== Host installation and configuration ===\n\nIn this example the container will reside in {{ic|/srv/container}}:\n # mkdir /srv/container/tor-exit\n\n[[Install]] the {{Pkg|arch-install-scripts}}.\n\nInstall {{Pkg|base}}, {{Pkg|tor}} and {{Pkg|nyx}} as per [[Systemd-nspawn#Create and boot a minimal Arch Linux distribution in a container]]:\n # pacstrap -ci /srv/container/tor-exit base tor nyx\n\nCreate directory if it does not exist:\n # mkdir /var/lib/container\n\nSymlink to register the container on the host, as per [[Systemd-nspawn#Enable container on boot]]:\n # ln -s /srv/container/tor-exit /var/lib/container/tor-exit\n\n==== Virtual network interface ====\n\nCreate a Dropin directory for the container service:\n # mkdir /etc/systemd/system/systemd-nspawn@tor-exit.service.d\n\n{{hc|/etc/systemd/system/systemd-nspawn@tor-exit.service.d/tor-exit.conf|2=\n[Service]\nExecStart=\nExecStart=/usr/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=guest --network-macvlan=$INTERFACE --private-network --directory=/var/lib/container/%i\nLimitNOFILE=32768\n}}\n\n{{ic|1=--network-macvlan=$INTERFACE --private-network}} automagically creates a macvlan named {{ic|mv-$INTERFACE}} inside the container, which is not visible from the host. {{ic|--private-network}} is implied by {{ic|1=--network-macvlan=}} according to {{man|1|systemd-nspawn}}.\nThis is advisable for security as it will allow you to give a private IP to the container, and it won't know what your machine's IP is. This can help obscure DNS requests.\n\n{{ic|1=LimitNOFILE=32768}} per [[#Raise maximum number of open file descriptors]].\n\nSetup [[systemd-networkd]] according to your network in {{ic|/srv/container/tor-exit/etc/systemd/network/mv-$INTERFACE.network}}.\n\n==== Start and enable systemd-nspawn ====\n\n[[Start]] and [[enable]] {{ic|systemd-nspawn@tor-exit.service}}.\n\n=== Container configuration ===\n\nLogin to the container (see [[Systemd-nspawn#machinectl]]):\n # machinectl login tor-exit \n\n{{ic|# mv /srv/container/tor-exit/etc/securetty /srv/container/tor-exit/etc/securetty.bak}} if you get the error described in [[Systemd-nspawn#Troubleshooting]].\n\n==== Start and enable systemd-networkd ====\n\n[[Start]] and enable {{ic|systemd-networkd.service}}. {{ic|networkctl}} displays if {{ic|systemd-networkd}} is correctly configured.\n\n=== Configure Tor ===\nSee [[#Running a Tor server]].\n{{Tip|It is easier to edit files in the container from the host with your normal editor.}}\n\n== Usage ==\n\n[[Start/enable]] {{ic|tor.service}}. Alternatively, launch it with {{ic|sudo -u tor /usr/bin/tor}}.\n\nTo use a program over tor, configure it to use {{ic|127.0.0.1}} or localhost as a SOCKS5H proxy, with port {{ic|9050}} (plain tor with standard settings).\nTo check if Tor is functioning properly visit the [https://check.torproject.org/ Tor] or [https://torcheck.xenobite.eu/ Xenobite.eu] websites.\n\n== Web browsing ==\n\nThe Tor Project currently only supports web browsing with tor through the [https://aur.archlinux.org/packages/?K=tor-browser Tor Browser], which can be downloaded from the AUR. It is built with a patched version of the Firefox extended support releases. Tor can also be used with regular [[Firefox]], [[Chromium]] and other browsers.\n\n{{Warning |The Tor Project strongly recommends only using the Tor browser if you want to stay anonymous. [https://www.torproject.org/docs/faq.html.en#TBBOtherBrowser]}}\n\n{{Tip|For makepkg to verify the signature on the AUR source tarball download for TBB, import the [https://www.torproject.org/docs/signing-keys.html.en signing keys from the Tor Project] as explained in [[GnuPG#Use a keyserver]].}}\n\n=== Firefox ===\n\nIn ''Preferences > General > Network Settings > Settings...'' , select ''Manual proxy configuration'' and enter SOCKS host {{ic|localhost}} with port {{ic|9050}} (SOCKS v5). To channel all DNS requests through TOR's socks proxy, also select ''Proxy DNS when using SOCKS v5''.\n\n=== Chromium ===\n\nYou can simply run:\n\n $ chromium --proxy-server=\"socks5://myproxy:8080\" --host-resolver-rules=\"MAP * ~NOTFOUND , EXCLUDE myproxy\"\n\nThe {{ic|1=--proxy-server=\"socks5://myproxy:8080\"}} flag tells Chrome to send all {{ic|http://}} and {{ic|https://}} URL requests through the SOCKS proxy server {{ic|\"myproxy:8080\"}}, using version 5 of the SOCKS protocol. The hostname for these URLs will be resolved by the proxy server, and not locally by Chrome.\n\n{{warning|Proxying of {{ic|ftp://}} URLs through a SOCKS proxy is not yet implemented[https://www.chromium.org/developers/design-documents/network-stack/socks-proxy].}}\n\nThe {{ic|--proxy-server}} flag applies to URL loads only. There are other components of Chrome which may issue DNS resolves directly and hence bypass this proxy server. The most notable such component is the \"DNS prefetcher\". Hence if DNS prefetching is not disabled in Chrome then you will still see local DNS requests being issued by Chrome despite having specified a SOCKS v5 proxy server. Disabling DNS prefetching would solve this problem, however it is a fragile solution since one needs to be aware of all the areas in Chrome which issue raw DNS requests. To address this, the next flag, {{ic|1=--host-resolver-rules=\"MAP * ~NOTFOUND , EXCLUDE myproxy\"}}, is a catch-all to prevent Chrome from sending any DNS requests over the network. It says that all DNS resolves are to be simply mapped to the (invalid) address {{ic|~NOTFOUND}} (think of it as {{ic|0.0.0.0}}). The {{ic|\"EXCLUDE\"}} clause make an exception for {{ic|\"myproxy\"}}, because otherwise Chrome would be unable to resolve the address of the SOCKS proxy server itself, and all requests would necessarily fail with {{ic|PROXY_CONNECTION_FAILED}}.\n\nTo prevent the [https://ipleak.net/#webrtcleak WebRTC leak] you can install the extension [https://chrome.google.com/webstore/detail/webrtc-network-limiter/npeicpdbkakmehahjeeohfdhnlpdklia WebRTC Network Limiter].\n\n==== Debug ====\n\nThe first thing to check when debugging is look at the Proxy tab on about:net-internals, and verify what the effective proxy settings are:\n{{ic|chrome://net-internals/#proxy}}\n\nNext, take a look at the DNS tab of {{ic|about:net-internals}} to make sure Chrome isn't issuing local DNS resolves:\n{{ic|chrome://net-internals/#dns}}\n\n==== Extension ====\nJust as with Firefox, you can setup a fast switch for example through [https://chrome.google.com/webstore/detail/dpplabbmogkhghncfbfdeeokoefdjegm Proxy SwitchySharp].\n\nOnce installed enter in its configuration page. Under the tab ''Proxy Profiles'' add a new profile ''Tor'', if ticked untick the option ''Use the same proxy server for all protocols'', then add ''localhost'' as SOCKS Host, ''9050'' to the respective port and select ''SOCKS v5''.\n\nOptionally you can enable the quick switch under the ''General'' tab to be able to switch beetween normal navigation and Tor network just by left-clicking on the Proxy SwitchySharp's icon.\n\n=== Luakit ===\n\n{{warning|It will not be hard for an observer to identify you by the rare user-agent string, and there may be further issues with Flash, JavaScript or similar.}}\n\nYou can simply run:\n\n $ torsocks luakit\n\n== HTTP proxy ==\n\nTor can be used with an HTTP proxy like [[Polipo]] or [[Privoxy]], however the Tor dev team recommends using the SOCKS5 library since browsers directly support it.\n\n=== Firefox ===\n\nThe [https://addons.mozilla.org/en-us/firefox/addon/foxyproxy-standard/ FoxyProxy] add-on  allows you to specify multiple proxies for different URLs or for all your browsing. After restarting Firefox manually set Firefox to port {{ic|8118}} on {{ic|localhost}}, which is where [[Polipo]] or [[Privoxy]] are running. These settings can be access under ''Add > Standard proxy type''. Select a proxy label (e.g Tor) and enter the port and host into the ''HTTP Proxy'' and ''SSL Proxy'' fields. To check if Tor is functioning properly visit the [https://check.torproject.org/ Tor Check] website and toggle Tor.\n\n=== Polipo ===\n\nThe Tor Project has created a custom [https://gitweb.torproject.org/torbrowser.git/plain/build-scripts/config/polipo.conf?id=1ffcd9dafb9dd76c3a29dd686e05a71a95599fb5 Polipo configuration file] to prevent potential problems with Polipo as well to provide better anonymity.\n\nKeep in mind that Polipo is not required if you can use a SOCKS 5 proxy, which Tor starts automatically on port 9050. If you want to use [[Chromium]] with Tor, you do not need the Polipo package (see: [[#Chromium]]).\n\n=== Privoxy ===\n\nYou can also use this setup in other applications like messaging (e.g. [[Jabber]], [[IRC]]). Applications that support HTTP proxies you can connect to Privoxy (i.e. {{ic|127.0.0.1:8118}}). To use SOCKS proxy directly, you can point your application at Tor (i.e. {{ic|127.0.0.1:9050}}). A problem with this method though is that applications doing DNS resolves by themselves may leak information. Consider using Socks4A (e.g. with Privoxy) instead.\n\n== Instant messaging ==\n\nIn order to use an IM client with tor, we do not need an http proxy like [[polipo]]/[[privoxy]]. We will be using tor's daemon directly which listens to port 9050 by default.\n\n=== Pidgin ===\n\nYou can set up [[Pidgin]] to use Tor globally, or per account. To use Tor globally, go to ''Tools -> Preferences -> Proxy''. To use Tor for specific accounts, go to ''Accounts > Manage Accounts'', select the desired account, click Modify, then go to the Proxy tab. The proxy settings are as follows:\n\n Proxy type SOCKS5\n Host 127.0.0.1\n Port 9150\n\nNote that [https://trac.torproject.org/projects/tor/ticket/8135 some time in 2013] the Port has changed from 9050 to 9150 if you use the Tor Browser Bundle. Try the other value if you receive a \"Connection refused\" message.\n\n=== Irssi ===\n\n{{Out of date|{{ic|cap_sasl.pl}} is broken with ''perl'' 5.20; SSL does also not work with {{ic|torsocks}}}}\n\nFreenode recommends connecting to {{ic|.onion}} directly. It also requires charybdis and ircd-seven's SASL mechanism for identifying to nickserv during connection; see [[Irssi#Authenticating with SASL]]. Start irssi:\n\n $ torsocks irssi\n\nSet your identification to nickserv, which will be read when connecting. Supported mechanisms are ECDSA-NIST256P-CHALLENGE (see [https://github.com/atheme/ecdsatool/blob/master/cap_sasl.pl ecdsatool])  and PLAIN. DH-BLOWFISH is [https://freenode.net/sasl/sasl-irssi.shtml no longer supported].\n\n /sasl set ''network'' ''username'' ''password'' ''mechanism''\n\nDisable CTCP and DCC and set a different hostname to prevent information disclosure: [https://encrypteverything.ca/IRC_Anonymity_Guide]\n\n /ignore * CTCPS\n /ignore * DCC\n /set hostname ''fake_host''\n\nConnect to Freenode:\n\n /connect -network ''network'' freenodeok2gncmy.onion\n\nFor more information check [https://freenode.net/kb/answer/chat#accessing-freenode-via-tor Accessing freenode Via Tor], [http://freenode.net/sasl/README.txt SASL README] or [https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO/IrcSilc IRC/SILC Wiki article].\n\n== Pacman ==\n[[Pacman]] download operations (repository DBs, packages, and public keys) can be done using the Tor network.\n\nAdvantages:\n* Attackers that can monitor your Internet connection and that specifically targets your machine cannot watch the updates anymore and, because of that, they cannot deduce the packages you have installed, how up to date they are, when or how frequently you update them. An attacker can still learn what software and the versions you use by other means, for instance watching the packets from your http server or probing the machine will show that you have an http server installed and its version.\n* If the mirror is not an onion, a malicious exit nodes you are going through can watch the updates, and may decide to attack you, however they probably cannot know who they are attacking.\n* Attackers trying to make your machine believe that there are no new updates to prevent it from getting security fixes will have a harder time doing it since they cannot target your machine specifically.\n\nDisadvantages:\n* Longer update times due to longer latency and lower throughput. This can be a big security risk if/when the updates needs to be done as fast as possible, especially on machines directly connected to the Internet. That is the case when there is a huge security flaw, and that the flaws are fast to probe, easy to exploit, and that attackers have already started targeting as many systems as they can before the systems are updated.\n\nReliability with Tor:\n* You don't need a working DNS anymore.\n* You depend on the Tor network and the exit nodes not blocking the updates.\n* You depend on the Tor daemon to work properly. The Tor daemon may not work if there is no more disk space available to it. \"Reserved blocks gid:\" in ext4, quotas, or other means can fix that.\n* If you are in a country where Tor is blocked, or that there are almost or no Tor users at all, you should use bridges.\n\nNote on gpg:\nOn stock arch, pacman only trust keys which are either signed by you (that can be done with {{ic|pacman-key --lsign-key}}) or signed by 3 of 5 Arch master keys. If a malicious exit node replaces packages with ones signed by its key, pacman will not let the user install the package. {{Warning| This might not be true for other distributions derived from ARCH, for non-official repositories and for AUR}}\n\n{{hc|/etc/pacman.conf|2=\n...\nXferCommand = /usr/bin/curl --socks5-hostname localhost:9050 --continue-at - --fail --output %o %u\n...}}\n{{note|Due to work in progress for database signatures, you might get 404 for the signatures. Depending on your [[Pacman/Package signing#Configuring pacman]], it should be harmless.}}\n\n== Java ==\n\nOne can run ensure a [https://docs.oracle.com/javase/8/docs/technotes/guides/net/proxies.html java application proxies] its connections through Tor by appending the following command line options:\n\n export JAVA_OPTIONS=\"$JAVA_OPTIONS -DsocksProxyHost=localhost -DsocksProxyPort=9050\"\n\n== Running a Tor server ==\n\nThe Tor network is reliant on people contributing bandwidth and setting up services. There are several ways to contribute to the network.\n\n=== Running a Tor bridge ===\n\nA Tor bridge is a Tor relay that is not listed in the public Tor directory, thus making it possible for people to connect to the Tor network when governments or ISPs block all public Tor relays.\n\n==== Configuration ====\n\nAccording to https://www.torproject.org/docs/bridges , make your {{ic|torrc}} be just these four lines (Default: {{ic|/etc/tor/torrc}}, or {{ic|$HOME/.torrc}} if that file is not found)\n:\n\n    SocksPort 0\n    ORPort 443\n    BridgeRelay 1\n    Exitpolicy reject *:*\n\n=== Running a Tor relay ===\n\nThis means that your machine will act as an entry node or forwarding relay and, unlike a bridge, it will be listed in the public Tor directory. Your IP address will be publicly visible in the Tor directory but the relay will only forward to other relays or Tor exit nodes, not directly to the internet.\n\n==== Configuration ====\n\nYou should at least share 20KiB/s:\n\n Nickname ''tornickname''\n ORPort 9001                    # This TCP-Port has to be opened/forwarded in your Firewall\n BandwidthRate 20 KB            # Throttle traffic to 20KB/s\n BandwidthBurst 50 KB           # But allow bursts up to 50KB/s\n\nDisallow exits from your relay:\n\n ExitPolicy reject *:*\n\n=== Running a Tor exit node ===\n\nAny requests from a Tor user to the regular internet obviously need to exit the network somewhere, and exit nodes provide this vital service. To the accessed host, the request will appear as having originated from your machine. This means that running an exit node is generally considered more legally onerous than running other forms of Tor relays. Before becoming an exit relay, you may want to read [https://blog.torproject.org/running-exit-node Tips for Running an Exit Node With Minimal Harassment].\n\n==== Configuration ====\n\nUsing the torrc, you can configure which services you wish to allow through your exit node.\nAllow all traffic:\n\n ExitPolicy accept *:*\n\nAllow only irc ports 6660-6667 to exit from node:\n\n ExitPolicy accept *:6660-6667,reject *:* # Allow irc ports but no more\n\nBy default, Tor will block certain ports. You can use the torrc to overide this.\n\n ExitPolicy accept *:119        # Accept nntp as well as default exit policy\n\n==== +100Mbps Exit Relay configuration example ====\n\nIf you run a fast exit relay (+100Mbps) with {{ic|ORPort 443}} and {{ic|DirPort 80}} (as recommended in [http://www.torproject.org/docs/tor-relay-debian.html.en#after Configuring a Tor relay on Debian/Ubuntu]) the following configuration changes might serve as inspiration to setup Tor alongside [[iptables]] firewall, [[Haveged]] to increase system entropy and [[pdnsd]] as DNS cache. It is important to ''first'' read [http://www.torproject.org/docs/tor-relay-debian.html.en#after Configuring a Tor relay on Debian/Ubuntu]. \n\n{{Note|See [[#Running Tor in a systemd-nspawn container with a virtual network interface]] for instructions to install Tor in a {{ic|systemd-nspawn}} container. [[Haveged]] should be installed on the container host.}}\n\n===== Tor =====\n====== Raise maximum number of open file descriptors ======\nTo handle more than 8192 connections {{ic|LimitNOFILE}} can be raised to 32768 as per [https://www.torproject.org/docs/faq.html.en#PackagedTor Tor FAQ].\n\n{{hc|/etc/systemd/system/tor.service.d/increase-file-limits.conf|2=\n[Service]\nLimitNOFILE=32768\n}}\n\nTo successfully raise {{ic|nofile}} limit, you may also have to append the following:\n\n{{hc|/etc/security/limits.conf|\n...\ntor     soft    nofile    32768\ntor     hard    nofile    32768\n@tor    soft    nofile    32768\n@tor    hard    nofile    32768\n}}\n\nCheck if the {{ic|nofile}} (filedescriptor) limit is successfully raised with {{ic|# sudo -u tor 'ulimit -Hn'}} or {{ic|# sudo -u tor bash}} and {{ic|# ulimit -Hn}}.\n\n====== Start tor.service as root to bind Tor to privileged ports ======\nTo bind Tor to privileged ports the service must be started as root. Please specify {{ic|User tor}} option in {{ic|/etc/tor/torrc}}.\n\n{{hc|/etc/systemd/system/tor.service.d/start-as-root.conf|2=\n[Service]\nUser=root\n}}\n\n====== Tor configuration ======\nTo listen on Port 80 and 443 the service need to be started as {{ic|root}} as described in [[#Start tor.service as root to bind Tor to privileged ports]].\nUse the {{ic|User tor}} option in {{ic|/etc/tor/torrc}} to properly reduce Tor\u2019s privileges.\n\n{{hc|/etc/tor/torrc|2=\nSocksPort 0                                       ## Pure relay configuration without local socks proxy\n\nLog notice stdout                                 ## Default Tor behavior\n\nControlPort 9051                                  ## For nyx connection\nCookieAuthentication 1                            ## For nyx connection\n\nORPort 443                                        ## Service must be started as root\n\nAddress $IP                                       ## IP or FQDN\nNickname $NICKNAME                                ## Nickname displayed in [https://onionoo.torproject.org/ Onionoo]\n\nRelayBandwidthRate 500 Mbits                      ## bytes/KBytes/MBytes/GBytes/KBits/MBits/GBits\nRelayBandwidthBurst 1000 MBits                    ## bytes/KBytes/MBytes/GBytes/KBits/MBits/GBits\n\nContactInfo $E-MAIL - $BTC-ADDRESS                ## See [https://oniontip.com/ OnionTip]\n\nDirPort 80                                        ## Service must be started as root\nDirPortFrontPage /etc/tor/tor-exit-notice.html    ## Original: [https://gitweb.torproject.org/tor.git/plain/contrib/operator-tools/tor-exit-notice.html https://gitweb.torproject.org/tor.git/plain/contrib/operator-tools/tor-exit-notice.html]\n\nMyFamily $($KEYID),$($KEYID)...                   ## Remember $ in front of keyid(s) ;)\n\nExitPolicy reject XXX.XXX.XXX.XXX/XX:*            ## Block domain of public IP in addition to std. exit policy\n\nUser tor                                          ## Return to tor user after service started as root to listen on privileged ports\n\nDisableDebuggerAttachment 0                       ## For nyx connection\n\n### Performance related options ###\nAvoidDiskWrites 1                                 ## Reduce wear on SSD\nDisableAllSwap 1                                  ## Service must be started as root\nHardwareAccel 1                                   ## Look for OpenSSL hardware cryptographic support\nNumCPUs 2                                         ## Only start two threads\n}}\n\nThis configuration is based on the [https://www.torproject.org/docs/tor-manual.html.en Tor Manual]. \n\nTor opens a socks proxy on port 9050 by default -- even if you do not configure one. Set {{ic|SocksPort 0}} if you plan to run Tor only as a relay, and not make any local application connections yourself.\n\n{{ic|Log notice stdout}} changes logging to stdout, which is also the Tor default.\n{{ic|ControlPort 9051}}, {{ic|CookieAuthentication 1}} and {{ic|DisableDebuggerAttachment 0}} enables {{Pkg|nyx}} to connect to Tor and display connections.\n\n{{ic|ORPort 443}} and {{ic|DirPort 80}} lets Tor listen on port 443 and 80 and {{ic|DirPortFrontPage}} displays the [https://gitweb.torproject.org/tor.git/plain/contrib/operator-tools/tor-exit-notice.html tor-exit-notice.html] on port 80.\n\n{{ic|ExitPolicy reject XXX.XXX.XXX.XXX/XX:*}} should reflect your public IP and netmask, which can be obtained with the command {{ic|ip addr}}, so exit connections cannot connect to the host or neighboring machines public IP and circumvent firewalls.\n\n{{ic|AvoidDiskWrites 1}} reduces disk writes and wear on SSD.\n{{ic|DisableAllSwap 1}} \"will attempt to lock all current and future memory pages, so that memory cannot be paged out\". \n\nIf {{ic|grep aes /proc/cpuinfo}} returns that your CPU supports AES instructions and {{ic|lsmod {{!}} grep aes}} returns that the module is loaded, you can specify {{ic|HardwareAccel 1}} which tries \"to use built-in (static) crypto hardware acceleration when available\", see [http://www.torservers.net/wiki/setup/server#aes-ni_crypto_acceleration http://www.torservers.net/wiki/setup/server#aes-ni_crypto_acceleration].\n\n{{ic|ORPort 443}}, {{ic|DirPort 80}} and {{ic|DisableAllSwap 1}} require that you start the Tor service as {{ic|root}} as described in [[#Start tor.service as root to bind Tor to privileged ports]].\nUse the {{ic|User tor}} option to properly reduce Tor\u2019s privileges.\n\n===== nyx =====\nIf {{ic|ControlPort 9051}} and {{ic|CookieAuthentication 1}} is specified in {{ic|/etc/tor/torrc}}, {{Pkg|nyx}} can be started with {{ic|sudo -u tor nyx}}.\nIf you want to watch Tor connections in {{Pkg|nyx}} {{ic|DisableDebuggerAttachment 0}} must also be specified.\n\nIf you want to run {{ic|nyx}} as a different user than {{ic|tor}}, read section [[#Set a Tor Control cookie file]]\n\n===== iptables =====\nSetup and learn to use [[iptables]]. Instead of being a [[Simple stateful firewall]] where connection tracking would have to track thousands of connections on a tor exit relay this firewall configuration is stateless.\n\n{{hc|/etc/iptables/iptables.rules|2=\n*raw\n-A PREROUTING -j NOTRACK\n-A OUTPUT -j NOTRACK\nCOMMIT\n\n*filter\n:INPUT DROP [0:0]\n:FORWARD DROP [0:0]\n:OUTPUT ACCEPT [0:0]\n-A INPUT -p tcp ! --syn -j ACCEPT\n-A INPUT -p udp -j ACCEPT\n-A INPUT -p icmp -j ACCEPT\n-A INPUT -p tcp --dport 443 -j ACCEPT\n-A INPUT -p tcp --dport 80 -j ACCEPT\n-A INPUT -i lo -j ACCEPT\nCOMMIT\n}}\n\n{{ic|-A PREROUTING -j NOTRACK}} and {{ic|-A OUTPUT -j NOTRACK}} disables connection tracking in the {{ic|raw}} table.\n\n{{ic|:INPUT DROP [0:0]}} is the default {{ic|INPUT}} target and drops input traffic we do not specifically {{ic|ACCEPT}}.\n\n{{ic|:FORWARD DROP [0:0]}} is the default {{ic|FORWARD}} target and only relevant if the host is a normal router, not  when the host is an onion router.\n\n{{ic|:OUTPUT ACCEPT [0:0]}} is the default {{ic|OUTPUT}} target and allows all outgoing connections.\n\n{{ic|-A INPUT -p tcp ! --syn -j ACCEPT}} allow already established incoming TCP connections per the rules below and TCP connections established from the exit node.\n\n{{ic|-A INPUT -p udp -j ACCEPT}} allow all incoming UDP connections because we do not use connection tracking.\n\n{{ic|-A INPUT -p icmp -j ACCEPT}} allow [[wikipedia:Internet_Control_Message_Protocol|ICMP]].\n\n{{ic|-A INPUT -p tcp --dport 443 -j ACCEPT}} allow incoming connections to the {{ic|ORPort}}.\n\n{{ic|-A INPUT -p tcp --dport 80 -j ACCEPT}} allow incoming connections to the {{ic|DirPort}}.\n\n{{ic|-A INPUT -i lo -j ACCEPT}} allows all connections on the loopback interface.\n\n===== Haveged =====\nSee [[Haveged]] to decide if your system generates enough entropy to handle a lot of OpenSSL connections, see [http://www.issihosts.com/haveged/ haveged - A simple entropy daemon] and [http://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged how-to-setup-additional-entropy-for-cloud-servers-using-haveged] for documentation.\n\n===== pdnsd =====\n\n{{Warning|This configuration assumes your network DNS resolver is trusted (uncensored).}}\n\nYou can use [[pdnsd]] to cache DNS queries locally, so the exit relay can resolve DNS faster and the exit relay does not forward all DNS queries to an external DNS recursor.\n\n{{hc|/etc/pdnsd.conf|2=\n...\nperm_cache=102400                       ## (Default value)*100 = 1MB * 100 = 100MB\n...\nserver {\n    label= \"resolvconf\";\n    file = \"/etc/pdnsd-resolv.conf\";    ## Preferably do not use /etc/resolv.conf\n    timeout=4;                          ## Server timeout, this may be much shorter than the global timeout option.\n    uptest=query;                       ## Test availability using empty DNS queries. \n    query_test_name=\".\";                ## To be used if remote servers ignore empty queries.\n    interval=10m;                       ## Test every 10 minutes.\n    purge_cache=off;                    ## Ignore TTL.\n    edns_query=yes;                     ## Use EDNS for outgoing queries to allow UDP messages larger than 512 bytes. May cause trouble with some legacy systems.\n    preset=off;                         ## Assume server is down before uptest.\n }\n...\n}}\n\nThis configuration stub shows how to cache queries to your normal DNS recursor locally and increase pdnsd cache size to 100MB.\n\n====== Uncensored DNS ======\n\nIf your local DNS recursor is in some way censored or interferes with DNS queries, see [[Alternative DNS services]] for alternatives and add them in a seperate server-section in {{ic|/etc/pdnsd.conf}} as per [[Pdnsd#DNS servers]].\n\n== TorDNS ==\n\nThe Tor 0.2.x series provides a built-in DNS forwarder. To enable it add the following lines to the Tor configuration file and restart the daemon:\n\n{{hc|/etc/tor/torrc|\nDNSPort 9053\nAutomapHostsOnResolve 1\nAutomapHostsSuffixes .exit,.onion\n}}\n\nThis will allow Tor to accept DNS requests (listening on port 9053 in this example) like a regular DNS server, and resolve the domain via the Tor network. A downside is that it is only able to resolve DNS queries for A-records; MX and NS queries are never answered. For more information see this [https://techstdout.boum.org/TorDns/ Debian-based introduction].\n\nDNS queries can also be performed through a command line interface by using {{Ic|1=tor-resolve}} For example:\n\n{{bc|\n$ tor-resolve archlinux.org\n66.211.214.131\n}}\n\n=== Using TorDNS for all DNS queries ===\n\nIt is possible to configure your system, if so desired, to use TorDNS for ''all'' queries your system makes, regardless of whether or not you eventually use Tor to connect to your final destination. To do this, configure your system to use 127.0.0.1 as its DNS server and edit the 'DNSPort' line in {{ic|/etc/tor/torrc}} to show:\n\n DNSPort 53\n\nAlternatively, you can use a local caching DNS server, such as [[dnsmasq]] or [[pdnsd]], which will also compensate for TorDNS being a little slower than traditional DNS servers. The following instructions will show how to set up ''dnsmasq'' for this purpose.\n\nChange the tor setting to listen for the DNS request in port 9053 and install {{Pkg|dnsmasq}}.\n\nModify its configuration file so that it contains:\n\n{{hc|/etc/dnsmasq.conf|\nno-resolv\nport&#61;53\nserver&#61;127.0.0.1#9053\nlisten-address&#61;127.0.0.1\n}}\n\nThese configurations set dnsmasq to listen only for requests from the local computer, and to use TorDNS at its sole upstream provider. It is now neccessary to edit {{ic|/etc/resolv.conf}} so that your system will query only the dnsmasq server.\n\n{{hc|/etc/resolv.conf|\nnameserver 127.0.0.1\n}}\n\nStart the '''dnsmasq''' daemon.\n\nFinally if you use [[dhcpcd]] you would need to change its settings to that it does not alter the resolv configuration file. Just add this line in the configuration file:\n\n{{hc|/etc/dhcpcd.conf|\nnohook resolv.conf\n}}\n\nIf you already have an ''nohook'' line, just add '''resolv.conf''' separated with a comma.\n\n== Torsocks ==\n\n{{pkg|torsocks}} will allow you use an application via the Tor network without the need to make configuration changes to the application involved. From the man page:\n\n''torsocks is a wrapper between the torsocks library and the  application in order to make every Internet communication go through the Tor network.''\n\nUsage example:\n\n $ torsocks elinks checkip.dyndns.org\n $ torsocks wget -qO- https://check.torproject.org/ | grep -i congratulations\n\n== Transparent Torification ==\n\nIn some cases it is more secure and often easier to transparently torify an entire system instead of configuring individual applications to use Tor's socks port, not to mention preventing DNS leaks. Transparent torification can be done with [[iptables]] in such a way that all outbound packets are redirected through Tor's ''TransPort'', except the Tor traffic itself. Once in place, applications do not need to be configured to use Tor, though Tor's ''SocksPort'' will still work. This also works for DNS via Tor's ''DNSPort'', but realize that Tor only supports TCP, thus UDP packets other than DNS cannot be sent through Tor and therefore must be blocked entirely to prevent leaks. Using iptables to transparently torify a system affords comparatively strong leak protection, but it is not a substitute for virtualized torification applications such as Whonix, or TorVM [https://www.whonix.org/wiki/Comparison_with_Others]. Transparent torification also will not protect against fingerprinting attacks on its own, so it is recommended to use it in conjunction with the Tor Browser (search the AUR for the version you want: https://aur.archlinux.org/packages/?K=tor-browser) or to use an amnesic solution like [http://tails.boum.org/ Tails] instead. Applications can still learn your computer's hostname, MAC address, serial number, timezone, etc. and those with root privileges can disable the firewall entirely. In other words, transparent torification with iptables protects against accidental connections and DNS leaks by misconfigured software, it is not sufficient to protect against malware or software with serious security vulnerabilities.\n\nTo enable transparent torification, use the following file for {{ic|iptables-restore}} and {{ic|ip6tables-restore}} (internally used by [[systemd]]'s {{ic|iptables.service}} and {{ic|ip6tables.service}}).\n\n{{Note|\nThis file uses the nat table to force outgoing connections through the TransPort or DNSPort, and blocks anything it cannot torrify.\n\n* Now using {{ic|--ipv6}} and {{ic|--ipv4}} for protocol specific changes. {{ic|iptables-restore}} and {{ic|ip6tables-restore}} can now use the same file.\n* Where --ipv6 or --ipv4 is explicitly defined, {{ic|ip*tables-restore}} will ignore the rule if it is not for the correct protocol.\n* {{ic|ip6tables}} does not support {{ic|--reject-with}}. Make sure your torrc contains the following lines:\n\n SocksPort 9050\n DNSPort 5353\n TransPort 9040\n\nSee {{man|8|iptables}}.\n}}\n\n{{Note|\n\nIf you get this error: {{ic|iptables-restore: unable to initialize table 'nat'}}, you have to load the appropriate kernel modules:\n\n # modprobe ip_tables iptable_nat ip_conntrack iptable-filter ipt_state\n\n}}\n\n{{hc|/etc/iptables/iptables.rules|\n\n*nat\n:PREROUTING ACCEPT [6:2126]\n:INPUT ACCEPT [0:0]\n:OUTPUT ACCEPT [17:6239]\n:POSTROUTING ACCEPT [6:408]\n\n-A PREROUTING ! -i lo -p udp -m udp --dport 53 -j REDIRECT --to-ports 5353\n-A PREROUTING ! -i lo -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 9040\n-A OUTPUT -o lo -j RETURN\n--ipv4 -A OUTPUT -d 192.168.0.0/16 -j RETURN\n-A OUTPUT -m owner --uid-owner \"tor\" -j RETURN\n-A OUTPUT -p udp -m udp --dport 53 -j REDIRECT --to-ports 5353\n-A OUTPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 9040\nCOMMIT\n\n*filter\n:INPUT DROP [0:0]\n:FORWARD DROP [0:0]\n:OUTPUT DROP [0:0]\n\n-A INPUT -i lo -j ACCEPT\n-A INPUT -p icmp -j ACCEPT\n-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT\n--ipv4 -A INPUT -p tcp -j REJECT --reject-with tcp-reset\n--ipv4 -A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable\n--ipv4 -A INPUT -j REJECT --reject-with icmp-proto-unreachable\n--ipv6 -A INPUT -j REJECT\n--ipv4 -A OUTPUT -d 127.0.0.0/8 -j ACCEPT\n--ipv4 -A OUTPUT -d 192.168.0.0/16 -j ACCEPT\n--ipv6 -A OUTPUT -d ::1/8 -j ACCEPT\n-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT\n-A OUTPUT -m owner --uid-owner \"tor\" -j ACCEPT\n--ipv4 -A OUTPUT -j REJECT --reject-with icmp-port-unreachable\n--ipv6 -A OUTPUT -j REJECT\nCOMMIT\n}}\n\nThis file also works for ip6tables-restore, so you may symlink it:\n\n # ln -s /etc/iptables/iptables.rules /etc/iptables/ip6tables.rules\n\nThen make sure Tor is running, and [[start/enable]] the {{ic|iptables}} and {{ic|ip6tables}} systemd units.\n\nYou may want to add {{ic|1=Requires=iptables.service}} and {{ic|1=Requires=ip6tables.service}} to whatever systemd unit logs your user in (most likely a [[display manager]]), to prevent any user processes from being started before the firewall up. See [[systemd]].\n\n== Tips and tricks ==\n\n=== Kernel capabilities ===\n\nIf you want to run tor as a non-root user, and use a port lower than 1024 you can use kernel capabilities to allow {{ic|/usr/bin/tor}} to bind to ports lower than 1024:\n\n # setcap CAP_NET_BIND_SERVICE=+eip /usr/bin/tor\n\n{{Note|Any upgrade to the tor package will reset the permissions, consider using [[pacman#Hooks]], to automatically set the permissions after upgrades.}}\n\nIf you use the systemd service, it is also possible to use systemd to give the tor process the appropriate permissions. This has the benefit that permissions do not need to be reapplied after every tor upgrade:\n\n{{hc|/etc/systemd/system/tor.service.d/netcap.conf|2=\n[Service]\nCapabilityBoundingSet=\nCapabilityBoundingSet=CAP_NET_BIND_SERVICE\nAmbientCapabilities=\nAmbientCapabilities=CAP_NET_BIND_SERVICE\n}}\n\nRefer to [https://superuser.com/questions/710253/allow-non-root-process-to-bind-to-port-80-and-443 superuser.com] for further explanations.\n\n== Troubleshooting ==\n\n=== Problem with user value ===\n\nIf the '''tor''' daemon failed to start, then run the following command as root (or use [[sudo]])\n\n # tor\n\nIf you get the following error\n\n May 23 00:27:24.624 [warn] Error setting groups to gid 43: \"Operation not permitted\".\n May 23 00:27:24.624 [warn] If you set the \"User\" option, you must start Tor as root.\n May 23 00:27:24.624 [warn] Failed to parse/validate config: Problem with User value. See logs for details.\n May 23 00:27:24.624 [err] Reading config failed--see warnings above.\n\nThen it means that the problem is with the User value, which likely means that one or more files or directories in your {{ic|/var/lib/tor}} directory is not owned by tor. This can be determined by using the following find command:\n\n find /var/lib/tor/ ! -user tor\n\nAny files or directories listed in the output from this command needs to have its ownership changed. This can be done individually for each file like so:\n\n chown tor:tor /var/lib/tor/filename\n\nOr to change everything listed by the above find example, modify the command to this:\n\n chown -R -v tor:tor /var/lib/tor\n\nTor should now start up correctly.\n\nStill if you cannot start the tor service, run the service using root (this will switch back to the tor user). To do this, change the user name in the {{ic|/etc/tor/torrc}} file:\n\n User tor\n\nNow modify the systemd's tor service file {{ic|/usr/lib/systemd/system/tor.service}} as follows\n\n [Service]\n User=root\n Group=root\n Type=simple\n\nThe process will be run as tor user. For this purpose change user and group ID to tor and also make it writable:\n\n # chown -R tor:tor /var/lib/tor/\n # chmod -R 700 /var/lib/tor\n\nNow save changes:\n\n # systemctl --system daemon-reload\n\nThen [[start]] {{ic|tor.service}}.\n\n=== tor-browser proxy problems ===\n{{AUR|tor-browser}} should generally work without significant customization. If previously installed/configured and bundled proxy fails with {{ic|proxy server is refusing connections}} for any website, consider resetting settings by moving or deleting {{ic|~/.tor-browser}} directory.\n\n== See also ==\n\n* [https://www.torproject.org/docs/tor-doc-unix.html.en Running the Tor client on Linux/BSD/Unix]\n* [https://trac.torproject.org/projects/tor/wiki#Unixish Unix-based Tor Articles]\n* [https://trac.torproject.org/projects/tor/wiki/doc/SupportPrograms Software commonly integrated with Tor]\n* [https://www.torproject.org/docs/tor-hidden-service.html.en How to set up a Tor ''Hidden Service'']\n* [https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports List of tor pluggable transports for obfuscating tor's traffic]"
                    }
                ]
            },
            "3158": {
                "pageid": 3158,
                "ns": 0,
                "title": "Bon Echo",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "#REDIRECT [[Firefox]]"
                    }
                ]
            },
            "3666": {
                "pageid": 3666,
                "ns": 0,
                "title": "Opera",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Web browser]]\n[[bg:Opera]]\n[[cs:Opera]]\n[[de:Opera]]\n[[es:Opera]]\n[[fr:opera]]\n[[it:Opera]]\n[[ja:Opera]]\n[[pt:Opera]]\n[[zh-hans:Opera]]\n{{Related articles start}}\n{{Related|Browser plugins}}\n{{Related|Chromium}}\n{{Related|Otter Browser}}\n{{Related|Vivaldi}}\n{{Related articles end}}\n\n{{Out of date|This information may not be representative of the state of Opera. Some options presented in this article cannot be accessed in the ways described.}}\n\n[http://www.opera.com Opera] is a free of charge web browser developed since 1994 by the Norwegian company [[Wikipedia:Opera Software|Opera Software]]. It is known for being the first to bring new browsing features to the world that have become common on all web browsers, such as tabbed browsing and built-in search.\n\n== Installation ==\n\n[[Install]] the {{Pkg|opera}} package.\n\n=== Old Presto version ===\nThe current Opera uses the modern and open-source Blink engine. You can still use the old proprietary Presto layout engine by installing Opera 12.16 with the {{AUR|opera-legacy}} package.\n\nUsing Presto-based Opera isn't recommended because of security and compliance with modern web standards. Instead you can try [[Vivaldi]] by former Opera team members or [[Otter Browser]] with really similar UI.\n\n== Plugins ==\n\nFor details about different plugins and installation instructions see [[Browser plugins]]. Note that Opera no longer supports the Netscape plugin API (NPAPI), but only the newer Pepper plugin API (PPAPI).\n\n=== Adblock ===\n{{Tip|Opera also has a built-in ad blocker which can be enabled in Settings.}}\n\nInstall Adblock support using the {{AUR|opera-adblock-complete}} package.\n\n== Performance tweaks ==\nAlthough Opera is fast on modern hardware, it can be made even faster.\n\n=== Disabling features and services ===\nOne of the keys to maximizing application performance is to disable undesired features and services through the native [http://www.opera.com/browser/tutorials/personalize/behavior/ opera:config Preferences Editor.]\n\nSome commonly disabled features are:\n* '''Systray Icon''': uncheck ''Show Tray Icon'' under opera:config#UserPrefs.\n* '''BitTorrent''': uncheck ''Enable'' under opera:config#BitTorrent.\n* '''Geolocation''': uncheck ''Enable geolocation'' under opera:config#Geolocation.\n* '''Multimedia''': unckeck desired options under opera:config#Multimedia.\n* '''Web Server''': uncheck ''Enable'' under opera:config#Web Server.\n\nTo more easily find these options just write the respective path (without spaces) in the address bar, for example {{ic|<nowiki>opera:config#UserPrefs|ShowTrayIcon</nowiki>}} or use the built-in search.\n\n=== Profile in tmpfs ===\nRelocate the browser profile to a [[tmpfs]] filesystem, including {{ic|/tmp}} for improvements in application response as the entire profile is now stored in RAM. Another benefit is a reduction in disk read and write operations, of which SSDs benefit the most.\n\nThere are currently two ways of doing this:\n* using [[Profile-sync-daemon]], that automatically detects and relocates the Opera profile to tmpfs.\n* using the {{ic|-pd}} command-line flag to tell Opera where to store its profile data:\n $ opera -pd /tmp/opera\n\n== Appearance ==\n\n=== Themes ===\nAlthough Opera is cross-platform, it can be made to integrate very well into various Linux desktop environments.\n; Qt: To make the menus look integrated with Qt, install your preferred Qt theme and apply it by using {{ic|qtconfig}}.\n; KDE: To make Opera use [[KDE]] icons, you can install a theme such as [http://my.opera.com/community/customize/skins/info/?id=8141 this one]{{Dead link|2014|04|05}}.\n; GTK: A nice GTK skin that uses the Tango icon theme can be found [http://my.opera.com/community/customize/skins/info/?id=3465 here]{{Dead link|2014|04|05}}.\n\n=== Title bar ===\nThe title bar can be hidden by right-clicking on the tab bar, then unchecking \"Show Border\". \n\n=== Tab modes ===\nOpera has native support for tab cascading and tiling mode. Appropriate buttons can be found by activating the \"Main\" toolbar or by dragging and dropping the buttons anywhere desired, found in ''Menu > Appearance > Buttons > Browser''.\n\n=== Fonts ===\nFonts can be configured under ''Settings > Preferences... > Advanced > Fonts''. \n\nIf the {{AUR|ttf-ms-fonts}} package has been installed before running Opera for the first time, Opera will use those fonts by default, regardless of what is specified by local GTK options, [[GNOME]] or KDE font management. To force existing installations of Opera to use the options set by your system:\n* Close all running instances of Opera.\n* Un-install the {{AUR|ttf-ms-fonts}} package.\n* Move the existing profile folder: {{ic|mv -i ~/.opera ~/.opera.bak}}\n* Run an instance of Opera and verify that your font manager settings have been applied.\n* Restore bookmarks and desired filter files from {{ic|~/.opera.bak}} to {{ic|~/.opera}} except for the {{ic|operaprefs.ini}} file.\n* Re-install the {{AUR|ttf-ms-fonts}} package, if desired.\n\n{{Note|If no text except numbers is showing on some of the webpages that might be a problem with the fonts. A known issue that causes this problem is the ''helvetica'' pfb postscript fonts.}}\n\n== Private tabs ==\nTo browse without leaving obvious traces of the Web sites you visit, you can use a private tab. When you close a private tab, the following data related to the tab is deleted:\n* Cache\n* Cookies\n* History\n* Logins\n\nThis is similar to the [http://www.google.com/support/chrome/bin/answer.py?hl=en&answer=95464 --incognito option] in Chrome/[[Chromium]] and [[MozillaWiki:Private Browsing|Private Browsing]] in [[Firefox]]. \n\nTo open a private tab from the command-line use:\n $ opera -newprivatetab\n\nTo ensure only private tabs are used throughout the duration of the browsing session:\n* Set ''Settings > Preferences... > General > Startup > Start without open tabs''.\n* Clear any entries in ''Settings > Preferences... > General > Home page option''.\n* Enable ''Settings > Preferences... > Advanced > Tabs > Additional tab options... > Allow windows with no tabs''.\n\nTo open a new window for private browsing when already running Opera you can just press {{ic|Ctrl+Shift+N}} or look under ''Menu > New Tabs and Windows > New Private Window''. All subsequent opened tabs with be private as well.\n\n== Accessibility Tips ==\n\n=== Disable text selection ===\n\nIt is possible to disable text selection in Opera. However, text selection through JavaScript will still work (for example in forms, etc.). To get to the setting follow the link bellow:\n opera:config#System|DisableTextSelect\n\n=== Grab and scroll mode ===\n\nBesides setting text selection off, grab and scroll mode makes page scrolling possible with mouse dragging. It is very useful, especially when you have a touchscreen. Copy and paste the link bellow to get to the mentioned setting.\n opera:config#UserPrefs|ScrollIsPan\n\nIt is also possible to change this setting on the fly by dragging and dropping the appropriate Opera button into a toolbar. The button can be found in ''Menu > Appearance > Buttons > Browser View''.\n\n=== Long pressing a link opens it in a background tab (extension) ===\n\nIt is possible to open up any long-clicked link in a new background tab by installing [https://addons.opera.com/en/addons/extensions/details/open-in-background-with-long-press/ this] extension.\n\n=== Virtual On-Screen keyboard (extension) ===\n\nThere is an extension which allows the use of an on-screen virtual keyboard. Further details and installation link can be found [https://addons.opera.com/en/addons/extensions/details/virtual-keyboard/ here].\n\n== Security ==\n\n=== Force a password store ===\n\nSince current Opera uses the same engine as Chromium does, you can force Opera to use a specific password store by launching it with the {{ic|--password-store}} flag. For more details see [[Chromium/Tips and tricks#Force a password store]].\n\n== Troubleshooting ==\n\n=== Slow scrolling on NVIDIA cards ===\nTry running the following command:\n $ nvidia-settings -a InitialPixmapPlacement=2\nOn some computers, http://helion.pl works extremely slow without this hack, making it a perfect site for testing.\n\n=== Horizontal mouse wheel scrolling ===\nCheck ''Settings > Preferences... > Advanced > Shortcuts > Mouse > Middle-Click Options... > Enable horizontal panning''.\n\nor\n\n* Highlight ''Settings > Preferences... > Advanced > Shortcuts > Mouse > Opera Standard''.\n* Duplicate ''Settings > Preferences... > Advanced > Shortcuts > Mouse > Opera Standard''.\n* Edit... ''Settings > Preferences... > Advanced > Shortcuts > Mouse > Copy of Opera Standard''.\n* Search the {{ic|Forward}} and {{ic|Back}} input contexts and edit the appropriate button shortcuts to {{ic|scroll left}} and {{ic|scroll right}}.\n* Rename ''Settings > Preferences... > Advanced > Shortcuts > Mouse > Copy of Opera Standard'' as desired.\n\n=== Launching an external browser ===\nIf Opera does not display a site well, a workaround is to launch the currently displayed page in an external browser.\n\n{{Note|The following method appears to be deprecated in favor of the built-in {{ic|Open With}} menu accessed via the right mouse button.}}\n\n* Set the following line under {{ic|[Site Navigation Toolbar.content]}} in {{ic|$HOME/.opera/toolbar/standard_toolbar.ini}}:\n Button0, \"Chromium\"=\"Execute program, \"chromium, \"%u\", , \"Chromium\"\"\n\n* If Firefox is desired, or preferred:\n Button0, \"Firefox\"=\"Execute program, \"firefox\", \"%u\", , \"Firefox\"\"\n\n* Any number of command-line options may be included in the string:\n Button0, \"Chromium\"=\"Execute program, \"chromium --block-nonsandboxed-plugins --disable-java --incognito --safe-plugins --start-maximized --user-data-dir=/tmp/.chromium\", \"%u\", , \"Chromium\"\"\n\n=== Opera crashes when starting or closing with GTK 2.24.7+ ===\n\nIf this crash occurs, you can work around it by changing the ''DialogToolkit'' option to 4:\n opera:config#FileSelector|DialogToolkit\n\nThis will disable GTK styling support and hence avoid the issue.\n\n=== Unreadable input fields and address bar with dark GTK themes ===\n\nWhen using a dark GTK  theme, one might encounter Opera address bar and Internet pages with unreadable input and text fields (e.g. Amazon can have black text on black text field background). This can happen because the site only sets either background or text color, and Opera takes the other one from the theme.\n\nUsing an installed clear theme and a command help to work around the problem:\n{{ic|env GTK_THEME&#61;<light-theme-name> opera}}\n\nto turn it as default, use a prefered text editor and edit the file {{ic|/usr/bin/opera}}.\ne.g. using Opera 12.14:\n{{bc|\nsudo gedit /usr/bin/opera\n...\n#!/bin/sh\nexport OPERA_DIR&#61;${OPERA_DIR:-/usr/share/opera}\nexport OPERA_PERSONALDIR&#61;${OPERA_PERSONALDIR:-$HOME/.opera}\nexec /usr/lib/opera/opera \"$@\"\n}}\n\nedit the file and follow the example changing to...\n{{bc|\n/usr/bin/opera\n...\n#!/bin/sh\nexport OPERA_DIR&#61;${OPERA_DIR:-/usr/share/opera}\nexport OPERA_PERSONALDIR&#61;${OPERA_PERSONALDIR:-$HOME/.opera}\nenv GTK_THEME&#61;Clearlooks /usr/lib/opera/opera \"$@\"\n}}\n\nthis will make the browser use a clear theme that you set in the file {{ic|/usr/bin/opera}} that was used in the above example the theme \"Clearlooks\" and the problems will be solved.\n\n== See Also ==\n* [http://operawiki.info/Opera Opera Wiki]{{Dead link|2017|06|02}}\n* [http://www.opera.com/support/kb/ Opera Knowledge Base]\n* [http://my.opera.com/community/forums/forum.dml?id=3 Opera For UNIX Forums]{{Dead link|2017|06|02}}\n* [http://www.opera.com/support/bugs/ Opera Bug Report]\n* [http://www.opera.com/browser/tips/ Opera Tips]\n* [http://www.opera.com/docs/ Opera Documentation]\n* [http://help.opera.com/Linux/12.10/en/ Opera Help]"
                    }
                ]
            },
            "4115": {
                "pageid": 4115,
                "ns": 0,
                "title": "OpenSSH",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Secure Shell]]\n[[Category:Servers]]\n[[Category:OpenBSD]]\n[[de:SSH]]\n[[es:OpenSSH]]\n[[fa:SSH]]\n[[fr:ssh]]\n[[ja:Secure Shell]]\n[[pt:Secure Shell]]\n[[ru:OpenSSH]]\n[[zh-hans:Secure Shell]]\n{{Related articles start}}\n{{Related|SSH keys}}\n{{Related|Pam abl}}\n{{Related|fail2ban}}\n{{Related|sshguard}}\n{{Related|Sshfs}}\n{{Related|Syslog-ng}}\n{{Related|SFTP chroot}}\n{{Related|SCP and SFTP}}\n{{Related|VPN over SSH}}\n{{Related articles end}}\n\n[[Wikipedia:OpenSSH|OpenSSH]] (OpenBSD Secure Shell) is a set of computer programs providing encrypted communication sessions over a computer network using the [[Secure Shell]] (SSH) protocol. It was created as an open source alternative to the proprietary Secure Shell software suite offered by SSH Communications Security. OpenSSH is developed as part of the OpenBSD project, which is led by Theo de Raadt.\n\nOpenSSH is occasionally confused with the similarly-named OpenSSL; however, the projects have different purposes and are developed by different teams, the similar name is drawn only from similar goals.\n\n== Installation ==\n\n[[Install]] the {{Pkg|openssh}} package.\n\n== Client usage ==\n\nTo connect to a server, run:\n\n $ ssh -p ''port'' ''user''@''server-address''\n\nIf the server only allows public-key authentication, follow [[SSH keys]].\n\n=== Configuration ===\n\nThe client can be configured to store common options and hosts. All options can be declared globally or restricted to specific hosts. For example:\n\n{{hc|~/.ssh/config|# global options\nUser ''user''\n\n# host-specific options\nHost ''myserver''\n    HostName ''server-address''\n    Port     ''port''\n}}\n\nWith such a configuration, the following commands are equivalent\n\n $ ssh -p ''port'' ''user''@''server-address''\n $ ssh ''myserver''\n\nSee {{man|5|ssh_config}} for more information.\n\nSome options do not have command line switch equivalents, but you can specify config options on the command line with {{ic|-o}}. For example {{ic|1=-oKexAlgorithms=+diffie-hellman-group1-sha1}}.\n\n== Server usage ==\n\n=== Configuration ===\n\nThe SSH daemon configuration file can be found and edited in {{ic|/etc/ssh/ssh'''d'''_config}}.\n\nTo allow access only for some users add this line:\n\n AllowUsers    ''user1 user2''\n\nTo allow access only for some groups:\n\n AllowGroups   ''group1 group2''\n\nTo add a nice welcome message (e.g. from the {{ic|/etc/issue}} file), configure the {{ic|Banner}} option:\n\n Banner /etc/issue\n\nPublic and private host keys are automatically generated in {{ic|/etc/ssh}} by the ''sshd'' [[#Daemon management|service files]] on the first run after installation. Four key pairs are provided based on the algorithms [[SSH keys#Choosing the authentication key type|dsa, rsa, ecdsa and ed25519]]. To have sshd use a particular key, specify the following option:\n\n HostKey /etc/ssh/ssh_host_rsa_key\n\nIf the server is to be exposed to the WAN, it is recommended to change the default port from 22 to a random higher one like this:\n Port 39901\n\n{{Tip|\n* To help select an alternative port that is not already assigned to a common service, review the [[Wikipedia:List of TCP and UDP port numbers|list of TCP and UDP port numbers]]. You can also find port information locally in {{ic|/etc/services}}. A port change from default port 22 will reduce the number of log entries caused by automated authentication attempts but will not eliminate them. See [[Port knocking]] for related information.\n* It is recommended to disable password logins entirely. This will greatly increase security, see [[#Force public key authentication]] for more information. See [[#Protection]] for more recommend security methods.\n* OpenSSH can listen to multiple ports simply by having multiple {{ic|Port ''port_number''}} lines in the config file.\n* New key pairs can be generated as explained in [[SSH keys#Generating an SSH key pair]] in addition, or to replace, those originally created.\n}}\n\n=== Daemon management ===\n\n[[Start/enable]] {{ic|sshd.service}}. It will keep the SSH daemon permanently active and fork for each incoming connection.[https://projects.archlinux.org/svntogit/packages.git/tree/trunk/sshd.service?h=packages/openssh].\n\n{{Note|{{Pkg|openssh}} 8.0p1-3 removed {{ic|sshd.socket}} that used systemd's socket activation due to it being susceptible to denial of service. See {{Bug|62248}} for details. If {{ic|sshd.socket}} is enabled when updating to {{Pkg|openssh}} 8.0p1-3, the {{ic|sshd.socket}} and {{ic|sshd@.service}} units will be copied to {{ic|/etc/systemd/system/}} and [[systemd#Replacement unit files|reenabled]]. This is only done to not break existing setups, users are still advised to migrate to {{ic|sshd.service}}.}}\n\n{{Warning|If you continue using {{ic|sshd.socket}}, be aware of its issues:\n* {{ic|sshd.socket}} unit may fail (e.g. due to out-of-memory situation) and {{ic|1=Restart=always}} cannot be specified on socket units. See [https://github.com/systemd/systemd/issues/11553 systemd issue  11553].\n* Using socket activation can result in denial of service, as too many connections can cause refusal to further activate the service. See {{Bug|62248}}.\n}}\n\n{{Note|Using {{ic|sshd.socket}} negates the {{ic|ListenAddress}} setting, so it will allow connections over any address. To achieve the effect of setting {{ic|ListenAddress}}, you must specify the port ''and'' IP for {{ic|ListenStream}} (e.g. {{ic|1=ListenStream=192.168.1.100:22}}) by [[edit]]ing {{ic|sshd.socket}}. You must also add {{ic|1=FreeBind=true}} under {{ic|[Socket]}} or else setting the IP address will have the same drawback as setting {{ic|ListenAddress}}: the socket will fail to start if the network is not up in time.}}\n\n{{Tip|When using socket activation a transient instance of {{ic|sshd@.service}} will be started for each connection (with different instance names). Therefore, neither {{ic|sshd.socket}} nor the daemon's regular {{ic|sshd.service}} allow to monitor connection attempts in the log. The logs of socket-activated instances of SSH can be seen with {{ic|journalctl -u \"sshd@*\"}} or with {{ic|journalctl /usr/bin/sshd}}.}}\n\n=== Protection ===\n\nAllowing remote log-on through SSH is good for administrative purposes, but can pose a threat to your server's security. Often the target of brute force attacks, SSH access needs to be limited properly to prevent third parties gaining access to your server.\n\nSeveral other good guides and tools are available on the topic, for example:\n\n* [[MozillaWiki:Security/Guidelines/OpenSSH|Article by Mozilla Infosec Team]]\n* [https://github.com/mozilla/ssh_scan Mozilla ssh_scan]\n* [https://stribika.github.io/2015/01/04/secure-secure-shell.html Secure sshd]\n\n==== Disable known weak algorithms and ciphers ====\n\n{{Remove|The first sentence of this section is wrong/FUD. From [https://www.openssh.com/legacy.html]: \"OpenSSH only disables algorithms that we actively recommend against using because they are known to be weak.\"|section=disable known weak algorithms and ciphers}}\n\n{{Accuracy|Copying long strings from the wiki into the system config is not a good security practice either. The section should provide references for the full list of supported algorithms/ciphers and which are considered insecure. If possible, the configuration should be to ''disable weak algorithms and ciphers'' (as the title says) rather than enabling strong options.}}\n\nThe package's default configuration allows known weak algorithms and ciphers in order to maintain backward compatibility for legacy clients. If you do not need to support legacy clients, best practice is to disable weak options. The below snippet demonstrates how to configure these options in {{ic|/etc/ssh/sshd_config}}. \n\nThe first algorithm/cipher from each comma-separated list supported by a client will be chosen for the connection. The below are generally ordered most-to-least secure as recommended by the developers of the OpenSSH project as of the 8.1 release in October 2019. Remove unnecessary entries from the end of each list.\n\n{{Style|Listing default config options on the wiki is pointless.|section=disable known weak algorithms and ciphers}}\n\n{{hc|/etc/ssh/sshd_config|\nKexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1\n\nMACs umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1\n\nHostKeyAlgorithms ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa\n}}\n\nFor more, see {{AUR|ssh-audit}}.\n\n==== Force public key authentication ====\n\nIf a client cannot authenticate through a public key, by default the SSH server falls back to password authentication, thus allowing a malicious user to attempt to gain access by [[#Protecting against brute force attacks|brute-forcing]] the password. One of the most effective ways to protect against this attack is to disable password logins entirely, and force the use of [[SSH keys]]. This can be accomplished by disabling the following options in the daemon configuration file:\n\n{{hc|/etc/ssh/sshd_config|PasswordAuthentication no}}\n\n{{Warning|Before adding this to your configuration, make sure that all accounts which require SSH access have public-key authentication set up in the corresponding {{ic|authorized_keys}} files. See [[SSH keys#Copying the public key to the remote server]] for more information.}}\n\n==== Two-factor authentication and public keys ====\n\nSSH can be set up to require multiple ways of authentication, you can tell which authentication methods are required using the {{ic|AuthenticationMethods}} option. This enables you to use public keys as well as a two-factor authorization.\n\nSee [[Google Authenticator]] to set up Google Authenticator.\n\nTo use [[PAM]] with OpenSSH, edit the following files:\n\n{{hc|/etc/ssh/sshd_config|\nChallengeResponseAuthentication yes\nAuthenticationMethods publickey keyboard-interactive:pam\n}}\n\nThen you can log in with either a publickey '''or''' the user authentication as required by your PAM setup.\n\nIf, on the other hand, you want to authenticate the user on both a publickey '''and''' the user authentication as required by your PAM setup, use a comma instead of a space to separate the AuthenticationMethods:\n\n{{hc|/etc/ssh/sshd_config|\nChallengeResponseAuthentication yes\nAuthenticationMethods publickey''','''keyboard-interactive:pam\n}}\n\nWith required pubkey '''and''' pam authentication you may wish to disable the password requirement:\n\n{{hc|/etc/pam.d/sshd|\nauth      required  pam_securetty.so     #disable remote root\n#Require google authenticator\nauth      required  pam_google_authenticator.so\n#But not password\n#auth      include   system-remote-login\naccount   include   system-remote-login\npassword  include   system-remote-login\nsession   include   system-remote-login\n}}\n\n==== Protecting against brute force attacks ====\n\nBrute forcing is a simple concept: one continuously tries to log in to a webpage or server log-in prompt like SSH with a high number of random username and password combinations.\n\n===== Using ufw =====\n\nSee [[ufw#Rate limiting with ufw]].\n\n===== Using iptables =====\n\n{{Merge|Simple stateful firewall#Bruteforce attacks|Out of scope, same technique as already described in the SSF.}}\n\nIf you are already using iptables you can easily protect SSH against brute force attacks by using the following rules. \n\n{{note|In this example the SSH port was changed to port 42660 TCP.}}\n\nBefore the following rules can be used we create a new rule chain to log and drop too many connection attempts:\n\n # iptables -N LOG_AND_DROP\n\nThe first rule will be applied to packets that signal the start of new connections headed for TCP port 42660\n\n # iptables -A INPUT -p tcp -m tcp --dport 42660 -m state --state NEW -m recent --set --name DEFAULT --rsource\n\nThe next rule tells iptables to look for packets that match the previous rule's parameters, and which also come from hosts already added to the watch list.\n\n # iptables -A INPUT -p tcp -m tcp --dport 42660 -m state --state NEW -m recent --update --seconds 90 --hitcount 4 --name DEFAULT --rsource -j LOG_AND_DROP\n\nNow iptables decides what to do with TCP traffic to port 42660 which does not match the previous rule.\n\n # iptables -A INPUT -p tcp -m tcp --dport 42660 -j ACCEPT\n\nWe are appending this rule to the LOG_AND_DROP table, and we use the -j (jump) operator to pass the packet's information to the logging facility\n\n # iptables -A LOG_AND_DROP -j LOG --log-prefix \"iptables deny: \" --log-level 7\n\nAfter they are logged by the first rule, all packets are then dropped\n\n # iptables -A LOG_AND_DROP -j DROP\n\n===== Anti-brute-force tools =====\n\nYou can protect yourself from brute force attacks by using an automated script that blocks anybody trying to brute force their way in, for example [[fail2ban]] or [[sshguard]].\n\n* Only allow incoming SSH connections from trusted locations\n* Use [[fail2ban]] or [[sshguard]] to automatically block IP addresses that fail password authentication too many times.\n* Use [https://github.com/jtniehof/pam_shield pam_shield] to block IP addresses that perform too many login attempts within a certain period of time. In contrast to [[fail2ban]] or [[sshguard]], this program does not take login success or failure into account.\n\n==== Limit root login ====\n\n{{Out of date|Root login has been disabled by default upstream in the current version.  Unclear to me what parts of this section and subsections are redundant.}}\n\nIt is generally considered bad practice to allow the root user to log in without restraint over SSH. There are two methods by which SSH root access can be restricted for increased security.\n\n===== Deny =====\n\nSudo selectively provides root rights for actions requiring these without requiring authenticating against the root account. This allows locking the root account against access via SSH and potentially functions as a security measure against brute force attacks, since now an attacker must guess the account name in addition to the password.\n\nSSH can be configured to deny remote logins with the root user by editing the \"Authentication\" section in the daemon configuration file. Simply set {{ic|PermitRootLogin}} to {{ic|no}}:\n\n{{hc|/etc/ssh/sshd_config|PermitRootLogin no}}\n\nNext, [[restart]] the SSH daemon.\n\nYou will now be unable to log in through SSH under root, but will still be able to log in with your normal user and use [[su]] or [[sudo]] to do system administration.\n\n===== Restrict =====\n\nSome automated tasks such as remote, full-system backup require full root access. To allow these in a secure way, instead of disabling root login via SSH, it is possible to only allow root logins for selected commands. This can be achieved by editing {{ic|~root/.ssh/authorized_keys}}, by prefixing the desired key, e.g. as follows:\n\n command=\"/usr/lib/rsync/rrsync -ro /\" ssh-rsa \u2026\n\nThis will allow any login with this specific key only to execute the command specified between the quotes.\n\nThe increased attack surface created by exposing the root user name at login can be compensated by adding the following to {{ic|sshd_config}}:\n\n PermitRootLogin forced-commands-only\n\nThis setting will not only restrict the commands which root may execute via SSH, but it will also disable the use of passwords, forcing use of public key authentication for the root account.\n\nA slightly less restrictive alternative will allow any command for root, but makes brute force attacks infeasible by enforcing public key authentication. For this option, set:\n\n PermitRootLogin prohibit-password\n\n==== Securing the authorized_keys file ====\n\nFor additional protection, you can prevent users from adding new public keys and connecting from them.\n\nIn the server, make the {{ic|authorized_keys}} file read-only for the user and deny all other permissions:\n\n $ chmod 400 ~/.ssh/authorized_keys\n\nTo keep the user from simply changing the permissions back, [[File permissions and attributes#chattr and lsattr|set the immutable bit]] on the {{ic|authorized_keys}} file. After that the user could rename the {{ic|~/.ssh}} directory to something else and create a new {{ic|~/.ssh}} directory and {{ic|authorized_keys}} file. To prevent this, set the immutable bit on the {{ic|~/.ssh}} directory too.\n\n{{Note|If you find yourself needing to add a new key, you will first have to remove the immutable bit from {{ic|authorized_keys}} and make it writable. Follow the steps above to secure it again.}}\n\n== Tips and tricks ==\n\n=== Encrypted SOCKS tunnel ===\n\nThis is highly useful for laptop users connected to various unsafe wireless connections. The only thing you need is an SSH server running at a somewhat secure location, like your home or at work. It might be useful to use a dynamic DNS service like [http://www.dyndns.org/ DynDNS] so you do not have to remember your IP-address.\n\n==== Step 1: start the connection ====\n\nYou only have to execute this single command to start the connection:\n\n $ ssh -TND 4711 ''user''@''host''\n\nwhere {{Ic|''user''}} is your username at the SSH server running at the {{Ic|''host''}}. It will ask for your password, and then you are connected. The {{Ic|N}} flag disables the interactive prompt, and the {{Ic|D}} flag specifies the local port on which to listen on (you can choose any port number if you want).  The {{Ic|T}} flag disables pseudo-tty allocation.\n\nIt is nice to add the verbose ({{Ic|-v}}) flag, because then you can verify that it is actually connected from that output.\n\n==== Step 2 (Variant A): configure your browser (or other programs) ====\n\nThe above step is useful only in combination with a web browser or another program that uses this newly created SOCKS tunnel. Since SSH currently supports both SOCKS v4 and SOCKS v5, you can use either of them.\n\n* For Firefox: At ''Preferences > General'' navigates to the bottom of the page and click ''Settings...'', which is to the right of the Network Settings title. Next, within the new semi window, check the ''Manual proxy configuration'' option and enter {{ic|localhost}} in the ''SOCKS host'' text field, and the port number in the ''Port'' text field ({{ic|4711}} in the example above) next to it.\n:Firefox does not automatically make DNS requests through the socks tunnel. This potential privacy concern can be mitigated by scrolling further down, checking in the ''Proxy DNS when using SOCKS v5''. Obviously, this will only work if you chooses SOCKS v5 rather then v4.\n: Restart Firefox to activate these settings.\n\n* For Chromium: You can set the SOCKS settings as environment variables or as command line options. I recommend to add one of the following functions to your {{ic|.bashrc}}:\n\n function secure_chromium {\n     port=4711\n     export SOCKS_SERVER=localhost:$port\n     export SOCKS_VERSION=5\n     chromium &\n     exit\n }\n\nOR\n\n function secure_chromium {\n     port=4711\n     chromium --proxy-server=\"socks://localhost:$port\" &\n     exit\n }\n\nNow open a terminal and just do:\n\n $ secure_chromium\n\nEnjoy your secure tunnel!\n\n==== Step 2 (Variant B): set up a local TUN interface ====\n\nThis variant is slightly more involved upfront but results in you not having to manually configure every single application one by one to use the SOCKS proxy. It involves setting up a local TUN interface and routing traffic through it.\n\nSee [[VPN over SSH#Set up badvpn and tunnel interface]].\n\n=== X11 forwarding ===\n\nX11 forwarding is a mechanism that allows graphical interfaces of X11 programs running on a remote system to be displayed on a local client machine. For X11 forwarding the remote host does not need to have a full X11 system installed, however it needs at least to have ''xauth'' installed. ''xauth'' is a utility that maintains {{ic|Xauthority}} configurations used by server and client for authentication of X11 session ([http://xmodulo.com/2012/11/how-to-enable-x11-forwarding-using-ssh.html source]).\n\n{{Warning|X11 forwarding has important security implications which should be at least acknowledged by reading relevant sections of {{man|1|ssh}}, {{man|5|sshd_config}}, and {{man|5|ssh_config}} manual pages. See also [https://security.stackexchange.com/questions/14815/security-concerns-with-x11-forwarding this StackExchange question.]}}\n\n==== Setup ====\n\n===== Remote =====\n\n* [[install]] the {{Pkg|xorg-xauth}} and {{Pkg|xorg-xhost}} packages\n* in {{ic|/etc/ssh/ssh'''d'''_config}}:\n** set {{ic|X11Forwarding}} to ''yes''\n** verify that {{ic|AllowTcpForwarding}} and {{ic|X11UseLocalhost}} options are set to ''yes'', and that {{ic|X11DisplayOffset}} is set to ''10'' (those are the default values if nothing has been changed, see {{man|5|sshd_config}})\n* then [[restart]] the [[#Daemon management|''sshd'' daemon]].\n\n===== Client =====\n\n* [[install]] the {{Pkg|xorg-xauth}} package\n* enable the {{ic|ForwardX11}} option by either specifying the {{ic|-X}} switch on the command line for opportunistic connections, or by setting {{ic|ForwardX11}} to ''yes'' in the [[#Configuration|client's configuration]].\n\n{{Tip|You can enable the {{ic|ForwardX11Trusted}} option ({{ic|-Y}} switch on the command line) if GUI is drawing badly or you receive errors; this will prevent X11 forwardings from being subjected to the [http://www.x.org/wiki/Development/Documentation/Security/ X11 SECURITY extension] controls. Be sure you have read [[#X11 forwarding|the warning]] at the beginning of this section if you do so.}}\n\n==== Usage ====\n\n{{Accuracy|{{ic|xhost}} is [http://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-from-ubuntu-machine#comment17148_12772 generally not needed]|section=X11 forwarding}}\n\nLog on to the remote machine normally, specifying the {{ic|-X}} switch if ''ForwardX11'' was not enabled in the client's configuration file:\n\n $ ssh -X ''user@host''\n\nIf you receive errors trying to run graphical applications, try ''ForwardX11Trusted'' instead:\n\n $ ssh -Y ''user@host''\n\nYou can now start any X program on the remote server, the output will be forwarded to your local session:\n\n $ xclock\n\nIf you get \"Cannot open display\" errors try the following command as the non root user:\n\n $ xhost +\n\nThe above command will allow anybody to forward X11 applications. To restrict forwarding to a particular host type:\n\n $ xhost +hostname\n\nwhere hostname is the name of the particular host you want to forward to. See {{man|1|xhost}} for more details.\n\nBe careful with some applications as they check for a running instance on the local machine. [[Firefox]] is an example: either close the running Firefox instance or use the following start parameter to start a remote instance on the local machine:\n\n $ firefox --no-remote\n\nIf you get \"X11 forwarding request failed on channel 0\" when you connect (and the server {{ic|/var/log/errors.log}} shows \"Failed to allocate internet-domain X11 display socket\"), make sure package {{Pkg|xorg-xauth}} is installed. If its installation is not working, try to either:\n\n* enable the {{ic|AddressFamily any}} option in {{ic|ssh'''d'''_config}} on the ''server'', or\n* set the {{ic|AddressFamily}} option in {{ic|ssh'''d'''_config}} on the ''server'' to inet.\nSetting it to inet may fix problems with Ubuntu clients on IPv4.\n\nFor running X applications as other user on the SSH server you need to {{Ic|xauth add}} the authentication line taken from {{Ic|xauth list}} of the SSH logged in user.\n\n{{Tip|[http://unix.stackexchange.com/a/12772/29867 Here] are [http://unix.stackexchange.com/a/46748/29867 some] useful [http://superuser.com/a/805060/185665 links] for troubleshooting {{ic|X11 Forwarding}} issues.}}\n\n=== Forwarding other ports ===\n\nIn addition to SSH's built-in support for X11, it can also be used to securely tunnel any TCP connection, by use of local forwarding or remote forwarding.\n\nLocal forwarding opens a port on the local machine, connections to which will be forwarded to the remote host and from there on to a given destination. Very often, the forwarding destination will be the same as the remote host, thus providing a secure shell and, e.g. a secure [[VNC]] connection, to the same machine. Local forwarding is accomplished by means of the {{Ic|-L}} switch and it is accompanying forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.\n\nThus:\n\n $ ssh -L 1000:mail.google.com:25 192.168.0.100\n\nwill use SSH to login to and open a shell on {{ic|192.168.0.100}}, and will also create a tunnel from the local machine's TCP port 1000 to mail.google.com on port 25. Once established, connections to {{ic|localhost:1000}} will connect to the Gmail SMTP port. To Google, it will appear that any such connection (though not necessarily the data conveyed over the connection) originated from {{ic|192.168.0.100}}, and such data will be secure between the local machine and 192.168.0.100, but not between {{ic|192.168.0.100}} and Google, unless other measures are taken.\n\nSimilarly:\n\n $ ssh -L 2000:192.168.0.100:6001 192.168.0.100\n\nwill allow connections to {{ic|localhost:2000}} which will be transparently sent to the remote host on port 6001. The preceding example is useful for VNC connections using the vncserver utility--part of the [[tightvnc]] package--which, though very useful, is explicit about its lack of security.\n\nRemote forwarding allows the remote host to connect to an arbitrary host via the SSH tunnel and the local machine, providing a functional reversal of local forwarding, and is useful for situations where, e.g., the remote host has limited connectivity due to firewalling. It is enabled with the {{Ic|-R}} switch and a forwarding specification in the form of {{Ic|<tunnel port>:<destination address>:<destination port>}}.\n\nThus:\n\n $ ssh -R 3000:irc.freenode.net:6667 192.168.0.200\n\nwill bring up a shell on {{ic|192.168.0.200}}, and connections from {{ic|192.168.0.200}} to itself on port 3000 (the remote host's {{ic|localhost:3000}}) will be sent over the tunnel to the local machine and then on to irc.freenode.net on port 6667, thus, in this example, allowing the use of IRC programs on the remote host to be used, even if port 6667 would normally be blocked to it.\n\nBoth local and remote forwarding can be used to provide a secure \"gateway\", allowing other computers to take advantage of an SSH tunnel, without actually running SSH or the SSH daemon by providing a bind-address for the start of the tunnel as part of the forwarding specification, e.g. {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. The {{Ic|<tunnel address>}} can be any address on the machine at the start of the tunnel. The address {{Ic|localhost}} allows connections via the {{ic|localhost}} or loopback interface, and an empty address or {{Ic|*}} allow connections via any interface. By default, forwarding is limited to connections from the machine at the \"beginning\" of the tunnel, i.e. the {{Ic|<tunnel address>}} is set to {{Ic|localhost}}. Local forwarding requires no additional configuration, however remote forwarding is limited by the remote server's SSH daemon configuration. See the {{Ic|GatewayPorts}} option in {{man|5|sshd_config}} and {{ic|-L address}} option in {{man|1|ssh}} for more information about remote forwarding and local forwarding, respectively.\n\n=== Jump hosts ===\n\nIn certain scenarios, there might not be a direct connection to your target SSH daemon, and the use of a jump server (or bastion server) is required. Thus, we attempt to connect together two or more SSH tunnels, and assuming your local keys are authorized against each server in the chain. This is possible using SSH agent forwarding ({{ic|-A}}) and pseudo-terminal allocation ({{ic|-t}}) which forwards your local key with the following syntax:\n\n $ ssh -A -t -l user1 bastion1 \\\n   ssh -A -t -l user2 intermediate2 \\\n   ssh -A -t -l user3 target\n\nAn easier way to do this is using the {{ic|-J}} flag:\n\n $ ssh -J user1@bastion1,user2@intermediate2 user3@target\n\nMultiple hosts in the {{ic|-J}} directive can be separted with a comma, they will be connected to in the order listed. The {{ic|user...@}} part is not required, but can be used. The host specifications for {{ic|-J}} use the ssh configuration file, so specific per-host options can be set there, if needed.\n\n=== Reverse SSH through a relay ===\n\n{{Style|The idea of SSH tunneling is classic, so some references for detailed explanation would be nice. E.g. [https://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work/118650#118650] which includes other scenarios.}}\n\nThe idea is that client connects to the server via another relay, while the server is connected to the same relay using a reverse SSH tunnel. This is for example useful when the server is behind a NAT and relay is a publicly accessible SSH server used as a proxy to which the user has access. So the prerequisite is that client's keys are authorized against both the relay and the server and server's need to be authorized against the relay as well for the reverse SSH connection.\n\nThe following configuration example assumes that user1 is the user account used on client, user2 on relay and user3 on server. First the server needs to establish the reverse tunnel with:\n\n ssh -R 2222:localhost:22 -N user2@relay\n\nWhich can also be automated with a startup script, systemd service or [[#Autossh - automatically restarts SSH sessions and tunnels|autossh]].\n\n{{Expansion|Explain why {{ic|ssh user3@relay -p 2222}} is not sufficient.}}\n\nAt the client side the connection is established with:\n\n ssh -t user2@relay ssh user3@localhost -p 2222\n\nThe remote command to establish the connection to reverse tunnel can also be defined in relay's {{ic|~/.ssh/authorized_keys}} by including the {{ic|command}} field as follows:\n\n command=\"ssh user3@localhost -p 2222\" ssh-rsa KEY2 user1@client\n\nIn this case the connection is established with:\n\n ssh user2@relay\n\nNote that SCP's autocomplete function in client's terminal is not working and even the SCP transfers themselves are not working under some configurations.\n\n=== Multiplexing ===\n\nThe SSH daemon usually listens on port 22. However, it is common practice for many public internet hotspots to block all traffic that is not on the regular HTTP/S ports (80 and 443, respectively), thus effectively blocking SSH connections. The immediate solution for this is to have {{ic|sshd}} listen additionally on one of the whitelisted ports:\n\n{{hc|/etc/ssh/sshd_config|\nPort 22\nPort 443\n}}\n\nHowever, it is likely that port 443 is already in use by a web server serving HTTPS content, in which case it is possible to use a multiplexer, such as {{Pkg|sslh}}, which listens on the multiplexed port and can intelligently forward packets to many services.\n\n=== Speeding up SSH ===\n\nThere are several [[#Configuration|client configuration]] options which can speed up connections either globally or for specific hosts. See {{man|5|ssh_config}} for full descriptions of these options.\n\n* ''Use a faster cipher'': on modern CPUs with AESNI instructions, {{ic|aes128-gcm@openssh.com}} and {{ic|aes256-gcm@openssh.com}} should offer significantly better performance over openssh's default preferred cipher, usually {{ic|chacha20-poly1305@openssh.com}}. Cipher can be selected {{ic|-c}} flag. For a permanent effect, put {{ic|Ciphers}} option in your ~/.ssh/config with ciphers in new preferred order, e.g.:\n*: {{bc|Ciphers aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr}}\n\n* ''Enable or disable compression'': compression can increase speed on slow connections, it is enabled with the {{ic|Compression yes}} option or the {{ic|-C}} flag. However the compression algorithm used is the relatively slow {{man|1|gzip}} which becomes the bottleneck on fast networks. In order to speed up the connection one should use the {{ic|Compression no}} option on local or fast networks.\n\n* ''Connection sharing'': you can make all sessions to the same host share a single connection using these options:\n*: {{bc|<nowiki>\nControlMaster auto\nControlPersist yes\nControlPath ~/.ssh/sockets/socket-%r@%h:%p\n</nowiki>}}\n: where {{ic|~/.ssh/sockets}} can be any directory not writable by other users.\n\n* {{ic|ControlPersist}} specifies how long the master should wait in the background for new clients after the initial client connection has been closed. Possible values are either:  \n** {{ic|no}} to close the connection immediately after the last client disconnects, \n** a time in seconds,\n** {{ic|yes}} to wait forever, the connection will never be closed automatically.\n\n* Login time can be shortened by bypassing IPv6 lookup using the {{ic|AddressFamily inet}} option or {{ic|-4}} flag.\n\n* Last, if you intend to use SSH for SFTP or SCP, [https://www.psc.edu/index.php/hpn-ssh High Performance SSH/SCP] can significantly increase throughput by raising dynamically the SSH buffer sizes. Install the package {{AUR|openssh-hpn-git}} to use a patched version of OpenSSH with this enhancement.\n\n=== Mounting a remote filesystem with SSHFS ===\n\nPlease refer to the [[SSHFS]] article to mount a SSH-accessible remote system to a local folder, so you will be able to do any operation on the mounted files with any tool (copy, rename, edit with vim, etc.). ''sshfs'' is generally preferred over ''shfs'', the latter has not been updated since 2004.\n\n=== Keep alive ===\n\nBy default, the SSH session automatically logs out if it has been idle for a certain time. To keep the session up, the client can send a keep-alive signal to the server if no data has been received for some time, or symmetrically the server can send messages at regular intervals if it has not heard from the client.\n\n* On the '''server''' side, {{ic|ClientAliveInterval}} sets the timeout in seconds after which if no data has been received from the client, ''sshd'' will send a request for response. The default is 0, no message is sent. For example to request a response every 60 seconds from the client, set the {{ic|ClientAliveInterval 60}} option in your [[#Configuration_2|server configuration]]. See also the {{ic|ClientAliveCountMax}} and {{ic|TCPKeepAlive}} options.\n* On the '''client''' side, {{ic|ServerAliveInterval}} controls the interval between the requests for response sent from the client to the server. For example to request a response every 120 seconds from the server, add the {{ic|ServerAliveInterval 120}} option to your [[#Configuration|client configuration]]. See also the {{ic|ServerAliveCountMax}} and {{ic|TCPKeepAlive}} options.\n\n{{Note| To ensure a session is kept alive, only one of either the client or the server needs to send keep alive requests. If ones control both the servers and the clients, a reasonable choice is to only configure the clients that require a persistent session with a positive {{ic|ServerAliveInterval}} and leave other clients and servers in their default configuration.}}\n\n=== Automatically restart SSH tunnels with systemd ===\n\n[[systemd]] can automatically start SSH connections on boot/login ''and'' restart them when they fail. This makes it a useful tool for maintaining SSH tunnels.\n\nThe following service can start an SSH tunnel on login using the connection settings in your [[#Configuration|ssh configuration]]. If the connection closes for any reason, it waits 10 seconds before restarting it:\n\n{{hc|~/.config/systemd/user/tunnel.service|<nowiki>\n[Unit]\nDescription=SSH tunnel to myserver\n\n[Service]\nType=simple\nRestart=always\nRestartSec=10\nExecStart=/usr/bin/ssh -F %h/.ssh/config -N myserver\n</nowiki>}}\n\nThen [[enable]] and [[start]] the [[Systemd/User]] service. See [[#Keep alive]] for how to prevent the tunnel from timing out. If you wish to start the tunnel on boot, you might want to [[Systemd#Writing_unit_files|rewrite the unit]] as a system service.\n\n=== Autossh - automatically restarts SSH sessions and tunnels ===\n\nWhen a session or tunnel cannot be kept alive, for example due to bad network conditions causing client disconnections, you can use {{Pkg|autossh}} to automatically restart them.\n\nUsage examples:\n\n $ autossh -M 0 -o \"ServerAliveInterval 45\" -o \"ServerAliveCountMax 2\" username@example.com\n\nCombined with [[SSHFS]]:\n\n $ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example \n\nConnecting through a SOCKS-proxy set by [[Proxy settings]]:\n\n $ autossh -M 0 -o \"ServerAliveInterval 45\" -o \"ServerAliveCountMax 2\" -NCD 8080 username@example.com \n\nWith the {{ic|-f}} option autossh can be made to run as a background process. Running it this way however means the passphrase cannot be entered interactively.\n\nThe session will end once you type {{ic|exit}} in the session, or the autossh process receives a SIGTERM, SIGINT of SIGKILL signal.\n\n==== Run autossh automatically at boot via systemd ====\n\nIf you want to automatically start autossh, you can create a systemd unit file:\n\n{{hc|/etc/systemd/system/autossh.service|2=\n[Unit]\nDescription=AutoSSH service for port 2222\nAfter=network.target\n\n[Service]\nEnvironment=\"AUTOSSH_GATETIME=0\"\nExecStart=/usr/bin/autossh -M 0 -NL 2222:localhost:2222 -o TCPKeepAlive=yes foo@bar.com\n\n[Install]\nWantedBy=multi-user.target\n}}\n\nHere {{ic|1=AUTOSSH_GATETIME=0}} is an environment variable specifying how long ssh must be up before autossh considers it a successful connection, setting it to 0 autossh also ignores the first run failure of ssh. This may be useful when running autossh at boot. Other environment variables are available at {{man|1|autossh}}. Of course, you can make this unit more complex if necessary (see the systemd documentation for details), and obviously you can use your own options for autossh, but note that the {{ic|-f}} implying {{ic|1=AUTOSSH_GATETIME=0}} does not work with systemd. \n\nRemember to [[start]] and/or [[enable]] the service afterwards.\n\nYou may also need to disable ControlMaster e.g.\n\n ExecStart=/usr/bin/autossh -M 0 -o ControlMaster=no -NL 2222:localhost:2222 -o TCPKeepAlive=yes foo@bar.com\n\n{{Tip|It is also easy to maintain several autossh processes, to keep several tunnels alive. Just create multiple service files with different names.}}\n\n=== Alternative service should SSH daemon fail ===\n\nFor remote or headless servers which rely exclusively on SSH, a failure to start the SSH daemon (e.g., after a system upgrade) may prevent administration access. [[systemd]] offers a simple solution via {{ic|OnFailure}} option.\n\nLet us suppose the server runs {{ic|sshd}} and [[telnet]] is the fail-safe alternative of choice. Create a file as follows. Do '''not''' [[enable]] telnet.socket!\n\n{{hc|/etc/systemd/system/sshd.service.d/override.conf|2=\n[Unit]\nOnFailure=telnet.socket\n}}\n\nThat's it. Telnet is not available when {{ic|sshd}} is running. Should {{ic|sshd}} fail to start, a telnet session can be opened for recovery.\n\n=== Terminal background color based on host ===\n\nTo better distinguish when you are on different hosts, you can set a [https://bryangilbert.com/post/etc/term/dynamic-ssh-terminal-background-colors/ different background color based on the kind of host].\n\nThis solution works, but is not universal (ZSH only).\n\n=== Network specific configuration ===\n\nYou can use host configuration specific to the network you are connected to using a {{ic|Match exec}}.\n\nFor example, when using nmcli, and the connection is configured (manually or through DHCP) to use a search-domain:\n\n{{bc|1=\nMatch exec \"nmcli {{!}} grep domains: {{!}} grep example.com\"\n  CanonicalDomains example.com\n  # Should you use a different username on this network\n  #User username\n  # Use a different known_hosts file (for private network or synchronisation)\n  #UserKnownHostsFile <network>_known_hosts\n}}\n\n=== Private networks hostkeys verification ===\n\nBecause different servers on different networks are likely to share a common private IP address, you might want to handle them differently.\n\n{{Accuracy|The best solution would not need a warning to use something else in practice.}}\n\nThe best solution is to use the [[#Network specific configuration]] to use a different {{ic|UserKnownHostsFile}} depending on the network you are on. The second solution, best used as default when you are working on new/prototype networks, would be to simply ignore hostkeys for private networks:\n\n{{bc|1=\nHost 10.* 192.168.*.* 172.31.* 172.30.* 172.2?.* 172.1?.*\n    # Disable HostKey verification\n    # Trust HostKey automatically\n    StrictHostKeyChecking no\n    # Do not save the HostKey\n    UserKnownHostsFile=/dev/null\n    # Do not display: \"Warning: Permanently Added ...\"\n    LogLevel Error\n}}\n\n{{Accuracy|The {{ic|known_hosts}} file records an IP address even when you use hostname to access the server.}}\n\n{{Warning|In a production environment, make sure to either use the hostname to access the host and/or to use network specific known_hosts files.}}\n\n=== Run command at login ===\n\nIf you are using an interactive session, there are multiple ways to execute a command on login:\n\n* use the {{ic|authorized_keys}} file on the remote host (see {{ic|AUTHORIZED_KEYS FILE FORMAT}} in {{man|8|sshd}})\n* use {{ic|~/.ssh/rc}} on the remote host if the server has enabled the {{ic|PermitUserRC}} option\n* use your shell config file on the remote host, e.g. {{ic|.bashrc}}\n\n== Troubleshooting ==\n\n=== Checklist ===\n\nCheck these simple issues before you look any further.\n\n# The config directory {{ic|~/.ssh}}, its contents should be accessible only by the user (check this on both the client and the server), and the user's home folder should only be writable by the user: {{bc|<nowiki>\n$ chmod go-w ~\n$ chmod 700 ~/.ssh\n$ chmod 600 ~/.ssh/*\n$ chown -R $USER ~/.ssh\n</nowiki>}}\n# Check that the client's public key (e.g. {{ic|id_rsa.pub}}) is in {{ic|~/.ssh/authorized_keys}} on the server.\n# Check that you did not limit SSH access with {{ic|AllowUsers}} or {{ic|AllowGroups}} in the [[#Configuration_2|server config]].\n# Check if the user has set a password. Sometimes new users who have not yet logged in to the server do not have a password.\n# [[Append]] {{ic|LogLevel DEBUG}} to {{ic|/etc/ssh/sshd_config}}.\n# Use {{ic|journalctl -xe}} for possible (error) messages.\n# [[Restart]] {{ic|sshd}} and logout/login on both client and server.\n\n=== Connection refused or timeout problem ===\n\n==== Port forwarding ====\n\nIf you are behind a NAT mode/router (which is likely unless you are on a VPS or publicly addressed host), make sure that your router is forwarding incoming ssh connections to your machine. Find the server's internal IP address with {{ic|$ ip addr}} and set up your router to forward TCP on your SSH port to that IP. [http://portforward.com portforward.com] can help with that.\n\n==== Is SSH running and listening? ====\n\nThe [[ss]] utility shows all the processes listening to a TCP port with the following command line:\n\n $ ss --tcp --listening\n\nIf the above command do not show the system is listening to the port {{ic|ssh}}, then SSH is NOT running: check {{ic|/var/log/messages}} for errors etc.\n\n==== Are there firewall rules blocking the connection? ====\n\n[[Iptables]] may be blocking connections on port {{ic|22}}. Check this with:\n{{bc|# iptables -nvL}}\nand look for rules that might be dropping packets on the {{ic|INPUT}} chain. Then, if necessary, unblock the port with a command like: \n{{bc|\n# iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT\n}}\nFor more help configuring firewalls, see [[firewalls]].\n\n==== Is the traffic even getting to your computer? ====\n\nStart a traffic dump on the computer you are having problems with:\n\n # tcpdump -lnn -i any port ssh and tcp-syn\n\nThis should show some basic information, then wait for any matching traffic to happen before displaying it. Try your connection now. If you do not see any output when you attempt to connect, then something outside of your computer is blocking the traffic (e. g., hardware firewall, NAT router etc.).\n\n==== Your ISP or a third party blocking default port? ====\n\n{{Note|Try this step if you '''know''' you are not running any firewalls and you know you have configured the router for DMZ or have forwarded the port to your computer and it still does not work. Here you will find diagnostic steps and a possible solution.}}\n\nIn some cases, your ISP might block the default port (SSH port 22) so whatever you try (opening ports, hardening the stack, defending against flood attacks, et al) ends up useless. To confirm this, create a server on all interfaces (0.0.0.0) and connect remotely. \n\nIf you get an error message comparable to this:\n\n ssh: connect to host www.inet.hr port 22: Connection refused\n\nThat means the port is '''not''' being blocked by the ISP, but the server does not run SSH on that port (See [[wikipedia:Security through obscurity|security through obscurity]]).\n\nHowever, if you get an error message comparable to this:\n\n ssh: connect to host 111.222.333.444 port 22: Operation timed out \n\nThat means that something is rejecting your TCP traffic on port 22. Basically that port is stealth, either by your firewall or 3rd party intervention (like an ISP blocking and/or rejecting incoming traffic on port 22). If you know you are not running any firewall on your computer, and you know that Gremlins are not growing in your routers and switches, then your ISP is blocking the traffic.\n\nTo double check, you can run Wireshark on your server and listen to traffic on port 22. Since Wireshark is a Layer 2 Packet Sniffing utility, and TCP/UDP are Layer 3 and above (see [[wikipedia:Internet protocol suite|IP Network stack]]), if you do not receive anything while connecting remotely, a third party is most likely to be blocking the traffic on that port to your server.\n\n===== Diagnosis =====\n\n[[Install]] either {{Pkg|tcpdump}} or Wireshark with the {{Pkg|wireshark-cli}} package.\n\nFor tcpdump:\n\n # tcpdump -ni ''interface'' \"port 22\"\n\nFor Wireshark:\n\n $ tshark -f \"tcp port 22\" -i ''interface''\n\nwhere {{ic|''interface''}} is the network interface for a WAN connection (see {{ic|ip a}} to check). If you are not receiving any packets while trying to connect remotely, you can be very sure that your ISP is blocking the incoming traffic on port 22.\n\n===== Possible solution =====\n\nThe solution is just to use some other port that the ISP is not blocking. Open the {{ic|/etc/ssh/sshd_config}} and configure the file to use different ports. For example, add:\n\n Port 22\n Port 1234\n\nAlso make sure that other \"Port\" configuration lines in the file are commented out. Just commenting \"Port 22\" and putting \"Port 1234\" will not solve the issue because then sshd will only listen on port 1234. Use both lines to run the SSH server on both ports. \n\n[[Restart]] the server {{ic|sshd.service}} and you are almost done. You still have to configure your client(s) to use the other port instead of the default port. There are numerous solutions to that problem, but let us cover two of them here.\n\n==== Read from socket failed: connection reset by peer ====\n\nRecent versions of openssh sometimes fail with the above error message when connecting to older ssh servers. This can be worked around by setting various [[#Configuration|client options]] for that host. See {{man|5|ssh_config}} for more information about the following options.\n\nThe problem could be the {{ic|ecdsa-sha2-nistp*-cert-v01@openssh}} elliptical host key algorithms. These can be disabled by setting {{ic|HostKeyAlgorithms}} to a list excluding those algorithms.\n\nIf that does not work, it could be that the list of ciphers is too long. Set the {{ic|Ciphers}} option to a shorter list (fewer than 80 characters should be enough). Similarly, you can also try shortening the list of {{ic|MACs}}.\n\nSee also the [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] on the openssh bug forum.\n\n=== \"[your shell]: No such file or directory\" / ssh_exchange_identification problem ===\n\nOne possible cause for this is the need of certain SSH clients to find an absolute path (one returned by {{Ic|whereis -b [your shell]}}, for instance) in {{Ic|$SHELL}}, even if the shell's binary is located in one of the {{Ic|$PATH}} entries.\n\n===\"Terminal unknown\" or  \"Error opening terminal\" error message===\n\nIf you receive the above errors upon logging in, this means the server does not recognize your terminal. Ncurses applications like nano may fail with the message \"Error opening terminal\".\n\nThe correct solution is to install the client terminal's terminfo file on the server. This tells console programs on the server how to correctly interact with your terminal. You can get info about current terminfo using {{ic|$ infocmp}} and then find out [[pacman#Querying package databases|which package owns it]].\n\nIf you cannot [[install]] it normally, you can copy your terminfo to your home directory on the server:\n\n $ ssh myserver mkdir -p  ~/.terminfo/${TERM:0:1}\n $ scp /usr/share/terminfo/${TERM:0:1}/$TERM myserver:~/.terminfo/${TERM:0:1}/\n\nAfter logging in and out from the server the problem should be fixed.\n\n==== TERM hack ====\n\n{{Note|This should only be used as a last resort.}}\n\nAlternatively, you can simply set {{ic|1=TERM=xterm}} in your environment on the server (e.g. in {{ic|.bash_profile}}). This will silence the error and allow ncurses applications to run again, but you may experience strange behavior and graphical glitches unless your terminal's control sequences exactly match xterm's.\n\n=== Connection closed by x.x.x.x [preauth] ===\n\nIf you are seeing this error in your sshd logs, make sure you have set a valid HostKey\n\n HostKey /etc/ssh/ssh_host_rsa_key\n\n=== id_dsa refused by OpenSSH 7.0 ===\n\nOpenSSH 7.0 deprecated DSA public keys for security reasons. If you absolutely must enable them, set the [[#Configuration|config]] option {{ic|PubkeyAcceptedKeyTypes +ssh-dss}} (http://www.openssh.com/legacy.html does not mention this).\n\n=== No matching key exchange method found by OpenSSH 7.0 ===\n\nOpenSSH 7.0 deprecated the diffie-hellman-group1-sha1 key algorithm because it is weak and within theoretical range of the so-called Logjam attack (see http://www.openssh.com/legacy.html). If the key algorithm is needed for a particular host, ssh will produce an error message like this:\n\n Unable to negotiate with 127.0.0.1: no matching key exchange method found.\n Their offer: diffie-hellman-group1-sha1\n\nThe best resolution for these failures is to upgrade/configure the server to not use deprecated algorithms. If that is not possible, you can force the client to reenable the algorithm with the [[#Configuration|client option]] {{ic|KexAlgorithms +diffie-hellman-group1-sha1}}.\n\n=== tmux/screen session killed when disconnecting from SSH ===\n\nIf your processes get killed at the end of the session, it is possible that you are using socket activation and it gets killed by {{Pkg|systemd}} when it notices that the SSH session process exited. In that case there are two solutions. One is to avoid using socket activation by using {{ic|ssh.service}} instead of {{ic|ssh.socket}}. The other is to set {{ic|1=KillMode=process}} in the Service section of {{ic|ssh@.service}}.\n\nThe {{ic|1=KillMode=process}} setting may also be useful with the classic {{ic|ssh.service}}, as it avoids killing the SSH session process or the {{Pkg|screen}} or {{Pkg|tmux}} processes when the server gets stopped or restarted.\n\n=== SSH session stops responding ===\n\nSSH responds to [[Wikipedia:Software flow control|flow control commands]] {{ic|XON}} and {{ic|XOFF}}. It will freeze/hang/stop responding when you hit {{ic|Ctrl+s}}. Use {{ic|Ctrl+q}} to resume your session.\n\n=== Broken pipe ===\n\nIf you attempt to create a connection which results in a {{ic|Broken pipe}} response for {{ic|packet_write_wait}}, you should reattempt the connection in debug mode and see if the output ends in error:\n{{bc|debug3: send packet: type 1\npacket_write_wait: Connection to A.B.C.D port 22: Broken pipe}}\nThe {{ic|send packet}} line above indicates that the reply packet was never received. So, it follows that this is a ''QoS'' issue. To decrease the likely-hood of a packet being dropped, set {{ic|IPQoS}}:\n{{hc|/etc/ssh/ssh_config|Host *\n    IPQoS reliability}}\nThe {{ic|reliability}} ({{ic|0x04}}) type-of-service should resolve the issue, as well as {{ic|0x00}} and {{ic|throughput}} ({{ic|0x08}}).\n\n=== Slow daemon startup after reboot ===\n\nIf you are experiencing excessively long daemon startup times after reboots (e.g. several minutes before the daemon starts accepting connections), especially on headless or virtualized servers, it may be due to a lack of entropy.[https://bbs.archlinux.org/viewtopic.php?id=241954] This can be remedied by installing either [[Rng-tools]] or [[Haveged]], as appropriate for your system. However, take note of the associated security implications discussed in each package's respective wiki page.\n\n== See also ==\n\n* [http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]\n* OpenSSH key management: [http://www.ibm.com/developerworks/library/l-keyc/index.html Part 1] on IBM developerWorks, [https://www.funtoo.org/OpenSSH_Key_Management,_Part_2 Part 2], [https://www.funtoo.org/OpenSSH_Key_Management,_Part_3 Part 3] on funtoo.org\n* [https://stribika.github.io/2015/01/04/secure-secure-shell.html Secure Secure Shell]"
                    }
                ]
            },
            "4282": {
                "pageid": 4282,
                "ns": 0,
                "title": "Domain name resolution",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Domain Name System]]\n[[Category:Network configuration]]\n[[de:Resolv.conf]]\n[[es:Domain name resolution]]\n[[fr:Resolv.conf]]\n[[it:Resolv.conf]]\n[[ja:Resolv.conf]]\n[[pt:Domain name resolution]]\n[[zh-hans:Domain name resolution]]\n{{Related articles start}}\n{{Related|Network configuration}}\n{{Related articles end}}\nIn general, a [[Wikipedia:Domain name|domain name]] represents an IP address and is associated to it in the [[Wikipedia:Domain Name System|Domain Name System]] (DNS).\nThis article explains how to configure domain name resolution and resolve domain names.\n\n== Name Service Switch ==\n\n{{Expansion|Mention {{Pkg|nss-mdns}}, {{AUR|nss-tls-git}} and others.}}\n\nThe [[Wikipedia:Name Service Switch|Name Service Switch]] (NSS) facility is part of the GNU C Library ({{Pkg|glibc}}) and backs the {{man|3|getaddrinfo}} API, used to resolve domain names. NSS allows system databases to be provided by separate services, whose search order can be configured by the administrator in {{man|5|nsswitch.conf}}. The database responsible for domain name resolution is the ''hosts'' database, for which glibc offers the following services:\n\n* ''file'': reads the {{ic|/etc/hosts}} file, see {{man|5|hosts}}\n* ''dns'': the [[#Glibc resolver|glibc resolver]] which reads {{ic|/etc/resolv.conf}}, see {{man|5|resolv.conf}}\n\n[[Systemd]] provides three NSS services for hostname resolution:\n\n* {{man|8|nss-resolve}} - a caching DNS stub resolver, described in [[systemd-resolved]]\n* {{man|8|nss-myhostname}} - provides hostname resolution without having to edit {{ic|/etc/hosts}}, described in [[Network configuration#Local hostname resolution]]\n* {{man|8|nss-mymachines}} - provides hostname resolution for the names of local {{man|8|systemd-machined}} containers \n\n=== Resolve a domain name using NSS ===\n\nNSS databases can be queried with {{man|1|getent}}. A domain name can be resolved through NSS using:\n\n $ getent hosts ''domain_name''\n\n{{Note|While most programs resolve domain names using NSS, some may read {{ic|/etc/resolv.conf}} and/or {{ic|/etc/hosts}} directly. See [[Network configuration#Local hostname resolution]].}}\n\n== Glibc resolver ==\n\nThe glibc resolver reads {{ic|/etc/resolv.conf}} for every resolution to determine the nameservers and options to use. \n\n{{man|5|resolv.conf}} lists nameservers together with some configuration options.\nNameservers listed first are tried first, up to three nameservers may be listed. Lines starting with a number sign ({{ic|#}}) are ignored.\n\n{{Note|The glibc resolver does not cache queries. To improve query lookup time you can set up a caching resolver. Glibc resolver also can not validate DNSSEC. A DNSSEC capable validator resolver is required for that one. See [[#DNS servers]] for more information.}}\n\n=== Overwriting of /etc/resolv.conf ===\n\n[[Network manager]]s tend to overwrite {{ic|/etc/resolv.conf}}, for specifics see the corresponding section:\n\n* [[dhcpcd#/etc/resolv.conf]]\n* [[netctl#resolv.conf]]\n* [[NetworkManager#/etc/resolv.conf]]\n\nTo prevent programs from overwriting {{ic|/etc/resolv.conf}}, it is also possible to write-protect it by setting the immutable [[file attribute]]:\n\n # chattr +i /etc/resolv.conf\n\n{{Tip|If you want multiple processes to write to {{ic|/etc/resolv.conf}}, you can use [[resolvconf]].}}\n\n=== Limit lookup time ===\n\nIf you are confronted with a very long hostname lookup (may it be in [[pacman]] or while browsing), it often helps to define a small timeout after which an alternative nameserver is used. To do so, put the following in {{ic|/etc/resolv.conf}}.\n\n options timeout:1\n\n=== Hostname lookup delayed with IPv6 ===\n\nIf you experience a 5 second delay when resolving hostnames it might be due to a DNS-server/Firewall misbehaving and only giving one reply to a parallel A and AAAA request.[https://udrepper.livejournal.com/20948.html] You can fix that by setting the following option in {{ic|/etc/resolv.conf}}:\n\n options single-request\n\n=== Local domain names ===\n\nTo be able to use the hostname of local machine names without the fully qualified domain name, add a line to {{ic|/etc/resolv.conf}} with the local domain such as:\n domain example.org\nThat way you can refer to local hosts such as {{ic|mainmachine1.example.org}} as simply {{ic|mainmachine1}} when using the ''ssh'' command, but the [[#Lookup utilities|drill]] command still requires the fully qualified domain names in order to perform lookups.\n\n== Lookup utilities ==\n\nTo query specific DNS servers and DNS/[[DNSSEC]] records you can use dedicated DNS lookup utilities. These tools implement DNS themselves and do not use [[#Name Service Switch|NSS]].\n\n* {{Pkg|ldns}} provides {{man|1|drill}}, which is a tool designed to retrieve information out of the DNS.\n\nFor example, to query a specific nameserver with ''drill'' for the TXT records of a domain:\n\n $ drill @''nameserver'' TXT ''domain''\n\nUnless a DNS server is specified, ''drill'' will use the nameservers defined in {{ic|/etc/resolv.conf}}.\n\n* {{Pkg|bind-tools}} provides {{man|1|dig}}, {{man|1|host}}, {{man|1|nslookup}} and a bunch of {{ic|dnssec-}} tools.\n\n{{Tip|Some DNS servers ship with their own DNS lookup utilities. E.g. {{Pkg|knot}} has {{man|1|khost}} and {{man|1|kdig}}, [[Unbound]]\u2014{{man|1|unbound-host}}.}}\n\n== Resolver performance ==\n\nThe Glibc resolver does not cache queries. To implement local caching, use [[systemd-resolved]] or set up a local caching [[#DNS servers|DNS server]] and use it as the name server by setting {{ic|127.0.0.1}} and {{ic|::1}} as the name servers in {{ic|/etc/resolv.conf}} or in {{ic|/etc/resolvconf.conf}} if using [[openresolv]].\n\n{{Tip|\n* The ''drill'' or ''dig'' [[#Lookup utilities|lookup utilities]] report the query time.\n* A router usually sets its own caching resolver as the network's DNS server thus providing DNS cache for the whole network. \n* If it takes too long to switch to the next DNS server you can try [[#Limit lookup time|decreasing the timeout]].}}\n\n== Privacy and security ==\n\nThe DNS protocol is unencrypted and does not account for confidentiality, integrity or authentication, so if you use an untrusted network or a malicious ISP, your DNS queries can be eavesdropped and the responses [[Wikipedia:Man-in-the-middle attack|manipulated]]. Furthermore, DNS servers can conduct [[Wikipedia:DNS hijacking|DNS hijacking]].\n\nYou need to trust your DNS server to treat your queries confidentially. DNS servers are provided by ISPs and [[#Third-party DNS services|third-parties]]. Alternatively you can run your own [[#DNS servers|recursive name server]], which however takes more effort. If you use a [[DHCP]] client in untrusted networks, be sure to set static name servers to avoid using and being subject to arbitrary DNS servers. To secure your communication with a remote DNS server you can use an encrypted protocol, like [[Wikipedia:DNS over TLS|DNS over TLS]], [[Wikipedia:DNS over HTTPS|DNS over HTTPS]] or [[Wikipedia:DNSCrypt|DNSCrypt]], provided that both the upstream server and your [[#DNS servers|resolver]] support the protocol. To verify that responses are actually from [[Wikipedia:Authoritative name server|authoritative name servers]], you can validate [[DNSSEC]], provided that both the upstream server(s) and your [[#DNS servers|resolver]] support it.\n\nBe aware that client software, such as major web browsers, may also (start to) implement some of the encrypted DNS protocols. While the encryption of queries may often be seen as a bonus, it also means the software sidetracks queries around the system resolver configuration.[https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/#trr-and-doh] [https://support.mozilla.org/en-US/kb/configuring-networks-disable-dns-over-https Mozilla has proposed] disabling application-level DNS if the system resolver cannot resolve the domain \"[http://use-application-dns.net/ use-application-dns.net]\". Currently this check is only implemented in [[Firefox]].\n\n== Third-party DNS services ==\n\n{{Note|Before using a third-party DNS service, check its privacy policy for information on how user data is handled. User data has value and can be sold to other parties.}}\n\nThere are various [[Wikipedia:Public recursive name server#List of public DNS service operators|third-party DNS services]] available, some of which also have dedicated software:\n\n* {{App|dingo|A DNS client for Google DNS over HTTPS|https://github.com/pforemski/dingo|{{AUR|dingo-git}}}}\n* {{App|opennic-up|Automates the renewal of the DNS servers with the most responsive OpenNIC servers|https://github.com/kewlfft/opennic-up|{{AUR|opennic-up}}}}\n\n== DNS servers ==\n\n[[DNS]] servers can be [[Wikipedia:Authoritative name server|authoritative]] and [[Wikipedia:Name server#Recursive query|recursive]]. If they are neither, they are called '''stub resolvers''' and simply forward all queries to another recursive name server. Stub resolvers are typically used to introduce DNS caching on the local host or network. Note that the same can also be achieved with a fully-fledged name server. This section compares the available DNS servers, for a more detailed comparison, refer to [[Wikipedia:Comparison of DNS server software]].\n\n{{Expansion|Fill in the unknowns. Add {{AUR|deadwood}}.}}\n\n{| class=\"wikitable sortable\" style=\"text-align:center\"\n! rowspan=2 | Name !! rowspan=2 | Package !! colspan=4 | Capabilities !! rowspan=2 | [[resolvconf]] !! colspan=4 | Supported protocols\n|-\n! [[Wikipedia:Authoritative name server|Authoritative]] !! [[Wikipedia:Name server#Recursive query|Recursive]] !! [[Wikipedia:Name server#Caching name server|Cache]] !!  [[Wikipedia:Domain Name System Security Extensions#The lookup procedure|Validates]]<br>[[DNSSEC]]  !! [[Wikipedia:Domain Name System|DNS]] !! [[Wikipedia:DNSCrypt|DNSCrypt]] !! [[Wikipedia:DNS over TLS|DNS<br>over TLS]] !! [[Wikipedia:DNS over HTTPS|DNS<br>over HTTPS]]\n|-\n! [[dnscrypt-proxy]]\n| {{Pkg|dnscrypt-proxy}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{Y|Server}} || {{Y|Resolver}} || {{No}} || {{Yes}}\n|-\n! [[Rescached]]\n| {{AUR|rescached-git}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Yes|https://github.com/shuLhan/rescached-go#integration-with-openresolv}} || {{Yes}} || {{No}} || {{No}} || {{Y|Limited}}<sup>1</sup>\n|-\n! [[Stubby]]\n| {{Pkg|stubby}} || {{No}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{Y|Server}} || {{No}} || {{Y|Resolver}} || {{No}}\n|-\n!style=\"white-space: nowrap;\"| [[systemd-resolved]]\n| {{Pkg|systemd}} || {{No}} || {{No}} || {{Yes}} || {{Yes}} || {{G|[[systemd-resolvconf|Yes]]}} || {{Y|Resolver and [https://github.com/systemd/systemd/issues/4621#issuecomment-260050033 limited server]}} || {{No}} || {{Y|Insecure resolver}}<sup>2</sup> || {{No|https://github.com/systemd/systemd/issues/8639}}\n|-\n! [[dnsmasq]]\n| {{Pkg|dnsmasq}} || {{Y|Partial}}<sup>3</sup> || {{No}} || {{Yes}} || {{Yes}} || {{G|[[openresolv#Subscribers|Yes]]}} || {{Yes}} || {{No}} || {{No|http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2018q2/012131.html}} || {{No}}\n|-\n! [[BIND]]\n| {{Pkg|bind}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{G|[[openresolv#Subscribers|Yes]]}} || {{Yes}} || {{No}} || {{Y|[[stunnel#DNS over TLS]]}}|| {{No}}\n|-\n! [[Knot Resolver]]\n| {{AUR|knot-resolver}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{Yes}} || {{No}} || {{Yes}} || {{Y|[https://knot-resolver.readthedocs.io/en/stable/modules.html#dns-over-http-doh Server]}}\n|-\n! [[Wikipedia:MaraDNS|MaraDNS]]\n| {{AUR|maradns}} || {{Yes}} || {{Yes}} || {{Yes}} || {{No}} || {{No}} || {{Yes}} || {{No}} || {{No}} || {{No}}\n|-\n! [[pdnsd]]\n| {{Pkg|pdnsd}} || {{Yes}} || {{Yes}} || {{G|Permanent}} || {{No}} || {{G|[[openresolv#Subscribers|Yes]]}} || {{Yes}} || {{No}} || {{No}} || {{No}}\n|-\n! [[Wikipedia:PowerDNS#Recursor|PowerDNS Recursor]]\n| {{Pkg|powerdns-recursor}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{G|[[openresolv#Subscribers|Yes]]}} || {{Yes}} || {{No}} || {{No}} || {{No}}\n|-\n! [[Unbound]]\n| {{Pkg|unbound}} || {{Yes}} || {{Yes}} || {{Yes}} || {{Yes}} || {{G|[[openresolv#Subscribers|Yes]]}} || {{Yes}} || {{Y|Server}} || {{Yes}} || {{No|1=https://nlnetlabs.nl/bugs-script/show_bug.cgi?id=1200}}\n|}\n\n# Only forwards using DNS over HTTPS when Rescached itself is queried using DNS over HTTPS.[https://github.com/shuLhan/rescached-go#integration-with-dns-over-https]\n# From {{man|5|resolved.conf}}: ''Note as the resolver is not capable of authenticating the server, it is vulnerable for \"man-in-the-middle\" attacks.''[https://github.com/systemd/systemd/issues/9397]\n# From [[Wikipedia:Comparison of DNS server software#cite_note-masqauth-28|Wikipedia]]: dnsmasq has limited authoritative support, intended for internal network use rather than public Internet use.\n\n=== Authoritative-only servers ===\n\n{| class=\"wikitable sortable\" style=\"text-align:center\"\n! Name !! Package !!  [[DNSSEC]] !! Geographic<br>balancing\n|-\n! gdnsd\n| {{Pkg|gdnsd}} || {{No}} || {{Yes}}\n|-\n! [[Wikipedia:Knot DNS|Knot DNS]]\n| {{Pkg|knot}} || {{Yes}} || {{Yes|https://www.knot-dns.cz/docs/2.7/singlehtml/#geoip-geography-based-responses}}\n|-\n! [[NSD]]\n| {{Pkg|nsd}} || {{No}} || {{No}}\n|-\n! [[PowerDNS]]\n| {{Pkg|powerdns}} || {{Yes}} || {{Yes}}\n|}\n\n=== Conditional forwarding ===\n\n{{Remove|Pointless section, there is no software list or instructions.|section=Template remove of Conditional forwarding}}\n\nIt is possible to use specific DNS resolvers when querying specific domain names. This is particularly useful when connecting to a VPN, so that queries to the VPN network are resolved by the VPN's DNS, while queries to the internet will still be resolved by your standard DNS resolver. It can also be used on local networks.\n\n{{Merge|#Glibc resolver|Keep glibc resolver's limitations in one place.|section=Mentionning glibc limitation}}\n\nTo implement it, you need to use a [[#DNS servers|local resolver]] because glibc does not support it.\n\nIn a dynamic environment (laptops and to some extents desktops), you need to configure your resolver based on the network(s) you are connected to. The best way to do that is to use [[openresolv]] because it supports [[openresolv#Subscribers|multiple subscribers]]. Some [[network manager]]s support it, either through openresolv, or by configuring the resolver directly.\n\n==== Software combination support ====\n\n===== openresolv user support =====\n\n{| class=\"wikitable sortable\"\n|+ DHCP Clients\n! Software !! Support ?\n|-\n| [[dhcpcd]] || Unknown\n|-\n| [[iwd]] || Unknown\n|}\n\n{| class=\"wikitable sortable\"\n|+ Network managers\n! Software !! Support ?\n|-\n| [[NetworkManager]] || {{Y|Partial}}\n|-\n| [[netctl]] || Unknown\n|}\n\n{| class=\"wikitable sortable\"\n|+ VPN Clients\n! Software !! Support ?\n|-\n| [[OpenConnect]] || Unknown\n|-\n| [[OpenVPN]] || Unknown\n|-\n| [[strongSwan]] || Unknown\n|-\n| [[WireGuard]] || Unknown\n|}\n\n===== openresolv subscriber support =====\n\n{| class=\"wikitable sortable\"\n! Software !! Support ?\n|-\n| [[BIND]] || Unknown\n|-\n| [[dnsmasq]] || {{Yes}}\n|-\n| [[pdnsd]] || Unknown\n|-\n| {{Pkg|powerdns-recursor}} || Unknown\n|-\n| [[Unbound]] || Unknown\n|}\n\n===== Other solutions =====\n\nNetworkManager [[NetworkManager#DNS caching and conditional forwarding|supports conditional forwarding without openresolv]].\n\n{{Note|Although you could use other conditions for forwarding (for example, source IP address), \"conditional forwarding\" appears to be the name used for the \"domain queried\" condition.}}\n\n== See also ==\n\n* [https://www.tldp.org/LDP/nag2/x-087-2-resolv.html Linux Network Administrators Guide]\n* [https://www.debian.org/doc/manuals/debian-handbook/sect.hostname-name-service.en.html#sect.name-resolution Debian Handbook]\n* [[RFC:7706]] - Decreasing Access Time to Root Servers by Running One on Loopback\n* [http://linux-ip.net/pages/diagrams.html#domain-name-system-overview Domain name system overview] - Diagram about DNS\n* [[Alternative DNS services]]"
                    }
                ]
            },
            "4426": {
                "pageid": 4426,
                "ns": 0,
                "title": "Uniform look for Qt and GTK applications",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Widget toolkits]]\n[[Category:Eye candy]]\n[[es:Uniform look for Qt and GTK applications]]\n[[it:Uniform look for Qt and GTK applications]]\n[[ja:Qt \u3068 GTK \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u5916\u89b3\u306e\u7d71\u5408]]\n[[zh-hans:Uniform look for Qt and GTK applications]]\n{{Related articles start}}\n{{Related|GTK}}\n{{Related|Qt}}\n{{Related articles end}}\n[[Qt]] and [[GTK]] based programs both use a different widget toolkit to render the graphical user interface. Each come with different themes, styles and icon sets by default, among other things, so the \"look and feel\" differ significantly. This article will help you make your Qt and GTK applications look similar for a more streamlined and integrated desktop experience.\n\n== Overview ==\n\nTo get a similar look between the toolkits, you will most likely have to modify the following:\n* '''Theme''': The custom appearance of an application, widget set, etc. It usually consists of a style, an icon theme and a color theme.\n* '''Style''': The graphical layout and look of the widget set.\n* '''Icon Theme''': A set of global icons.\n* '''Color Theme''': A set of global colors that are used in conjunction with the style.\n\nYou can choose various approaches:\n* Modify [[#Styles for both Qt and GTK|GTK and Qt styles]] separately with the tools listed below for each toolkit and aim for choosing similarly looking themes (style, colors, icons, cursors, fonts).\n* Use a special [[#Theme engines|theme engine]], which intermediates the modification of the other graphical toolkit to match your main toolkit.\n\n== Styles for both Qt and GTK ==\nThere are widget style sets available for the purpose of integration, where builds are written and provided for both Qt and GTK, all major versions included. With these, you can have one look for all applications regardless of the toolkit they had been written with.\n\n{{Tip|You may want to apply user defined styles to root applications, see [[GTK#Theme not applied to root applications]] and [[Qt#Theme not applied to root applications]].}}\n{{Note|1=Since version 3.16, GTK 3 [https://bbs.archlinux.org/viewtopic.php?pid=1518404#p1518404 does not support] non-CSS themes, hence previous solutions such as Oxygen-Gtk are [https://bugs.kde.org/show_bug.cgi?id=340288 no longer viable] options.}}\n\n=== Breeze ===\n\nBreeze is the default Qt style of KDE Plasma. It can be installed with the {{Pkg|breeze}} package for Qt5, the {{AUR|breeze-kde4}} package for Qt4, and the {{Pkg|breeze-gtk}} package for GTK 2 and GTK 3.\n\nOnce installed, you can use one of the many [[GTK#Configuration tools|GTK configuration tools]] to change the GTK theme. \n\nIf running KDE Plasma, install {{pkg|kde-gtk-config}} and either run it from the command line, or go to ''System Settings > Application Style  > GNOME Application Style (GTK)''. Fonts, icon themes, cursors, and widget styles set in System Settings outside of the GTK configuration module will affect Qt only; GTK settings should be set manually using the previously mentioned module.\n\n=== Adwaita ===\n\nAdwaita is the default GNOME theme. The GTK 3 version is included in the {{Pkg|gtk3}} package, while the GTK 2 version is in {{Pkg|gnome-themes-extra}}. [https://github.com/MartinBriza/adwaita-qt adwaita-qt] is a Qt port of the Adwaita theme. Unlike [[#QGtkStyle]], which mimics the GTK 2 theme, it provides a native Qt style made to look like the GTK 3 Adwaita. It can be [[install|installed]] with the {{AUR|adwaita-qt4}} and {{AUR|adwaita-qt}} packages for the Qt 4 and 5 versions, respectively.\n\nTo set the Qt style as default:\n\n* For Qt4, it can be enabled with ''Qt Configuration'' ({{ic|qtconfig-qt4}}), choose ''adwaita'' under ''Appearance > GUI Style''. Alternatively, edit the {{ic|/etc/xdg/Trolltech.conf}} (system-wide) or {{ic|~/.config/Trolltech.conf}} (user-specific) file:\n\n{{hc|~/.config/Trolltech.conf|2=\n...\n[Qt]\nstyle=adwaita\n...\n}}\n\n* For Qt 5, it can be enabled by setting the following [[Environment variables#Graphical applications|environment variable]]{{Broken section link}}: {{ic|1=QT_STYLE_OVERRIDE=adwaita}}. Alternatively, use {{Pkg|qt5ct}} package. For more detailed instructions, see [[Qt#Configuration of Qt5 apps under environments other than KDE Plasma]].\n\n=== Kvantum ===\n\nKvantum ({{Pkg|kvantum-qt5}}) is customizable SVG-based theme engine for Qt5 that comes with a variety of built-in styles, including versions of some of popular GTK themes such as Adapta, Arc, Ambiance, Materia.\n\n== Theme engines ==\n\nA ''theme engine'' can be thought of as a thin layer API which translates themes (excluding icons) between one or more toolkits. These engines add some extra code in the process and it is arguable that this kind of a solution is not as elegant and optimal as using native styles.\n\n=== QGtkStyle ===\n\n{{Note|QGtkStyle has been removed from {{Pkg|qt5-base}} 5.7.0 [https://github.com/qtproject/qtbase/commit/899a815414e95da8d9429a4a4f4d7094e49cfc55] and added to {{Pkg|qt5-styleplugins}} [https://github.com/qtproject/qtstyleplugins/commit/102da7d50231fc5723dba6e72340bef3d29471aa]}}\n\n{{Warning|Depending on GTK 2 theme, this style may cause rendering issues such as transparent fonts or inconsistent widgets.}}\n\nThis Qt style uses GTK 2 to render all components to blend in with [[GNOME]] and similar GTK based environments. Beginning with Qt 4.5, this style is included in Qt. It requires {{Pkg|gtk2}} to be installed and configured.\n\nThis is the default Qt4 style in Cinnamon, GNOME and Xfce, and the default Qt5 style in Cinnamon, GNOME, MATE, LXDE and Xfce. In other environments:\n\n* For Qt4, it can be enabled with ''Qt Configuration'' ({{ic|qtconfig-qt4}}), choose ''GTK'' under ''Appearance > GUI Style''. Alternatively, edit the {{ic|/etc/xdg/Trolltech.conf}} (system-wide) or {{ic|~/.config/Trolltech.conf}} (user-specific) file:\n\n{{hc|~/.config/Trolltech.conf|2=\n...\n[Qt]\nstyle=GTK+\n...\n}}\n\n* For Qt 5, it can be enabled by installing {{Pkg|qt5-styleplugins}} and setting the following [[Environment variables#Graphical environment|environment variable]]: {{ic|1=QT_QPA_PLATFORMTHEME=gtk2}}\n\nFor full uniformity, make sure that the configured [[GTK#Themes|GTK theme]] supports both GTK 2 and GTK 3. If your preferred theme has inconsistent rendering after configuring Qt to use GTK2, install {{Pkg|gtk-theme-switch2}} and choose a theme.\n\n=== QGnomePlatform ===\n\nThis Qt 5 platform theme applies the appearance settings of GNOME for Qt applications. It can be installed with the {{AUR|qgnomeplatform}} package or the {{AUR|qgnomeplatform-git}} package for the development version. It does not provide a Qt style itself, instead it requires a [[#Styles for both Qt and GTK|style that support both Qt and GTK]].\n\nThis platform theme is enabled automatically in GNOME since version 3.20. For other systems, it can be enabled by setting the following [[Environment variables#Graphical environment|environment variable]]: {{ic|1=QT_QPA_PLATFORMTHEME=qgnomeplatform}}.\n\n== Tips and tricks ==\n=== KDE file dialogs for GTK applications ===\n\n'''Chromium'''\n\nAt least for chromium installing {{ic|kdialog}} makes chromium used kde file dialog ( so `KGtk-wrapper` is not required )\n\n{{Out of date|KGtk-wrapper has not been updated for years, and can't be used anymore - several dependencies are missing.}}\n\n{{Warning|Some GTK applications may not be compatible with KGtk-wrapper (e.g. [[Chromium]]), sometimes the wrapper makes the application crash ([[Firefox]] or [[Thunderbird]]).}}\n\n{{AUR|kgtk}} from the [[AUR]] is a wrapper script which uses {{ic|LD_PRELOAD}} to force KDE file dialogs in GTK 2.x apps. Once installed you can run GTK 2.x applications with {{ic|kgtk-wrapper}} in two ways (using [[GIMP]] in the examples):\n\n* Calling {{ic|kgtk-wrapper}} directly and using the GTK 2.x binary as an argument:\n:{{bc|$ /usr/bin/kgtk-wrapper gimp}}\n* Modifying the KDE .desktop shortcuts files you can find at {{ic|/usr/share/applications/}} to prefix the {{ic|Exec}} statement with kgtk-wrapper.\n:e.g. with [[GIMP]], edit the {{ic|/usr/share/applications/gimp.desktop}} shortcut file and replace {{ic|1=Exec=gimp-2.8 %U}} by {{ic|1=Exec=kgtk-wrapper gimp-2.8 %U}}.\n\n'''Firefox'''\n\nFirefox can use kde file dialogs natively. See [[Firefox#KDE/GNOME integration]]\n\n=== Using a GTK icon theme in Qt apps ===\n\n{{Style|Duplicates [[environment variables]]}}\n\nIf you are running Plasma, install {{Pkg|kde-gtk-config}} and select the icon-theme under ''System Settings > Application Style > GTK''.\n\nIf you are using [[GNOME]], first check if {{Pkg|dconf-editor}} is installed.\n\nThen, run {{ic|dconf-editor}} and look under ''org > gnome > desktop > interface'' for {{ic|icon-theme}} key and change it to your preferred icon theme. \n\nIf you are not using [[GNOME]], for example if you are running a minimal system with {{Pkg|i3-wm}}, first install {{Pkg|dconf-editor}}. \n\nThen, run {{ic|dconf-editor}} and look under ''org > gnome > desktop > interface'' for {{ic|icon-theme}} key and change it to your preferred icon theme. \n\nSince, you are not using [[GNOME]], you might have to set the value of {{ic|DESKTOP_SESSION}} in your profile. To do that execute the below code in a terminal and restart your system.\n\n $ echo 'export DESKTOP_SESSION=gnome' >> /etc/profile\n\n'''OR'''\n\nSet {{ic|1=export DESKTOP_SESSION=gnome}} somewhere in your {{ic|~/.xinitrc}} or, if you are using a [[Display manager]] in [[Xprofile]].\n\n{{Note| If the icon theme was not applied, you might want to check if the name that you entered of your preferred theme, was in the correct format. For example, if you want to apply the currently active icon theme to your QT applications, you can find the correct format of it's name with the command:\n\n{{bc|1=$ cat ~/.gtkrc-2.0 {{!}} grep icon-theme {{!}} cut -d= -f2}}\n\n}}\n\n=== Add Title bar and frame to GTK3 applications under KDE Plasma ===\n\nTo have Gnome/GTK applications display with a KDE/Plasma title bar and frame, install {{AUR|gtk3-nocsd-git}} and restart your window manager to load the updated library path.\n\nYou can also run Gtk application with the wrapper:\n $ gtk3-nocsd gedit\n\n=== Improve subpixel rendering of GTK apps under KDE Plasma ===\n\nSee [[Font configuration#LCD filter]].\n\n== Troubleshooting ==\n\n=== Qt applications do not use QGtkStyle ===\n\n{{Out of date|GTK-Qt Engine has been unmaintained for a while.|section=For removal or needs rewrite}}\n\nQt will not apply QGtkStyle correctly if GTK is using the [[#GTK-Qt Engine|GTK-Qt Engine]]{{Broken section link}}. Qt determines whether the GTK-Qt Engine is in use by reading the GTK configuration files listed in the environmental variable {{ic|GTK2_RC_FILES}}. If the environmental variable is not set properly, Qt assumes you are using the engine, sets QGtkStyle to use the style GTK style ''Clearlooks'', and outputs an error message:\n\n QGtkStyle cannot be used together with the GTK_Qt engine.\n\nAnother error you may get after launching {{ic|qtconfig-qt4}} from a shell and selecting the GTK style is:\n\n QGtkStyle was unable to detect the current GTK theme.\n\nAccording to [https://bbs.archlinux.org/viewtopic.php?id&#61;99175&p&#61;1 this thread], you may simply have to install {{AUR|libgnomeui}} to solve this issue. This has the added benefit that you do not need to edit a file every time you change your theme via a graphical tool, like the one provided by xfce.\n\nUsers of [[Openbox]] and other non-GNOME environments may encounter this problem. To solve this, first add the following to your {{ic|.xinitrc}} file:\n\n{{hc|.xinitrc|<nowiki>\n...\nexport GTK2_RC_FILES=\"$HOME/.gtkrc-2.0\"\n...\n</nowiki>}}\n\n{{Note|\n* Make sure to add this line before invoking the window manager.\n* You can add multiple paths by separating them with colons.\n* Make sure to use {{ic|$HOME}} instead of {{ic|~}} as it will not properly expand to the user's home directory.\n}}\n\nThen specify the theme you want in the {{ic|~/.gtkrc-2.0}} file using a [[GTK#Configuration_tools|dedicated application]] or manually, by adding:\n\n{{hc|.gtkrc-2.0|<nowiki>\n...\ngtk-theme-name=\"[name of theme]\"\n...\n</nowiki>}}\n\nSome tools only insert the following include directive in {{ic|~/.gtkrc-2.0}}:\n\n{{hc|.gtkrc-2.0|\n...\ninclude \"/usr/share/themes/SomeTheme/gtk-2.0/gtkrc\"\n...\n}}\n \nwhich apparently is not recognized by all versions of QGtkStyle. You can hotfix this problem by inserting the {{ic|gtk-theme-name}} manually in your {{ic|~/.gtkrc-2.0}} file like above.\n\n{{Note|Style-changing applications will most probably rewrite the {{ic|~/.gtkrc-2.0}} file the next time you change themes.}}\n\nIf these steps do not work, install {{Pkg|gconf}} and run this command:\n\n gconftool-2 --set --type string /desktop/gnome/interface/gtk_theme [name of theme]\n\nIf you further want to set the same icon and cursor theme, then you have to specify them, too.\n\n gconftool-2 --set --type string /desktop/gnome/interface/icon_theme Faenza-Dark\n\nThis sets the icon theme to Faenza-Dark located in {{ic|/usr/share/icons/Faenza-Dark}}. For the cursor theme you first have to set the gconf value.\n\n gconftool-2 --set --type string /desktop/gnome/peripherals/mouse/cursor_theme Adwaita\n\nThen you will have to create the file {{ic|/usr/share/icons/default/index.theme}} with the following lines:\n\n [Icon Theme]\n Inherits=Adwaita\n\n=== Themes not working in GTK apps ===\n\nIf the style or theme engine you set up is not showing in your GTK applications then it is likely your GTK settings files are not being loaded for some reason. You can check where your system expects to find these files by doing the following..\n $ export | grep gtk\n\nUsually the expected files should be {{ic|~/.gtkrc}} for GTK1 and {{ic|~/.gtkrc2.0}} or {{ic|~/.gtkrc2.0-kde}} for GTK 2.x.\n\n=== GTK apps don't use svg (breeze) icons after system upgrade ===\n\nTry to run this to fix this issue:\n # gdk-pixbuf-query-loaders --update-cache"
                    }
                ]
            },
            "4489": {
                "pageid": 4489,
                "ns": 0,
                "title": "Fcitx (\u7b80\u4f53\u4e2d\u6587)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Localization (\u7b80\u4f53\u4e2d\u6587)]]\n[[en:Fcitx]]\n[[ja:Fcitx]]\n{{Related articles start}}\n{{Related|IBus}}\n{{Related|SCIM}}\n{{Related|UIM}}\n{{Related articles end}}\n{{TranslationStatus (\u7b80\u4f53\u4e2d\u6587)|Fcitx|2018-08-31|535074}}\n[[Wikipedia:Fcitx|Fcitx]] (Flexible Input Method Framework) \u2500\u2500\u5373\u5c0f\u4f01\u9e45\u8f93\u5165\u6cd5\uff0c\u5b83\u662f\u4e00\u4e2a\u4ee5 GPL \u65b9\u5f0f\u53d1\u5e03\u7684[[wikipedia:Input_method|\u8f93\u5165\u6cd5]]\u5e73\u53f0,\u53ef\u4ee5\u901a\u8fc7\u5b89\u88c5\u5f15\u64ce\u652f\u6301\u591a\u79cd\u8f93\u5165\u6cd5\uff0c\u652f\u6301\u7b80\u5165\u7e41\u51fa\uff0c\u662f\u5728 Linux \u64cd\u4f5c\u7cfb\u7edf\u4e2d\u5e38\u7528\u7684\u4e2d\u6587\u8f93\u5165\u6cd5\u3002\u5b83\u7684\u4f18\u70b9\u662f\uff0c\u77ed\u5c0f\u7cbe\u608d\u3001\u8ddf\u7a0b\u5e8f\u7684\u517c\u5bb9\u6027\u6bd4\u8f83\u597d\u3002\n\n== \u5b89\u88c5 ==\n\n[[\u5b89\u88c5]]\u8f6f\u4ef6\u5305 {{Pkg|fcitx}}\u3002\n\n=== \u8f93\u5165\u6cd5\u5f15\u64ce ===\nFcitx \u5185\u7f6e\u7684\u8f93\u5165\u6cd5\u652f\u6301\u4e2d\u6587 [[wikipedia:Pinyin|\u62fc\u97f3]] \u548c\u57fa\u4e8e\u5b57\u7b26\u8868\u7684\u8f93\u5165(\u4f8b\u5982[[wikipedia:Wubi method|\u4e94\u7b14]]). \u6839\u636e\u8bed\u8a00\u7684\u4e0d\u540c\uff0c\u6709\u4e0d\u540c\u7684\u8f93\u5165\u6cd5\u5f15\u64ce\u53ef\u4ee5\u9009\u62e9\u3002\n\n==== \u4e2d\u6587 ====\n\n\u5728 Fcitx \u652f\u6301\u7684\u62fc\u97f3\u8f93\u5165\u6cd5\u4e2d\uff0c\u5185\u7f6e\u62fc\u97f3\u54cd\u5e94\u901f\u5ea6\u6700\u5feb\u3002Fcitx \u540c\u6837\u652f\u6301\u6d41\u884c\u7684\u7b2c\u4e09\u65b9\u62fc\u97f3\u8f93\u5165\u6cd5\u4ee5\u63d0\u4f9b\u66f4\u597d\u7684\u6574\u53e5\u8f93\u5165\u6548\u679c. \n\n* {{Pkg|fcitx-sunpinyin}} \u5728\u8f93\u5165\u901f\u5ea6\u548c\u8f93\u5165\u7cbe\u5ea6\u4e4b\u95f4\u6709\u8f83\u597d\u7684\u5e73\u8861\u3002\n* {{Pkg|fcitx-libpinyin}} \u7b97\u6cd5\u6bd4 sunpinyin \u5148\u8fdb\u3002\n* {{Pkg|fcitx-rime}}, \u5373\u8457\u540d\u4e2d\u6587\u8f93\u5165\u6cd5 [[Rime IME]]\u7684 Fcitx \u7248\u672c\u3002\u4f46\u5b83\u4e0d\u652f\u6301 Fcitx \u672c\u8eab\u7684 [[#\u7279\u6b8a\u7b26\u53f7]] \u548c [[#\u5feb\u901f\u8f93\u5165]] \u529f\u80fd\uff0c\u81ea\u5b9a\u4e49\u8bbe\u7f6e\u8bf7\u53c2\u89c1[http://rime.im \u5b98\u65b9]\uff0c\n* {{Pkg|fcitx-googlepinyin}}, Google \u62fc\u97f3\u8f93\u5165\u6cd5 for Android.\n* {{AUR|fcitx-sogoupinyin}}, \u641c\u72d7\u8f93\u5165\u6cd5for linux\u2014\u652f\u6301\u5168\u62fc\u3001\u7b80\u62fc\u3001\u6a21\u7cca\u97f3\u3001\u4e91\u8f93\u5165\u3001\u76ae\u80a4\u3001\u4e2d\u82f1\u6df7\u8f93\u5165\u3002[http://pinyin.sogou.com/linux/ \u5b98\u65b9\u7f51\u5740]\n\u4e5f\u53ef\u4ee5\u901a\u8fc7\u6dfb\u52a0[https://www.archlinuxcn.org/archlinux-cn-repo-and-mirror/ archlinuxcn\u6e90]\u540e\u7528pacman\u5b89\u88c5\u3002\n* {{Pkg|fcitx-cloudpinyin}} \u53ef\u4ee5\u63d0\u4f9b\u4e91\u62fc\u97f3\u8f93\u5165\u7684\u652f\u6301\uff0c\u652f\u6301 Fcitx \u4e0b\u7684\u6240\u6709\u62fc\u97f3\u8f93\u5165\u6cd5\uff0cFcitx-rime \u9664\u5916\u3002\n* {{Pkg|fcitx-chewing}} \u4e3a Fcitx \u6dfb\u52a0 chewing (\u7e41\u4f53\u4e2d\u6587\u6ce8\u97f3) \u8f93\u5165\u5f15\u64ce\u652f\u6301\u3002\u4f9d\u8d56 {{Pkg|libchewing}}.\n* {{Pkg|fcitx-table-extra}}  adds [[wikipedia:Cangjie_input_method|Cangjie]], [[wikipedia:Zhengma_method|Zhengma]], [[wikipedia:Boshiamy_method|Boshiamy]] support.\n\n==== Japanese ====\n\n* {{Pkg|fcitx-mozc}}, \u4e3a Fcitx \u6dfb\u52a0 mozc (\u65e5\u8bed) \u8f93\u5165\u5f15\u64ce\u652f\u6301\uff0cmozc \u662f Google \u65e5\u8bed\u8f93\u5165\u6cd5\u7684\u5f00\u6e90\u7248\u672c\u3002\n* {{Pkg|fcitx-kkc}}, a new Japanese Kana Kanji input engine, based on {{Pkg|libkkc}}.\n* {{Pkg|fcitx-anthy}}, \u4e3a Fcitx \u6dfb\u52a0 anthy (\u65e5\u8bed) \u8f93\u5165\u5f15\u64ce\u652f\u6301\u3002\n\n==== \u5176\u5b83\u8bed\u8a00 ====\n* {{Pkg|fcitx-hangul}}, \u4e3a Fcitx \u6dfb\u52a0 hangul (\u97e9\u8bed) \u8f93\u5165\u5f15\u64ce\u652f\u6301\u3002\n* {{Pkg|fcitx-m17n}}, \u4e3a Fcitx \u6dfb\u52a0 m17n (\u591a\u56fd\u8bed\u8a00\u7801\u8868) \u8f93\u5165\u5f15\u64ce\u652f\u6301\u3002\n* {{Pkg|fcitx-unikey}}, \u4e3a Fcitx \u6dfb\u52a0 unikey (\u8d8a\u5357\u8bed) \u8f93\u5165\u5f15\u64ce\u652f\u6301\u3002\n* {{Pkg|fcitx-sayura}}, \u4e3a Fcitx \u6dfb\u52a0 sayura \uff08\u50e7\u4f3d\u7f57\u8bed\uff09 \u8f93\u5165\u5f15\u64ce\u652f\u6301\u3002\n\n=== \u8f93\u5165\u6cd5\u6a21\u5757 ===\n\nFcitx \u63d0\u4f9b\u5bf9 Gtk+/Qt \u63d0\u4f9b\u4e86\u8f93\u5165\u6cd5\u6a21\u5757\uff0c\u8bf7\u6839\u636e\u9700\u8981\u5b89\u88c5 {{Pkg|fcitx-gtk2}}, {{Pkg|fcitx-gtk3}}, {{AUR|fcitx-qt4}} \u548c {{Pkg|fcitx-qt5}}. \u8f6f\u4ef6\u5305\u7ec4 {{Grp|fcitx-im}} \u5305\u542b\u4e86\u5168\u90e8\u6a21\u5757\u3002\u5982\u679c\u6ca1\u6709\u5b89\u88c5\u5bf9\u5e94\u7684\u6a21\u5757\uff0c\u4e00\u822c\u8fd8\u662f\u53ef\u4ee5\u5728\u5927\u90e8\u5206\u7a0b\u5e8f\u4e2d\u4f7f\u7528\u8f93\u5165\u6cd5\u7684\u3002\u4e0d\u8fc7\u5f88\u53ef\u80fd\u51fa\u73b0\u4ece\u65e0\u6cd5\u5149\u6807\u8ddf\u968f\u3001\u65e0\u6cd5\u663e\u793a\u9884\u7f16\u8f91\u5b57\u7b26\u4e32\u3001\u65e0\u6cd5\u8f93\u5165\u751a\u81f3\u7a0b\u5e8f\u5361\u6b7b\u7b49\u60c5\u51b5\u3002\n\n\u67d0\u4e9b\u7a0b\u5e8f\u4e0d\u4f7f\u7528 Gtk+/Qt \u7684\u8f93\u5165\u6cd5\u6a21\u5757\uff0c\u8fd9\u4e9b\u7a0b\u5e8f\u5305\u62ec: \n\n* \u6240\u6709\u4e0d\u4f7f\u7528 Gtk+/Qt\u7684\u7a0b\u5e8f\uff0c\u5982\u4f7f\u7528 Tk, motif, \u751a\u81f3 xlib \u7684\u7a0b\u5e8f\n* Emacs,Opera,OpenOffice,LibreOffice,Skype,Wine,Java,Xterm,urxvt,WPS\n\n=== \u5176\u5b83 ===\n\n* {{Pkg|fcitx-ui-light}}, Fcitx \u7684\u8f7b\u91cf UI.\n* {{Pkg|fcitx-table-extra}} Fcitx \u7684\u4e00\u4e9b\u989d\u5916\u7801\u8868\u652f\u6301\uff0c\u5305\u62ec\u4ed3\u9889 3, \u4ed3\u9889 5, \u7ca4\u62fc, \u901f\u6210, \u4e94\u7b14, \u90d1\u7801\u7b49\u7b49\n* {{Pkg|fcitx-table-other}}, Fcitx \u7684\u4e00\u4e9b\u66f4\u5947\u602a\u7684\u7801\u8868\u652f\u6301\uff0c\u5305\u62ec Latex, Emoji, \u4ee5\u53ca\u4e00\u5927\u5806\u4e0d\u660e\u5b57\u7b26\u7b49\u7b49\u3002\n\n\u60a8\u8fd8\u53ef\u4ee5\u5728 [[Arch User Repository (\u7b80\u4f53\u4e2d\u6587)]] \u627e\u5230\u66f4\u591a\u4ee5\u4e0a\u8f6f\u4ef6\u5305\u7684 Git \u7248\u4ee5\u53ca\u5176\u5b83\u3002\n\n== \u4f7f\u7528 ==\n\n=== \u684c\u9762\u73af\u5883\u4e0b\u81ea\u52a8\u542f\u52a8\uff08Autostart) ===\n\n\u5982\u679c\u60a8\u7528 XDG \u517c\u5bb9\u7684\u684c\u9762\u73af\u5883\uff0c\u6bd4\u5982 [[KDE]], [[GNOME]], [[Xfce]], [[LXDE]], \u90a3\u4e48\u5f53\u60a8\u5b89\u88c5\u597d Fcitx \u5e76\u91cd\u65b0\u767b\u5f55\u540e\uff0cFcitx \u5e94\u8be5\u4f1a\u81ea\u52a8\u542f\u52a8\u3002\u5982\u679c\u6ca1\u6709\u7684\u8bdd\uff0c\u53ef\u4ee5\u6253\u5f00\u63a7\u5236\u53f0\u5e76\u8fd0\u884c{{ic|fcitx}}\u3002\u4e3a\u68c0\u9a8c Fcitx \u662f\u5426\u6b63\u5e38\u8fd0\u884c, \u6253\u5f00\u4e00\u4e2a\u7a0b\u5e8f\uff0c\u6bd4\u5982 leafpad, \u6309 CTRL+Space \u6fc0\u6d3b Fcitx \u5e76\u8bd5\u7740\u8f93\u5165\u51e0\u4e2a\u5b57\u3002\n\n\u5982\u679c Fcitx \u6ca1\u6709\u968f\u684c\u9762\u73af\u5883\u81ea\u52a8\u542f\u52a8\uff0c\u6216\u8005\u60a8\u60f3\u4fee\u6539\u4e0b Fcitx \u542f\u52a8\u53c2\u6570\uff0c\u8bf7\u7528\u684c\u9762\u73af\u5883\u63d0\u4f9b\u7684\u81ea\u52a8\u542f\u52a8\u5de5\u5177\u914d\u7f6e\uff0c\u6216\u8005\u76f4\u63a5\u7f16\u8f91\u7528\u6237\u76ee\u5f55{{ic|~/.config/autostart/}} \u4e0b\u7684 {{ic|fcitx-autostart.desktop}} \u6587\u4ef6\u4ee5\u786e\u8ba4\u81ea\u52a8\u542f\u52a8\u662f\u5426\u88ab\u7981\u7528\u3002\u5982\u679c\u7528\u6237\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u5e76\u4e0d\u5b58\u5728\uff0c\u60a8\u53ef\u4ee5\u590d\u5236\u81ea\u52a8\u542f\u52a8\u6587\u4ef6 {{ic|/etc/xdg/autostart/fcitx-autostart.desktop}} \u5230\u7528\u6237\u76ee\u5f55\uff1a\n\n cp /etc/xdg/autostart/fcitx-autostart.desktop ~/.config/autostart/\n\n\u5982\u679c\u60a8\u4f7f\u7528\u7684\u684c\u9762\u73af\u5883\u5e76\u4e0d\u81ea\u52a8\u652f\u6301 XDG \u81ea\u52a8\u542f\u52a8, \u8bf7\u5728\u60a8\u4f7f\u7528\u7684\u542f\u52a8\u811a\u672c\u91cc\u9762\u6dfb\u52a0 {{ic|fcitx}} \u4ee5\u5b9e\u73b0\u81ea\u52a8\u542f\u52a8\u3002\n\n\u5f53 iBus \u7b49\u5176\u5b83\u8f93\u5165\u6cd5\u7a0b\u5e8f\u540c\u65f6\u542f\u52a8\u4e14\u5f00\u542f\u4e86 Xim \u652f\u6301\u65f6, \u53ef\u80fd\u4f1a\u5bb3 Fcitx \u542f\u52a8\u4e0d\u4e86\uff0c\u8bf7\u786e\u4fdd\u5df2\u7981\u7528\u4e86\u5176\u5b83\u8f93\u5165\u6cd5\u7a0b\u5e8f\u7684\u81ea\u52a8\u542f\u52a8\u3002\n\n\u4ee5\u53ca\u8bf7\u6309\u4ee5\u4e0b\u65b9\u5f0f\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u4ee5\u4fbf Gtk/Qt \u7a0b\u5e8f\u4f7f\u7528\u8f93\u5165\u6cd5\u63d2\u4ef6\uff08IM module\uff09\u4e0e fcitx \u901a\u8baf\uff0c\u800c\u4e0d\u662f\u4f9d\u8d56 XIM \u3002\n\n=== \u8bbe\u7f6e\u73af\u5883\u53d8\u91cf ===\n\n\u5c06\u4e0b\u9762\u5185\u5bb9\u52a0\u5165\u684c\u9762\u7684\u542f\u52a8\u811a\u672c\uff0c\u4ee5\u6ce8\u518c\u8f93\u5165\u6cd5\u6a21\u5757\u5e76\u652f\u6301 xim \u7a0b\u5e8f\u3002\n\n{{hc|~/.pam_environment|<nowiki>\nGTK_IM_MODULE=fcitx\nQT_IM_MODULE=fcitx\nXMODIFIERS=@im=fcitx</nowiki>\n}}\n\n\u91cd\u65b0\u767b\u5f55\u540e\u8ba9\u73af\u5883\u53d8\u91cf\u751f\u6548\u3002\n\n\u5982\u679c ''fcitx'' \u6ca1\u6709\u81ea\u52a8\u542f\u52a8\uff0c\u8bf7\u5c06 {{ic|fcitx &}} \u52a0\u5165 {{ic|~/.xinitrc}}\u3002\n\n* \u8bf7\u4e0d\u8981\u5728 {{ic|.bashrc}} \u8bbe\u7f6e\u8fd9\u4e9b\u73af\u5883\u53d8\u91cf\u3002{{ic|bashrc}}\u53ea\u5e94\u7528\u4e8e\u4ea4\u4e92\u6027 bash \u4f1a\u8bdd\u7684\u521d\u59cb\u5316\uff0c\u5e76\u4e0d\u5e94\u7528\u4e8e\u975e\u4ea4\u4e92\u6027\u811a\u672c\u6216 X \u4f1a\u8bdd\u7684\u521d\u59cb\u5316\u3002\n* \u5982\u679c Qt \u4f7f\u7528 fcitx \u6709\u95ee\u9898\uff0c\u8bf7\u6267\u884c qtconfig (qtconfig-qt4)\uff0c\u5728\u8f93\u5165\u6cd5\u914d\u7f6e\u4e2d\u5c06 fcitx \u8bbe\u7f6e\u4e3a \"Default Input Method\"\u3002\n\n=== Xim ===\n\n\u60a8\u8fd8\u53ef\u4ee5\u5728 Gtk+/Qt \u7a0b\u5e8f\u4e2d\u7528 xim, \u4e3a\u6b64\u60a8\u8981\u5c06\u4e0a\u9762\u8bbe\u7f6e\u7684\u53d8\u91cf\u6539\u6210\u5982\u4e0b\u7684\u503c\uff1a\n\n GTK_IM_MODULE=xim\n QT_IM_MODULE=xim\n\n{{\u8b66\u544a|\u4f7f\u7528 xim, \u5f88\u53ef\u80fd\u4f1a\u9047\u5230\u4e00\u4e9b\u5305\u62ec\u4e0d\u80fd\u8f93\u5165, \u6ca1\u6709\u5149\u6807\u8ddf\u968f, \u91cd\u542f\u8f93\u5165\u6cd5\u65f6\u5e94\u7528\u7a0b\u5e8f\u5361\u6b7b\u5728\u5185\u7684\u65e0\u6cd5\u7531 Fcitx \u89e3\u51b3\u7684\u95ee\u9898\uff0c\u4e14\u5b98\u65b9\u4e0d\u652f\u6301\u89e3\u51b3\u3002}}\n\n\u91cd\u65b0\u767b\u5f55\u540e\u8ba9\u73af\u5883\u53d8\u91cf\u751f\u6548\u3002\n\n{{Note|Gtk2 \u4ece  2.24.20 \u5f00\u59cb\uff0c\u4f7f\u7528 {{ic|/usr/lib/gtk-2.0/2.10.0/immodules.cache}} \u4f5c\u4e3a\u7f13\u5b58\u6587\u4ef6\u3002\u5982\u679c\u8bbe\u7f6e\u4e86 {{ic|GTK_IM_MODULE_FILE}} \u73af\u5883\u53d8\u91cf\u6216\u5728\u5b89\u88c5\u540e\u4fee\u6539\u4e86\u914d\u7f6e\uff0c\u8bf7\u6e05\u6389\u73af\u5883\u53d8\u91cf\u5e76\u4f7f\u7528 {{ic|/usr/bin/gtk-query-immodules-2.0 --update-cache}} \u66f4\u65b0\u7f13\u5b58\u3002}}\n{{Note|Qt5 \u5e94\u7528\u7a0b\u5e8f\u4e0d\u518d\u50cf Qt4 \u90a3\u6837\u652f\u6301 XIM \u8f93\u5165\u6cd5\u534f\u8bae\uff0c\u56e0\u6b64\u5b8c\u5168\u4f9d\u8d56\u8f93\u5165\u6cd5\u6a21\u5757\uff08IM Module\uff09\u548c fcitx \u6c9f\u901a\u3002}}\n\n== \u914d\u7f6e==\n\n=== \u914d\u7f6e\u5de5\u5177 ===\n\nFcitx \u63d0\u4f9b\u4e86\u82e5\u5e72\u56fe\u5f62\u754c\u9762\u7684\u914d\u7f6e\u7a0b\u5e8f\uff1aKDE \u4e2d\u7684 {{Pkg|kcm-fcitx}}, \u57fa\u4e8e GTK+3 \u7684 {{Pkg|fcitx-configtool}}\u3002\n\n\u5b89\u88c5\u5b8c\u914d\u7f6e\u5de5\u5177{{Pkg|fcitx-configtool}}\u4e4b\u540e\u6253\u5f00\u914d\u7f6e\u5de5\u5177\u7684\u65b9\u6cd5\u662f\u7528\u7ec8\u7aef\u8fd0\u884cfcitx-config-gtk3\uff0c\u6253\u5f00\u8fd9\u4e2a\u914d\u7f6e\u5de5\u5177\u4e4b\u540e\u8fd8\u8981\u6dfb\u52a0\u4e2d\u6587\u8f93\u5165\u6cd5\u3002\u5bf9\u4e8e\u65b0\u5b89\u88c5\u7684\u82f1\u6587\u7cfb\u7edf\uff0c\u8981\u53d6\u6d88\u53ea\u663e\u793a\u5f53\u524d\u8bed\u8a00\u7684\u8f93\u5165\u6cd5\uff08Only Show Current Language\uff09\uff0c\u624d\u80fd\u770b\u5230\u548c\u6dfb\u52a0\u4e2d\u6587\u8f93\u5165\u6cd5(Pinyin, Libpinyin\u7b49)\u3002\n\n\u5982\u679c\u8981\u624b\u5de5\u7f16\u8f91 fcitx \u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u8bf7\u786e\u4fdd\u7cfb\u7edf\u4e2d\u5e76\u6ca1\u6709\u5728\u8fd0\u884c fcitx \uff0c\u5426\u5219\u624b\u5de5\u7f16\u8f91\u7684\u914d\u7f6e\u5185\u5bb9\u53ef\u80fd\u4e22\u5931\u3002\n\n=== \u66ff\u6362\u81ea\u5e26\u7684\u7ecf\u5178\u754c\u9762 ===\n\nFcitx \u652f\u6301\u4f7f\u7528 kimpanel \u534f\u8bae\u7684\u754c\u9762\uff0c\u4ee5\u63d0\u4f9b\u66f4\u597d\u7684\u684c\u9762\u6574\u5408\u4f53\u9a8c.\n\n* Gnome-Shell: \u5b89\u88c5 {{AUR|gnome-shell-extension-kimpanel-git}}, \u5b83\u63d0\u4f9b\u4e86\u7c7b\u4f3c ibus-gjs \u7684\u7528\u6237\u4f53\u9a8c\uff0c\u5176\u5019\u9009\u6846\u754c\u9762\u5c06\u4f1a\u91c7\u7528 Gnome-Shell \u7684\u4e3b\u9898\u98ce\u683c, \u540c\u65f6\u5728\u72b6\u6001\u680f\u4e2d\u589e\u52a0 Fcitx \u7684\u8f93\u5165\u6cd5\u72b6\u6001\u56fe\u6807\u3002\n* KDE: {{Pkg|kimtoy}} \u53ef\u4ee5\u4f7f\u7528\u641c\u72d7\u8f93\u5165\u6cd5\u548c Fcitx \u672c\u8eab\u7684\u76ae\u80a4\u3002\n\n=== \u8f93\u5165\u6cd5 ===\n\n\u60a8\u53ef\u4ee5\u5728\u914d\u7f6e\u754c\u9762\u5de5\u5177\u4e2d\u6dfb\u52a0\uff0f\u79fb\u9664\u542f\u7528\u7684\u8f93\u5165\u6cd5\u3002\u5217\u8868\u7b2c\u4e00\u9879\u5c06\u4f5c\u4e3a\u300c\u672a\u6fc0\u6d3b\u300d\u72b6\u6001\u4f7f\u7528\uff0c\u8bf7\u9075\u4ece\u754c\u9762\u4e0a\u7684\u63d0\u793a\u5c06\u5217\u8868\u4e2d\u7684\u6b64\u9879\u8bbe\u4e3a\u952e\u76d8\u5e03\u5c40\u8f93\u5165\u6cd5\uff0c\u6bd4\u5982\u300c(\u952e\u76d8 - \u82f1\u6587)\u300d\uff0c\u5217\u8868\u7b2c\u4e8c\u9879\u5219\u662f\u9ed8\u8ba4\u8f93\u5165\u6cd5\uff0c\u5176\u5b83\u9879\u5219\u4e3a\u53ef\u5207\u6362\u5230\u7684\u8f93\u5165\u6cd5\u3002\n\n{{\u8b66\u544a|\u8bf7\u5fc5\u987b\u5c06\u952e\u76d8\u5e03\u5c40\u8f93\u5165\u6cd5\u8bbe\u4e3a\u5217\u8868\u4e2d\u7b2c\u4e00\u9879, \u5426\u5219\u53ef\u80fd\u4f1a\u65e0\u6cd5\u7981\u7528\u4e2d\u6587\u8f93\u5165\u3002}}\n\n=== \u6269\u5145\u5185\u7f6e\u62fc\u97f3\u8bcd\u5e93 ===\n\n\u7528\u6237\u914d\u7f6e\u62fc\u97f3\u8bcd\u5e93\u5728 {{ic|~/.config/fcitx/pinyin}}, \u5176\u4e2d {{ic|pybase.mb}} \u4e3a\u62fc\u97f3\u5355\u5b57\u5e93\uff0c{{ic|pyphrase.mb}} \u4e3a\u62fc\u97f3\u8bcd\u5e93\u3002\u5982\u679c\u8fd9\u4e24\u6587\u4ef6\u5e76\u4e0d\u5b58\u5728\uff0c\u76f4\u63a5\u5c06\u60a8\u4e0b\u8f7d\u7684\u8bcd\u5e93\u653e\u7f6e\u5230 {{ic|/usr/share/fcitx/pinyin}}. \u91cd\u542f Fcitx \u5373\u53ef\u3002\n\n=== \u76ae\u80a4 ===\n\n\u4e0b\u8f7d\u76ae\u80a4\u5e76\u89e3\u538b\u7f29\u5230\u4e0b\u9762\u4efb\u4e00\u76ee\u5f55\uff0c\u5982\u679c\u6ca1\u6709\u53ef\u4ee5\u65b0\u5efa\u76ee\u5f55\uff1a\n\n /usr/share/fcitx/skin   ##\u5168\u5c40\u8bbe\u7f6e\n ~/.config/fcitx/skin    #\u7279\u5b9a\u7528\u6237\u8bbe\u7f6e\n\n=== \u4e91\u62fc\u97f3 ===\n\u5b89\u88c5\u540e\u91cd\u542f Fcitx \u5373\u53ef\uff0c\u6240\u9009\u7684\u4e91\u62fc\u97f3\u8f93\u5165\u7ed3\u679c\u4f1a\u81ea\u52a8\u6dfb\u52a0\u5230\u5f53\u524d\u8f93\u5165\u6cd5\u7684\u8bcd\u5e93\u4e2d\u3002\u63d0\u9192\uff1a\u5efa\u8bae\u5728fcitx\u8bbe\u7f6e\u91cc\u9762\u5c06\u201c\u4e91\u62fc\u97f3\u6765\u6e90\u201d\u7531Google\u6539\u4e3a\u201c\u767e\u5ea6\u201d\uff0cGoogle\u56fd\u5185\u8bbf\u95ee\u4e0d\u662f\u5f88\u987a\u7545\u3002\n\n\u542f\u7528\u4e91\u62fc\u97f3\u540e\uff0c\u4ece\u4e91\u62fc\u97f3\u83b7\u5f97\u7684\u5019\u9009\u8bcd\u4f1a\u9ed8\u8ba4\u6dfb\u52a0\u5230\u5019\u9009\u8bcd\u5217\u8868\u4e2d\u7684\u7b2c\u4e8c\u4e2a\uff0c\u663e\u793a\u4f4d\u7f6e\u53ef\u4ee5\u901a\u8fc7\u4e91\u62fc\u97f3\u7684\u8bbe\u7f6e\u914d\u7f6e\u3002\u5982\u679c\u4e91\u62fc\u97f3\u7684\u7ed3\u679c\u548c\u672c\u5730\u8f93\u5165\u6cd5\u7ed9\u51fa\u7684\u7ed3\u679c\u4e00\u81f4\uff0c\u4e91\u62fc\u97f3\u540e\u9009\u9879\u4f1a\u548c\u672c\u5730\u4ea7\u751f\u7684\u5019\u9009\u9879\u81ea\u52a8\u5408\u5e76\uff0c\u4e0d\u4f1a\u4ea7\u751f\u91cd\u590d\u7684\u5019\u9009\u9879\u3002\n\n\u82e5\u5b89\u88c5fcitx-cloudpinyin\u540e\uff0c\u5728\u914d\u7f6e\u7a0b\u5e8f\u91cc\u5374\u6ca1\u6709\u770b\u89c1\u4e91\u62fc\u97f3\uff0c\u8bb0\u5f97\u52fe\u4e0a\u201c\u9ad8\u7ea7\u201d\u590d\u9009\u6846\u3002\u8fd9\u65f6\u4e91\u62fc\u97f3\u4f1a\u663e\u793a\u51fa\u6765\uff0c\u518d\u52fe\u4e0a\u4e91\u62fc\u97f3\u3002\n{{\u6ce8\u610f|\u4e0d\u63a8\u8350\u5c06\u4e91\u62fc\u97f3\u5019\u9009\u8bcd\u8bbe\u4e3a\u7b2c\u4e00\u4e2a\u5019\u9009\u8bcd\uff0c\u56e0\u4e3a\u5f53\u7f51\u7edc\u60c5\u51b5\u4e0d\u597d\uff0c\u6ca1\u6709\u53ca\u65f6\u8fd4\u56de\u4e91\u62fc\u97f3\u7ed3\u679c\uff0c\u90a3\u4e48\u4e91\u62fc\u97f3\u7ed3\u679c\u5c06\u9ed8\u8ba4\u964d\u5230\u7b2c\u4e8c\u5019\u9009\u8bcd\u7684\u4f4d\u7f6e\uff0c\u4e8e\u662f\u8fd9\u4e2a\u8fc7\u7a0b\u53ef\u80fd\u4f1a\u6d89\u53ca\u5230\u9ed8\u8ba4\u5019\u9009\u8bcd\u7684\u6539\u53d8\u3002}}\n\n== \u63d0\u793a\u4e0e\u6280\u5de7 ==\n\n=== \u5feb\u6377\u952e ===\n\n\u90e8\u5206\u5e38\u7528\u9ed8\u8ba4\u5feb\u6377\u952e\uff1a\n\n* Ctrl + Space \u6fc0\u6d3b\u8f93\u5165\u6cd5\n* \u5de6Shift    \u4e34\u65f6\u5207\u6362\u5230\u82f1\u6587\n* Ctrl + Shift \u8f93\u5165\u6cd5\u95f4\u5207\u6362\n* -/=        \u5411\u524d/\u5411\u540e\u7ffb\u9875\n* Shift + Space \u5168\u89d2\u3001\u534a\u89d2\u5207\u6362\n\n{{\u6ce8\u610f|\u60a8\u53ef\u4ee5\u5728\u914d\u7f6e\u754c\u9762\u7684\u5168\u5c40\u914d\u7f6e\u4e2d\u4fee\u6539\u8fd9\u4e9b\u5feb\u6377\u952e\u3002}}\n\n=== Vim ===\n\n\u5982\u679c\u60a8\u7ecf\u5e38\u5728 Vim \u4e0b\u4f7f\u7528 Fcitx, \u53ef\u4ee5\u5b89\u88c5 {{AUR|vim-fcitx}} \u63d2\u4ef6\uff0c\u6216\u8005\u5728 {{ic|~/.vimrc}} \u6dfb\u52a0\u5982\u4e0b\u4ee3\u7801\u3002\u4ee5\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\u65f6\uff0c\u81ea\u52a8\u5173\u95ed Fcitx, \u53cd\u4e4b\u5219\u53cd\uff1a\n\n \"##### auto fcitx  ###########\n let g:input_toggle = 1\n function! Fcitx2en()\n    let s:input_status = system(\"fcitx-remote\")\n    if s:input_status == 2\n       let g:input_toggle = 1\n       let l:a = system(\"fcitx-remote -c\")\n    endif\n endfunction\n \n function! Fcitx2zh()\n    let s:input_status = system(\"fcitx-remote\")\n    if s:input_status != 2 && g:input_toggle == 1\n       let l:a = system(\"fcitx-remote -o\")\n       let g:input_toggle = 0\n    endif\n endfunction\n \n set ttimeoutlen=150\n \"\u9000\u51fa\u63d2\u5165\u6a21\u5f0f\n autocmd InsertLeave * call Fcitx2en()\n \"\u8fdb\u5165\u63d2\u5165\u6a21\u5f0f\n autocmd InsertEnter * call Fcitx2zh()\n \"##### auto fcitx end ######\n\n{{\u6ce8\u610f|\u7531\u4e8e\u8981\u8c03\u7528\u5916\u90e8\u7a0b\u5e8f\uff0c\u8fd9\u5c06\u660e\u663e\u62d6\u6162\u4f1a\u53cd\u590d\u8fdb\u51fa\u63d2\u5165\u6a21\u5f0f\u7684\u6620\u5c04\u3002\u5efa\u8bae\u6539\u5199\u76f8\u5173\u6620\u5c04\uff0c\u7528\u5e26 Python \u652f\u6301\u7684 Vim \u52a0\u4ee5\u914d\u5408 fcitx.vim \u4ea6\u53ef\u6539\u5584\u6548\u7387\u3002}}\n\n=== \u526a\u8d34\u677f ===\n\n[https://www.csslayer.info/wordpress/fcitx-dev/fcitx-clipboard/ Fcitx \u81ea\u5e26\u526a\u8d34\u677f]\uff0c\u5176\u5feb\u6377\u952e\u4e3a {{ic|Ctrl + ;}}, \u5c0f\u5c0f\u529f\u80fd\u62ef\u6551\u4e16\u754c\u3002\n\n=== \u7279\u6b8a\u7b26\u53f7 ===\n\n\u521b\u5efa {{ic|~/.config/fcitx/data/pySym.mb}}, \u6587\u4ef6\u5185\u5bb9\u793a\u8303\u5982\u4e0b\uff1a\n\n  #\u7b2c\u4e00\u4e2a\u5b57\u7b26\u4e3a\u201c#\u201d\u7684\u884c\u662f\u6ce8\u91ca\n  #\u683c\u5f0f\uff1a\u7f16\u7801 \u7b26\u53f7\n  #\u7f16\u7801\u53ea\u80fd\u4e3a\u5c0f\u5199\u5b57\u6bcd\uff0c\u7ecf\u62fc\u97f3\u89e3\u6790\u540e\u6700\u957f\u4e3a10(\u5982py\u4e3a2\uff0cpinyin\u4e5f\u4e3a2)\n  #\u6570\u5b66\u7b26\u53f7\n  sxfh \uff0b\n  sxfh \uff0d\n  sxfh \uff1c\n  sxfh \uff1d\n  sxfh \uff1e\n  sxfh \u00b1\n  sxfh \u00d7\n  sxfh \u00f7\n  sxfh \u2208\n  sxfh \u220f\n  sxfh \u2211\n  sxfh \u2215\n  sxfh \u221a\n  sxfh \u221d\n\n\u76f4\u63a5\u8f93\u5165\u67d0\u7f16\u7801\uff0c\u53ef\u4ee5\u5339\u914d\u51fa\u5bf9\u5e94\u7684\u7279\u6b8a\u7b26\u53f7\u3002\n\n{{\u6ce8\u610f|\u7f16\u7801\u53ea\u80fd\u7528\u4e8c\u5341\u516d\u4e2a\u5c0f\u5199\u5b57\u6bcd\u8868\u793a\uff1b\u4ee5 v \u5f00\u5934\uff0c\u65e0\u6548\u3002}}\n\n=== \u5feb\u901f\u8f93\u5165 ===\n\n\u786e\u4fdd\u5728 {{ic|~/.config/fcitx/config}} \u91cc\u628a {{ic|SemiColonAction}} \u4fee\u6539\u4e3a {{ic|QuickPhrase}}.\n\n\u521b\u5efa {{ic|~/.config/fcitx/data/QuickPhrase.mb}}, \u6587\u4ef6\u5185\u5bb9\u793a\u8303\u5982\u4e0b\uff1a\n\n  #\u7b2c\u4e00\u4e2a\u5b57\u7b26\u4e3a\u201c#\u201d\u7684\u884c\u662f\u6ce8\u91ca\n  #\u683c\u5f0f\uff1a\u7f16\u7801 \u7b26\u53f7\n  #\u6570\u5b66\u7b26\u53f7\n  \n  dianhua 123456789\n  youbian 123456\n  dizhi \u4e2d\u534e\u4eba\u6c11\u5171\u548c\u56fd\u5317\u4eac\u5e02\u957f\u5b89\u8857\u4e00\u53f7\n  aowu \u2517<(=\uff40O\u2032=)>\u251b \n  mobai \uff4d<(\uff3f\u3000\uff3f)>\uff4d \n  baobao <(=\u2032\u25bd')\u723b (`\u25bd\uff40=)> \n  baobao <(=*\u2032\u0434\uff40)\u723b(\u2032\u0434\uff40*=)> \n  qiangbi \u2584\ufe3b\u253b\u2533\u2550\u4e00\u2026\u2026 \u2606<(=\uffe3\u25a1\uffe3=!)>\n  xiaoku \ud83d\ude02\n  canyue \ud83c\udf16\n  xuehua \u2744\n\n\n\u6309 {{ic|;}} \u5e76\u8f93\u5165\u7f16\u7801\uff0c\u53ef\u5b9e\u73b0\u5feb\u901f\u8f93\u5165\uff0c\u81ea\u7136\u4e5f\u80fd\u7528\u6765\u5f53 [http://blog.felixc.at/2012/05/kitty-for-fcitx-quickphrase/ \u989c\u6587\u5b57\u5e93]\u548c[https://github.com/levinit/fcitx-emoji emoji\u8868\u60c5\u5e93]\u3002\n\n{{\u6ce8\u610f|\u7f16\u7801\u9664\u4e86\u4e0d\u5f97\u6709\u7a7a\u683c\uff0c\u4e0d\u5f97\u4ee5 {{ic|;}} \u5f00\u5934\u4e4b\u5916\uff0c\u6ca1\u6709\u5176\u5b83\u9650\u5236\u3002}}\n\n== \u6545\u969c\u6392\u9664 ==\n\n=== \u505c\u7528\u6216\u4fee\u6539 ''Extra key for trigger input method'' ===\n\n\u8bbe\u7f6e\u4f4d\u4e8e ''\u5168\u5c40\u914d\u7f6e'' \u6807\u7b7e\uff0c\u9ed8\u8ba4\u662f ''SHIFT'', \u4e5f\u5c31\u662f\u8bf4\u4e24\u8fb9\u7684 shift \u952e\u90fd\u4f1a\u4fee\u6539\u8f93\u5165\u6cd5\u3002\u8fd9\u4e2a\u8bbe\u7f6e\u53ef\u80fd\u5728\u8f93\u5165\u5927\u5199\u5b57\u6bcd\u7684\u65f6\u5019\u5f15\u8d77\u8bef\u89e6\uff0c\u800c\u4e14\u53ef\u80fd\u4f1a\u5728\u5b89\u88c5\u540e\u6062\u590d\u6210\u9ed8\u8ba4\u503c\u3002\u8981\u786e\u4fdd\u8fdb\u884c\u7684\u4fee\u6539\u6ca1\u6709\u88ab\u8986\u76d6\uff0c\u8bf7\u8bbe\u7f6e\u914d\u7f6e\u6587\u4ef6\u4e3a\u53ea\u8bfb\uff1a{{ic|# chattr +i ~/.config/fcitx/config}}.\n\n=== \u9996\u5148\u8bca\u65ad\u95ee\u9898\u6240\u5728 ===\n\u5f53\u4f60\u9047\u5230\u4efb\u4f55 fcitx \u6709\u5173\u7684\u95ee\u9898\uff0c\u6bd4\u5982 ctrl+space \u5728\u6709\u7684\u7a0b\u5e8f\u4e2d\u4e0d\u80fd\u5de5\u4f5c\uff0c\u9996\u5148\u5e94\u8be5\u7528 {{ic|fcitx-diagnose}} \u547d\u4ee4\u8bca\u65ad\u95ee\u9898\u7684\u539f\u56e0\u3002\n{{ic|fcitx-diagnose}} \u4f1a\u5217\u51fa\u6240\u6709 fcitx \u6b63\u5e38\u8fd0\u884c\u6240\u9700\u7684\u524d\u63d0\u6761\u4ef6\uff0c\u4ece\u8f93\u51fa\u7ed3\u679c\u4e2d\u901a\u5e38\u53ef\u4ee5\u627e\u5230\u95ee\u9898\u7684\u539f\u56e0\u3002\n\u5728\u7f51\u4e0a\uff08\u6bd4\u5982\u5728 irc \u6216\u8005\u8bba\u575b\u91cc\uff09\u8be2\u95ee\u522b\u4eba\u5173\u4e8e fcitx \u914d\u7f6e\u7684\u95ee\u9898\u65f6\uff0c\u4e5f\u8bf7\u9996\u5148\u63d0\u4f9b\u4f60\u7684 {{ic|fcitx-diagnose}} \u8f93\u51fa\u7ed3\u679c\uff08\u6bd4\u5982\u8d34\u5230 pastebin \u670d\u52a1\uff09\uff0c\u8fd9\u5c06\u52a0\u901f\u522b\u4eba\u5e2e\u4f60\u627e\u5230\u95ee\u9898\u6240\u5728\u3002\n\n=== Emacs \u65e0\u6cd5\u4f7f\u7528\u8f93\u5165\u6cd5 ===\n\n\u5f53 {{ic|LC_CTYPE}} \u4e3a\u82f1\u6587\u65f6, \u5728 Emacs \u4e0a\u53ef\u80fd\u65e0\u6cd5\u4f7f\u7528\u8f93\u5165\u6cd5\u3002\u82e5\u9047\u5230\u6b64\u60c5\u51b5\uff0c\u8bf7\u5728\u542f\u52a8 Emacs \u65f6\u5c06 {{ic|LC_CTYPE}} \u8bbe\u4e3a {{ic|zh_CN.UTF-8}}. \u7ec8\u7aef\u4e0b\u5e76\u4e0d\u4f1a\u9047\u5230\u6b64\u73b0\u8c61\uff0c\u56e0\u4e3a\u8f93\u5165\u6cd5\u4f1a\u4ea4\u7ed9\u7ec8\u7aef\u7a0b\u5e8f\u5904\u7406\u3002\n\nEmacs \u9ed8\u8ba4 fontset \u4f1a\u4f7f\u7528 \"-*-*-*-r-normal--14-*-*-*-*-*-*-*\" \u5b57\u4f53 (terminus, 75dpi \u7b49\u7b49\uff0c\u53ef\u4ee5\u901a\u8fc7 {{ic|xlsfonts}} \u547d\u4ee4\u67e5\u770b)\uff0c\u5982\u679c\u60a8\u5e76\u6ca1\u6709\u5339\u914d\u7684\u5b57\u4f53\uff0c\u65e0\u6cd5\u547c\u51fa Fcitx.\n\n=== Firefox \u53f3\u952e\u83dc\u5355\u4e0d\u5f39\u51fa ===\n\n[[Firefox]] \u5347\u7ea7\u5230 13 \u540e\u53ef\u80fd\u4e0e xim \u53d1\u751f\u51b2\u7a81\uff0c\u89e3\u51b3\u529e\u6cd5\u662f\u786e\u5b9a\u5b89\u88c5\u4e86 {{Pkg|fcitx-gtk3}} \u5e76\u4e14\u628a\u73af\u5883\u914d\u7f6e\u6587\u4ef6\u4e2d\u7684\n\n  export GTK_IM_MODULE=xim\n\n\u6362\u6210\n\n  export GTK_IM_MODULE=fcitx\n\n=== \u5728 GTK2 \u7a0b\u5e8f\u4e2d\u7528 {{ic|Ctrl + Space}} \u4e0d\u80fd\u8c03\u51fa\u8f93\u5165\u6cd5 ===\n\n\u5f53 {{ic|locale}} \u4e3a\u82f1\u6587\u65f6\uff0c\u5728 GTK+2 \u7a0b\u5e8f\u4e2d\u6709\u53ef\u80fd\u65e0\u6cd5\u6b63\u5e38\u4f7f\u7528 Fcitx\uff0c\u4f8b\u5982 [[Chromium (\u7b80\u4f53\u4e2d\u6587)]] \u6216 [[Firefox (\u7b80\u4f53\u4e2d\u6587)]] \u7b49\u3002\u8bf7\u786e\u8ba4 {{Pkg|fcitx-gtk2}} \u5df2\u5b89\u88c5\u4e14\u5df2\u8bbe\u7f6e {{ic|GTK_IM_MODULE}}\u3002\n\n=== \u5728 gnome-terminal\u4e2d {{ic|Ctrl + Space}} \u4e0d\u80fd\u8c03\u51fa\u8f93\u5165\u6cd5 ===\n\n\u4f7f\u7528 GDM 3.16 \u542f\u52a8 GNOME\uff0c\u53ef\u80fd\u5728\u67d0\u4e9b\u7a0b\u5e8f\u4e2d\u65e0\u6cd5\u4f7f\u7528 {{ic|Ctrl + Space}} \u8c03\u51fa\u8f93\u5165\u6cd5\u3002\u89e3\u51b3\u65b9\u6cd5\u662f\u4fee\u6539GSettings\u914d\u7f6e\n\n gsettings set \\\n   org.gnome.settings-daemon.plugins.xsettings overrides \\\n   \"{'Gtk/IMModule':<'fcitx'>}\"\n\n=== {{ic|Ctrl + ;}} \u4f1a\u8c03\u51fa Fcitx \u7684\u526a\u8d34\u677f ===\n\n\u4e25\u683c\u7684\u8bf4\uff0c\u8fd9\u4e0d\u662f BUG, Fcitx \u7684 {{ic|Ctrl + ;}} \u4f1a\u8986\u76d6\u5f88\u591a\u7528\u6237\u81ea\u5df1\u7684\u5feb\u6377\u952e\uff0c\u7279\u522b\u662f Emacs \u7528\u6237\u3002\u6709\u5fc5\u8981\u65f6\uff0c\u53ef\u4ee5\u5728\u914d\u7f6e\u754c\u9762\u4e2d\u7981\u7528\u526a\u8d34\u677f\u63d2\u4ef6\uff0c\u6216\u66f4\u6539\u5176\u6fc0\u6d3b\u5feb\u6377\u952e\u3002\n\n=== fcitx-sogoupinyin \u5361\u6b7b\u3001\u8054\u60f3\u5931\u8d25 ===\n\n\u5982\u679c\u60a8\u9047\u5230\u4e0b\u5217\u7684\u95ee\u9898\uff1a\n\n* \u8f93\u5165\u7c7b\u4f3c\u300c\u5b89\u88c5\u300d\u3001\u300c\u6697\u5f71\u300d\u7b49 \"a\" \u5f00\u5934\u7684\u8bcd\u8bed\uff0c\u51fa\u73b0\u5361\u6b7b\u7684\u60c5\u51b5\u3002\n* \u8f93\u5165\u5e76\u4e0d\u4ee5\u62fc\u97f3 \"a\" \u5f00\u5934\u7684\u8bcd\u8bed\u65f6\uff0c\u5374\u51fa\u73b0\u300c\u963f\u62c9\u4f2f\u300d\u3001\u300c\u963f\u91cc\u5df4\u5df4\u300d\u7b49\u4ee5 \"a\" \u5f00\u5934\u7684\u9519\u8bef\u8054\u60f3\u8bcd\u8bed\u7b49\u3002\n\n\u53ef\u4ee5\u901a\u8fc7\u5220\u9664 {{ic|~/.config/fcitx/sogou}} \u4e0b\u7684\u6240\u6709\u5185\u5bb9\u7684\u65b9\u5f0f\u89e3\u51b3\u3002\n\n{{\u6ce8\u610f|\u6b64\u64cd\u4f5c\u4f1a\u6e05\u7a7a\u7528\u6237\u8bcd\u5e93\u3002}}\n\n=== \u5728\u67d0\u4e9b\u7a0b\u5e8f\u4e0b\u8f93\u5165\u6cd5\u603b\u662f\u88ab\u5207\u6362\u5230\u7f8e\u8bed\u952e\u76d8 ===\n\n\u6bd4\u5982\u5728 XMind \u4e0b\uff0c\u5f53 Enter \u51fa\u65b0\u7ed3\u70b9\u65f6\uff0c\u8f93\u5165\u6cd5\u5c31\u4f1a\u88ab\u5207\u6362\u5230\u7f8e\u8bed\u952e\u76d8\uff0c\u4e0d\u5f97\u4e0d\u6309 Ctrl-Space \u4ee5\u91cd\u65b0\u5207\u56de\u4e2d\u6587\u8f93\u5165\u6cd5\u3002\n\n\u542f\u52a8 Fcitx \u7684 Config, \u5728 Global Config \u9009\u9879\u5361\u4e0b\u7684\u300cShare State Among Window\u300d\u9009\u9879\u91cc\u9009\u4e2d\u300cPerProgram\u300d\u6216\u300cAll\u300d\u5373\u53ef\u89e3\u51b3\u3002\n\n=== Gnome On Wayland \u7528\u6237\u65e0\u6cd5\u4f7f\u7528 fcitx ===\n\n\u7531\u4e8e wayland \u65e0\u6cd5\u8bfb\u53d6 {{ic|~/.xprofile}} \u4e2d\u7684\u73af\u5883\u53d8\u91cf\uff0c\u6240\u4ee5\u8bf7\u5728{{ic|/etc/environment}}\u4e2d\u52a0\u5165\uff1a\n\n GTK_IM_MODULE=fcitx\n QT_IM_MODULE=fcitx\n XMODIFIERS=@im=fcitx\n\n\u6216\u5728\u767b\u5f55\u65f6\u9009\u62e9 '''\u8fd0\u884c\u4e8e Xorg \u7684 Gnome''' \u3002\n\n== \u53c2\u89c1 ==\n\n*[https://github.com/fcitx/fcitx/ Fcitx GitHub]\n*[https://code.google.com/p/fcitx/ Fcitx Google Code]\n*[http://fcitx-im.org/ Fcitx Wiki]\n*[http://kde-look.org/index.php?xcontentmode=88 Fcitx Themes]\n*[http://blog.felixc.at/2012/05/kitty-for-fcitx-quickphrase/ \u732b\u989c\u6587\u5b57 For Fcitx QuickPhrase]\n*[https://github.com/levinit/fcitx-emoji emoji\u5e38\u7528\u8868\u60c5-fcitx-emoji]\n*[https://forum.suse.org.cn/viewtopic.php?f=16&t=731 \u53f2\u524d\u5927\u5751 Fcitx \u5b98\u65b9 Artwork \u56e2\u961f\u51fa\u54c1\uff1aFcitx \u8f93\u5165\u6cd5\u76ae\u80a4\u5236\u4f5c\u5168\u6559\u7a0b]\n*[https://bintray.com/rime-aca/dictionaries/luna_pinyin.dict/view/general rime \u6719(ming)\u6708\u62fc\u97f3\u64f4\u5145\u8a5e\u5eab]\n*[https://bugzilla.gnome.org/show_bug.cgi?id=747825#c6 Fcitx not work in terminal, nautilus, gedit]"
                    }
                ]
            },
            "4972": {
                "pageid": 4972,
                "ns": 0,
                "title": "KDE (Italiano)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:KDE (Italiano)]]\n[[ar:KDE]]\n[[cs:KDE]]\n[[de:Plasma]]\n[[en:KDE]]\n[[es:KDE]]\n[[fa:KDE]]\n[[fr:KDE]]\n[[ja:KDE]]\n[[pl:KDE]]\n[[pt:KDE]]\n[[ru:KDE]]\n[[zh-hans:KDE]]\n[[zh-hant:KDE]]\n{{Related articles start (Italiano)}}\n{{Related2|Desktop Environment (Italiano)|Desktop Environment }}\n{{Related2|Display Manager (Italiano)|Display Manager}}\n{{Related2|Window Manager (Italiano)|Window Manager}}\n{{Related2|Plasma (Italiano)|Plasma}}\n{{Related|Qt}}\n{{Related|KDevelop 4}}\n{{Related2|Uniform Look for Qt and GTK Applications (Italiano)|Integrazione dei temi di KDE 4 con le applicationi GTK}}\n{{Related articles end}}\n\nTratto da [http://www.kde.org/community/whatiskde/softwarecompilation.php KDE - KDE Software Compilation] e [http://www.kde.org/download/ Getting KDE Software]:\n\n:''Il KDE Software Compilation \u00e8 l'insieme di strutture, aree di lavoro e applicazioni prodotte da KDE. Nella sua creazione, KDE \u00e8 nato per realizzare un bellissimo, funzionale e gratuito ambiente di elaborazione desktop per Linux e sistemi operativi analoghi. KDE \u00e8 costituito da un gran numero di applicazioni individuali e da uno spazio di lavoro desktop, inteso come un guscio all'interno del quale \u00e8 possibile eseguire queste applicazioni in modo integrato.''\n\nIl progetto KDE fornisce a monte un ottimo [http://userbase.kde.org/Welcome_to_KDE_UserBase/it UserBase wiki], dove gli utenti possono ottenere informazioni dettagliate sulla maggior parte delle applicazioni integrate in KDE.\n\n==Installazione==\n\n=== Plasma Desktop ===\n\n{{Note|\n*Plasma 5 non \u00e8 installabile con Plasma 4.\n*Il desktop Plasma 4 \u00e8 fuori manutenzione dall' Agosto 2015.[https://www.kde.org/announcements/announce-applications-15.08.0.php] Non \u00e8 pi\u00f9 nei repository ufficiali dal Dicembre 2015.[https://www.archlinux.org/news/dropping-plasma-4/]\n* KDM non \u00e8 pi\u00f9 disponibile per Plasma 5. KDE [http://blog.davidedmundson.co.uk/blog/display_managers_finale raccomanda] di usare il display manager [[SDDM]] poich\u00e8 supporta l'integrazione con il tema di Plasma 5.}}\n\nPrima di installare Plasma, assicurati di avere un' installazione funzionante di [[Xorg]] nel tuo sistema.\n\nInstalla il meta-pacchetto {{Pkg|plasma-meta}} o il gruppo {{Grp|plasma}}. per le differenze tra {{Pkg|plasma-meta}} e {{Grp|plasma}} consulta [[Creating packages#Meta packages and groups]]{{Broken section link}}. Altrimenti, per una installazione pi\u00f9 minimale di Plasma,installa il pacchetto {{Pkg|plasma-desktop}} .\n\n=== Aggiornare Plasma 4 a 5 ===\n \n# Isola {{ic|multi-user.target}}{{bc|# systemctl isolate multi-user.target}}\n# Se usi KDM come display manager, disabilitalo{{bc|# systemctl disable kdm}}\t\n# Disinstalla il pacchetto kde-workspace{{bc|# pacman -Rc kdebase-workspace}} \n# Installa il pacchetto {{pkg|plasma-meta}} o il gruppo {{grp|plasma}}.\n# Abilita [[SDDM]]{{bc|# systemctl enable sddm}} o installa e abilita qualcun altro [[display manager]].\n# Riavvia o semplicemente scrivi {{bc|# systemctl start sddm}} nel terminale.\n \n{{Note|La configurazione Plasma 4 non \u00e8 migrata automaticamente al Plasma 5, in modo da configurare il desktop da zero.}}\n\n=== Applicazioni KDE e pacchetti lingua ===\n\nPer installare tutte le applicazioni di KDE, installa il gruppo {{Grp|kde-applications}} o il meta-pacchetto {{Pkg|kde-applications-meta}} per installare moduli specifici. Nota che questo installer\u00e0 solo le applicazioni, non installer\u00e0 alcuna versione del Desktop Plasma.\n\nSe hai bisogno di un pacchetto lingua, installa {{ic|kde-l10n-'''tualingua'''}} (e.g. {{Pkg|kde-l10n-it}}{{Broken package link|package not found}} per il linguaggio italiano). Per una lista completa di linguaggi disponibili, guarda [https://www.archlinux.org/packages/extra/any/kde-l10n/ questo link].\n\n== Avviare Plasma ==\n\n{{Suggerimento|Per integrare meglio SDDM con Plasma, \u00e8 raccomandato di modificare {{ic|/etc/sddm.conf}} per usare il tema breeze. Consulta [[SDDM#Theme settings]] per istruzioni.}}\n{{Nota|La configurazione Plasma 4 non \u00e8 automaticamente migrata a Plasma 5, quindi dovrai configurare il tuo desktop da zero.}}\n\nPer lanciare una sessione PLasma 5, scegli ''Plasma'' nel menu del tuo [[display manager]] .\n\nAltrimenti, per avviare Plasma con ''startx'', aggiungi {{ic|exec startkde}} al tuo file {{ic|.xinitrc}}. Se vuoi avviare Xorg al login, guarda [[Start X at login]].\n\n== Configurazione ==\n\n{{out_of_date|Da questo punto in poi la pagina potrebbe non essere aggiornata.\nSeguite per ora le istruzioni della versione inglese cliccando qui:[[KDE#Configuration]]}}\n\nTutta la configurazione di KDE viene salvato nella cartella {{ic|~/.Kde4}}. Se KDE comincia a dare parecchi problemi o se volete una nuova installazione di KDE, eliminate o rinominate questa cartella e riavviare la sessione di X. KDE creer\u00e0 nuovamente questa cartella con tutti i file di configurazione di default. Se si desidera che un controllo molto fine sui propri programmi di KDE, allora si pu\u00f2 decidere di modificare i file in questa cartella.\n\nLa configurazione di KDE si effettua principalmente da ''''Impostazioni di Sistema''''. Ci sono poche altre opzioni disponibili per il desktop in ''''Impostazioni predefinite del Desktop'''' quando si clicca con il tasto destro del mouse sul desktop.\n\nPer le altre opzioni di personalizzazione non trattate qui sotto, come le attivit\u00e0, differenti sfondi su un cubo, ecc. si prega di fare riferimento alla pagina wiki di [[Plasma]]\n\n=== Personalizzazione ===\n\nCome impostare il desktop di KDE a seconda del proprio stile personale; si possono usare differenti temi di Plasma, decorazioni di finestre e temi di icone.\n\n==== Plasma Desktop ====\n\n[[Plasma (Italiano)|Plasma]] \u00e8 una tecnologia di integrazione desktop che fornisce molte funzioni, come visualizzare lo sfondo, aggiungere widget sul desktop, manipolare i pannelli o la \"barra delle applicazioni\".\n\n=====Temi=====\n\n[http://kde-look.org/index.php?xcontentmode=76 I temi di Plasma] possono esseri installati attraverso il pannello di controllo delle impostazioni del Desktop. I temi di plasma definiscono l'aspetto dei pannelli e dei plasmoidi. Per una installazione facilitata a livello di sistema, alcuni di questi temi sono disponibili sia nei repository ufficiali che in [https://aur.archlinux.org/packages.php?O=0&K=plasmatheme&do_Search=Go AUR].\n\n=====Widgets (Plasmoidi)=====\n\nI '''Plasmoidi''' sono piccoli script (plasmoid scripts) o codici (plasmoid binaries) di applicazioni di KDE che migliorano la funzionalit\u00e0 del desktop.\n\nI file binari possono essere installati usando i PKGBUILDs da [https://aur.archlinux.org/packages.php?O=0&K=plasmoid&do_Search=Go&PP=25&SO=d&SB=v AUR], oppure scrivendo il proprio PKGBUILD.\n\nIl modo pi\u00f9 semplice per installare i plasmoidi basati su script \u00e8 quello di cliccare col tasto destro del mouse su un pannello o sul desktop e quindi:\n\n Aggiungi Oggetti > Prendi nuovi Oggetti > Scarica nuovi oggetti di Plasma\n\nCi\u00f2 aprir\u00e0 un'interfaccia collegata a [http://www.kde-look.org/ kde-look.org] choke permetter\u00e0 la (dis)installazione o l'aggiornamento di script da terze parti con l'utilizzo di un solo click.\n\nLa maggior parte dei plasmoidi difatti non \u00e8 creata ufficialmente dagli sviluppatori di KDE. Si potrebbe anche provare ad installare i widget di Mac Os X, quelli di Microsoft Windows Vista/7, quelli di Google e persino quelli di SuperKaramba.\n\n===== Applet per il suono nella barra delle applicazioni =====\n\nInstallare Kmix ({{Pkg|kmix}}) dai repository ufficiali e avviarlo dal launcher delle applicazioni. Da sempre KDE, per impostazione predefinita , avvia automaticamente i programmi della sessione precedente, non ha bisogno di essere avviati manualmente ad ogni login.\n\n{{Note|1=Per impostare [https://bugs.kde.org/show_bug.cgi?id=313579#c28 lo step per aumentare/diminuire il volume], aggiungere ad esempio {{ic|1=VolumePercentageStep=1}} nella sezione {{ic|[Global]}} di {{ic|~/.kde4/share/config/kmixrc}}}}\n\n===== Aggiunta di un menu globale sul desktop =====\n\nInstallare {{AUR|appmenu-qt4}} dai repository ufficiali e {{AUR|appmenu-gtk}}{{Broken package link|{{aur-mirror|appmenu-gtk}}}} e {{AUR|appmenu-QT5}}{{Broken package link|{{aur-mirror|appmenu-qt5}}}} da AUR al fine di completare i preliminari per avere sempre un menu globale stile Mac OS X. Per far in modo che Firefox e LibreOffice utilizzino il menu globale, installare {{AUR|firefox-extension-globalmenu}}{{Broken package link|{{aur-mirror|firefox-extension-globalmenu}}}} e {{AUR|libreoffice-extension-menubar}}{{Broken package link|{{aur-mirror|libreoffice-extension-menubar}}}} da AUR.\n\n{{Attenzione|{{AUR|firefox-extension-globalmenu}}{{Broken package link|{{aur-mirror|firefox-extension-globalmenu}}}} \u00e8 stato deprecato a partire da Firefox 25 e non c'\u00e8 altro metodo consigliato per ottenere il menu globale. Tuttavia, vi \u00e8 un pacchetto di patch, {{AUR|firefox-ubuntu}}{{Broken package link|package not found}}. Disponibile su AUR che ha la patch di Canonical per ottenere il menu globale di lavorare con la versione attuale di Firefox (al momento della scrittura)}}\n\nPer ottenere effettivamente il menu globale, installare {{AUR|kdeplasma-applet-menubar}}{{Broken package link|package not found}} da AUR. Creare un pannello plasma sulla parte superiore dello schermo e aggiungere l'applet \"barra dei menu\" al pannello. Per esportare i menu al menu globale, andare in ''Impostazioni sistema> Applicazioni > Aspetto > Stile'', e cliccare sulla scheda \"Regolazione Fine'' e usare l'elenco a discesa per selezionare ''solo esportazione'' come proprio stile per la barra dei menu.\n\n==== Decorazioni delle finestre ====\n\n[http://kde-look.org/index.php?xcontentmode=75 Le decorazioni delle finestre] possono essere cambiate in\n\n Impostazioni di sistema -> Aspetto dello spazio di lavoro -> Decorazioni delle finestre\n\n\u00c8 possibile comunque scaricare direttamente ed installare i temi con un click e alcuni sono disponibili su [https://aur.archlinux.org/packages.php?O=0&K=kdestyle&do_Search=Go&PP=25&SO=d&SB=v AUR].\n\n==== Temi Icone ====\n\nNon ci sono tanti temi per le icone di sistema disponibili per KDE 4. E' possibile aprire ''Impostazioni di sistema > Aspetto > Icone'' per cercarne uno nuovo oppure installarlo manualmente. Molti temi si possono trovare su [http://www.kde-look.org/ kde-look.org].\n\nI loghi ufficiali, icone, copertine CD e altre grafiche di Arch Linux sono disponibili nel pacchetto {{AUR|archlinux-artwork}}. Sopo l'installazione potete trovarli in {{ic| /usr/share/archlinux/}}\n\n==== Caratteri ====\n\n===== Caratteri visivamente brutti in KDE =====\n\nProvare ad installare i pacchetti {{Pkg|ttf-dejavu}} e {{Pkg|ttf-liberation}}. \n\nDopo l'installazione, assicurarsi di uscire e rientrare dalla sessione. Non dovrebbe essere necessario modificare le impostazioni del pannello \"Caratteri\" in \"Impostazioni di Sistema\". \n\nSe si \u00e8 impostato manualmente il rendering dei [[Fonts]], prestare attenzione dal momento che le Impostazioni di Sistema possono alterare il loro aspetto. Quando si entra in ''Impostazioni di Sistema > Aspetto > Caratteri'', Impostazioni di Sistema altera il file di configurazione ({{ic|fonts.conf}}). \n\nNon c'\u00e8 modo di prevenirlo, ma se si imposta il valore in modo da uguagliare il file {{ic|fonts.conf}}, si otterr\u00e0 il rendering del font voluto (sar\u00e0 richiesto di riavviare le proprio applicazioni o in alcuni casi di riavviare il proprio desktop). \n\nNotare che pure le Preferenze dei Caratteri di Gnome ha questo comportamento, se si usano entrambi gli ambienti desktop.\n\n===== I caratteri sono grandi o sembrano sproporzionati =====\n\nProvare a forzare il DPI dei caratteri a '''96''' andando im ''Impostazioni di sistema > Aspetto delle applicazioni > Caratteri.''\n\nSe non dovesse funzionare, provare a impostare il valore di DPI direttamente tramite la configurazione di [[Xorg_(Italiano)#Impostazione_manuale_DPI|Xorg]].\n\n====Efficienza dello spazio di lavoro====\n\nGli utenti che utilizzano schermi piccoli (come i Netbooks) possono cambiare alcune impostazioni per rendere pi\u00f9 efficiente lo spazio di lavoro di KDE. Si veda [http://userbase.kde.org/KWin/it#Utilizzo_con_schermi_piccoli_.28es._netbook.29 Utilizzo con schermi piccoli (es. netbook)] per maggiori informazioni. In alternativa potete utilizzare [http://www.kde.org/workspaces/plasmanetbook/ la modalit\u00e0 Plasma Netbook di KDE], la quale offre un ambiente di lavoro realizzato appositamente per piccoli e leggeri dispositivi netbook.\n\n=== Networking ===\n\nPotete scegliere tra i seguenti tool:\n\n* NetworkManager. Si veda [[NetworkManager_(Italiano)#KDE4Networkmanager|NetworkManager]]{{Broken section link}} per maggiori informazioni.\n* Wicd. Si veda la pagina [[wicd (Italiano)|Wicd]] per ulteriori informazioni.\n\n=== Stampa ===\n\n{{Suggerimento|Utilizzare l'interfaccia web di [[CUPS (Italiano)|CUPS]] per una configurazione pi\u00f9 rapida. Le stampanti configurate in questo modo possono essere utilizzati nelle applicazioni KDE.}}\n\nSi pu\u00f2 anche scegliere la configurazione della stampante attraverso ''Impostazioni di sistema > configurazione delle stampanti''. Per poter utilizzare questo metodo, \u00e8 necessario installare prima i pacchetti {{Pkg|kdeutils-print-manager}}{{Broken package link|package not found}} e {{Pkg|cups}}.\n\nSi necessit\u00e0 di avviare per prima cosa il demone {{ic|avahi-daemon}} e  {{ic|cupsd}} altrimenti incorrerete nel seguente messaggio di errore: \n\n The service 'Printer Configuration' does not provide an interface 'KCModule' \n with keyword 'system-config- printer-kde/system-config-printer-kde.py' \n The factory does not support creating components of the specified type.\n\n\nSe riscontrate il seguente errore, significa che \u00e8 necessario dare i diritti utente per gestire le stampanti.\n\n There was an error during CUPS operation: 'cups-authorization-canceled'\n\nPer CUPS, questo viene impostato in {ic|/etc/cups/cups-files.conf}}.\n\nAggiungere {{ic|lp}} a {{ic|SystemGroup}} permette a chiunque di poter configurare una stampante. \u00c9 possibile, ovviamente, aggiungere un altro gruppo al posto di {{ic|lp}}.\n\n{{hc|/etc/cups/cups-files.conf|# Administrator user group...\nSystemGroup sys root lp}}\n\n{{Suggerimento|Si legga l'articolo [[CUPS (Italiano)|CUPS]] per maggiori dettagli su come configurare CUPS.\n\n===Supporto a Samba/Windows===\n\nSe si desidera accedere ai servizi Windows installare [[samba (Italiano)|Samaba]] (pacchetto {{pkg|samba}}\n\nSi possono quindi configurare le condivisioni di Samba attraverso\n\n  Impostazioni di sistema -> Condivisione -> Samba\n\n=== Attivit\u00e0 Desktop di KDE ===\n\nLe attivit\u00e0 Desktop di KDE sono dei set di Plasma Widget strutturati come \"Desktop Virtuali\" basati su Plasma, dove si possono configurare autonomamente i widget come se si avesse pi\u00f9 di un monitor o di un desktop. \n\nSul proprio desktop fare clic sulla ''Casella degli Strumenti'' (Cashew) e sul pop-up selezionare \"Attivit\u00e0\". \n\nUna barra di plasma verr\u00e0 visualizzata nella parte inferiore dello schermo che presenter\u00e0 le varie Attivit\u00e0 Plasma-Desktop esistenti. \u00c8 quindi possibile spostarsi tra loro, premendo l'icona corrispondente.\n\n=== Risparmio energetico ===\n\nKDE ha un servizio di risparmio energetico integrato chiamato \"'''Powerdevil Power Management'''\" con il quale \u00e8 possibile modificare il profilo di risparmio energetico del sistema e/o la luminosit\u00e0 dello schermo (se supportata). \n\nDalla versione KDE 4.6, CPU frequency scaling non \u00e8 pi\u00f9 gestito da KDE. Si presuppone che sia gestito automaticamente dal hardware e/o dal kernel. Dalla versione del kernel 3.3, Arch Linux utilizza {{ic|ondemand}} come governatore predefinito per Cpufreq. Leggere attentamente il [[CPU frequency scaling (Italiano)]].\n\n===Monitorare i cambiamenti su file locali e cartelle===\n\nKDE utilizza '''inotify''' direttamente dal kernel usando '''kdirwatch''' (incluso in kdelibs), in questo modo sia Gamin che FAM non sono pi\u00f9 necessari. Si potrebbe voler installare il pacchetto {{AUR|kdirwatch}}{{Broken package link|{{aur-mirror|kdirwatch}}}} da AUR, si tratta di un'interfaccia grafica a kdirwatch.\n\n==Amministrazione del Sistema==\n\n===Impostare il layout per cambiare la mappatura della tastiera===\n\nPer impostare la tastiera si vada in:\n\n    Impostazioni di Sistema > Dispositivi di Immissione > Tastiera\n\nNella prima scheda potete scegliere il modello della tastiera.\n\nQui innanzitutto si deve scegliere il modello della propria tastiera.\n\nNella scheda\"'''Mappatura'''\", si pu\u00f2 abilitare la mappatura della tastiera e scegliere la lingua desiderata, semplicemente cliccando sul tasto \"Aggiungi mappatura\".\n\nNella scheda \"'''Avanzate'''\", \u00e8 possibile scegliere la combinazione di tasti da utilizzare per modificare la mappatura della tastiera presente nel sotto men\u00f9 \"Scorciatoie per cambiare la mappatura\".\n\n===Terminare Xorg-server attraverso le impostazioni di sistema di KDE ===\n\nSi vada nel sottomenu:\n    Impostazioni di Sistema > Dispositivi di Immissione > Tastiera > (Scheda) Avanzate > Sotto-menu \"Sequenza dei tasti per terminare il server X\"\nSpuntare l'opzione e premere su \"Applica\".\n\n===Moduli kcm utili===\n\nKCM significa '''KC'''onfig '''M'''odule. Questi moduli possono aiutare a configurare il vostro sistema fornendo una interfaccia in Impostazioni di sistema.\n\n'''Configurare l'aspetto delle applicazioni gtk.'''\n* {{Pkg|kde-gtk-config}}\n* {{AUR|kcm-gtk}}{{Broken package link|{{aur-mirror|kcm-gtk}}}}\n* {{AUR|kcm-qt-graphicssystem}}{{Broken package link|package not found}}\n\n'''Configurare il bootloader GRUB'''\n* {{AUR|grub2-editor}}{{Broken package link|{{aur-mirror|grub2-editor}}}}\n* {{AUR|kcm-grub2}}{{Broken package link|{{aur-mirror|kcm-grub2}}}}\n\n'''Configurare il driver Synaptics per il touchpad.'''\n* {{AUR|synaptiks}}{{Broken package link|{{aur-mirror|synaptiks}}}}\n* {{AUR|kcm_touchpad}}{{Broken package link|{{aur-mirror|kcm_touchpad}}}}\n\n'''Configurare il Firewall [[Uncomplicated Firewall]] (UFW)'''\n* {{AUR|kcm-ufw}}{{Broken package link|package not found}}\n\n'''Configurazioni per [[PolicyKit]]'''\n* {{AUR|kcm-polkit-kde-git}}\n\n'''Configurazioni per tavolette Wacom'''\n* {{Pkg|kcm-wacomtablet}}\n\nAltri KCM possono essere trovati in [http://kde-apps.org/index.php?xcontentmode=273 kde-apps.org].\n\n==Ricerca Desktop e Desktop Semantico==\n\nSecondo [[wikipedia:Semantic desktop|Wikipedia]], \"''il Desktop Semantico \u00e8 un termine che si riferisce a idee e metodi per modificare l'interfaccia utente di un computer e gestione in modo nuovo i dati, in modo che tali dati siano pi\u00f9 facilmente condivisi tra le diverse applicazioni o le attivit\u00e0 e capaci di essere elaborati automaticamente.\"''\n\nL'implementazione di KDE di questo concetto \u00e8 legato (come di KDE 4.10) a due grandi pezzi di software, Akonadi e Nepomuk. Tra di loro, questi programmi permettono di guardare i propri dati e creare un indice facilmente consultabile di esso. L' idea alla base di questi software \u00e8 quello di rendere il vostro sistema di \"conoscenza\" dei propri dati e darne contesto usando metadati e tag forniti dall'utente.\n\nSoprano e Virtuoso sono due dipendenze del Nepomuk Semantic Desktop. Dal momento che il rapporto tra le due componenti principali e le loro dipendenze non \u00e8 molto chiaro, le seguenti sezioni cercheranno di far luce sul loro funzionamento interno.\n\n===Virtuoso e Soprano===\n\nIl database utilizzato per memorizzare tutti i metadati utilizzati dal desktop semantico \u00e8 un database '[[wikipedia:Resource_Description_Framework|Resource Description Framework (RDF)]]'' chiamato Virtuoso. Internamente, Virtuoso pu\u00f2 essere considerato come un database relazionale. (Un [[wikipedia:Relational_model|relational database]] \u00e8 diverso da un database tradizionale basato su una singola tabella, nel senso che utilizza pi\u00f9 tabelle correlate da un singolo tasto per memorizzare i dati). Esso \u00e8 attualmente controllata da OpenLink, ed \u00e8 disponibile sia sotto licenza commerciale, sia sotto licenza open source.\n\nTratto da  [http://techbase.kde.org/Projects/Nepomuk/ComponentOverview#Soprano KDE Techbase], ''Soprano \u00e8 una astrazione Qt che lavora sulle banche dati. Fornisce un'API amichevole basata sulle QT per l'accesso a diversi dati RDF. Attualmente supporta 3 backend di database - Sesame, Redland e Virtuoso . Lo Stack Semantico di KDE funziona solo con Virtuoso. Soprano offre inoltre funzionalit\u00e0 aggiuntive come la serializzazione, l'analisi dei dati RDF, e una architettura client-server che viene molto utilizzato in Nepomuk.''\n\n===Nepomuk===\n\nNepomuk \u00e8 l'acronimo di \"Networked Environment for Personal, Ontology-based Management of Unified Knowledge\". Nepomuk \u00e8 ci\u00f2 che permette agli utenti la marcatura e l'etichettatura dei file, nonche di come siano posizionati. Inoltre serve anche a leggere effettivamente il database Virtuoso. Esso fornisce una API per gli sviluppatori di applicazioni che permettono di leggere i dati raccolti da esso.\n\nIn passato , il servizio \"Strigi\" \u00e8 stato utilizzato per raccogliere i dati sui vari file presenti sul sistema. Tuttavia, a causa di molte ragioni , la pi\u00f9 importante delle quali \u00e8 l'utilizzo di CPU e della memoria, Strigi \u00e8 stato sostituito da un servizio di indicizzazione interno che \u00e8 integrato con Nepomuk-Core.\n\nPer ulteriori informazioni su Nepomuk [http://techbase.kde.org/Projects/Nepomuk/ComponentOverview#Nepomuk_Components questa pagina] \u00e8 un'ottima risorsa. Tuttavia, alcune delle informazioni nella pagina precedente \u00e8 stato reso obsoleto secondo [http://vhanda.in/blog/2012/11/nepomuk-without-strigi/ questo post].\n\n==== Utilizzare e configurare Nepomuk ====\n\nPer utilizzare la ricerca usando Nepouk sul desktop KDE, premere {{ic|ALT+ F2}} e digitare la query. Nepomuk \u00e8 abilitato di default. Pu\u00f2 essere attivato e disattivato in\n\n Impostazioni di Sistema -> Ricerca Desktop\n\nNepomuk \u00e8 in grado di mantenere la traccia di un numero elevato di file e perci\u00f2 si raccomanda di aumentare il numero di file che possono essere osservati con inotify, per fare ci\u00f2: \n\n # sysctl fs.inotify.max_user_watches=524288\n\nPer renderlo persistente:\n \n # echo \"fs.inotify.max_user_watches = 524288\" >> /etc/sysctl.d/99-inotify.conf\n\nRiavviare Nepomuk per vederne i cambiamenti.\n\n==== KDE senza Nepomuk ====\n\nSe si desidera eseguire KDE senza Nepomuk , esiste il pacchetto {{AUR|nepomuk-core-fake}}{{Broken package link|{{aur-mirror|nepomuk-core-fake}}}} su AUR. \n\n{{attenzione|A partire da ora , Dolphin dipende da {{AUR|nepomuk-widgets}}{{Broken package link|{{aur-mirror|nepomuk-widgets}}}} e quindi si romper\u00e0 se utilizzato con il pacchetto Nepomuk-fake}}\n\n===Akonadi===\n\nAkonadi \u00e8 un sistema destinato a funzionare da cache locale per dati PIM, indipendentemente dalla sua origine, che pu\u00f2 essere poi usata da altre applicazioni. Questo include e-mail dell'utente, contatti, calendari, riviste, eventi, allarmi, note e cos\u00ec via. Si interfaccia con le librerie Nepomuk per fornire capacit\u00e0 di ricerca .\n\nAkonadi non memorizza i dati di per s\u00e9 : il formato di memorizzazione dipende dalla natura dei dati (per esempio, i contatti possono essere memorizzati in formato vCard ).\n\nPer ulteriori informazioni su Akonadi e il suo rapporto con Nepomuk, vedere\n[http://blogs.kde.org/node/4503] e [http://cmollekopf.wordpress.com/2013/02/13/kontact-nepomuk-integration-why-data-from-akonadi-is-indexed-in-nepomuk/].\n\n==== Disabilitare Akonadi ====\n\nSi veda l'apposita sezione nel [http://userbase.kde.org/Akonadi/it#Disattivare_il_sottosistema_Akonadi manuale utente di KDE].\n\n==== Configurare il database ====\n\nAvviare {{ic|akonaditray}} incluso nel pacchetto {{Pkg|kdepim-runtime}}, cliccare col tasto destro sull'icona e selezionare '''configura'''. Nella scheda di configurazione del server Akonadi potrete:\n\n* Configurare Akonadi per utilizzare un server MySQL/MariaDB in esecuzione sul sistema.\n* Configurare Akonadi per utilizzare un server SQLite\n* Configurare Akonadi per utilizzare un server PostgreSQL\n\n==== Esecuzione di KDE senza Akonadi ====\n\nIl pacchetto {{AUR|akonadi-fake}}{{Broken package link|package not found}} \u00e8 una buona opzione per coloro che desiderano eseguire KDE senza Akonadi.\n\n==Phonon==\n\n===Cos'\u00e8 Phonon ?===\n\nDa [[Wikipedia:it:Phonon|Wikipedia]]:\n\n''Phonon \u00e8 l'API multimediale di KDE 4. Phonon \u00e8 stato creato per permettere a KDE 4 di essere indipendente da qualsiasi framework multimediale come GStreamer oppure xine e per fornire delle API stabili per la durata di vita di KDE 4. E' stato creato per varie ragioni: per creare una semplice API multimediale con stile KDE/Qt, per supportare meglio i framework multimediali nativi su Windows e Mac OS X, e per risolvere i problemi dei framework non pi\u00f9 mantenuti o con API e ABI instabili.''\n\n'''Phonon''' \u00e8 usato largamente in KDE, sia per le applicazioni audio (come ad esempio le notificazioni di sistema o gli applicativi audio di KDE) sia per quelle video (come ad esempio l'anteprima video di Dolphin).\n\n===Quale backend si dovrebbe scegliere?===\n\nSi possono utilizzare diversi backend come [[GStreamer]] ({{AUR|phonon-qt4-gstreamer}}) e [[VLC]] ({{AUR|phonon-qt4-vlc}}) disponibili nei [[Official repositories (Italiano)|Depositi Ufficiali]], mentre  QuickTime ({{AUR|phonon-quicktime-git}}{{Broken package link|{{aur-mirror|phonon-quicktime-git}}}}), e [http://martinsandsmark.wordpress.com/2012/07/07/akademy/ AVKode]  ({{AUR|phonon-avkode-git}}{{Broken package link|{{aur-mirror|phonon-avkode-git}}}}) sono reperibili su [[AUR (Italiano)|AUR]]. \n\nLa maggior parte degli utenti preferisce GStreamer o VLC, poich\u00e9 sono maggiormente supportati. Si noti che possono essere installati pi\u00f9 backend in una sola volta, e sceglierne uno in ''Impostazioni di Sistema > Multimedia > Phonon > Backend''.\n\n{{Nota|\n* In relazione alla [http://community.kde.org/Phonon/FeatureMatrix Feature Matrix], il backend GStreamer ha alcune caratteristiche in pi\u00f9 rispetto al backend VLC.\n* Come annunciato in [http://userbase.kde.org/Phonon#Backend_libraries KDE UserBase], Phonon-MPlayer non \u00e8 attualmente mantenuto.}}\n\n== Applicazioni utili == \n\nIl set ufficiale di applicazioni KDE possono essere trovato [http://www.kde.org/applications/ qui].\n\n=== Yakuake ===\n\n[[Yakuake]] fornisce un emulatore di terminale in stile Quake, che viene attivata e resa visibile utilizzando il tasto {{ic|F12}}. Yakuake supporta schede multiple e pu\u00f2 essere installato con il pacchetto {{pkg|yakuake}}.\n\n===KDE Telepathy===\n\n[http://community.kde.org/KTp KDE Telepathy] \u00e8 un progetto con l' obiettivo di integrare strettamente Instant Messaging con il desktop KDE . Utilizza il framework Telepathy come back-end, ed \u00e8 destinato a sostituire Kopete .\n\nPer avere tutti i protocolli disponibili per Telepathy, installare il gruppo {{grp|telepathy}}.\nPer usare il client Telepathy per KDE, installare il pacchetto {{pkg|kde-telepathy-meta}}{{Broken package link|package not found}} che include tutti i pacchetti presenti nel gruppo {{grp|kde-telepathy}}{{Broken package link|package not found}}.\n\n==Trucchi e Consigli==\n\n=== Utilizzare Openbox in KDE ===\n\n{{Suggerimento|Il gestore delle finestre nativo per KDE \u00e8 {{ic|kwin}}.}}\n\nIl gestore delle finestre [[Openbox (Italiano)|Openbox]] opera molto bene all'interno di KDE, combinato con un miglioramento significativo della prestazioni e della reattivit\u00e0. Per impostazione predefinita, una sessione {{ic|KDE/Openbox}} sessione sar\u00e0 reso automaticamente disponibile dopo l'installazione di Openbox, anche se l'ambiente KDE stesso non \u00e8 stato installato. La maggior parte dei display manager popolari permetteranno dunque di avviare KDE con Openbox come window manager e di essere selezionato come una sessione.\n\nPer avviare manualmente KDE con Openbox come window manager - come sessione predefinita per [[SLiM]], o se non si utilizza un display manager - aggiungere il seguente comando al file [[Xinitrc (Italiano)|Xinitrc]] :\n\n exec openbox-kde-session\n\n==== Riattivare gli effetti del compositing ====\n\nQualora si sostituisce il nativo gestore delle finestre {{ic|KWin}} con Openbox , eventuali effetti di composite del desktop - come la trasparenza - saranno persi. Questo perch\u00e9 Openbox stesso non fornisce alcuna funzionalit\u00e0 di composite. Tuttavia, \u00e8 facilmente possibile utilizzare un programma di compositing separato per [[Openbox#Compositing_effects | riattivare compositing ] ].\n\n=== Integrare Android con il desktop KDE ===\n\nInstallare {{pkg|kdeconnect}} e [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp KDE Connect] dal Play Store per una miglior integrazione tra Android e KDE.\n\n=== Ricevere le notifiche per gli aggiornamenti software ===\n\nInstallare {{Pkg|apper}} per ottenere le notifiche sugli aggiornamenti dei pacchetti nella barra delle applicazioni di KDE e di una GUI semplice per la gestione dei pacchetti. Vedere il [http://www.packagekit.org PackageKit sito] per ulteriori informazioni.\n\n=== Configurare KWin per utilizzare le OpenGL ES ===\n\nA partire dalla versione 4,8 di KWin \u00e8 possibile utilizzare i binari compilati separatamente per poter utilizzare '''kwin_gles'''  in sostituzione di KWin. Esso si comporta quasi come l'eseguibile kwin in modalit\u00e0 OpenGL2, con la leggera differenza che utilizza ''egl'' anzich\u00e9 ''glx'' come l'interfaccia della piattaforma nativa. Per testare kwin_gles \u00e8 sufficiente eseguire {{ic|kwin_gles --replace}} in Konsole.\n\nse volete rendere questo cambiamento permanente dovete create uno script in {{Ic|$(kde4-config --localprefix)/env/}} che esporti {{ic|1=KDEWM=kwin_gles}}.\n\n=== Abilitare le anteprime audio/video nei file manager Konqueror e Dolphin ===\n\nPer usufruire delle anteprima audio nei file manager Konqueror e Dolphin, installare il pacchetto {{AUR|audiothumbs}}{{Broken package link|{{aur-mirror|audiothumbs}}}} da AUR.\n\nPer avere le anteprime dei video in konqueror e dolphin, installare {{Pkg|kdemultimedia-mplayerthumbs}}{{Broken package link|package not found}} o {{Pkg|ffmpegthumbs}}.\n\n=== Velocizzare l'avvio delle applicazioni ===\n\nL'utente Rob ha scritto nel suo blog questo \"[http://kdemonkey.blogspot.nl/2008/04/magic-trick.html magic suggerimento]\" per migliorare l'avvio delle applicazioni di 50-150ms.\n\nPer abilitarlo basta creare la seguente cartella nella propria home:\n\n $ mkdir -p ~/.compose-cache\n\n{{nota|Per chi fosse curioso di quello che si \u00e8 fatto, questo permette una ottimizzazione che Lubos ha introdotto tempo fa e che, riscritta, \u00e8 stata integrata in libx11. Normalmente allo startup le applicazioni leggono le informazioni sui metodi di input da {{ic|/usr/share/X11/locale/<your locale>/Compose}}. Questo file \u00e8 veramente lungo (>5000 linee per il file en_US.UTF-8) e ci vuole tempo perch\u00e9 venga processato. Libx11 pu\u00f2 creare una cache delle informazioni parsate che sia pi\u00f9 veloce da leggere sequenzialmente, ma sar\u00e0 in grado di riutilizzare una cache esistente o crearne una nuova in {{ic|~/.comporre-cache}} solo se la directory esiste gi\u00e0.}}\n\n===Nascondere partizioni===\n\nIn Dolphin, si effettua semplicemente cliccando col tasto destro su un {{ic|dispositivo}} nella barra laterale e selezionare {{ic|Nascondi ''dispositivo''}}, altrimenti...\n\nSe si desidera prevenire la comparsa delle partizioni interne nel proprio file manager, \u00e8 possibile creare una regola di udev:\n\n{{hc|/etc/udev/rules.d/10-local.rules|2=\nKERNEL==\"sda[0-9]\", ENV{UDISKS_IGNORE}=\"1\"\n}}\n\nLa stessa cosa per una partizione specifica:\n\n KERNEL==\"sda1\", ENV{UDISKS_IGNORE}=\"1\"\n KERNEL==\"sda2\", ENV{UDISKS_IGNORE}=\"1\"\n\n=== Suggerimenti per Konqueror ===\n\n==== Disabilitare i Tooltips (Browser) ====\n\nPer disabilitare questa piccola chiave per i tooltips in Konqueror (alla pressione di {{ic|CTRL}} su una pagina web), andare in ''Impostazioni > Configura Konqueror > Navigazione Web'' e deselezionare ''Abilita l'attivazione attraverso il tasto CTRL dei tasti di accesso'', oppure\n\n{{hc|~/.kde4/share/config/konquerorrc|2=\n [Access Keys]\n Enabled=false\n}}\n\n====Usare WebKit====\n\n\u00c9 possibile utilizzare WebKit in konqueror al posto di KHTML, per prima cosa installare il pacchetto {{pkg|kwebkitpart}}{{Broken package link|package not found}}.\n\nQuindi dopo aver eseguito Konqueror, si prema ''Impostazioni > Configura Konqueror'', navigare nel sotto-men\u00f9 ''Generale'', e si selezioni {{ic|WebKit}} come ''Motore di base del browser web''.\n\n===Integrazione di Firefox===\n\nVedere l'articolo [[Firefox#KDE_integration|Firefox]]{{Broken section link}}.\n\n=== Impostare lo sfondo del LockScreen per avere lo stesso sfondo del desktop ===\n\nLo sfondo di Kscreensaver pu\u00f2 essere cambiato da quello predefinito.\n\nKDE  [https://bugs.kde.org/show_bug.cgi?id=312828 non \u00e8 abilita] il cambiamento dello sfondo per la schermata del lockscreen, ma un [http://lists.opensuse.org/opensuse-kde/2013-02/msg00082.html workaround] [http://forum.kde.org/viewtopic.php?f=66&t=110039 esiste]:\n\n{{hc|/usr/share/apps/ksmserver/screenlocker/org.kde.passworddialog/contents/ui/|\n[...]\n        ''#source: theme.wallpaperPathForSize(parent.width, parent.height)''\n        source: \"1920x1080.jpg\"\n[...]\n}}\n\nOra si copi l'immagine di sfondo corrente come {{ic|\"1920x1080.jpg \"}}.\n\nNota \u00c8 necessario ripetere questa operazione per ogni aggiornamento del pacchetto {{AUR|kdebase-workspace}}.\n\n=== Impostare l'immagine del lockscreen ad una arbitraria ===\n\nCopiare un profilo wallpaper esistente come modello :\n\n $ cp -r /usr/share/wallpapers/''ExistingWallpaper'' ~/.kde4/share/wallpapers/\n\nModificare il nome della directory , e modificare {{ic|metadata.desktop}}:\n\n{{hc|~/.kde4/share/wallpapers/''MyWallpaper''/metadata.desktop|2=\n[Desktop Entry]\nName=MyWallpaper\nX-KDE-PluginInfo-Name=MyWallpaper\n}}\n\nRimuovere l'immagine esistente ({{ic|contents/screenshot.png}} e {{ic|images/*}}) :\n\n $ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/screenshot.png\n $ rm ~/.kde4/share/wallpapers/MyWallpaper/contents/images/*\n\nCopiare la nuova immagine :\n\n $ cp ''path/to/MyWallpaper.png'' MyWallpaper/contents/images/1920x1080.png\n\nModificare il profilo di metadati per il tema corrente :\n\n{{hc|~/.kde4/share/apps/desktoptheme/MyTheme/metadata.desktop|2=\n[Wallpaper]\ndefaultWallpaperTheme=MyWallpaper\ndefaultFileSuffix=.png\ndefaultWidth=1920\ndefaultHeight=1080\n}}\n\nBloccare lo schermo per verificarne il funzionamento.\n\n{{Nota|Questo metodo imposta lo sfondo per il lockscreen senza modificare le impostazioni a livello di sistema. Per un cambiamento a livello di sistema , creare un nuovo profilo wallpaper in {{ic|/usr/share/wallpapers}}.}}\n\n== Risoluzione dei problemi ==\n\n=== Correlati alla configurazione ===\n\nMolti problemi in KDE sono legate alla configurazione. Quindi si consiglia di verificare con la configurazione predefinita.\n\n==== Ripristinare tutte le configurazioni di KDE ====\n\nPer verificare se la propria configurazione sia il problema, provare ad uscire dalla vostra sessione di KDE e, in un terminale, eseguire\n\n $ cp ~/.kde4 ~/.kde4.safekeeping\n $ rm .kde4/{cache,socket,tmp}-$(hostname)\n\nIl comando ''rm'' rimuover\u00e0 solo i collegamenti simbolici che verranno ricreati automaticamente da KDE. Ora inizia una nuova sessione di KDE per vedere i risultati.\n\nSe il problema viene risolto, si avr\u00e0 un nuovo e senza problemi {{ic|~/.Kde4}}. Gradualmente \u00e8 possibile spostare le parti della precedente configurazione salvata, riavviare la sessione regolarmente per effettuare un test, e per identificare le parti problematiche della vostra configurazione. Alcuni file qui sono chiamati dopo le applicazioni in modo che si sar\u00e0 probabilmente in grado di testare questi senza dover riavviare KDE.\n\n==== Il servizio di indicizzazione dei file non funziona anche dopo aver abilitato tutto correttamente ====\n\nCi\u00f2 \u00e8 dovuto a causa di un database di Nepomuk danneggiato. Esso pu\u00f2 essere sanato spostando il database o leliminandolo del tutto. Uscire da KDE e scrivere questo comando da una console virtuale:\n\n  $ mv ~/.kde4/share/apps/nepomuk ~/.kde4/share/apps/nepomuk_backup\n\nper spostare il vostro del database Nepomuk esistente (e corrotto). Esso verr\u00e0 ricreato quando si accede nuovamente .\n\n==== Il desktop Plasma si comporta stranamente ====\n\nI problemi di Plasma sono causati principalmente da '''plasmoidi''' instabili o '''temi di plasma'''. Innanzitutto, si cerchi di risalire all'ultimo plasmoide o tema di plasma installato e lo si disabiliti oppure lo si rimuova direttamente. \n\nQuindi, se il vostro desktop si chiude improvvisamente, questo \u00e8 probabilmente causato da un problema relativo ad un widget installato. Se non si riesce a ricordare quale widget \u00e8 stato installato prima che il problema ha cominciato a presentarsi (a volte pu\u00f2 essere un problema irregolare), cercare di rintracciarlo, eliminando ogni widget finch\u00e9 il problema non cessa. Quindi \u00e8 possibile disinstallare il widget problematico, ed effettuare un bug report (bugs.kde.org) '''solo se si tratta di un widget ufficiale'''. Se non lo \u00e8, si consiglia di segnalare il problema sulla voce relativa al plasmoide incriminato su kde-look.org e informare gli sviluppatori sulla questione (dettagliando i passi per riprodurre, ecc.).\n\nSe non si riesce a risalire al problema, e non si vuole perdere tutte le configurazioni di KDE, si dia:\n\n  $ rm -r ~/.kde4/share/config/plasma*\n\nQuesto comando '''canceller\u00e0 tutte le configurazioni di plasma''' dell'utente e quando si effettuer\u00e0 nuovamente il login in KDE, si avranno di nuovo le impostazioni di '''default'''. Si deve sapere che questa azione '''non pu\u00f2 essere annullata'''. Si dovrebbe creare una cartella di backup e copiarci tutti i file di configurazione di plasma.\n\n==== Pulire la cache per risolvere i problemi di aggiornamento ====\n\nIl [https://bbs.archlinux.org/viewtopic.php?id=135301 problema] potrebbe essere causato dalla vecchia cache. A volte dopo un aggiornamento, la vecchia cache potrebbe introdurre dei problemi, difficolt\u00e0 ad eseguire il debug di un comportamento, come una shell non killabile, problemi di blocco quando si cambiano varie impostazioni, e vari altri problemi, come ark che non \u00e8 pi\u00f9 in grado di utilizzare unrar o unzip, oppure Amarok non riconosce pi\u00f9 le proprie musiche. \n\nQuesta soluzione pu\u00f2 anche risolvere i problemi con i programmi KDE e QT che si visualizzano male dopo un aggiornamento.\n\nRicostruire la cache con i seguenti comandi :\n\n $ rm ~/.config/Trolltech.conf\n $ kbuildsycoca4 --noincremental\n\nSperiamo che i vostri problemi siano ora risolti.\n\n=== Pulire al configurazione di Akonadi per ripristinare Kmail ===\n\nIn primo luogo , assicurarsi che KMail non sia in esecuzione. Poi effettuare un backup delle configurazioni :\n\n $ mv ~/.local/share/akonadi  ~/.local/share/akonadi-old\n $ mv ~/.config/akonadi ~/.config/akonadi-old\n\nAndare in {{ic|Impostazioni di Sistema -> Informazioni Personali}} e rimuovere tutte le risorse. Poi da Dolphin eliminare le cartelle  originali {{ic|~/.local/share/akonadi}} e {{ic|~/.config/akonadi}} per cui si \u00e8 fatto il backup. \n\nOra ritornare in {{ic|Impostazioni di Sistema -> Informazioni Personali}} e con attenzione aggiungere le risorse desiderate. Si dovrebbe vedere la risorse in lettura delle cartelle di posta. Quindi avviare Kmail/Kontact per verificare il corretto funzionamento.\n\n=== Come ottenere informazioni sullo stato di KWin per il supporto e il debug ===\n\nQuesto comando stampa una meravigliosa sintesi dello stato attuale di KWin comprese le opzioni utilizzate , backend del compositing utilizzati e le relative funzionalit\u00e0 dei driver OpenGL. [http://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ Si veda il blog di Martin].\n\n qdbus org.kde.kwin /KWin supportInformation\n\n=== KDE4 non termina il caricamento ===\n\nCi potrebbe essere una situazione in cui il driver grafico potrebbe creare un conflitto all'avvio di KDE4. Questa situazione si verifica dopo il login, ma prima di terminare il caricamento del desktop, rendendo l'utente ad attendere all'infinito la schermata che termini la schermata di caricamento. Fino ad ora gli unici utenti che hanno confermato di essere colpiti da questo problema utilizzano driver [[Nvidia (Italiano)|Nvidia]] e KDE4.\n\nUna soluzione per gli utenti Nvidia \u00e8 :\n\n{{hc|~/.kde4/share/config/kwinrc|2=\n[Compositing]\nEnabled=false\n}}\n\nPer ulteriori informazioni consultare questa [https://bbs.archlinux.org/viewtopic.php?pid=932598  discussione].\n\nSe si \u00e8 effettuata una installazione minimale di KDE, assicurarsi di installare il font richiesto dal vostro backend phonon, come elencato elencato [[#Installazione minimale|qui]]{{Broken section link}}\n\n=== KDE ed i programmi in Qt vengono visualizzati in maniera errata con gestori di finestre differenti ===\n\nSe si stanno utilizzando programmi di KDE o Qt ma non in una sessione di KDE (in maniera specifica, non \u00e8 stato lanciato {{Ic | startkde}}, allora, a partire da KDE 4.6.1 sar\u00e0 necessario istruire Qt affinch\u00e9 trovi gli stili di KDE (Oxygen, QtCurve ecc.)\n\n\u00c8 necessario solamente impostare la variabile d'ambiente {{ic|QT_PLUGIN_PATH}}. Ad esempio mettere\n\n export QT_PLUGIN_PATH=$HOME/.kde4/lib/kde4/plugins/:/usr/lib/kde4/plugins/\n\nnel proprio {{ic| /etc/profile}} (o in {{ic| ~/.profile}} nel caso non si abbia accesso root). qtconfig dovrebbe essere quindi in grado di trovare gli stili di kde e la visualizzazione dovrebbe tornare perfetta!\n\nIn alternativa si pu\u00f2 creare un link simbolico degli stili di KDE nella directory degli stili utilizzati da QT:\n\n # ln -s /usr/lib/kde4/plugins/styles/ /usr/lib/qt/plugins/styles\n\nSotto Gnome si pu\u00f2 provare a installare il pacchetto libgnomeui.\n\n=== Problemi legati all'aspetto grafico ===\n\n==== Performance desktop 2D scadenti (o) appaiono Artefatti durante il 2D ====\n\n===== Problema con i driver GPU =====\n\nAssicurarsi di aver installato il driver corretto per la propria scheda video, in modo tale che il desktop abbia almeno l'accelerazione 2D. Si seguino questi articoli per maggiori informazioni: [[ATI (Italiano)|ATI]], [[NVIDIA (Italiano)|NVIDIA]], [[Intel (Italiano)|Intel]], in modo tale da essere sicuri che tutto sia configurato per il meglio. I driver open ATI e Intel e i driver proprietari Nvidia dovrebbero assicurare teoricamente la miglior accelerazione 2D e 3D.\n\n===== Utilizzare il motore Raster =====\n\nSe questo non risolve i problemi, forse il driver non fornisce una buona accelerazione '''XRender''' che \u00e8 l'attuale motore grafico su cui Qt si basa di default. \n\n\u00c8 possibile modificare il motore grafico basandolo solo su un uso software invocando l'applicazione con la linea di comando {{ic|raster-graphicssystem}}. Questo motore di rendering pu\u00f2 essere impostato come quello di default ricompilando Qt con la stessa opzione di configurazione, {{ic|-graphicssystem raster}}.\n\nIl motore di rendering raster permette alla CPU di eseguire la maggior parte della grafica, sottraendo tale carico dalla GPU. In questo modo \u00e8 possibile ottenere prestazioni migliori, a seconda del vostro sistema. Questo \u00e8 fondamentalmente un work-around per i driver stack non performanti su Linux, dato che la CPU non dovrebbe, ovviamente, fare calcoli grafici visto che \u00e8 progettata per un numero di threads di maggiore complessit\u00e0, rispetto alla GPU, che seppur elabora molti thread questi sono di minore potenza di calcolo. Quindi, utilizzare il motore Raster solo se si hanno problemi o la propria GPU \u00e8 molto pi\u00f9 lenta della CPU, altrimenti \u00e8 meglio utilizzare XRender.\n\nDalla versione Qt 4.7 e successive, la ricompilazione di Qt non \u00e8 necessaria. Basta utilizzare {{ic|1=QT_GRAPHICSSYSTEM=raster}}, {{ic|opengl}}, o {{ic|native}} (per quello di base). Raster dipende della CPU, ''OpenGL'' dipende dalla GPU e necessita di un ottimo supporto dei driver, mentre ''native'' semplicemente utilizza il rendering X11 (solitamente misto). \n\n'''Il miglior modo per automizzare tutto quanto''' \u00e8 installare {{AUR|kcm-qt-graphicssystem}}{{Broken package link|package not found}} da AUR e configurare questa particolare impostazione di Qt attraverso:\n\n  Impostazioni di Sistema > Qt Graphics System\n\nPer maggiori informazioni consultare [http://apachelog.wordpress.com/2010/09/05/qt-graphics-system-kcm/ KDE Developer blog entry] e/o questo [http://labs.trolltech.com/blogs/2009/12/18/qt-graphics-and-performance-the-raster-engine/ Qt Developer blog entry].\n\n==== Performance 3D scadenti====\n\nKDE si avvia con gli effetti desktop attivi.  Le schede video pi\u00f9 vecchie potrebbero non essere adatte per l'accelerazione desktop 3D.  Si possono disabilitare gli effetti in\n Impostazioni di Sistema > Effetti Desktop \ne si possono disabilitare con {{ic|Alt+Shift+F12}}\n\n{{Nota| Si potrebbero incontrare problemi con le performance desktop 3D anche usando una scheda video pi\u00f9 potente, ma usando i driver proprietari catalyst ({{ic|fglrx}}). Questi driver sono conosciuti per avere problemi con l'accelerazione 3D. Si veda [[ATI|la pagina del Wiki ATI]] per la risoluzione dei problemi.}}\n\n==== Il Composite per il Desktop \u00e8 disabilitato con una recente schede video Nvidia ====\n\nTalvolta, KWin potrebbe avere delle impostazioni nel suo file di configurazione ({{ic|kwinrc}}) che ''possono causare'' un problema di riattivazione del composite {{ic|OpenGL}} per il desktop 3D. Questo problema si presenta casualmente (ad esempio a causa di un crash improvviso di Xorg o di un semplice riavvio del sistema, che corrompe il file), se ci\u00f2 accadesse, cancellare il file {{ic|~/.kde4/share/config/kwinrc}} e ri-effettuare il login. In questo modo KWin generer\u00e0 un nuovo file con impostazioni predefinite di KDE ed il problema dovrebbe risolversi.\n\n==== Tremolio in fullscreen quando il Composite \u00e8 attivato ====\n\nA partire da KDE SC 4.6.0, c'\u00e8 un'opzione in ''Impostazioni di Sistema -> Effetti Desktop -> Avanzate -> Sospendi gli effetti desktop per le finestre a schermo intero\".\nDeselezionandolo si dir\u00e0 a kwin di disabilitare lo schermo intero indiretto.\n\n==== Tearing dello schermo con gli effetti desktop abilitati ====\n\n{{nota|Con il recente aggiornamento di KDE alla versione 4.11, sono state aggiunte diverse nuove opzioni per il Vsync, che possono aiutare con il problema del tearing.}}\n\nKWin pu\u00f2 soffrire di screen tearing, mentre gli effetti desktop sono abilitati. Deselezionare l'opzione VSync in Impostazioni di Sistema > Effetti Desktop > Avanzate > \"Usa Vsync \".\n\nPer gli utenti che utilizzano driver proprietari, assicurarsi che l'opzione VSync sia abilitata ( amdccle per gli utenti [[AMD Catalyst (Italiano)|Catalyst]] e nvidia-settings per gli utenti [[NVIDIA (Italiano)|Nvidia]]).\n\n==== Impostazioni di visualizzazione perse al riavvio (monitor multipli) ====\n\nInstallare il pacchetto {{Pkg|kscreen}} potrebbe risolvere il problema a meno che i vostri schermi condividono lo stesso EDID. Kscreen \u00e8 il migliore software di gestione dello schermo per KDE, ulteriori informazioni possono essere trovate [https://fedoraproject.org/wiki/Changes/KScreen?rd=Features/KScreen qui].\n\n=== Problemi sonori in KDE ===\n\n==== Problemi legati ad ALSA ====\n\n{{Nota| Assicurarsi innanzitutto d'aver installato {{pkg|alsa-lib}} e {{pkg|alsa-utils}}.}}\n\n===== Comparsa di messaggi \"Falling back to default\" quando si prova ad ascoltare qualsiasi suono in KDE =====\n\nQuando si incontrano questi messaggi:\n:Il device di riproduzione audio ''nome_del_dispositivo_sonoro'' non funziona.\n:Per ripristinare quello di default\nSi vada in\n Impostazioni di Sistema > Multimedia -> Phonon\ne si imposti il device chiamato {{ic|default}} prima di tutti gli altri device in ogni opzione disponibile.\n\n===== Non riesco a riprodurre file MP3 quando imposto come backend Gstreamer in Qt Phonon =====\n\nSi pu\u00f2 risolvere installando i gstreamer plugins (pacchetto {{grp|gstreamer0.10-plugins}}{{Broken package link|package not found}}).\nSe si dovessero incontrare altri problemi, si potrebbe provare a cambiare il backend utilizzato da Phonon, installandone un altro come {{AUR|phonon-qt4-vlc}}\n  \nL'odine di preferenza del backend pu\u00f2 essere cambiato in:\n  Impostazioni di Sistema -> Multimedia -> Phonon -> (finestra) Backend\n\n=== Konsole non salva la lista dei comandi ===\n\nDi base la storia dei comandi nella console viene salvata solamente quando si digita 'exit' nella console. Quando si chiude la Konsole con il bottone 'x' nell'angolo ci\u00f2 non acccade.\nPer abilitare il salvataggio automatico dopo ogni esecuzione di comandi :\n\n{{hc|~/.bashrc|<nowiki>\n shopt -s histappend\n [[ \"${PROMPT_COMMAND}\" ]] && PROMPT_COMMAND=\"$PROMPT_COMMAND;history -a\" || PROMPT_COMMAND=\"history -a\"\n</nowiki>}}\n\n=== Le password in KDE mostrano tre pallini per ogni lettera ===\n\nPotete cambiare questo comportamento andando in '''Impostazioni di Sistema > Dettagli dell'Account'''. Alla voce '''Password e account utente''' sono disponibili tre opzioni:\n\n*Mostra un punto per ogni lettera\n*Mostra tre punti per ogni lettera\n*Non mostrare nulla\n\n=== Il processo di Nepomukserver si avvia automaticamente anche se il desktop semantico \u00e8 disabilitato ===\n\nAndare in ''' Impostazioni di Sistema > Avvio e spegnimento > Service Manager > Gestione dei servizi'' e spuntare la voce relativa al \"Modulo di ricerca di Nepomuk\".\n\n=== Dolphin e le finestre di dialogo sono estremamente lente ad inizializzarsi ogni volta ===\n\nPu\u00f2 essere causato dal servizio upower. Se il servizio upower non \u00e8 necessaria per il vostro sistema, pu\u00f2 essere disabilitata :\n   \n # systemctl disable upower\n # systemctl mask upower\n\nOvviamente questo non avr\u00e0 nessun effetto collaterale su un sistema desktop.\n\n=== Visualizzatore PDF di default nelle applicazioni GTK sotto KDE ===\n\nIn alcuni casi, quando si installano [[Inkscape]], [[GIMP]] o altri programmi di elaborazione grafica, le applicazioni GTK ([[Firefox (Italiano)|Firefox]] ad esempio) potrebbero non selezionare pi\u00f9 Okular come il visualizzatore PDF di default, e non seguiranno le impostazioni di KDE circa le applicazioni di default. Il seguente comando utente pu\u00f2 essere usato per ripristinare Okular come default per i PDF.\n\n $ xdg-mime default kde4-okularApplication_pdf.desktop application/pdf\n\nSe si sta usando un visualizzatore PDF diverso, o questo comportamento scorretto \u00e8 generato da un diverso mime-type, \u00e8 necessario sostituire nel comando precedente {{ic|kde4-okularApplication_pdf.desktop}} e {{ic|application/pdf}} rispettivamente in modo che seguano le proprie necessit\u00e0.\n\nPer maggiori informazioni, si pu\u00f2 consultare [[Default applications|questa pagina]].\n\n== Versione KDE instabile ==\n\nQuando KDE raggiunge la versione beta o RC milestone (.90), i pacchetti di KDE \"unstable\" vengono caricati nel repositorio chiamato [kde-unstable], e l\u00ec vi rimangono fino a quando KDE viene dichiarato stabile, successivamente passano nel repositorio [extra].\n\nSi pu\u00f2 aggiunge [kde-unstable] con:\n\n{{hc|/etc/pacman.conf|2=\n [kde-unstable]\n Include = /etc/pacman.d/mirrorlist\n}}\n\n# kde-unstable \u00e8 basato su testing. Pertanto \u00e8 necessario abilitare i repositori nel seguente ordine: [kde-unstable], [testing], [core], [extra], [community-testing], [community]. \n\n# Per aggiornare da una installazione precedente di KDE, eseguire: {{ic|pacman -Syu}} oppure {{ic|pacman -S kde-unstable/kde}}\n\n# Se non avete installato KDE, potreste avere difficolt\u00e0 a installarlo utilizzando i gruppi (limitazione di pacman)\n\n# '''Iscrivetevi e leggete la [https://mailman.archlinux.org/pipermail/arch-dev-public/ arch-dev-public] mailing list'''\n\n# Controllare [[#Segnalazione di bug relativi a Distro e Upstream|segnalare un bug]]{{Broken section link}} se si incontra qualche problema.\n\n== Altri progetti su KDE ===\n\n=== Trinity ===\n\nDal rilascio di KDE 4.x , gli sviluppatori hanno cessato il supporto per KDE 3.5.x. Trinity Desktop Environment \u00e8 un fork di KDE3 sviluppato da Timothy Pearson ([http://trinitydesktop.org/ trinitydesktop.org]) . Questo progetto mira a mantenere lo stile di elaborazione KDE 3.5 vivo , cos\u00ec come rispolverare eventuali asperit\u00e0 che erano presenti come in KDE 3.5.10. Vedi [[Trinity]] per ulteriori informazioni .\n\nTrinity Desktop Environment is a fork of KDE3 developed by Timothy Pearson ([http://trinitydesktop.org/ trinitydesktop.org]). This project aims to keep the KDE3.5 computing style alive, as well as polish off any rough edges that were present as of KDE 3.5.10. See [[Trinity]] for more info.\n\n{{Attenzione| KDE 3 non \u00e8 pi\u00f9 mantenuta e supportata dagli sviluppatori di KDE. \"Trinity KDE\" \u00e8 mantenuto dalla comunit\u00e0 del progetto Trinity. Quindi lo utilizzerete KDE3 a vostro rischio e pericolo, per quanto riguarda eventuali bug, problemi di prestazioni o  rischi per la sicurezza.}}\n\n== Bugs ==\n\n\u00c8 preferibile, nel caso in cui si incontri un bug minore o serio, visitare [https://bugs.archlinux.org il Arch Bug Tracker] o/e [http://bugs.kde.org il KDE Bug Tracker] in maniera da segnalarlo. Assicurarsi di essere chiari su cosa si desideri riportare.\n\nNel caso in cui si abbiano problemi e si scriva sul forum di Arch, assicurarsi innanzitutto di aver aggiornato '''COMPLETAMENTE''' il sistema usando un mirror ben sincronizzato (guardare [https://www.archlinux.de/?page=MirrorStatus qui]) o provare [[Reflector]].\n\n== Links Esterni ==\n\n* [http://www.kde.org] - KDE homepage\n* [https://bugs.kde.org] - KDE bug tracker\n* [https://bugs.archlinux.org] - Arch Linux bug tracker\n* [https://projects.kde.org] - KDE Projects"
                    }
                ]
            },
            "5470": {
                "pageid": 5470,
                "ns": 0,
                "title": "Pidgin",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Instant messaging]]\n[[Category:Internet Relay Chat]]\n[[Category:XMPP]]\n[[de:Pidgin]]\n[[es:Pidgin]]\n[[fr:Pidgin]]\n[[ja:Pidgin]]\n[[ru:Pidgin]]\n[[zh-hans:Pidgin]]\n[http://www.pidgin.im/ Pidgin] is an easy to use and free chat client used by millions. Connect to Google Talk, ICQ, IRC, XMPP, and more chat networks all at once.\n\n== Installation ==\n\n[[Install]] the {{Pkg|pidgin}} package.\nNotable variants are:\n* {{App|Pidgin Light|Light Pidgin version without GStreamer, Tcl/Tk, XScreenSaver, video/voice support.|http://pidgin.im/|{{AUR|pidgin-light}}}}\n\nYou may also want to install additional plugins from the {{Pkg|purple-plugin-pack}}.\n\n== Spellcheck ==\n\nThe {{pkg|aspell}} package will be installed as a dependency, but to prevent all of your text from showing up as incorrect you will need to install an aspell dictionary. See the [[aspell]] article.\n\n{{Note|The '''switch spell''' plugin is included in the {{Pkg|purple-plugin-pack}}. It allows you to switch between multiple languages.}}\n\n== Services ==\n\n=== AIM ===\n\nPidgin has out-of-the-box support for AOL Instant Messenger (AIM). Although AIM has officially ceased, unofficial AIM-based servers like [http://iwarg.ddns.net/aim/ AIM Phoenix] operate and can be used on Pidgin by changing the server address in the AIM protocol account settings.\n\n=== Discord plugin ===\n\nInstall the {{AUR|purple-discord-git}} package.\n\nThen add a new account, select Discord as the protocol, enter your Discord login e-mail address and its password.\n\n=== Facebook ===\n\n[[Install]] the {{Pkg|purple-facebook}} package. (or {{AUR|purple-facebook-git}})\n\nThen add a new account, select Facebook as the protocol, enter your [https://www.facebook.com/help/211813265517027 Facebook username] and password and login.\n\n=== Google (Hangouts) ===\n\n[[Install]] the {{AUR|purple-hangouts-hg}} package.\n\n=== ICQ ===\n\nPidgin only comes with the original OSCAR ICQ protocol. Since December 2018, the old OSCAR protocol is no longer officially supported as it has been replaced by the newer WIM protocol. To make use of the new WIM protocol on ICQ, you should install the {{AUR|purple-icyque-git}} plug-in.\n\n=== IRC ===\n\nThis is a small tutorial for connecting to Freenode. It should work for other IRC networks as long as you substitute the port numbers and other specific settings.\n\nGo to ''Accounts > Manage Accounts > Add''. Fill/select the following options:\n Protocol: IRC\n Username: ''your username''\n\nNow go to ''Buddies > New instant message'' (or hit {{ic|Ctrl+m}}), fill 'freenode.net' in the textbox and ''username''@irc.freenode.net, then click 'Ok'. Type:\n /join #archlinux\nThe channel is irrelevant.\n\nIn order to register your nick, type:\n /msg nickserv register ''password'' ''email-addres''\n\nFollow the instructions from the registration mail. For further help type:\n /msg nickserv help\n /msg nickserv help ''command''\n\nThis final step will add your channel to 'Buddies': go to ''Buddies > Add chat'', fill the correct channel in the textbox named channel (#archlinux).\n\n=== Sametime protocol ===\n\n[[Install]] the {{AUR|libpurple-meanwhile}} package. The 'Sametime' protocol will be available when creating an account.\n\n=== SIP/Simple protocol for Skype for Business/Office 365/Lync ===\n\n[[Install]] the {{AUR|pidgin-sipe}} package. If you are unable to connect, try editing the User Agent value in the Advanced preferences tab. Further details can be found in the faq page of the [https://sourceforge.net/p/sipe/wiki SIPE wiki].\n\n=== Skype plugin ===\n\nInstall the {{Pkg|purple-skypeweb}} or {{AUR|purple-skypeweb-git}} package.\n\n=== Slack plugin ===\n\nInstall the {{AUR|slack-libpurple-git}} package.\n\n=== Rocket.Chat plugin ===\n\nInstall the {{AUR|purple-rocketchat}}{{Broken package link|package not found}} package.\n\n=== Telegram plugin ===\n\nInstall the {{AUR|telegram-purple}} or {{AUR|telegram-purple-git}} package. \n\nEnter your Telegram phone number when creating the account, after which you will receive an SMS text message with a confirmation code, which you'll have to enter to authorize your Telegram protocol account on Pidgin. \n\n=== XMPP ===\n\nPidgin has out-of-the-box support for the XMPP/Jabber chat protocol. Some additional plugins exist on the AUR for support of XMPP extensions such as OMEMO ({{AUR|libpurple-lurch}}) or Message Carbons ({{AUR|libpurple-carbons}}).\n\n== Security ==\n\nPidgin uses Libpurple 2 which stores passwords unencrypted (in plaintext) in $HOME/.purple/account.xml, see [https://developer.pidgin.im/wiki/PlainTextPasswords]. You can store them in a keyring by using a plugin like:\n\n* {{AUR|purple-gnome-keyring}}\n* {{Pkg|pidgin-kwallet}}\n\n== Privacy ==\n\nPidgin has some privacy rules set by default. Namely, the whole world cannot send you messages;\nonly your contacts or people selected from a list. Adjust this, and other settings in ''Tools > Privacy''.\n\n=== Pidgin-OTR ===\n\nThis is a plugin that brings Off-The-Record (OTR) messaging to Pidgin. OTR is a cryptographic protocol that will encrypt your instant messages.\n\nFirst you need to install {{Pkg|pidgin-otr}} from the official repositories. Once this has been done, OTR has been added to Pidgin.\n\n# To enable OTR, start Pidgin and go to ''Tools > Plugins'' or press {{ic|Ctrl+u}}. Scroll down to the entry entitled \"Off-The-Record Messaging\". If the checkbox beside it is not checked, check it.\n# Next, click on the plugin entry and select \"Configure plugin\" at the bottom. Select which account you wish to generate a key for, then click \"Generate\". You will have now generated a private key. If you are not sure what the other options do, leave them, the default options will work fine.\n# The next step is to contact a buddy who also has OTR installed. In the chat window, a new icon should appear to the top right of your text input box. Click on it, and select \"Start private conversation\". This will start an 'Unverified' session. Unverified sessions are encrypted, but not verified - that is, you have started a private conversation with someone using your buddy's account who has OTR, but who might not be your buddy. The steps for verification of a buddy are beyond the scope of this section; however, they might be added in the future.\n\n=== Pidgin-Encryption ===\n\n{{AUR|pidgin-encryption}} transparently encrypts your instant messages with RSA encryption. Easy-to-use, but very secure.\n\nYou can enable it the same way as Pidgin-OTR.\n\nNow you can open conversation window and new icon should appear beside menu. Press it to enable or disable encryption.\nAlso if you want to make encryption enabled by default right-click on a buddy's name (in your buddy list), and select Turn Auto-Encrypt On. Now, whenever a new conversation window for that buddy is opened, encryption will start out as enabled.\n\n=== Pidgin-GPG ===\n\nPidgin-GPG transparently encrypt conversations using GPG, and taking advantage of all the features of a pre-existing WoT.\n\nThe plugin is available on AUR as {{aur|pidgin-gpg-git}}. It can be enabled the same way as the previously mentioned ones.\n\n== Other packages ==\n\nArch has other Pidgin-related packages. Here are the most popular (for a thorough list, search the AUR):\n*{{Pkg|pidgin-libnotify}} - Libnotify support, for theme-consistent notifications\n*{{AUR|purple-libnotify-plus}} - Notifications with Libnotify which does work with notify-osd. It might matter for WMs without DE, like i3, the original pidgin-libnotify instead uses plain messagebox there.\n*{{Pkg|guifications}}{{Broken package link|package not found}} - Toaster-style popup notifications\n*{{AUR|pidgin-latex}} - A small latex plugin for pidgin. Put math between $$ and have it rendered (recepient also needs to have this installed)\n\n== Auto logout on suspend ==\n\nIf you suspend your computer pidgin seems to stay connected for about 15 minutes. To prevent message loss, it is needed to set your status offline before suspending or hibernating. The status message won't be changed.\n\nTherefore create a new systemd unit {{ic|pidgin-suspend}} in {{ic|/etc/systemd/system}}\nTake the following snippet and replace ''myuser'' with your user.\n\n [Unit]\n Description=Suspend Pidgin\n Before=sleep.target\n StopWhenUnneeded=yes\n \n [Service]\n Type=oneshot\n User=''myuser''\n RemainAfterExit=yes\n Environment=DISPLAY=:0\n ExecStart=-/usr/bin/purple-remote setstatus?status=offline\n ExecStop=-/usr/bin/purple-remote setstatus?status=available\n \n [Install]\n WantedBy=sleep.target\n\n== Minimize to tray ==\nTo make use of the [[Xfce]] system tray go to preferences and enable the system tray in the section \"Interface\".\nYou can now close the main window and run pidgin minimized. You will also be able to see message notifications in the tray.\n\n== History import Kopete to Pidgin ==\n\n* Install {{Pkg|xalan-c}} and create {{ic|~/bin/history_import_kopete2pidgin.sh}} with this code:\n{{bc|<nowiki>\n#!/bin/sh\n\nKOPETE_DIR=~/.kde4/share/apps/kopete/logs\nPIDGIN_DIR=~/.purple/logs\nCURRENT_DIR=~/bin\n\ncd\n\nif [ ! -d $KOPETE_DIR ];then\n    echo \"Kopete log directory not found\"\n    exit 1;\nfi\n\nif [ ! -d $PIDGIN_DIR ];then\n    echo \"Pidgin log directory not found\"\n    exit 2;\nfi\n\nfor KOPETE_PROTODIR in $(ls $KOPETE_DIR); do\n    PIDGIN_PROTODIR=$(echo $KOPETE_PROTODIR | sed 's/Protocol//' | tr [:upper:] [:lower:])\n    for accnum in $(ls $KOPETE_DIR/$KOPETE_PROTODIR); do\n        echo \"Account number: $accnum\"\n        for num in $(ls $KOPETE_DIR/$KOPETE_PROTODIR/$accnum); do\n            FILENAME=$(Xalan $KOPETE_DIR/$KOPETE_PROTODIR/$accnum/$num $CURRENT_DIR/history_import_kopete2pidgin_filename.xslt)\n            if [ $? = 0 ]; then\n                echo \"$KOPETE_DIR/$KOPETE_PROTODIR/$accnum/$num\"\n                echo \" -> $PIDGIN_DIR/$PIDGIN_PROTODIR/$FILENAME\"\n                mkdir -p $(dirname $PIDGIN_DIR/$PIDGIN_PROTODIR/$FILENAME)\n                Xalan -o $PIDGIN_DIR/$PIDGIN_PROTODIR/$FILENAME $KOPETE_DIR/$KOPETE_PROTODIR/$accnum/$num $CURRENT_DIR/history_import_kopete2pidgin.xslt\n            fi\n        done\n    done\ndone\n</nowiki>}}\n* Make {{ic|~/bin/history_import_kopete2pidgin.sh}} executable:\n chmod +x ~/bin/history_import_kopete2pidgin.sh\n* Create {{ic|~/bin/history_import_kopete2pidgin.xslt}} with this code:\n{{bc|1=\n<?xml version=\"1.0\"?>\n<nowiki><xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"></nowiki>\n    <xsl:output method=\"text\" indent=\"no\" />\n\n    <xsl:template match=\"kopete-history\">\n        <xsl:apply-templates select=\"msg\"/>\n    </xsl:template>\n\n    <xsl:template match=\"msg\">\n        <xsl:text>(</xsl:text>\n        <xsl:value-of select=\"translate(substring-after(@time,' '),':',',')\"/>\n        <xsl:text>) </xsl:text>\n        <xsl:value-of select=\"@nick\"/>\n        <xsl:if test=\"not(@nick) or @nick = ''\">\n            <xsl:value-of select=\"@from\"/>\n        </xsl:if>\n        <xsl:text>: </xsl:text>\n        <xsl:value-of select=\".\"/>\n\t\t<xsl:text>\n</xsl:text>\n    </xsl:template>\n</xsl:stylesheet>\n</nowiki>}}\n* Create {{ic|~/bin/history_import_kopete2pidgin_filename.xslt}} with this code:\n{{bc|1=\n<?xml version=\"1.0\"?>\n<nowiki><xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\"></nowiki>\n    <xsl:output method=\"text\" indent=\"no\" />\n\n    <xsl:template match=\"kopete-history\">\n        <xsl:value-of select=\"head/contact[@type = 'myself']/@contactId\"/>\n        <xsl:text>/</xsl:text>\n        <xsl:value-of select=\"head/contact[not(@type)]/@contactId\"/>\n        <xsl:text>/</xsl:text>\n        <xsl:value-of select=\"head/date/@year\"/>\n        <xsl:text>-</xsl:text>\n        <xsl:if test=\"head/date/@month &amp;lt; 10\">0</xsl:if>\n        <xsl:value-of select=\"head/date/@month\"/>\n        <xsl:text>-</xsl:text>\n        <xsl:if test=\"string-length(substring-before(msg[1]/@time,' ')) &amp;lt; 2\">0</xsl:if>\n        <xsl:value-of select=\"translate(msg[1]/@time,' :','.')\"/>\n        <xsl:text>+0200EET.txt</xsl:text>\n    </xsl:template>\n</xsl:stylesheet>\n}}\n* Execute the command in the shell:\n\n ~/bin/history_import_kopete2pidgin.sh\n\n== Backup ==\n\nSave {{ic|~/.purple}} to backup all message logs, accounts and other application data.\n\n== Troubleshooting ==\n\n\n=== Version Match for Sametime ===\n\nThere was an issue if you would connect to the Sametime via Pidgin, it prompt \"Version Match\". A potential solution on the client side is to fake the version in accounts.xml. Insert/change the lines:\n\n <setting name='fake_client_id' type='bool'>1</setting>\n <setting name='client_minor' type='int'>8511</setting>\n\nin the <settings> section of Sametime account in accounts.xml which is located in $HOME/.purple/ folder.\n\n=== Browser error ===\n\nIf clicking a link within Pidgin creates an error message about trying to use 'sensible-browser' to open a link, try editing {{ic|~/.purple/prefs.xml}}. Find the line referencing 'sensible-browser' and change it to this:\n <pref name='command' type='path' value='firefox'/>\n\nThis example assumes you use [[Firefox]].\n\nAs an alternative if the method above does not work you can set the desired browser in the pidgin preferences in the section \"Browser\".\n\n=== ICQ Buddy Information encoding fix ===\n\nYou can change encoding for ICQ account if encoding in Buddy Information is not correct:\n Account > ''your ICQ account'' > Edit account > Advanced tab\nSelect {{ic|Encoding: CP1251}} (for Cyrillic).\n\n== See also ==\n* [https://developer.pidgin.im/wiki/Using%20Pidgin Using Pidgin]\n* [[Wikipedia:Pidgin_(software)]]\n* [http://lukav.com/wordpress/2008/03/30/history-import-kopete-to-pidgin History import Kopete to Pidgin]\n* [https://confluence.atlassian.com/hipchatkb/connecting-to-hipchat-using-pidgin-751436267.html Connecting to HipChat using Pidgin]\n*{{pkg|finch}}, a console based libpurple client, essentially Pidgin in a terminal"
                    }
                ]
            },
            "5587": {
                "pageid": 5587,
                "ns": 0,
                "title": "KDE (\u7b80\u4f53\u4e2d\u6587)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:KDE (\u7b80\u4f53\u4e2d\u6587)|KDE]]\n[[ar:KDE]]\n[[cs:KDE]]\n[[de:Plasma]]\n[[en:KDE]]\n[[es:KDE]]\n[[fa:KDE]]\n[[fr:KDE]]\n[[it:KDE]]\n[[ja:KDE]]\n[[pl:KDE]]\n[[pt:KDE]]\n[[ru:KDE]]\n[[zh-hant:KDE]]\n{{Related articles start (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|Desktop environment (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|Display manager (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|Window manager (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|Qt (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|SDDM (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|Dolphin (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|KDE Wallet (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|KDevelop}}\n{{Related|Trinity}}\n{{Related|Uniform Look for Qt and GTK Applications (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related articles end}}\n{{TranslationStatus (\u7b80\u4f53\u4e2d\u6587)|KDE|2018-08-08|532333}}\nKDE \u662f\u7531 Plasma  [[desktop environment (\u7b80\u4f53\u4e2d\u6587)|\u684c\u9762\u73af\u5883]]\u3001\u5e93\u3001\u6846\u67b6 (KDE Frameworks)\u3001\u548c\u5e94\u7528\u7ec4\u6210\u7684\u8f6f\u4ef6\u9879\u76ee\u3002KDE \u4e0a\u6e38\u6709\u4e00\u4efd\u7ef4\u62a4\u826f\u597d\u7684 [https://userbase.kde.org/ UserBase Wiki]\u3002\u5927\u591a\u6570 KDE \u5e94\u7528\u7a0b\u5e8f\u7684\u8be6\u7ec6\u4fe1\u606f\u90fd\u53ef\u4ee5\u5728\u90a3\u91cc\u627e\u5230\u3002\n\n== \u5b89\u88c5 ==\n\n=== Plasma \u684c\u9762 ===\n\n\u5728\u5b89\u88c5 Plasma \u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd [[Xorg (\u7b80\u4f53\u4e2d\u6587)|Xorg]] \u5df2\u7ecf\u88ab\u5b89\u88c5\u5230\u60a8\u7684\u7cfb\u7edf\u4e2d\u5e76\u53ef\u4ee5\u6b63\u5e38\u5de5\u4f5c\u3002\n\n[[\u5b89\u88c5]] {{Pkg|plasma-meta}} \u5143\u8f6f\u4ef6\u5305\u6216\u8005 {{Grp|plasma}} \u7ec4\u3002\n\u5173\u4e8e {{Pkg|plasma-meta}} \u548c {{Grp|plasma}} \u4e24\u8005\u7684\u4e0d\u540c\u8bf7\u53c2\u9605[[Creating_packages_(\u7b80\u4f53\u4e2d\u6587)#\u5143\u8f6f\u4ef6\u5305\u548c\u8f6f\u4ef6\u5305\u7ec4|\u8fd9\u91cc]]\u3002\u82e5\u8981\u6700\u5c0f\u5316\u5b89\u88c5 Plasma\uff0c\u53ef\u4ee5\u5b89\u88c5 {{Pkg|plasma-desktop}} \u5305\u3002\n\n\u82e5\u8981\u4e3a Plasma \u542f\u52a8 [[Wayland]] \u652f\u6301\uff0c\u8bf7\u5b89\u88c5 {{Pkg|plasma-wayland-session}} \u8f6f\u4ef6\u5305\u3002\n\n=== KDE \u5e94\u7528 ===\n\n\u53ef\u4ee5\u901a\u8fc7\u5b89\u88c5 {{Grp|kde-applications}} \u7ec4\u6216\u8005 {{Pkg|kde-applications-meta}} \u5143\u8f6f\u4ef6\u5305\uff0c\u4ece\u800c\u5b89\u88c5 KDE \u7684\u5168\u5957\u5e94\u7528\u3002\u8bf7\u6ce8\u610f\u8fd9\u4ec5\u4ec5\u5b89\u88c5\u5e94\u7528\u7a0b\u5e8f\uff0c\u5e76\u4e0d\u4f1a\u5b89\u88c5 Plasma \u684c\u9762\u3002\n\n=== \u4e0d\u7a33\u5b9a\u7248 ===\n\n\u53c2\u9605 [[Official repositories#kde-unstable]]\uff08\u82f1\u6587\uff09\u3002\n\n== \u542f\u52a8 Plasma ==\n\n{{\u6ce8\u610f|\u867d\u7136\u53ef\u4ee5\u4f7f\u7528 [[Wayland (\u7b80\u4f53\u4e2d\u6587)|Wayland]] \u542f\u52a8 Plasma\uff0c\u4f46 Plasma \u4ecd\u5b58\u5728\u4e00\u4e9b\u7f3a\u5931\u7684\u529f\u80fd\u548c\u5df2\u77e5\u95ee\u9898\u3002\u95ee\u9898\u6e05\u5355\u8be6\u89c1  [https://community.kde.org/Plasma/Wayland_Showstoppers Wayland Showstoppers]\uff0c\u5f53\u524d\u5f00\u53d1\u72b6\u51b5\u8be6\u89c1 [https://phabricator.kde.org/project/board/99/ Plasma on Wayland workboard\uff08\u82f1\u6587\uff09]\u3002\u4f7f\u7528 [[Xorg (\u7b80\u4f53\u4e2d\u6587)|Xorg]] \u4ee5\u83b7\u5f97\u6700\u5b8c\u6574\u548c\u7a33\u5b9a\u7684\u4f53\u9a8c\u3002}}\n\nPlasma \u53ef\u4ee5\u901a\u8fc7[[display manager (\u7b80\u4f53\u4e2d\u6587)|\u663e\u793a\u7ba1\u7406\u5668]]\u542f\u52a8,\u4e5f\u53ef\u4ee5\u4ece\u63a7\u5236\u53f0\u624b\u52a8\u542f\u52a8\u3002\n\n=== \u4f7f\u7528\u663e\u793a\u7ba1\u7406\u5668 ===\n\n*\u5728\u83dc\u5355\u4e2d\u9009\u62e9 ''Plasma'' \u7528 [[Xorg (\u7b80\u4f53\u4e2d\u6587)|Xorg]] \u542f\u52a8\u3002\n*\u5b89\u88c5 {{Pkg|plasma-wayland-session}} \u8f6f\u4ef6\u5305\uff0c\u5e76\u9009\u62e9 ''Plasma (Wayland) '' \u7528 [[Wayland (\u7b80\u4f53\u4e2d\u6587)|Wayland]] \u542f\u52a8\u3002\n\n=== \u4ece\u63a7\u5236\u53f0\u542f\u52a8 ===\n\n\u82e5\u8981\u4f7f\u7528 \"[[xinit (\u7b80\u4f53\u4e2d\u6587)|xinit/startx]]\" \u542f\u52a8 Plasma \u684c\u9762\uff0c\u8bf7\u5728 {{ic|.xinitrc}} \u6587\u4ef6\u4e2d\u6dfb\u52a0 {{ic|exec startplasma-x11}}\u3002\u82e5\u8981\u5728\u767b\u5f55\u7684\u65f6\u5019\u5f00\u542f Xorg \u8bf7\u53c2\u9605[[Start X at Login (\u7b80\u4f53\u4e2d\u6587)|\u5728\u542f\u52a8\u65f6\u81ea\u52a8\u542f\u7528 X]]\u3002\u82e5\u8981\u4ece\u7ec8\u7aef\u542f\u52a8 Wayland \u4f1a\u8bdd, \u8fd0\u884c {{ic|1=XDG_SESSION_TYPE=wayland dbus-run-session startplasmacompositor}}\u3002[https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland|\u5728\u63a7\u5236\u53f0\u542f\u52a8Wayland\u4f1a\u8bdd]\n\n== \u914d\u7f6e ==\n\nKDE\u5e94\u7528\u7684\u5927\u90e8\u5206\u914d\u7f6e\u88ab\u50a8\u5b58\u5728 {{ic|~/.config}}\u3002KDE \u4e3b\u8981\u5728'''\u201c\u7cfb\u7edf\u8bbe\u7f6e\u201d'''\u5185\u914d\u7f6e\u3002\u5b83\u4e5f\u53ef\u901a\u8fc7 \u7ec8\u7aef\u6267\u884c{{ic|systemsettings5}} \u542f\u52a8\u3002\n\n=== \u4e2a\u6027\u5316 ===\n\n==== Plasma \u684c\u9762 ====\n\n===== \u4e3b\u9898 =====\n\n[https://store.kde.org/browse/cat/104/ Plasma \u4e3b\u9898]\u5b9a\u4e49\u4e86\u9762\u677f\u548c plasmoids\u7684\u6837\u5f0f\u3002\u4e3a\u4f7f\u7cfb\u7edf\u7ea7\u4f7f\u7528\u66f4\u52a0\u4fbf\u5229\uff0c\u5b98\u65b9\u8f6f\u4ef6\u6e90\u548c [https://aur.archlinux.org/packages.php?K=plasma+theme AUR] \u63d0\u4f9b\u4e86\u5f88\u591a\u53ef\u7528\u4e3b\u9898\u3002\n\n\u60a8\u4e5f\u53ef\u4ee5\u901a\u8fc7\u7cfb\u7edf\u8bbe\u7f6e\u6765\u5b89\u88c5\u4e3b\u9898\uff1a\n\n  \u7cfb\u7edf\u8bbe\u7f6e > \u5de5\u4f5c\u7a7a\u95f4\u4e3b\u9898 > \u684c\u9762\u4e3b\u9898 > \u83b7\u53d6\u65b0\u4e3b\u9898\n\n\u8fd9\u5c06\u5448\u73b0\u51fa https://store.kde.org/ \u7684\u524d\u7aef\uff0c\u8f7b\u677e\u5b89\u88c5\uff0c\u5378\u8f7d\uff0c\u6216\u8005\u66f4\u65b0\u7b2c\u4e09\u65b9 Plasma \u811a\u672c\u3002 [https://store.kde.org/ KDE\u5546\u5e97] \u63d0\u4f9b\u4e86\u66f4\u591a\u7684plasma\u4e2a\u6027\u5316\u65b9\u6848\uff0c\u5305\u62ec [[SDDM_(\u7b80\u4f53\u4e2d\u6587)|SDDM]] \u4e3b\u9898\u548c [[plymouth]] \u4e3b\u9898\n{{\u63d0\u793a|\u52a0\u8f7d\u9875\u9762\u548c\u9501\u5b9a\u9875\u9762\u6682\u65f6\u65e0\u6cd5\u81ea\u5b9a\u4e49\uff0c\u4f46\u4f60\u53ef\u4ee5\u5728 '''' /usr/share/plasma/look-and-feel '''' \u4e2d\u4fee\u6539\u539f\u672c\u7684\u4e3b\u9898\u3002\u8bf7\u53c2\u9605 Kubuntu\u8bba\u575b\u8fd9\u4e2a\u5e16\u5b50 <nowiki>https://www.kubuntuforums.net/showthread.php?67599-Plasma-5-background-images&=59832dc20e5bfc2948dbb591d8453f61</nowiki> }}\n\n[[SDDM_(\u7b80\u4f53\u4e2d\u6587)|SDDM]]\u7684\u767b\u5f55\u754c\u9762\u4e3b\u9898\u4ea6\u53ef\u5728\u8bbe\u7f6e\u4e2d\u8fdb\u884c\u8c03\u6574\u3002\n\n====== Qt \u548c GTK+ \u5e94\u7528\u5916\u89c2 ======\n\n{{\u63d0\u793a|\u4e3a\u4e86 Qt \u548c GTK \u4e3b\u9898\u7684\u4e00\u81f4\u6027\uff0c\u8bf7\u53c2\u89c1 [[Uniform_look_for_Qt_and_GTK_applications_(\u7b80\u4f53\u4e2d\u6587)|\u5916\u89c2\u7edf\u4e00\u7684 QT \u548c GTK \u5e94\u7528]]\u3002}}\n\n;Qt4\n\u8bf7\u5b89\u88c5{{AUR|breeze-kde4}}\uff0c\u7136\u540e\u4ece {{ic|qtconfig-qt4}} \u4e2d\u6311\u9009\u5fae\u98ce\u4f5c\u4e3a\u56fe\u5f62\u7528\u6237\u754c\u9762\u98ce\u683c\u3002\n\n;GTK+\n\u5728 GTK \u4e2d\u63a8\u8350\u5916\u5f62\u7f8e\u89c2\u7684\u4e3b\u9898\u662f {{Pkg|breeze-gtk}} \u6216 {{AUR|gnome-breeze-git}}{{Broken package link|package not found}}\u3002\u5b89\u88c5 {{Pkg|kde-gtk-config}} \uff08\u8be5\u8f6f\u4ef6\u662f{{grp|plasma}} \u7684\u4e00\u90e8\u5206\uff09\uff0c\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u5e94\u7528\u98ce\u683c > GNOME \u5e94\u7528\u8bbe\u7f6e'' \u4e2d\u9009\u62e9\u60f3\u8981\u7684 GTK \u4e3b\u9898\u3002\n\n\u5728\u67d0\u4e9b\u4e3b\u9898\u4e2d\uff0cGTK+ \u5e94\u7528\u7a0b\u5e8f\u7684\u5de5\u5177\u680f\u663e\u793a\u4e3a\u767d\u5e95\u767d\u5b57\u3002\u82e5\u8981\u66f4\u6539 GTK2 \u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u989c\u8272\uff0c\u8bf7\u627e\u5230 {{ic|.gtkrc-2.0}} \u5e76\u4fee\u6539\u5de5\u5177\u680f\u533a\u3002\u82e5\u8981\u66f4\u6539 GTK3 \u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u989c\u8272\uff0c{{ic|gtk.css}} \u548c {{ic|settings.ini}} \u6587\u4ef6\u9700\u8981\u88ab\u4fee\u6539\u3002\u60a8\u4e5f\u53ef\u4ee5\u5c1d\u8bd5\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u989c\u8272'' \u4e2d\u53d6\u6d88\u5bf9 ''\u5c06\u989c\u8272\u5e94\u7528\u4e8e\u975eQt\u5e94\u7528\u7a0b\u5e8f'' \u7684\u52fe\u9009\u3002\n\n\u4e00\u4e9b\u4f8b\u5982 {{AUR|vuescan-bin}} \u7684 GTK2 \u7a0b\u5e8f\u4ecd\u7136\u56e0\u4e3a Plasma \u7684\u5fae\u98ce\u548c Adwaita \u4e3b\u9898\u62e5\u6709\u900f\u660e\u7684\u590d\u9009\u6846.\u8981\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff0c\u8bf7\u5b89\u88c5\u5e76\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u5e94\u7528\u98ce\u683c > GNOME \u5e94\u7528\u8bbe\u7f6e'' \u4e2d\u9009\u62e9\u4f8b\u5982 {{AUR|numix-frost-themes}} \u8fd9\u6837\u7684\u76ae\u80a4\u3002Numix-Frost-Light \u770b\u8d77\u6765\u4e0e\u5fae\u98ce\u76f8\u4f3c\u3002\n\n===== \u5c0f\u90e8\u4ef6 =====\n\nPlasmoid\u5305\u542b\u77ed\u7684\u811a\u672c\uff08plasmoid scripts\uff09\u6216\u8005\u7f16\u8bd1\u8fc7\u7684\uff08plasmoid binaries\uff09\u7684KDE\u5e94\u7528\u7a0b\u5e8f\uff0c\u7528\u4e8e\u589e\u5f3a\u684c\u9762\u7684\u529f\u80fd\u3002\nPlasmoid\u4e8c\u8fdb\u5236\u6587\u4ef6\u53ef\u4ee5\u4ece[https://aur.archlinux.org/packages.php?O=0&K=plasmoid&do_Search=Go&PP=25&SO=d&SB=v AUR]\u4e0a\u83b7\u5f97\u7684PKGBUILD\u5b89\u88c5\uff0c\u6216\u8005\u60a8\u53ef\u4ee5\u7f16\u5199\u81ea\u5df1\u7684PKGBUILD\u3002\n\u6700\u7b80\u5355\u7684\u5b89\u88c5Plasmoid\u811a\u672c\u7684\u65b9\u5f0f\u662f\u53f3\u51fb\u9762\u677f\u6216\u684c\u9762\uff1a\n\n \u6dfb\u52a0\u90e8\u4ef6 > \u83b7\u5f97\u65b0\u90e8\u4ef6 > \u4e0b\u8f7d\u65b0 Plasma \u90e8\u4ef6\n\n\u8fd9\u5c06\u663e\u793a [http://www.kde-look.org/ kde-look.org] \u7684\u524d\u7aef\u754c\u9762\uff0c\u5e76\u53ef\u4e00\u952e\u53ef\u4ee5\u5b89\u88c5/\u5378\u8f7d/\u66f4\u65b0\u7b2c\u4e09\u65b9 plasmoid \u811a\u672c\u3002\n\n\u5927\u90e8\u5206 plasmoids \u7684\u4e8c\u8fdb\u4f4d\u7f16\u7801\u53ef\u4ece [https://aur.archlinux.org/packages.php?O=0&K=plasmoid&PP=50&SO=d&SB=v AUR] \u4e0a\u83b7\u5f97\u3002\n\n===== \u7cfb\u7edf\u6258\u76d8\u4e2d\u7684\u58f0\u97f3\u5e94\u7528 =====\n\n[[\u5b89\u88c5]] {{Pkg|plasma-pa}} \u6216 {{Pkg|kmix}} (\u4ece\u7a0b\u5e8f\u542f\u52a8\u5668\u542f\u52a8 Kmix)\u3002\u524d\u8005\u5df2\u88ab\u81ea\u52a8\u5b89\u88c5\uff0c\u65e0\u9700\u5176\u4ed6\u8bbe\u5b9a\u3002\n\n{{\u6ce8\u610f|1=\u8981\u8c03\u6574 [https://bugs.kde.org/show_bug.cgi?id=313579#c28 \u97f3\u91cf\u589e\u51cf\u7684\u6b65\u957f]\uff0c\u5c06\u8bf8\u5982 {{ic|1=VolumePercentageStep=1}} \u4e00\u884c\u6dfb\u52a0\u5230 {{ic|~/.kde4/share/config/kmixrc}} \u7684 {{ic|[Global]}} \u4e00\u8282\u4e2d\u3002}}\n\n===== \u7981\u7528\u9762\u677f\u9634\u5f71 =====\n\n\u56e0\u4e3a Plasma \u7684\u9762\u677f\u5728\u5176\u4ed6\u7a97\u53e3\u4e4b\u4e0a\uff0c\u6240\u4ee5\u5b83\u7684\u9634\u5f71\u4f1a\u6e32\u67d3\u5728\u5176\u4ed6\u7a97\u53e3\u4e4b\u4e0a\u3002[https://bbs.archlinux.org/viewtopic.php?pid=1228394#p1228394]\u82e5\u8981\u5728\u4e0d\u5f71\u54cd\u5176\u4ed6\u9634\u5f71\u7684\u60c5\u51b5\u4e0b\u7981\u7528\u6b64\u884c\u4e3a\uff0c[[\u5b89\u88c5]] {{Pkg|xorg-xprop}} \u5e76\u8fd0\u884c:\n\n $ xprop -remove _KDE_NET_WM_SHADOW\n\n\u7136\u540e\u7528\u589e\u5927\u5149\u6807\u9009\u62e9\u9762\u677f\u3002[https://forum.kde.org/viewtopic.php?f=285&t=121592] \u82e5\u8981\u81ea\u52a8\u5316\uff0c[[\u5b89\u88c5]] {{Pkg|xorg-xwininfo}} \u5e76\u521b\u5efa\u4ee5\u4e0b\u811a\u672c\uff1a\n\n{{hc|/usr/local/bin/kde-no-shadow|<nowiki>\n#!/bin/bash\nfor WID in $(xwininfo -root -tree | sed '/\"Plasma\": (\"plasmashell\" \"plasmashell\")/!d; s/^  *\\([^ ]*\\) .*/\\1/g'); do\n   xprop -id $WID -remove _KDE_NET_WM_SHADOW\ndone\n</nowiki>}}\n\n\u6dfb\u52a0\u53ef\u6267\u884c\u6743\u9650\n # chmod 755 /usr/local/bin/kde-no-shadow\n\n\u6b64\u811a\u672c\u53ef\u4ee5\u5728\u767b\u5f55\u65f6\u542f\u52a8\uff0c\u8bf7\u5c06\u5176\u52a0\u5728''\u81ea\u52a8\u542f\u52a8''\uff1a\n\n $ kcmshell5 autostart\n\n==== \u7a97\u53e3\u88c5\u9970 ====\n\n[http://kde-look.org/index.php?xcontentmode=75 \u7a97\u53e3\u88c5\u9970]\u53ef\u4ee5\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u5e94\u7528\u7a0b\u5e8f\u98ce\u683c > \u7a97\u53e3\u88c5\u9970'' \u4e2d\u8bbe\u7f6e\u3002\n\n\u60a8\u4e5f\u53ef\u4ee5\u5728[https://aur.archlinux.org/packages.php?O=0&K=kdestyle&do_Search=Go&PP=25&SO=d&SB=v AUR]\u4e0a\u627e\u5230,\u76f4\u63a5\u4e0b\u8f7d\u5e76\u5b89\u88c5\u66f4\u591a\u7684\u4e3b\u9898\u3002\n\n==== \u56fe\u6807\u4e3b\u9898 ====\n\t\n\u56fe\u6807\u4e3b\u9898\u53ef\u4ee5\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u56fe\u6807'' \u4e2d\u5b89\u88c5\u6216\u6539\u53d8.\n\n{{\u6ce8\u610f|\u867d\u7136\u6240\u6709\u73b0\u4ee3\u7684Linux\u53d1\u884c\u7248\u90fd\u5171\u4eab\u7edf\u4e00\u7684\u56fe\u6807\u4e3b\u9898\u683c\u5f0f\uff0c\u4f46\u50cf [[GNOME_(\u7b80\u4f53\u4e2d\u6587)|GNOME]]\u8fd9\u6837\u7684\u684c\u9762\u4f7f\u7528\u66f4\u5c11\u7684\u56fe\u6807\uff08\u7279\u522b\u662f\u5728\u5de5\u5177\u680f\u548c\u83dc\u5355\u4e2d\uff09\u3002\u4e3a\u8fd9\u4e9b\u684c\u9762\u5f00\u53d1\u7684\u4e3b\u9898\u4e00\u822c\u90fd\u7f3a\u5c11 Plasma \u548c KDE \u5e94\u7528\u9700\u8981\u7684\u56fe\u6807\u3002\u5efa\u8bae\u5b89\u88c5\u4e0e Plasma \u517c\u5bb9\u7684\u4e3b\u9898\u3002}}\n\n{{\u63d0\u793a|\u90e8\u5206\u56fe\u6807\u4e3b\u9898\u4e0d\u4ece\u9ed8\u8ba4\u56fe\u6807\u4e3b\u9898\u4e2d\u5f15\u5165\u56fe\u6807\uff0c\u8fd9\u5c06\u5bfc\u81f4\u90e8\u5206\u56fe\u6807\u7f3a\u5931\u3002\u8981\u60f3\u4ece\u9ed8\u8ba4\u56fe\u6807\u4e3b\u9898\u4e2d\u5bfc\u5165\u7f3a\u5931\u56fe\u6807\uff0c\u628a{{ic|breeze}}\u6dfb\u52a0\u5230 {{ic|/usr/share/icon/''theme-name''/index.theme}}\u7684{{ic|1=Inherits=}} \u4e2d\uff0c\u6bd4\u5982{{ic|1=Inherits=breeze,hicolor}}\u3002\u6bcf\u6b21\u66f4\u65b0\u56fe\u6807\u4e3b\u9898\u65f6\u4f60\u90fd\u9700\u8981\u91cd\u65b0\u4f7f\u7528\u8fd9\u4e2a\u8865\u4e01\uff0c\u5c1d\u8bd5\u4f7f\u7528[[Pacman hooks]]\u6765\u81ea\u52a8\u5b8c\u6210\u8fd9\u9879\u4efb\u52a1\u3002}}\n\n==== \u5b57\u4f53 ====\n\n===== \u5b57\u4f53\u611f\u89c9\u6a21\u7cca =====\n\n\u5c1d\u8bd5\u5b89\u88c5 {{Pkg|ttf-dejavu}} \u548c {{Pkg|ttf-liberation}} \u8f6f\u4ef6\u5305\u3002\n\n\u5b89\u88c5\u540e\uff0c\u786e\u4fdd\u6ce8\u9500\u5e76\u91cd\u65b0\u767b\u5f55\u3002\u4e0d\u9700\u8981\u4fee\u6539''\u7cfb\u7edf\u8bbe\u7f6e > \u5e94\u7528\u7a0b\u5e8f\u5916\u89c2 > \u5b57\u4f53''\u91cc\u7684\u8bbe\u7f6e\u3002 \u5982\u679c\u4f60\u4f7f\u7528 {{Pkg|qt5ct}} \u5305\uff0cQt5 \u8bbe\u7f6e\u5de5\u5177\u5c06\u6709\u53ef\u80fd\u8986\u76d6\u7cfb\u7528\u8bbe\u7f6e\u5185\u7684\u5b57\u4f53\u8bbe\u7f6e\u3002\n\n\u5982\u679c\u60a8\u4e2a\u4eba\u5df2\u7ecf\u8bbe\u7f6e\u4e86[[Fonts|\u5b57\u4f53]]\u6e32\u67d3\uff0c\u5c0f\u5fc3\u7cfb\u7edf\u8bbe\u7f6e\u53ef\u80fd\u4f1a\u6539\u53d8\u5b83\u4eec\u7684\u5916\u89c2\u3002\u5f53\u6539\u53d8\u4e86''\u7cfb\u7edf\u8bbe\u7f6e > \u5e94\u7528\u7a0b\u5e8f\u5916\u89c2 > \u5b57\u4f53''\u91cc\u7684\u8bbe\u7f6e\uff0c\u7cfb\u7edf\u5c06\u53ef\u80fd\u6539\u5199\u5b57\u4f53\u914d\u7f6e\u6587\u4ef6({{ic|fonts.conf}})\u3002\n \n\u6ca1\u6709\u529e\u6cd5\u907f\u514d\u8fd9\u79cd\u60c5\u51b5\uff0c\u4f46\u662f\u5982\u679c\u628a\u6570\u503c\u8c03\u5230\u4e86\u5339\u914d {{ic|fonts.conf}} \u6587\u4ef6\u7684\u8bdd\uff0c\u6240\u671f\u671b\u7684\u5b57\u4f53\u6e32\u67d3\u6548\u679c\u5c06\u4f1a\u91cd\u65b0\u51fa\u73b0\uff08\u8fd9\u9700\u8981\u91cd\u542f\u60a8\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\u53ef\u80fd\u9700\u8981\u91cd\u542f\u684c\u9762\u73af\u5883\uff09\u3002\u6ce8\u610f Gnome \u4e2d\u7684\u5b57\u4f53\u8bbe\u7f6e\u4e5f\u4f1a\u6709\u8fd9\u6837\u7684\u6548\u679c\u3002\n\n===== \u5b57\u4f53\u592a\u5927\u6216\u53d8\u5f62 =====\n\n\u4ece ''\u7cfb\u7edf\u8bbe\u7f6e > \u5e94\u7528\u7a0b\u5e8f\u5916\u89c2 > \u5b57\u4f53'' \u5c06\u5b57\u4f53 DPI \u5f3a\u5236\u8bbe\u7f6e\u4e3a '''96''' \n\n\u5982\u679c\u8fd8\u662f\u4e0d\u884c\u8bf7\u5c1d\u8bd5\u76f4\u63a5\u901a\u8fc7 Xorg \u914d\u7f6e\u6587\u4ef6\u8bbe\u7f6e DPI\u3002[[Xorg_(\u7b80\u4f53\u4e2d\u6587)#\u624b\u52a8\u8bbe\u7f6eDPI|\u53c2\u89c1\u8fd9\u91cc]].\n\n==== \u7a7a\u95f4\u6548\u7387 ====\n\nPlasma Netbool shell \uff08\u4e0a\u7f51\u672c\u4ea4\u4e92\u754c\u9762\uff09\u5df2\u4ece Plasma 5 \u4e2d\u79fb\u9664\uff0c\u8bf7\u9605[https://forum.kde.org/viewtopic.php?f=289&t=126631&p=335947&hilit=plasma+netbook#p335899 \u6b64KDE\u8bba\u575b\u5e16\u5b50]\u3002\u4f46\u662f\u4f60\u4ecd\u7136\u53ef\u4ee5\u901a\u8fc7\u7f16\u8f91 {{ic|~/.config/kwinrc}}\uff0c\u5728 {{ic|[Windows]}} \u533a\u5185\u52a0\u4e0a {{ic|1=BorderlessMaximizedWindows=true}} \u6765\u5b9e\u73b0\u7c7b\u4f3c\u7684\u64cd\u4f5c\u3002\n\n==== \u7f29\u7565\u56fe\u751f\u6210 ====\n\n\u82e5\u8981\u5728\u684c\u9762\u548c Dolphin \u5185\u4e3a\u5a92\u4f53\u6216\u6587\u6863\u6587\u4ef6\u751f\u6210\u7f29\u7565\u56fe\uff0c\u5b89\u88c5 {{Pkg|kdegraphics-thumbnailers}}\uff0c{{Pkg|ffmpegthumbs}}\u3002\n\n\u7136\u540e\u5728 ''\u684c\u9762\u80cc\u666f'' > ''\u914d\u7f6e\u684c\u9762'' > ''\u56fe\u6807'' > ''\u66f4\u591a\u9884\u89c8\u9009\u9879...'' \u5185\u901a\u8fc7 ''\u53f3\u952e\u5355\u51fb'' \u542f\u7528\u684c\u9762\u7684\u7f29\u7565\u56fe\u7c7b\u522b\u3002\n\n\u5728 ''Dolphin'' \u4e2d\uff0c\u6d4f\u89c8\u5230 ''\u63a7\u5236'' > ''\u901a\u7528'' > ''\u9884\u89c8''\u3002\n\n=== \u6253\u5370 ===\n\n{{\u63d0\u793a|\u4f7f\u7528 [[CUPS (\u7b80\u4f53\u4e2d\u6587)|CUPS]] \u7684 Web \u63a5\u53e3\u8fdb\u884c\u5feb\u901f\u914d\u7f6e\u3002\u8fd9\u79cd\u65b9\u5f0f\u914d\u7f6e\u7684\u6253\u5370\u673a\u53ef\u4ee5\u88ab KDE \u5e94\u7528\u4f7f\u7528\u3002}}\n\n\u4f60\u4e5f\u53ef\u4ee5\u5728 '''\u7cfb\u7edf\u8bbe\u7f6e > \u6253\u5370\u673a\u914d\u7f6e''' \u4e2d\u914d\u7f6e\u6253\u5370\u673a\u3002\u8981\u4f7f\u7528\u8fd9\u79cd\u914d\u7f6e\u65b9\u5f0f\uff0c\u5fc5\u987b\u9996\u5148\u5b89\u88c5 {{Pkg|print-manager}} \u548c {{Pkg|cups}} \u8f6f\u4ef6\u5305\u3002\u8bf7\u9605[[CUPS_(\u7b80\u4f53\u4e2d\u6587)#\u914d\u7f6e|CUPS\u914d\u7f6e]]\n\n=== Samba/Windows \u7684\u652f\u6301 ===\n\n\u82e5\u8981\u4f7f\u7528 Windows \u670d\u52a1\uff0c\u5b89\u88c5 [[Samba (\u7b80\u4f53\u4e2d\u6587)|Samba]] ({{Pkg|samba}} \u8f6f\u4ef6\u5305)\u3002\n\nDophin \u7684\u5171\u4eab\u670d\u52a1\u9700\u8981 {{Pkg|kdenetwork-filesharing}} \u8f6f\u4ef6\u5305\u4ee5\u53ca usershares\u3002\u5173\u4e8e\u5982\u4f55\u914d\u7f6eusershares\uff08{{ic|smb.conf}}\u672a\u542f\u52a8\u5b83\uff09\uff0c\u8be6\u89c1 [[Samba (\u7b80\u4f53\u4e2d\u6587)#\u5efa\u7acb Usershare \u8def\u5f84]]\u3002\u5728\u91cd\u65b0\u542f\u52a8Samba\u4e4b\u540e\uff0cDolphin\u7684\u5171\u4eab\u5e94\u8be5\u65e0\u9700\u8fdb\u4e00\u6b65\u914d\u7f6e\u3002\n\nPlasma \u8bbf\u95ee SMB \u5171\u4eab\u7684\u80fd\u529b\u6709\u9650\u3002\u5199\u5165\u5230 Windows \u5171\u4eab\u5b58\u5728\u95ee\u9898\uff0c\u6253\u5f00 Windows \u5171\u4eab\u5185\u6587\u4ef6\uff08\u4f8b\uff1a\u5927\u7684\u89c6\u9891\u6587\u4ef6\uff09\u4f1a\u8ba9 Plasma \u5148\u5c06\u6574\u4e2a\u6587\u4ef6\u5148\u590d\u5236\u5230\u672c\u5730\u7cfb\u7edf\u3002\u8981\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff0c\u60a8\u53ef\u4ee5\u5b89\u88c5\u7c7b\u4f3c {{Pkg|thunar}} \u52a0 {{Pkg|gvfs}} \u548c {{Pkg|gvfs-smb}}\uff08\u548c {{Pkg|gnome-keyring}} \u7528\u4e8e\u4fdd\u5b58\u767b\u5f55\u51ed\u636e\uff09\u7684\u57fa\u4e8eGTK\u7684\u6587\u4ef6\u6d4f\u89c8\u5668\uff0c\u4ee5\u66f4\u6709\u6548\u7684\u65b9\u5f0f\u8bbf\u95ee SMB \u5171\u4eab\u3002\n\u53e6\u4e00\u79cd\u53ef\u80fd\u7684\u89e3\u51b3\u65b9\u6cd5\u5219\u662f\u901a\u8fc7 {{Pkg|cifs-utils}} \u6765 [[File_systems#Mount_a_file system|\u6302\u8f7d]] Samba \u5171\u4eab\u4ece\u800c\u8ba9 Plasma \u628a SMB \u5171\u4eab\u5f53\u6210\u4e00\u4e2a\u666e\u901a\u7684\u672c\u5730\u6587\u4ef6\u5939\u4ece\u800c\u6b63\u5e38\u8bbf\u95ee\u3002\u5bf9\u4e8e\u516c\u5171\u5171\u4eab\u7684\u5199\u5165\u8bbf\u95ee\uff0cmount\u547d\u4ee4\u53ef\u80fd\u5982\u4e0b\u6240\u793a\uff1a\n # mount -t cifs -o username=*,password=*,uid=1000,gid=1000,file_mode=0660,dir_mode=0770 //networkhost/share/ /home/user/localmountpoint/\n\u82e5\u8981\u6c38\u4e45\u5c06\u5176\u6302\u8f7d\uff1a\n{{hc|/etc/fstab|<nowiki>\n//networkhost/share/ /home/user/localmountpoint/ cifs defaults,username=*,password=*,uid=1000,gid=1000,file_mode=0660,dir_mode=0770 0 2\n</nowiki>}}\n\u53ef\u80fd\u9700\u8981\u5c06 {{ic|.local}} \u9644\u52a0\u5230 hostname\u3002\u5bf9\u4e8e\u67d0\u4e9b NAS \u8bbe\u5907\uff0c\u53ef\u80fd\u9700\u8981\u5c06 {{ic|1=vers=1.0}} \u9644\u52a0\u5230\u53c2\u6570\u884c\u4ee5\u5b9e\u73b0 SMB 1.0 \u7684\u517c\u5bb9\u6027\u3002\n\n\u53e6\u4e00\u79cd\u7b80\u5355\u7684\u89e3\u51b3\u529e\u6cd5\u5219\u662f\u4f7f\u7528 {{AUR|samba-mounter-git}}\u3002\u5b83\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e'' > ''\u7f51\u7edc\u9a71\u52a8'' \u4e2d\u63d0\u4f9b\u4e86\u57fa\u672c\u76f8\u540c\u7684\u529f\u80fd\u3002\n\n=== KDE \u684c\u9762\u6d3b\u52a8 ===\n\nKDE \u684c\u9762\u6d3b\u52a8\u662f\u7c7b\u4f3c\u4e8e\u201c\u865a\u62df\u684c\u9762\u201d\u7684 Plasma \u7ec4\u4ef6\uff0c\u4f60\u53ef\u4ee5\u72ec\u7acb\u5730\u5bf9\u67d0\u4e2a\u7279\u5b9a\u7684\u6d3b\u52a8\u8fdb\u884c\u7279\u522b\u7684\u8bbe\u5b9a\u3002 \u53ea\u6709\u5f53\u4f60\u5728\u7528\u8fd9\u4e2a\u6d3b\u52a8\u65f6\uff0c\u8fd9\u4e9b\u8bbe\u5b9a\u624d\u4f1a\u751f\u6548\u3002\n\n=== \u8282\u80fd ===\n\n[[\u5b89\u88c5]] {{Pkg|powerdevil}} \u4ee5\u4fbf\u4f7f\u7528 KDE \u5185\u7f6e\u7684 \"'''PowerDevil \u7535\u6e90\u7ba1\u7406'''\"\u7684\u8282\u80fd\u670d\u52a1\uff0c\u5b83\u53ef\u4ee5\u7528\u4e8e\u8c03\u6574\u7cfb\u7edf\u7684\u8282\u80fd\u914d\u7f6e\u3001\uff08\u5982\u679c\u652f\u6301\u7684\u8bdd\uff09\u5c4f\u5e55\u7684\u4eae\u5ea6\u5e76\u63d0\u4f9b\u66f4\u8be6\u7ec6\u7684\u7535\u6e90\u62a5\u544a\u3002\u53ef\u4ee5\u9009\u7528{{AUR|powerdevil-light}}\u4f5c\u4e3a\u66ff\u4ee3\u54c1\uff0c\u5b83\u4e0d\u9700\u8981[[NetworkManager]]\u548c[[Bluez]]\u4f5c\u4e3a\u4f9d\u8d56\u3002\n\n\n{{Accuracy|\u6839\u636e\u540e\u9762\u7684\u94fe\u63a5\uff0c\u95ee\u9898\u53ef\u80fd\u662flogind\u7684{{ic|LidSwitchIgnoreInhibited}}\u7684\u9ed8\u8ba4\u503c\u662f{{ic|yes}}\u3002[https://bbs.archlinux.org/viewtopic.php?pid&#61;1649022#p1649022]}}\n\n{{Note|Powerdevil \u53ef\u80fd\u65e0\u6cd5 [[Power management (\u7b80\u4f53\u4e2d\u6587)#\u7535\u6e90\u7ba1\u7406\u5668|\u8986\u76d6]] \u6240\u6709\u7684 logind \u8bbe\u7f6e(\u4f8b\u5982\u7b14\u8bb0\u672c\u5408\u76d6\u52a8\u4f5c). \u5982\u679c\u9047\u5230\u8fd9\u6837\u7684\u95ee\u9898\uff0c\u9700\u8981\u4fee\u6539logind\u7684\u8bbe\u7f6e\uff0c\u8bf7\u53c2\u8003 [[Power management (\u7b80\u4f53\u4e2d\u6587)#\u7528 systemd \u8fdb\u884c\u7535\u6e90\u7ba1\u7406]].}}\n\n=== \u7a0b\u5e8f\u81ea\u542f\u52a8 ===\n\nPlasma \u53ef\u4ee5\u5728\u542f\u52a8\u548c\u5173\u95ed\u65f6\u81ea\u52a8\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u5e76\u8fd0\u884cshell\u811a\u672c\u3002\u82e5\u8981\u81ea\u52a8\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\uff0c\u8bf7\u6d4f\u89c8\u5230 ''\u7cfb\u7edf\u8bbe\u7f6e > \u5f00\u5173\u673a > \u81ea\u542f\u52a8'' \u5e76\u6dfb\u52a0\u60a8\u60f3\u8981\u7684\u7a0b\u5e8f\u6216shell\u811a\u672c\u3002\u5bf9\u4e8e\u5e94\u7528\u7a0b\u5e8f\uff0c{{ic|.desktop}} \u6587\u4ef6\u5c06\u88ab\u521b\u5efa\u3002\u5bf9\u4e8eshell\u811a\u672c\uff0csymlink \u5c06\u88ab\u521b\u5efa\u3002\n\n{{\u6ce8\u610f|\n* \u7a0b\u5e8f\u53ea\u80fd\u5728\u767b\u5f55\u65f6\u81ea\u542f\u52a8\uff0c\u800cshell\u811a\u672c\u4e5f\u53ef\u4ee5\u5728\u5173\u673a\u548c Plasma \u542f\u52a8\u524d\u542f\u52a8\u3002\n* Shell\u811a\u672c\u53ea\u6709\u5728\u88ab\u6807\u8bb0\u4e3a\u53ef\u6267\u884c\u6587\u4ef6\u65f6\u624d\u4f1a\u8fd0\u884c\u3002\n}}\n\n\u5c06[[Desktop_entries_(\u7b80\u4f53\u4e2d\u6587)|\u684c\u9762\u914d\u7f6e\u9879]]\uff08\u5373{{ic|.desktop}}\u6587\u4ef6\uff09\u653e\u5728\u8fd9\u91cc\uff1a\n\n; {{ic|~/.config/autostart}}: \u5728\u767b\u5f55\u65f6\u542f\u52a8\u5e94\u7528\u7a0b\u5e8f\u3002\n\n\u5c06shell\u811a\u672c\u7684symlink\u653e\u5165\u4ee5\u4e0b\u76ee\u5f55\u4e4b\u4e00\u4e2d\uff1a\n\n; {{ic|~/.config/plasma-workspace/env}}: \u5728 Plasma \u542f\u52a8\u524d\u542f\u52a8\u811a\u672c\u3002\n; {{ic|~/.config/autostart-scripts}}: \u5728\u767b\u5f55\u65f6\u542f\u52a8\u811a\u672c\u3002\n; {{ic|~/.config/plasma-workspace/shutdown}}: \u5728\u5173\u673a\u65f6\u542f\u52a8\u811a\u672c\u3002\n\n=== Phonon ===\n\n\u6458\u81ea  [[Wikipedia:Phonon (software)|Wikipedia]]\uff1a\n''Phonon \u662f KDE \u7684\u591a\u5a92\u4f53 API, \u63d0\u4f9b\u4e86\u591a\u4e2a\u591a\u5a92\u4f53\u6846\u67b6\u7684\u62bd\u8c61\uff0c\u4e3a KDE \u548c\u4e00\u4e9b QT \u7a0b\u5e8f\u63d0\u4f9b\u591a\u5a92\u4f53\u6d41\u5904\u7406\u529f\u80fd\u3002''\n\nPhonon \u6700\u521d\u662f\u4e3a\u4e86\u8ba9 KDE \u548c Qt \u8f6f\u4ef6\u72ec\u7acb\u4e8e\u5176\u4ed6\u591a\u5a92\u4f53\u6846\u67b6\uff08\u4f8b\u5982GStreamer\u6216xine\uff09\u5e76\u5176\u63d0\u4f9b\u4e00\u4e2a\u7a33\u5b9a\u7684 API\u3002\n\nKDE \u4e2d\u5e7f\u6cdb\u5730\u4f7f\u7528 Phonon \u7528\u4e8e\u58f0\u97f3\uff08\u4f8b\u5982\u7cfb\u7edf\u901a\u77e5\u6216\u8005 KDE \u58f0\u97f3\u5e94\u7528\uff09\u548c\u89c6\u9891\uff08\u4f8b\u5982 Dolphin \u4e2d\u7684\u89c6\u9891\u7f29\u7565\u56fe\uff09\u4e2d\u3002\n\n==== \u6211\u5e94\u8be5\u9009\u62e9\u54ea\u4e2a\u540e\u7aef\uff1f ====\n\t\n\u4f60\u53ef\u4ee5\u5728 [[GStreamer]] \u548c [[VLC]] \u4e4b\u95f4\u505a\u9009\u62e9\u2013\u6bcf\u4e2a\u540e\u7aef\u90fd\u6709 Qt4 \u548c Qt5 \u7248\u672c ({{AUR|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}} \u2013 {{AUR|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}).\n\n[http://lists.kde.org/?l=kde-multimedia&m=137994906723790&w=2 KDE-Multimedia \u4e0a\u6e38\u5efa\u8bae\u4f7f\u7528 VLC \u540e\u7aef]\uff0c\u4f46\u662f\u5f88\u591a Linux \u53d1\u884c\u7248 (\u4f8b\u5982 Kubuntu \u548c Fedora-KDE ) \u9009\u62e9 GStreamer\uff0c\u56e0\u4e3a\u5b83\u53ef\u4ee5\u66f4\u65b9\u4fbf\u7684\u53bb\u6389\u4e13\u5229 MPEG codecs\u3002\u5b83\u4eec\u7684 [http://community.kde.org/Phonon/FeatureMatrix \u529f\u80fd]\u6709\u7a0d\u8bb8\u4e0d\u540c\u3002\n\n\u4e4b\u524d\u8fd8\u6709\u4e00\u4e9b\u540e\u7aef\uff0c\u4f46\u662f\u56e0\u4e3a\u7f3a\u4e4f\u7ef4\u62a4\uff0c\u5df2\u7ecf\u4ece Arch \u4e2d\u5220\u9664\u3002\n\n{{\u6ce8\u610f|1=<br>\n* \u53ef\u4ee5\u540c\u65f6\u5b89\u88c5\u591a\u4e2a\u540e\u7aef\uff0c\u5e76\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u591a\u5a92\u4f53 > \u540e\u7aef'' \u4e2d\u8fdb\u884c\u4f18\u5148\u7ea7\u8bbe\u5b9a\u3002\n* \u6839\u636e [https://forum.kde.org/viewtopic.php?f=250&t=126476&p=335080 KDE \u8fd9\u4e2a\u5e16\u5b50], VLC \u540e\u7aef\u4e0d\u652f\u6301 [[wikipedia:ReplayGain|ReplayGain]]\u3002\n* \u5982\u679c\u4f60\u9009\u62e9 VLC \u540e\u7aef\uff0c\u4f60\u53ef\u80fd\u4f1a\u5728\u6bcf\u6b21kde\u60f3\u8981\u53d1\u9001\u4e00\u4e2a\u8bed\u97f3\u8b66\u544a\u65f6\u9047\u5230\u5d29\u6e83\uff08\u4ee5\u53ca\u5728\u5f88\u591a\u5176\u4ed6\u60c5\u51b5\u4e0b\uff0c\u53c2\u89c1[https://forum.kde.org/viewtopic.php?f=289&t=135956])\n* \u4f60\u53ef\u4ee5\u5c1d\u8bd5\u8fd0\u884c\u4ee5\u4e0b\u4ee3\u7801\u8fdb\u884c\u4fee\u590d\uff1a\n{{bc|# /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugins}}\n}}\n\n== \u5e94\u7528\u7a0b\u5e8f ==\n\nKDE\u9879\u76ee\u63d0\u4f9b\u4e86\u4e00\u5957\u4e0ePlasma\u684c\u9762\u96c6\u6210\u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u6709\u5173\u53ef\u7528\u5e94\u7528\u7a0b\u5e8f\u7684\u5b8c\u6574\u5217\u8868\uff0c\u8be6\u89c1 {{Grp|kde-applications}} \u8f6f\u4ef6\u5305\u3002\u53e6\u8bf7\u53c2\u9605 [[:Category:KDE|KDE \u76f8\u5173\u5e94\u7528\u9875\u9762]]\u3002\n\n\u9664\u4e86 KDE \u5e94\u7528\u7a0b\u5e8f\u5305\u63d0\u4f9b\u7684\u7a0b\u5e8f\u4e4b\u5916\uff0c\u8fd8\u6709\u8bb8\u591a\u5176\u4ed6\u53ef\u7528\u4e8e\u8865\u5145 Plasma \u7684\u5e94\u7528\u7a0b\u5e8f\u3002\u5176\u4e2d\u4e00\u4e9b\u5c06\u5728\u4e0b\u9762\u8ba8\u8bba\u3002\n\n=== \u7cfb\u7edf\u7ba1\u7406 ===\n\n==== KDE \u7cfb\u7edf\u8bbe\u7f6e\u4e2d\u914d\u7f6e\u7ec8\u6b62 Xorg-server ====\n\n\u6d4f\u89c8\u5230\u5b50\u83dc\u5355\uff1a\n    \u7cfb\u7edf\u8bbe\u7f6e > \u786c\u4ef6 > \u8f93\u5165\u8bbe\u5907 > \u952e\u76d8 > \u9ad8\u7ea7\uff08\u6807\u7b7e\uff09 > \"Key Sequence to kill the X server\" \n\u7136\u540e\u9009\u4e2d\u590d\u9009\u6846\u3002\n\n==== KCM ====\n\nKCM \u610f\u4e3a KDE \u63a7\u5236\u6a21\u5757\uff08'''KC'''onfig '''M'''odule\uff09\u3002\u8fd9\u4e9b\u6a21\u5757\u5728\u7cfb\u7edf\u8bbe\u7f6e\u4e2d\u63d0\u4f9b\u4e86\u754c\u9762\u4ece\u800c\u5e2e\u52a9\u4f60\u914d\u7f6e\u7cfb\u7edf\uff0c\u6216\u901a\u8fc7\u547d\u4ee4\u884c\uff08'kcmshell5''\uff09\u3002\n\n* {{App|kde-gtk-config|GTK2 \u548c GTK3 \u7684 KDE \u8bbe\u7f6e\u5668\u3002|https://cgit.kde.org/kde-gtk-config.git|{{Pkg|kde-gtk-config}}}}\n* {{App|KCM Qt Graphics System|\u8be5 KCM \u8ba9\u60a8\u8f7b\u677e\u914d\u7f6e\u6807\u51c6\u7684Qt\u56fe\u5f62\u7cfb\u7edf\u3002|https://www.linux-apps.com/p/1127857/|{{AUR|kcm-qt-graphicssystem}}{{Broken package link|package not found}}}}\n* {{App|UFW KControl Module|KDE4 UFW \u63a7\u5236\u7ec4\u4ef6 ([[Uncomplicated Firewall]])\u3002|https://www.linux-apps.com/p/1127851/|{{AUR|kcm-ufw}}{{Broken package link|package not found}}}}\n* {{App|System policies|\u914d\u7f6e[[PolicyKit]]\u3002|https://cgit.kde.org/polkit-kde-kcmodules-1.git|{{AUR|kcm-polkit-kde-git}}}}\n* {{App|wacom tablet|KDE Wacom \u9a71\u52a8\u56fe\u5f62\u754c\u9762\u3002|https://www.linux-apps.com/p/1127862/|{{Pkg|kcm-wacomtablet}}}}\n* {{App|Kcmsystemd|KDE \u7cfb\u7edf\u63a7\u5236\u7ec4\u4ef6.|https://github.com/rthomsen/kcmsystemd|{{AUR|systemd-kcm}}}}\n\n\u53ef\u4ece [https://www.linux-apps.com/search?projectSearchText=KCM linux-apps.com] \u627e\u5230\u66f4\u591a\u7684 KCM \u3002\n\n=== \u684c\u9762\u641c\u7d22 ===\n\nKDE \u4f7f\u7528 Baloo \u5b9e\u73b0\u6587\u4ef6\u7d22\u5f15\u548c\u67e5\u627e\u3002\n\n==== Baloo ====\n\n===== \u4f7f\u7528\u53ca\u914d\u7f6e Baloo =====\n\n\u4e3a\u4e86\u5728 Plasma \u684c\u9762\u4e0a\u4f7f\u7528 Baloo \u8fdb\u884c\u641c\u7d22\uff0c\u542f\u52a8 krunner \uff08\u9ed8\u8ba4\u5feb\u6377\u952e {{ic|ALT+F2}}\uff09\u5e76\u952e\u5165\u67e5\u8be2\u3002\u82e5\u8981\u5728 Dophin\uff08\u6587\u4ef6\u7ba1\u7406\u5668\uff09\u5185\u641c\u7d22\uff0c\u6309{{ic|CTRL+F}}\u3002\n\n\u5728\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u684c\u9762\u641c\u7d22\u7684 KCM \u4ec5\u663e\u793a\u4e24\u4e2a\u9009\u9879\uff1a\u4e00\u4e2a\u5c06\u6587\u4ef6\u5939\u653e\u5165\u9ed1\u540d\u5355\u7684\u9762\u677f\u4ee5\u53ca\u4e00\u79cd\u4e00\u6b21\u70b9\u51fb\u6765\u7981\u7528\u5b83\u7684\u65b9\u6cd5\u3002\n\n\u6216\u8005\u4f60\u53ef\u4ee5\u7f16\u8f91 {{ic|~/.config/baloofilerc}} \u6587\u4ef6[https://community.kde.org/Baloo/Configuration]\u3002\u53e6\u5916\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528 {{ic|balooctl}} \u8fdb\u7a0b\u3002\u8fd0\u884c {{ic|balooctl stop}} \u548c {{ic|balooctl disable}}\u3002\n\n\u5c06\u6587\u4ef6\u5939\u6dfb\u52a0\u5230\u9ed1\u540d\u5355\u6216\u5b8c\u5168\u7981\u7528\u4e86Baloo\u4e4b\u540e\uff0c{{ic|baloo_file_cleaner}} \u8fdb\u7a0b\u5c06\u4f1a\u81ea\u52a8\u5220\u9664\u6240\u6709\u4e0d\u9700\u8981\u7684\u7d22\u5f15\u6587\u4ef6\u3002\u5b83\u4eec\u88ab\u5b58\u50a8\u5728 {{ic|~/.local/share/baloo/}} \u3002\n\n===== \u5982\u4f55\u628a\u53ef\u79fb\u52a8\u8bbe\u5907\u52a0\u5165\u7d22\u5f15\uff1f =====\n\n\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u6240\u6709\u53ef\u79fb\u52a8\u8bbe\u5907\u90fd\u5728\u9ed1\u540d\u5355\u5185\u3002\u4f60\u53ea\u9700\u8981\u5728 KCM \u9762\u677f\u4e2d\u79fb\u9664\u4f60\u7684\u8bbe\u5907\u5373\u53ef\u3002\n\n=== Web \u6d4f\u89c8\u5668 ===\n\n* {{App|[[Wikipedia:Konqueror|Konqueror]]|KDE\u9879\u76ee\u7684\u4e00\u90e8\u5206, \u652f\u6301\u4e24\u79cd\u6e32\u67d3\u5f15\u64ce \u2013 KHTML \u548c\u57fa\u4e8e[[Chromium]]\u7684 Qt Web\u5f15\u64ce\u3002|https://konqueror.org/|{{Pkg|konqueror}}}}\n* {{App|[[Wikipedia:QupZilla|QupZilla]]|\u5305\u542b Plasma \u96c6\u6210\u7279\u6027\u7684 Qt web \u6d4f\u89c8\u5668\u3002\u5176\u4f7f\u7528 Qt Web\u5f15\u64ce\u3002|https://www.qupzilla.com/|{{Pkg|qupzilla}}{{Broken package link|replaced by {{Pkg|falkon}}}}}}\n* {{App|[[Chromium]]|Chromium \u53ca\u5b83\u7684\u4e13\u6709\u7248\u672c Google Chrome \u5177\u6709\u6709\u9650\u7684 Plasma \u96c6\u6210\u3002 [[KDE Wallet#KDE Wallet for Chrome and Chromium|\u5b83\u4eec\u53ef\u4ee5\u4f7f\u7528 KWallet]] \u4ee5\u53ca KDE \u7a97\u53e3 \u6253\u5f00/\u4fdd\u5b58\u3002|https://www.chromium.org/|{{Pkg|chromium}}}}\n* {{App|[[Firefox]]|Firefox \u53ef\u4ee5\u901a\u8fc7\u914d\u7f6e\u4ee5\u548c Plasma \u66f4\u597d\u5730\u96c6\u6210\u3002\u53c2\u8003 [[Firefox_(\u7b80\u4f53\u4e2d\u6587)#KDE_\u6574\u5408|Firefox KDE\u6574\u5408]]\u3002|https://mozilla.org/firefox|{{Pkg|firefox}}}}\n\n=== \u4e2a\u4eba\u4fe1\u606f\u7ba1\u7406 ===\n\nKDE \u63d0\u4f9b\u4e86\u5176\u81ea\u5df1\u7684\u4e2a\u4eba\u4fe1\u606f\u7ba1\u7406\u5e94\u7528\u50a8\u5b58\uff0c\u5305\u62ec\u7535\u5b50\u90ae\u4ef6\uff0c\u8054\u7cfb\u4eba\uff0c\u65e5\u5386\u7b49\u3002\u53ef\u4ee5\u4f7f\u7528 {{Pkg|kdepim-meta}} \u5143\u8f6f\u4ef6\u5305\u5b89\u88c5\u6240\u6709\u76f8\u5173\u7684\u8f6f\u4ef6\u5305\u3002\n\n==== Akonadi ====\n\nAkonadi \u662f\u7cfb\u7edf\u4e2d\u672c\u5730\u7f13\u5b58\u5404\u79cd\u6765\u6e90\u7684 PIM \u6570\u636e\u7684\u4e00\u79cd\u65b9\u6cd5\uff0c\u63a5\u7740\u8fd9\u4e9b\u6570\u636e\u53ef\u4ee5\u88ab\u5176\u5b83\u7684\u5e94\u7528\u4f7f\u7528\u3002\u8fd9\u5305\u542b\u4e86\u7528\u6237\u7684\u90ae\u4ef6\u3001\u8054\u7cfb\u4eba\u3001\u65e5\u5386\u3001\u4e8b\u4ef6\u3001\u520a\u7269\u3001\u95f9\u949f\u3001\u7b14\u8bb0\u7b49\u3002\n\nAkonadi \u81ea\u8eab\u5e76\u4e0d\u5b58\u50a8\u4efb\u4f55\u6570\u636e\uff1a\u5b58\u50a8\u683c\u5f0f\u4f9d\u8d56\u4e8e\u6570\u636e\u7684\u6027\u8d28\uff08\u4f8b\u5982\uff0c\u8054\u7cfb\u4eba\u53ef\u80fd\u4ee5 vcard \u683c\u5f0f\u5b58\u50a8\uff09\u3002 \n\n===== \u5b89\u88c5 =====\n\n[[\u5b89\u88c5]] {{Pkg|akonadi}}. \u82e5\u9700\u5176\u4ed6\u63d2\u4ef6\uff0c\u5b89\u88c5 {{Pkg|kdepim-addons}}\u3002\n\n{{\u6ce8\u610f|\u82e5\u8981\u4f7f\u7528\u9664 MariaDB/MySQL \u4ee5\u5916\u7684\u6570\u636e\u5e93\u5f15\u64ce\uff0c\u8bf7\u5728\u5b89\u88c5 {{Pkg|akonadi}} \u5305\u65f6\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u4ece\u800c\u8df3\u8fc7 {{Pkg|mariadb}} \u4f9d\u8d56\u9879\u7684\u5b89\u88c5:\n\n{{bc|# pacman -S akonadi --assume-installed mariadb}}\n\n}}\n\n===== \u7981\u7528 Akonadi =====\n\n\u8bf7\u53c2\u89c1 KDE userbase \u7684[http://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem \u8fd9\u4e00\u8282]\u3002\n\n===== \u914d\u7f6e\u6570\u636e\u5e93 =====\n\n====== MariaDB/MySQL (\u4f7f\u7528 ZFS) ======\n\n\u5982\u679c\u60a8\u7684\u4e3b\u76ee\u5f55\u4f4d\u4e8eZFS\u6c60\u4e2d\uff0c\u4f60\u5c06\u9700\u8981\u521b\u5efa {{ic|~/.config/akonadi/mysql-local.conf}} \u5e76\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a\n\n [mysqld]\n innodb_use_native_aio = 0\n\n\u5426\u5219\u4f60\u4f1a\u6536\u5230 [[MySQL#OS error 22 when running on ZFS|OS error 22]]{{Broken section link}}\u3002\n\n====== PostgreSQL ======\n\u5b89\u88c5\u5e76\u8bbe\u7f6e [[PostgreSQL (\u7b80\u4f53\u4e2d\u6587)]]\u3002\u786e\u4fdd {{ic|postgresql.service}} \u5df2\u88ab[[Systemd_(\u7b80\u4f53\u4e2d\u6587)#\u4f7f\u7528\u5355\u5143|\u6fc0\u6d3b]].\n\n\u7f16\u8f91Akonadi\u914d\u7f6e\u6587\u4ef6\uff0c\u4f7f\u5176\u5177\u6709\u4ee5\u4e0b\u5185\u5bb9\uff1a\n\n{{hc|~/.config/akonadi/akonadiserverrc|<nowiki>\n[%General]\nDriver=QPSQL\n\n[QPSQL]\nHost=/run/postgresql/\nInitDbPath=/usr/bin/initdb\nName=akonadi\nOptions=\nPassword=\nPort=5432\nServerPath=/usr/bin/pg_ctl\nStartServer=true\nUser=postgres\n</nowiki>}}\n\n{{\u6ce8\u610f|\u5982\u679c\u4f60\u7684 PostgreSQL \u6570\u636e\u5e93\u7528\u6237\u540d\uff0c\u5bc6\u7801\u548c\u7aef\u53e3\u4e0d\u540c\u4e8e {{ic|postgres}} \u53ca {{ic|5432}}, \u8bf7\u786e\u4fdd\u4f60\u522b\u66f4\u6539\u4e86\u914d\u7f6e\u9009\u9879\uff1a{{ic|1=User=}}, {{ic|1=Password=}}, \u4ee5\u53ca {{ic|1=Port=}}.}}\n\n\u8fd0\u884c {{ic|akonadictl start}} \u542f\u52a8 Akonadi \u5e76\u68c0\u67e5\u5176\u72b6\u6001: {{ic|akonadictl status}}\u3002\n\n====== SQLite ======\n\n\u7f16\u8f91Akonadi\u914d\u7f6e\u6587\u4ef6\u4ee5\u5339\u914d\u4ee5\u4e0b\u914d\u7f6e\uff1a\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QSQLITE3\n\n[QSQLITE3]\nName=/home/''username''/.local/share/akonadi/akonadi.db\n}}\n\n=== KDE Telepathy ===\n\n[http://community.kde.org/KTp KDE Telepathy] \u662f\u4e00\u4e2a\u628a\u5373\u65f6\u4fe1\u606f\u529f\u80fd\u7d27\u5bc6\u6574\u5408\u5230 KDE \u684c\u9762\u4e2d\u7684\u9879\u76ee\u3002\u5b83\u4f7f\u7528 Telepathy \u6846\u67b6\u4f5c\u4e3a\u540e\u7aef\uff0c\u610f\u5728\u66ff\u4ee3 Kopete\u3002\n\n\u82e5\u8981\u5b89\u88c5\u6240\u6709 Telepathy \u534f\u8bae\uff0c\u5b89\u88c5 {{Grp|telepathy}} \u7ec4\u3002\n\u82e5\u8981\u4f7f\u7528 KDE Telepathy \u5ba2\u6237\u7aef\uff0c\u5b89\u88c5 {{Pkg|telepathy-kde-meta}} \u5143\u8f6f\u4ef6\u5305\uff0c\u5b83\u5305\u542b\u4e86\u6240\u6709\u5728 {{Grp|telepathy-kde}} \u7ec4\u4e2d\u7684\u8f6f\u4ef6\u5305\u3002\n\n==== \u4f7f\u7528 Telegram \u4e0e KDE Telepathy  ====\n\n[[Telegram]] \u534f\u8bae\u9700\u8981\u4f7f\u7528 {{pkg|telepathy-haze}}, \u5b89\u88c5 {{aur|telegram-purple}} \u6216 {{aur|telegram-purple-git}} \u548c {{aur|telepathy-morse-git}}\u3002\u7528\u6237\u540d\u662f Telegram \u8d26\u6237\u7535\u8bdd\u53f7\u7801 (\u52a0\u56fd\u5bb6\u524d\u7f00 {{ic|+''xx''}}\uff0c\u4f8b\u5982\u5fb7\u56fd\u662f {{ic|+49}}).\n\n\u901a\u8fc7\u56fe\u5f62\u754c\u9762\u8fdb\u884c\u914d\u7f6e\u53ef\u80fd\u4f1a\u5f88\u68d8\u624b\uff1a\u5982\u679c\u5728KDE Telepathy\u5ba2\u6237\u7aef\u4e2d\u914d\u7f6e\u65b0\u5e10\u6237\u65f6\u4e0d\u63a5\u53d7\u7535\u8bdd\u53f7\u7801\uff08\u51fa\u73b0\u4e00\u4e2a\u9519\u8bef\u4fe1\u606f\u8868\u660e\u53c2\u6570\u65e0\u6548\u5e76\u963b\u6b62\u521b\u5efa\u8d26\u6237\uff09\uff0c\u8bf7\u628a\u5176\u6dfb\u52a0\u5728\u5355\u5f15\u53f7\u4e2d\uff0c\u5e76\u5728\u5e10\u53f7\u521b\u5efa\u597d\u540e\u4ece\u914d\u7f6e\u6587\u4ef6\uff08{{ic|~/.local/share/telepathy/mission-control/accounts.cfg}}\uff09\u4e2d\u624b\u52a8\u79fb\u9664\u5f15\u53f7\uff08\u5982\u679c\u5f15\u53f7\u672a\u88ab\u79fb\u9664\uff0c\u4f1a\u53d1\u751f\u8ba4\u8bc1\u9519\u8bef\uff09\u3002\n\n{{\u6ce8\u610f|\u914d\u7f6e\u6587\u4ef6\u5e94\u5f53\u5728 KDE Telepathy \u672a\u8fd0\u884c\u65f6\u624b\u52a8\u7f16\u8f91\uff0c\u4f8b\u5982\u5f53 KDE \u684c\u9762\u672a\u6fc0\u6d3b\u65f6\uff0c\u5426\u5219\u624b\u52a8\u66f4\u6539\u53ef\u80fd\u4f1a\u88ab\u8f6f\u4ef6\u8986\u76d6\u3002}}\n\n=== \u5b89\u5353\u6574\u5408 ===\n\n[https://community.kde.org/KDEConnect KDE Connect] \u63d0\u4f9b\u4e86\u4e00\u4e9b\u529f\u80fd\uff1a\n\n* \u4ece\u4efb\u4f55\u5e94\u7528\u5411 KDE \u5171\u4eab\u6587\u4ef6\u548c URL \u6216\u4ece KDE \u5411\u4efb\u4f55\u5e94\u7528\u5171\u4eab\uff0c\u65e0\u9700\u8fde\u7ebf\u3002\n* \u89e6\u6478\u677f\u6a21\u62df\uff1a\u5c06\u624b\u673a\u5c4f\u5e55\u7528\u4f5c\u8ba1\u7b97\u673a\u7684\u89e6\u6478\u677f\u3002\n* \u901a\u77e5\u540c\u6b65\uff084.3+\uff09\uff1a\u4ece\u684c\u9762\u8bfb\u53d6\u60a8\u7684\u5b89\u5353\u901a\u77e5\u3002\n* \u5171\u4eab\u526a\u8d34\u677f\uff1a\u5728\u624b\u673a\u548c\u7535\u8111\u4e4b\u95f4\u590d\u5236\u7c98\u8d34\u3002\n* \u591a\u5a92\u4f53\u8fdc\u7a0b\u63a7\u5236\uff1a\u5c06\u624b\u673a\u7528\u4f5c Linux \u5a92\u4f53\u64ad\u653e\u5668\u7684\u9065\u63a7\u5668\u3002\n* WiFi \u8fde\u63a5\uff1a\u4e0d\u9700\u8981 usb \u548c\u84dd\u7259\u3002\n* RSA\u52a0\u5bc6\uff1a\u4fdd\u8bc1\u60a8\u7684\u4fe1\u606f\u5b89\u5168\u3002\n\n\u4f60\u9700\u8981\u540c\u65f6\u5728\u7535\u8111\u548c\u5b89\u5353\u4e0a\u5b89\u88c5 KDE Connect\u3002\u5728PC\u7aef\u4e0a\u5b89\u88c5 {{Pkg|kdeconnect}} \u8f6f\u4ef6\u5305\u3002\u5bf9\u4e8e\u5b89\u5353\u7aef\uff0c\u8bf7\u901a\u8fc7 [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google Play] \u6216 [https://f-droid.org/repository/browse/?fdid=org.kde.kdeconnect_tp F-Droid] \u5b89\u88c5 {{ic|KDE Connect}}\u3002\n\n\u5373\u4f7f\u4e0d\u4f7f\u7528 Plasma \u684c\u9762\uff0c\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528 KDE Connect\u3002\u5bf9\u4e8e\u4f7f\u7528 AppIndicator\uff08\u5982Unity\uff09\u7684\u684c\u9762\u73af\u5883\uff0c\u4e5f\u9700\u8981\u5b89\u88c5indicator-kdeconnect \u8f6f\u4ef6\u5305\u3002\n\n== \u63d0\u793a\u548c\u6280\u5de7 ==\n\n=== \u4f7f\u7528\u5176\u4ed6\u7a97\u53e3\u7ba1\u7406\u5668 ===\n\nPlasma \u4e2d\u7684\u7ec4\u4ef6\u9009\u62e9\u5668\u8bbe\u7f6e\u5df2\u4e0d\u518d\u5141\u8bb8\u66f4\u6539\u7a97\u53e3\u7ba1\u7406\u5668\u3002[https://github.com/KDE/plasma-desktop/commit/2f83a4434a888cd17b03af1f9925cbb054256ade]\u82e5\u9700\u8981\u66f4\u6539\u7a97\u53e3\u7ba1\u7406\u5668\uff0c\u4f60\u9700\u8981\u5728 KDE \u542f\u52a8\u4e4b\u524d\u8bbe\u7f6e {{ic|KDEWM}} [[Environment_variables_(\u7b80\u4f53\u4e2d\u6587)|\u73af\u5883\u53d8\u91cf]]\u3002[https://wiki.haskell.org/Xmonad/Using_xmonad_in_KDE]\u4e3a\u6b64\uff0c\u4f60\u53ef\u4ee5\u5728 {{ic|~/.config/plasma-workspace/env}} \u4e2d\u521b\u5efa\u4e00\u4e2a\u540d\u4e3a {{ic|set_window_manager.sh}} \u7684\u811a\u672c\uff0c\u5e76\u5728\u8fd9\u5bfc\u51fa {{ic|KDEWM}} \u53d8\u91cf\u3002\u4f8b\uff1a\u4f7f\u7528 i3 \u7a97\u53e3\u7ba1\u7406\u5668\uff1a\n\n{{hc|~/.config/plasma-workspace/env/set_window_manager.sh|2=\nexport KDEWM=/usr/bin/i3\n}}\n\n\u7136\u540e\u6807\u8bb0\u5176\u4e3a\u53ef\u6267\u884c\uff1a\n\n{{bc|$ chmod +x ~/.config/plasma-workspace/env/set_window_manager.sh}}\n\n==== KDE/Openbox \u4f1a\u8bdd ====\n\n\u8f6f\u4ef6\u5305 {{Pkg|openbox}} \u4e3a\u5728plasma\u4e0b\u4f7f\u7528 [[Openbox]] \u63d0\u4f9b\u4e86\u4f1a\u8bdd. \u8981\u4f7f\u7528\u8fd9\u4e2a\u4f1a\u8bdd\uff0c\u8bf7\u5728 [[display manager]] \u83dc\u5355\u4e2d\u9009\u62e9 ''KDE/Openbox'' .\n\n\u82e5\u8981\u624b\u52a8\u542f\u52a8\u4f1a\u8bdd\uff0c\u8bf7\u5c06\u4e0b\u9762\u8fd9\u884c\u6dfb\u52a0\u5230\u4f60\u7684 {{ic|.xinitrc}} \u6587\u4ef6\u4e2d:\n\n exec openbox-kde-session\n\n==== \u91cd\u65b0\u542f\u7528\u7279\u6b8a\u6548\u679c ====\n\n\u5f53\u4f60\u7528\u4e0d\u5305\u542b\u7a97\u53e3\u6df7\u5408\u5668\uff08Compositor\uff09\u7684\u7a97\u53e3\u7ba1\u7406\u5668\uff08\u4f8b\u5982 Openbox\uff09\u66ff\u6362 Kwin \u65f6\uff0c\u4efb\u4f55\u684c\u9762\u7279\u6b8a\u6548\u679c\u90fd\u4f1a\u5931\u6548\uff08\u4f8b\u5982\u7a97\u53e3\u900f\u660e\u5ea6\uff09\u3002\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u8bf7\u5b89\u88c5\u5e76\u8fd0\u884c\u5176\u4ed6\u72ec\u7acb\u6df7\u5408\u5668\uff0c\u6bd4\u5982 [[Xcompmgr]] \u6216 [[Compton]]\u3002\n\n=== \u663e\u793a\u5668\u5206\u8fa8\u7387 / \u591a\u663e\u793a\u5668\u914d\u7f6e ===\n\u8981\u5728 Plasma \u4e2d\u542f\u7528\u5206\u8fa8\u7387\u548c\u591a\u663e\u793a\u5668\u7ba1\u7406, \u8bf7\u5b89\u88c5 {{Pkg|kscreen}}. \u5b83\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u663e\u793a'' \u4e2d\u6dfb\u52a0\u4e86\u66f4\u591a\u9009\u9879.\n\n=== \u7981\u7528\u8d85\u7ea7\u952e\uff08Windows \u952e\uff09\u6253\u5f00\u5e94\u7528\u7a0b\u5e8f\u542f\u52a8\u5668 ===\n\n\u82e5\u8981\u7981\u7528\u6b64\u529f\u80fd\uff0c\u8bf7\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a\n\n $ kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta \"\"\n\n== \u7591\u96be\u89e3\u7b54 ==\n\n=== \u6709\u5173\u914d\u7f6e\u7684\u95ee\u9898 ===\n\nKDE \u4e2d\u8bb8\u591a\u95ee\u9898\u90fd\u8ddf\u914d\u7f6e\u76f8\u5173\u3002\n\n==== Plasma \u684c\u9762\u884c\u4e3a\u5f02\u5e38 ====\n\nPlasma \u6545\u969c\u901a\u5e38\u662f\u7531\u4e0d\u7a33\u5b9a\u7684 '''plasma \u5c0f\u90e8\u4ef6'''\uff08plasmoids\uff09\u6216\u8005 '''plasma \u4e3b\u9898'''\u5f15\u8d77\u7684\u3002\u9996\u5148\u5bfb\u627e\u6700\u8fd1\u5b89\u88c5\u7684 plasmoid \u6216\u8005 plasma \u4e3b\u9898\u5e76\u7981\u7528\u6216\u8005\u5378\u8f7d\u5b83\u3002\n\n\u56e0\u6b64\uff0c\u5982\u679c\u4f60\u7684\u684c\u9762\u7a81\u7136\u88ab\"\u9501\u5b9a\"\u4e86\uff0c\u5f88\u53ef\u80fd\u662f\u7531\u4e8e\u5b89\u88c5\u4e86\u6709\u95ee\u9898\u7684\u7ec4\u4ef6\u9020\u6210\u7684\u3002\u5982\u679c\u4f60\u4e0d\u8bb0\u5f97\u6545\u969c\u53d1\u751f\u524d\u4f60\u5b89\u88c5\u4e86\u4ec0\u4e48\u5c0f\u90e8\u4ef6\uff08\u6709\u65f6\u5b83\u53ef\u80fd\u662f\u4e00\u4e2a\u4e0d\u5bfb\u5e38\u7684\u95ee\u9898\uff09\uff0c\u901a\u8fc7\u9010\u4e2a\u79fb\u9664\u5c0f\u90e8\u4ef6\u76f4\u5230\u95ee\u9898\u4e0d\u518d\u51fa\u73b0\u3002\u7136\u540e\u4f60\u53ef\u4ee5\u5378\u8f7d\u8fd9\u4e2a\u5c0f\u90e8\u4ef6\u5e76\u63d0\u4ea4\u4e00\u4efd\u7f3a\u9677\u62a5\u544a\uff0c'''\u82e5\u662f\u5b98\u65b9\u5c0f\u90e8\u4ef6\u65f6'''\u5230[https://bugs.kde.org/ KDE \u7f3a\u9677\u8ddf\u8e2a\u9875]\u63d0\u4ea4\u4e00\u4efd\u7f3a\u9677\u62a5\u544a\u3002\u5982\u679c\u5b83\u4e0d\u662f\uff0c\u4f60\u53ef\u4ee5\u5728 https://store.kde.org/ \u4e0a\u5bfb\u627e\u5b83\u7684\u6761\u76ee\u5e76\u544a\u77e5\u5c0f\u90e8\u4ef6\u7684\u5f00\u53d1\u8005\u4f60\u6240\u78b0\u5230\u7684\u95ee\u9898\uff08\u4ee5\u53ca\u518d\u73b0\u5b83\u7684\u8be6\u7ec6\u6b65\u9aa4\u7b49\uff09\u3002\n\n\u5982\u679c\u4f60\u627e\u4e0d\u5230\u95ee\u9898\uff0c\u4e5f\u4e0d\u60f3\u4e22\u5931''\u6240\u6709\u7684''\u8bbe\u7f6e\uff0c\u6d4f\u89c8\u5230{{ic|~/.config}}\uff1a\n\n $ for j in plasma*; do mv -- \"$j\" \"${j%}.bak\"; done\n\n\u8fd9\u4e2a\u547d\u4ee4\u4f1a\u5c06'''\u6240\u6709\u4f60\u7528\u6237\u8ddf Plasma \u6709\u5173\u7684\u8bbe\u7f6e''' \u91cd\u547d\u540d\u4e3a *.bak (\u4f8b\u5982 {{ic|plasmarc.bak}})\uff0c\u5e76\u4e14\u5f53\u60a8\u91cd\u65b0\u767b\u5f55 Plasma \u65f6\uff0c\u60a8\u5c06\u6062\u590d'''\u9ed8\u8ba4'''\u8bbe\u7f6e\u3002\u82e5\u8981\u64a4\u9500\u8be5\u64cd\u4f5c\uff0c\u8bf7\u5220\u9664.bak\u6587\u4ef6\u6269\u5c55\u540d\u3002\u82e5\u5df2\u6709 *.bak \u6587\u4ef6\uff0c\u8bf7\u5148\u91cd\u547d\u540d\uff0c\u79fb\u52a8\u6216\u5220\u9664\u5b83\u4eec\u3002\u5f3a\u70c8\u5efa\u8bae\u60a8\u7ecf\u5e38\u5907\u4efd\u3002 \u6709\u5173\u53ef\u80fd\u7684\u65b9\u6848\u5217\u8868\uff0c\u8bf7\u53c2\u9605[[Synchronization and backup programs|\u540c\u6b65\u548c\u5907\u4efd\u7a0b\u5e8f\uff08\u82f1\u6587\uff09]]\u3002\n\n==== \u6e05\u7406\u7f13\u5b58\u4ee5\u89e3\u51b3\u5347\u7ea7\u6545\u969c ====\n\n\u6545\u969c\u53ef\u80fd\u7531\u65e7\u7684\u7f13\u5b58\u5bfc\u81f4\u3002\u6709\u65f6\uff0c\u5347\u7ea7\u540e\u65e7\u7f13\u5b58\u53ef\u80fd\u4f1a\u4ea7\u751f\u5947\u602a\u7684\u3001\u96be\u4ee5\u8c03\u8bd5\u7684\u884c\u4e3a\uff0c\u4f8b\u5982\u5173\u4e0d\u6389\u7684 shell\u3001\u6539\u53d8\u8bbe\u7f6e\u65f6\u5931\u53bb\u54cd\u5e94\u3001\u4ee5\u53ca\u50cf ark \u4e0d\u80fd\u89e3\u538b rar/zip \u6587\u4ef6\u53c8\u6216\u8005 amarok \u4e0d\u80fd\u8bc6\u522b\u97f3\u4e50\u7b49\u5404\u79cd\u5176\u5b83\u95ee\u9898\u3002\u8fd9\u4e2a\u529e\u6cd5\u4e5f\u80fd\u89e3\u51b3 KDE \u548c Qt \u7a0b\u5e8f\u5728\u5347\u7ea7\u540e\u53d8\u5f97\u96be\u770b\u7684\u95ee\u9898\u3002\n\n\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u91cd\u5efa\u7f13\u5b58\uff1a\n\n $ rm ~/.config/Trolltech.conf\n $ kbuildsycoca5 --noincremental\n\n=== \u6e05\u7406 akonadi \u914d\u7f6e\u6765\u4fee\u590d kmail ===\n\n\u9996\u5148\u786e\u4fdd KMail \u4e0d\u5728\u8fd0\u884c\u3002\u7136\u540e\u5907\u4efd\u914d\u7f6e\u6587\u4ef6\uff1a\n\n $ cp -a ~/.local/share/akonadi ~/.local/share/akonadi-old\n $ cp -a ~/.config/akonadi ~/.config/akonadi-old\n\n\u542f\u52a8 ''\u7cfb\u7edf\u8bbe\u7f6e > \u4e2a\u4eba\u4fe1\u606f'' \u5e76\u5220\u9664\u6240\u6709\u8d44\u6e90\u3002\u56de\u5230 Dolphin \u4e2d\u79fb\u9664\u539f\u59cb\u7684 {{ic|~/.local/share/akonadi}} \u548c {{ic|~/.config/akonadi}} - \u4e4b\u524d\u6240\u4f5c\u7684\u5907\u4efd\u80fd\u8ba9\u4f60\u5728\u5fc5\u8981\u65f6\u6062\u590d\u5b83\u4eec\u3002\n\n\u73b0\u5728\u56de\u5230 \u7cfb\u7edf\u8bbe\u7f6e \u9875\u9762\u5e76\u5c0f\u5fc3\u5730\u6dfb\u52a0\u5fc5\u8981\u7684\u8d44\u6e90\u3002\u4f60\u5e94\u8be5\u770b\u5230\u8bfb\u53d6\u4f60\u90ae\u4ef6\u76ee\u5f55\u7684\u8d44\u6e90\u3002\u7136\u540e\u542f\u52a8 Kontact/KMail \u67e5\u770b\u5b83\u662f\u5426\u6b63\u5e38\u8fd0\u4f5c\u3002\n\n=== KMail \u4e2d\u7a7a\u7684 IMAP \u6536\u4ef6\u7bb1 ===\n\n\u5bf9\u4e8e\u67d0\u4e9b IMAP \u8d26\u6237\uff0ckmail\u5c06\u628a\u6536\u4ef6\u7bb1\u5f53\u4f5c\u4e00\u4e2a\u5305\u542b\u6b64\u5e10\u6237\u6240\u6709\u5176\u4ed6\u6587\u4ef6\u5939\u7684\u5bb9\u5668\u663e\u793a\u3002Kmail \u4e0d\u4f1a\u5728\u6536\u4ef6\u7bb1\u5bb9\u5668\u4e2d\u663e\u793a\u6d88\u606f\uff0c\u800c\u662f\u5728\u6240\u6709\u5176\u4ed6\u5b50\u6587\u4ef6\u5939\u4e2d\u663e\u793a\u6d88\u606f\uff0c\u8bf7\u53c2\u9605 [https://bugs.kde.org/show_bug.cgi?id=284172 KDE Bug 284172]\u3002\u82e5\u8981\u89e3\u51b3\u6b64\u95ee\u9898\uff0c\u53ea\u9700\u5728kmail\u5e10\u6237\u8bbe\u7f6e\u4e2d\u7981\u7528\u670d\u52a1\u5668\u7aef\u8ba2\u9605\u5373\u53ef\u3002\n\n=== \u83b7\u53d6 KWin \u7684\u5f53\u524d\u72b6\u6001\u4ee5\u8fdb\u884c\u652f\u6301\u548c\u8c03\u8bd5 ===\n\n\u8fd9\u884c\u547d\u4ee4\u8f93\u51fa\u4e86\u4e00\u4efd\u5173\u4e8e KWin \u5f53\u524d\u72b6\u51b5\u7684\u603b\u7ed3\uff0c\u5305\u62ec\u4f7f\u7528\u7684\u9009\u9879\u3001\u6df7\u5408\uff08compositing\uff09\u540e\u7aef\u4ee5\u53ca\u76f8\u5173 OpenGL \u9a71\u52a8\u7684\u80fd\u529b\u3002\u66f4\u591a\u4fe1\u606f\u53c2\u89c1 [http://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ Martin\u7684\u535a\u5ba2]\n\n $ qdbus org.kde.KWin /KWin supportInformation\n\n=== KF5/Qt5 \u5e94\u7528\u5728 i3/fvwm/awesome \u4e2d\u4e0d\u663e\u793a\u56fe\u6807 ===\n\n\u53c2\u8003 [[Qt#Configuration of Qt5 apps under environments other than KDE Plasma]].\n\n=== \u56fe\u5f62\u95ee\u9898 ===\n\n\u8bf7\u5148\u786e\u4fdd\u60a8\u5df2\u5b89\u88c5\u4e86\u9002\u5408\u60a8 GPU \u7684\u9a71\u52a8\u7a0b\u5e8f\u3002\u6709\u5173\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 [[Xorg#Driver installation]]\u3002\u5982\u679c\u4f60\u7684\u663e\u5361\u8f83\u65e7\uff0c\u4f60\u53ef\u4ee5\u5c1d\u8bd5 [[#\u7981\u7528\u684c\u9762\u7279\u6548]] \u6216 [[#\u7981\u7528\u6df7\u5408\u9879\uff08compositing\uff09]]\u3002\n\n==== \u7981\u7528\u684c\u9762\u7279\u6548 ====\n\nPlasma \u9ed8\u8ba4\u542f\u7528\u4e86\u684c\u9762\u7279\u6548\uff0c\u5e76\u4e14\u4e0d\u662f\u6240\u6709\u7684\u6e38\u620f\u90fd\u4f1a\u81ea\u52a8\u7981\u7528\u5b83\u4eec\u3002\u4f60\u53ef\u4ee5\u901a\u8fc7''\u7cfb\u7edf\u8bbe\u7f6e > \u684c\u9762\u7279\u6548'' \u7981\u7528\u684c\u9762\u7279\u6548\u3002\u4f60\u4e5f\u53ef\u4ee5\u4f7f\u7528 {{ic|Alt+Shift+F12}} \u5207\u6362\u684c\u9762\u6548\u679c\u3002\u53e6\u5916\uff0c\u60a8\u4e5f\u53ef\u4ee5\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u7a97\u53e3\u7ba1\u7406 > \u7a97\u53e3\u89c4\u5219'' \u4e0b\u521b\u5efa\u81ea\u5b9a\u4e49KWin\u89c4\u5219\uff0c\u4ee5\u5728\u67d0\u4e2a\u5e94\u7528\u7a0b\u5e8f/\u7a97\u53e3\u542f\u52a8\u65f6\u81ea\u52a8\u7981\u7528/\u542f\u7528\u6df7\u5408\u9879\u3002\n\n==== \u7981\u7528\u6df7\u5408\u9879\uff08compositing\uff09 ====\n\n\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u663e\u793a''\u4e2d\u53d6\u6d88\u9009\u4e2d''\u542f\u52a8\u65f6\u6fc0\u6d3b\u6df7\u5408\u5668\uff08compositing\uff09''\u5e76\u91cd\u542f Plasma\n\n==== \u542f\u7528\u6df7\u5408\u9879\uff08compositing\uff09\u540e\u5168\u5c4f\u65f6\u95ea\u70c1 ====\n\n\u5728 ''\u7cfb\u7edf\u8bbe\u7f6e > \u663e\u793a''\u4e2d\u53d6\u6d88\u9009\u4e2d''\u5141\u8bb8\u5e94\u7528\u7a0b\u5e8f\u963b\u6b62\u6df7\u5408\u9879\uff08compositing\uff09''\u3002\u8fd9\u53ef\u80fd\u4f1a\u5f71\u54cd\u6027\u80fd\u3002\n\n==== Nvidia \u663e\u5361\u5c4f\u5e55\u6495\u88c2 ====\n\n{{\u63d0\u793a|\u7ffb\u8bd1\u4eba\u5458\u4f7f\u7528\uff0c\u8bf7\u65e0\u89c6\u672c\u63d0\u793a\u3002\u82f1\u6587\u9875\u9762\u672c\u7ae0\u642c\u5230 NVIDIA/Troubleshooting \u9875\u9762\u53bb\u4e86\uff0c\u4f46\u8fd9\u9875\u9762\u4e2d\u6587\u6ca1\u6709\uff0c\u6545\u4e2d\u6587\u4fdd\u7559\u6b64\u7ae0}}\n\n\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cKWin \u6df7\u5408\u9879\u5728\u4e0e Nvidia \u95ed\u6e90\u9a71\u52a8\u4e00\u8d77\u4f7f\u7528\u65f6\u4f1a\u906d\u53d7\u5c4f\u5e55\u6495\u88c2\u3002\u8981\u89e3\u51b3\u6b64\u95ee\u9898\uff0c\u8fd0\u884c {{ic|kwin_x11 --replace}} \u5e76\u5728\u5176\u4e4b\u524d\u9648\u8ff0\u73af\u5883\u53d8\u91cf {{ic|1=export __GL_YIELD=\"USLEEP\"}}\uff1a\n\n export __GL_YIELD=\"USLEEP\" && kwin_x11 --replace\n\n\u4e0e\u4f7f\u7528\u5168\u5c40\u73af\u5883\u53d8\u91cf\u4e0d\u540c\uff0c\u8fd9\u53ea\u4f1a\u5f71\u54cd KWin\uff0c\u5e76\u4e0d\u4f1a\u964d\u4f4e\u5176\u4ed6 3D \u5e94\u7528\u7a0b\u5e8f\u7684 CPU \u6027\u80fd\u3002\u4e5f\u53ef\u4ee5\u901a\u8fc7\u5728 Plasma \u7684 {{ic|~/.config/autostart-scripts}} \u6587\u4ef6\u5939\u4e2d\u521b\u5efa\u4e00\u4e2a\u7b80\u5355\u7684\u811a\u672c\uff0c\u4f7f\u5176\u5728\u767b\u5f55\u65f6\u81ea\u52a8\u6267\u884c\u3002\n\n{{hc|~/.config/autostart-scripts/restartkwinusleep.sh|<nowiki>\n(sleep 2s &&\nexport __GL_YIELD=\"USLEEP\" && kwin_x11 --replace\n)\n\n</nowiki>}}\n{{ic|sleep}} \u53c2\u6570\u6709\u52a9\u4e8e\u9632\u6b62 KWin \u5728\u767b\u5f55\u540e\u8fc7\u65e9\u91cd\u65b0\u542f\u52a8\u65f6\u51fa\u73b0\u95ee\u9898\uff0c\u53ef\u4ee5\u6839\u636e\u9700\u8981\u8c03\u6574\u65f6\u95f4\u3002 \u4e0d\u8981\u5fd8\u8bb0\u5c06\u811a\u672c\u6807\u8bb0\u4e3a\u53ef\u6267\u884c\u6587\u4ef6\u3002\n\n==== Plasma \u5149\u6807\u6709\u65f6\u663e\u793a\u4e0d\u6b63\u786e ====\n\n\u521b\u5efa {{ic|~/.icons/default}} \u76ee\u5f55\u5e76\u5728\u5176\u5185\u521b\u5efa\u4e00\u4e2a\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\u7684 {{ic|index.theme}} \u7684\u6587\u4ef6\uff1a\n\n{{hc|/home/''archie''/.icons/default/index.theme|2=\n[Icon Theme]\nInherits=breeze_cursors\n}}\n\n\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff1a\n\n $ ln -s /usr/share/icons/breeze_cursors/cursors ~/.icons/default/cursors\n\n=== \u58f0\u97f3\u95ee\u9898 ===\n\n{{\u6ce8\u610f|\u9996\u5148\u4fdd\u8bc1\u4f60\u5df2\u7ecf\u5b89\u88c5\u4e86 {{Pkg|alsa-utils}}\u3002}}\n\n==== \u7761\u7720\u540e\u6ca1\u58f0\u97f3 ====\n\n\u5982\u679c\u7761\u7720\u540e\u6ca1\u6709\u58f0\u97f3\u5e76\u4e14 Kmix \u6ca1\u6709\u663e\u793a\u5e94\u8be5\u663e\u793a\u7684\u97f3\u9891\u8bbe\u5907\uff0c\u53ef\u4ee5\u5c1d\u8bd5\u91cd\u65b0\u542f\u52a8 plasmeshell \u548c pulseaudio\uff1a\n\n $ killall plasmashell\n $ systemctl --user restart pulseaudio.service\n $ plasmashell\n\n\u67d0\u4e9b\u5e94\u7528\u7a0b\u5e8f\u4e5f\u53ef\u80fd\u9700\u8981\u91cd\u65b0\u542f\u52a8\u624d\u80fd\u518d\u6b21\u64ad\u653e\u58f0\u97f3\u3002\n\n==== \u5728\u64ad\u653e\u4efb\u4f55\u58f0\u97f3\u65f6\u51fa\u73b0 \"\u8fd4\u56de\u9ed8\u8ba4\" \u6d88\u606f ====\n\n\u5f53\u4f60\u78b0\u5230\u8fd9\u4e9b\u6d88\u606f\uff1a\n\n The audio playback device ''\u58f0\u97f3\u8bbe\u5907\u7684\u540d\u79f0'' does not work.\n Falling back to default\n\n\u8bbf\u95ee\uff1a\n  \u7cfb\u7edf\u8bbe\u7f6e > \u591a\u5a92\u4f53\n\u5e76\u5728\u6bcf\u4e00\u680f\u4e2d\u90fd\u628a\u540d\u79f0\u4e3a \"'''\u9ed8\u8ba4\uff08default\uff09'''\" \u7684\u8bbe\u5907\u8bbe\u7f6e\u5728\u6240\u6709\u5176\u5b83\u8bbe\u5907\u7684\u4e0a\u9762\u3002\n\n==== \u4f7f\u7528 GStreamer Phonon \u540e\u7aef\u65f6\u4e0d\u80fd\u64ad\u653e MP3 \u6587\u4ef6 ====\n\n\u5b89\u88c5 GStreamer libav \u63d2\u4ef6\uff08\u8f6f\u4ef6\u5305{{Pkg|gst-libav}}\uff09\u53ef\u4ee5\u89e3\u51b3\u95ee\u9898\u3002\u5982\u679c\u4ecd\u7136\u78b0\u5230\uff0c\u4f60\u53ef\u4ee5\u5c1d\u8bd5\u6362\u4e00\u4e2a\u8f6f\u4ef6\u5305\uff0c\u4f8b\u5982 {{AUR|phonon-qt4-vlc}} \u6216 {{Pkg|phonon-qt5-vlc}}\u3002\u7136\u540e\uff0c\u8bf7\u786e\u4fdd\u5b83\u662f\u9996\u9009\u7684\u540e\u7aef\uff0c\u901a\u8fc7\uff1a\n\n  \u7cfb\u7edf\u8bbe\u7f6e > \u591a\u5a92\u4f53 > \u540e\u7aef\n\n=== Inotify \u6587\u4ef6\u5939\u76d1\u63a7\u4e0a\u9650 ===\n\n\u5982\u679c\u6536\u5230\u4ee5\u4e0b\u9519\u8bef:\n\n KDE Baloo Filewatch service reached the inotify folder watch limit. File changes may be ignored.\n\n\u60a8\u5c31\u9700\u8981\u589e\u52a0 inotify \u6587\u4ef6\u5939\u76d1\u63a7\u4e0a\u9650\uff1a\n\n # echo 524288 > /proc/sys/fs/inotify/max_user_watches\n\n\u6c38\u4e45\u8bbe\u7f6e\u53ef\u4ee5\u521b\u5efa\u6587\u4ef6{{ic|/etc/sysctl.d/40-max-user-watches.conf}}\uff1a\n\n #increase inotify watch limit\n fs.inotify.max_user_watches = 524288\n\n=== \u81ea\u52a8\u6302\u8f7dNFS\u5377\u65f6\u5361\u6b7b ===\n\n\u5bf9 [[NFS]] \u5377\u4f7f\u7528 [[Fstab#Automount with systemd]] \u53ef\u80fd\u5bfc\u81f4\u5361\u6b7b\uff0c\u89c1 [https://bugs.kde.org/show_bug.cgi?id=354137 bug report upstream].\n\n=== \u6ca1\u6709\u6302\u8d77/\u4f11\u7720\u9009\u9879 ===\n\n\u5982\u679c\u4f60\u7684\u7cfb\u7edf\u53ef\u4ee5\u4f7f\u7528 systemd \u6302\u8d77/\u4f11\u7720\uff0c\u4f46 KDE \u4e2d\u6ca1\u6709\u8fd9\u4e9b\u9009\u9879\uff0c\u8bf7\u786e\u4fdd {{Pkg|powerdevil}} \u5df2\u88ab\u5b89\u88c5\u3002\n\n=== \u4fdd\u5b58\u51ed\u636e\u548c\u6301\u7eed\u663e\u793a KWallet \u5bf9\u8bdd\u6846\u7684\u95ee\u9898 ===\n\n\u4e0d\u5efa\u8bae\u5728\u7528\u6237\u8bbe\u7f6e\u4e2d\u5173\u95ed KWallet \u5bc6\u7801\u4fdd\u5b58\u7cfb\u7edf\uff0c\u56e0\u4e3a\u9700\u8981\u5b83\u4e3a\u6bcf\u4e2a\u7528\u6237\u4fdd\u5b58\u52a0\u5bc6\u51ed\u8bc1\uff08\u5982WiFi\u5bc6\u7801\uff09\u3002\u6301\u7eed\u663e\u793a\u7684 KWallet \u5bf9\u8bdd\u6846\u53ef\u80fd\u662f\u5173\u95ed\u5b83\u7684\u540e\u679c\u3002\u5982\u679c\u4f60\u5acc\u6bcf\u5f53\u5e94\u7528\u7a0b\u5e8f\u60f3\u8981\u8bbf\u95ee Kwallet \u65f6\u9700\u8981\u89e3\u9501\u70e6\uff0c\u4f60\u53ef\u4ee5\u8ba9\u767b\u5f55\u7ba1\u7406\u5668 SDDM \u548c LightDM \u5728\u767b\u5f55\u65f6\u81ea\u52a8\u89e3\u9501 KWallet\uff0c\u8bf7\u53c2\u9605 [[KDE Wallet (\u7b80\u4f53\u4e2d\u6587)]]\u3002\u7b2c\u4e00\u4e2a\u94b1\u5305\u9700\u8981\u7531 KWallet \u751f\u6210\uff08\u800c\u4e0d\u662f\u201c\u7528\u6237\u751f\u6210\u201d\uff09\uff0c\u4ee5\u4fbf\u7528\u4e8e\u7cfb\u7edf\u7a0b\u5e8f\u51ed\u636e\u3002\u5982\u679c\u4f60\u4e0d\u5e0c\u671b\u8ba9\u94b1\u5305\u51ed\u636e\u5728\u5185\u5b58\u5185\u4e3a\u6bcf\u4e2a\u5e94\u7528\u6253\u5f00\uff0c\u53ef\u4ee5\u901a\u8fc7 {{Pkg|kwalletmanager}} \u5728KWallet\u8bbe\u7f6e\u4e2d\u9650\u5236\u5e94\u7528\u7a0b\u5e8f\u8bbf\u95ee\u5b83\u3002\u5982\u679c\u60a8\u6839\u672c\u4e0d\u5173\u5fc3\u51ed\u8bc1\u52a0\u5bc6\uff0c\u60a8\u53ef\u4ee5\u5728\u521b\u5efa\u94b1\u5305\uff0cKWallet \u8981\u6c42\u8f93\u5165\u5bc6\u7801\u65f6\uff0c\u5c06\u5bc6\u7801\u7559\u7a7a\u3002\u8fd9\u6837\uff0c\u5e94\u7528\u7a0b\u5e8f\u5c06\u53ef\u4ee5\u5728\u4e0d\u89e3\u9501\u94b1\u5305\u7684\u60c5\u51b5\u4e0b\u8bbf\u95ee\u5bc6\u7801\u3002\n\n== \u53c2\u89c1 ==\n\n* [https://www.kde.org/ KDE \u4e3b\u9875]\n* [https://bugs.kde.org/ KDE \u7f3a\u9677\u8ddf\u8e2a\u9875]\n* [https://blog.martin-graesslin.com/blog/kategorien/kde/ Martin Graesslin \u7684\u535a\u5ba2]"
                    }
                ]
            },
            "5858": {
                "pageid": 5858,
                "ns": 0,
                "title": "List of applications (Espa\u00f1ol)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Applications (Espa\u00f1ol)]]\n[[Category:Lists of software (Espa\u00f1ol)]]\n[[bs:List of applications]]\n[[cs:List of applications]]\n[[en:List of applications]]\n[[fa:\u0644\u06cc\u0633\u062a \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc]]\n[[it:List of applications]]\n[[ja:\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4e00\u89a7]]\n[[lt:List of applications]]\n[[ru:List of applications]]\n[[sv:L\u00e4ttviktiga program]]\n[[zh-hans:List of applications]]\n[[zh-hant:List of applications]]\n{{List of applications navigation (Espa\u00f1ol)}}\n\n{{Related articles start (Espa\u00f1ol)}}\n{{Related2|Core utilities (Espa\u00f1ol)|Utilidades principales}}\n{{Related2|List of games (Espa\u00f1ol)|Lista de juegos}}\n{{Related articles end}}\n\nEste art\u00edculo contiene un listado general de aplicaciones, ordenadas por categor\u00edas, a modo de referencia para aquellos que buscan determinados paquetes. Muchas de las secciones se dividen en aplicaciones de consola y aplicaciones gr\u00e1ficas.\n{{Sugerencia|1=<br>\n* Esta p\u00e1gina existe esencialmente para facilitar la b\u00fasqueda a trav\u00e9s de diversas categor\u00edas. Utilice los enlaces de la parte superior de esta p\u00e1gina para ver las categor\u00edas como p\u00e1ginas separadas.\n* Por favor, considere la posibilidad de [[pacman (Espa\u00f1ol)|instalar]] el paquete [[pkgstats]], que ofrece un trabajo de cron que env\u00eda una lista de los paquetes instalados en su sistema, junto con la arquitectura y los mirrors utilizados, con el fin de ayudar a los desarrolladores de Arch Linux a priorizar sus esfuerzos y hacer que la distribuci\u00f3n mejore. La informaci\u00f3n se env\u00eda de forma an\u00f3nima y no puede ser utilizada para identificarle. Puede ver los datos recogidos en la [https://www.archlinux.de/?page=Statistics Statistics page]. Tiene m\u00e1s informaci\u00f3n disponible en [https://bbs.archlinux.org/viewtopic.php?id=105431 este hilo del foro].\n}}\n{{Nota|Las aplicaciones enumeradas en las secciones de \u00abConsola\u00bb pueden tener [[wikipedia:es:Front-end_y_back-end|front-ends]] gr\u00e1ficos. Aquellos que son de aplicaciones oficiales se omiten actualmente.}}\n<!-- Subcategories -->\n{{:List of applications/Internet (Espa\u00f1ol)}}\n{{:List of applications/Multimedia (Espa\u00f1ol)}}\n{{:List of applications/Utilities (Espa\u00f1ol)}}\n{{:List of applications/Documents (Espa\u00f1ol)}}\n{{:List of applications/Security (Espa\u00f1ol)}}\n{{:List of applications/Science (Espa\u00f1ol)}}\n{{:List of applications/Other (Espa\u00f1ol)}}\n\n== V\u00e9ase tambi\u00e9n ==\n\n* [http://kmandla.wordpress.com/software/ Lista de aplicaciones de terminal con sus im\u00e1genes y comentarios].\n* [https://bbs.archlinux.org/viewtopic.php?id=111878 Arch Linux Forums / LnF Awards 2011] - Las mejores aplicaciones ligeras y r\u00e1pidas de 2011.\n* [https://bbs.archlinux.org/viewtopic.php?id=138281 Arch Linux Forums / LnF Awards 2012] - Las mejores aplicaciones ligeras y r\u00e1pidas de 2012.\n* http://sourceforge.net/ Software de c\u00f3digo abierto.\n* http://linuxappfinder.com/\n* http://www.linuxlinks.com/\n* [[Wikipedia:List of open source software packages|Listado de paquetes de software de c\u00f3digo abierto]].\n* http://linuxappfinder.com/alternatives - Software alternativo a Windows y OS X.\n* http://alternativeto.net/ - Encontrar alternativas a los programas populares.\n* http://www.linuxalt.com/ - Equivalentes de Linux para el software de Windows.\n* http://lin-app.com/ - Servicio de informaci\u00f3n on-line sobre diversas aplicaciones comerciales y de juegos para Linux.\n* [http://www.lgdb.org/ Base de datos de juegos de Linux]\n* [http://www.penguspy.com/#/All/free_and_commercial/open_closed/sort=1/view=1/limit=0 Penguspy]\n* [[wikipedia:Category:Linux_games|Listado de juegos de Linux en Wikipedia]].\n* http://rewiki.regengedanken.de/wiki/Links_to_engine_reimplementations"
                    }
                ]
            },
            "5909": {
                "pageid": 5909,
                "ns": 0,
                "title": "List of applications",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Applications]]\n[[Category:Lists of software]]\n[[bs:List of applications]]\n[[cs:List of applications]]\n[[es:List of applications]]\n[[fa:\u0644\u06cc\u0633\u062a \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc]]\n[[it:List of applications]]\n[[ja:\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4e00\u89a7]]\n[[lt:List of applications]]\n[[ru:List of applications]]\n[[sv:L\u00e4ttviktiga program]]\n[[zh-hans:List of applications]]\n[[zh-hant:List of applications]]\n{{List of applications navigation}}\n\n{{Related articles start}}\n{{Related|Core utilities}}\n{{Related|List of games}}\n{{Related articles end}}\n\nThis article is a general list of applications sorted by category, as a reference for those looking for packages. Many sections are split between console and graphical applications.\n{{Tip|1=<br>\n* This page exists primarily to make it easier to search for alternatives to an application that you do not know under which section has been added. Use the links in the template at the top to view the main sections as separate pages.\n* Please consider [[install]]ing the [[pkgstats]] package, which provides a timer that sends a list of the packages installed on your system, along with the architecture and the mirrors you use, to the Arch Linux developers in order to help them prioritize their efforts and make the distribution even better. The information is sent anonymously and cannot be used to identify you. You can view the collected data at the [https://www.archlinux.de/?page=Statistics Statistics page]. More information is available in [https://bbs.archlinux.org/viewtopic.php?id=105431 this forum thread].\n* Daemon packages usually include the relevant systemd unit file to [[start]]; some packages even include different ones. After installation {{ic|pacman -Qql ''package'' <nowiki>|</nowiki> grep -Fe .service -e .socket}} can be used to check and find the relevant one.\n}}\n{{Note|Applications listed in \"Console\" sections can have graphical front-ends. Official ones are currently omitted.}}\n<!-- Subcategories -->\n{{:List of applications/Internet}}\n{{:List of applications/Multimedia}}\n{{:List of applications/Utilities}}\n{{:List of applications/Documents}}\n{{:List of applications/Security}}\n{{:List of applications/Science}}\n{{:List of applications/Other}}\n\n== See also ==\n\n'''Generic software lists'''\n\n* [[Wikipedia:Portal:Free and open-source software]]\n* [[Wikipedia:List of free and open-source software packages]]\n* [[Wikipedia:List of GNU packages]]\n* [https://alternativeto.net/platform/linux/ AlternativeTo] - Linux alternatives to popular applications\n* [https://github.com/luong-komorebi/Awesome-Linux-Software Awesome Linux Software] - Collection of Linux applications and tools\n* [http://www.linuxalt.com/ Linux Alternative Project] - Linux equivalents to Windows software\n* [https://linuxappfinder.com/all Linux App Finder] - Linux applications directory\n* [https://www.linuxlinks.com/links/Software/ Linux Links Directory] - Linux applications directory\n* [https://www.osalt.com/ Open Source Alternative] - Alternatives to commercial software\n\n'''Software lists of other distributions'''\n* [https://appimage.github.io/ AppImageHub]\n* [https://flathub.org/ Flathub]\n* [https://snapcraft.io/ Snapcraft]\n* [https://packages.debian.org Debian packages] and [https://screenshots.debian.net screenshots]\n* [https://apps.fedoraproject.org/packages/ Fedora packages]\n* [https://packages.gentoo.org/ Gentoo packages]\n* [https://packages.ubuntu.com/ Ubuntu packages]\n\n'''Software [[Wikipedia:Forge (software)|forges]]'''\n\n* [https://github.com/explore GitHub]\n* [https://gitlab.com/explore GitLab]\n* [https://launchpad.net/ Launchpad]\n* [https://sourceforge.net/ SourceForge]\n\n'''Specialized software lists'''\n\n* [https://wiki.gnome.org/Apps GNOME applications]\n* [https://kde.org/applications/ KDE's Applications]\n* [https://github.com/nodiscc/awesome-linuxaudio awesome-linuxaudio] - Software for audio/video/live production\n* [https://github.com/Kickball/awesome-selfhosted awesome-selfhosted] - Network services and web applications\n* [https://github.com/alebcay/awesome-shell awesome-shell] - Command-line frameworks, toolkits and guides\n* [https://github.com/n1trux/awesome-sysadmin awesome-sysadmin] - Software for system administrators\n* [https://inconsolation.wordpress.com/index/ Inconsolation] - Lightweight and minimalist applications reviews\n* [https://kmandla.wordpress.com/software/ K.Mandla's blog] - Console applications screenshots and reviews\n* [https://libreprojects.net/ Libre Projects] - Open source hosted web services\n* [http://lin-app.com/ LinApp] - Commercial applications and games for Linux\n* [https://prism-break.org/en/all/ PRISM Break] - Software against mass surveillance\n* [https://www.privacytools.io/ Privacy Tools] - Knowledge and tools to protect your privacy against global mass surveillance\n\n'''Arch Linux forum threads'''\n\n* [https://bbs.archlinux.org/viewtopic.php?id=111878 Arch Linux Forums / LnF Awards 2011] - The best Light & Fast apps of 2011\n* [https://bbs.archlinux.org/viewtopic.php?id=138281 Arch Linux Forums / LnF Awards 2012] - The best Light & Fast apps of 2012\n* [https://bbs.archlinux.org/viewtopic.php?id=174764 Arch Linux Forums / most popular apps of 2013-2014]\n* [https://bbs.archlinux.org/viewtopic.php?pid=1702332 Arch Linux Forums / most popular apps of 2017+] (requires login)"
                    }
                ]
            },
            "6111": {
                "pageid": 6111,
                "ns": 0,
                "title": "KDE (Espa\u00f1ol)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:KDE (Espa\u00f1ol)]]\n[[ar:KDE]]\n[[cs:KDE]]\n[[de:Plasma]]\n[[en:KDE]]\n[[fa:KDE]]\n[[fr:KDE]]\n[[it:KDE]]\n[[ja:KDE]]\n[[pl:KDE]]\n[[pt:KDE]]\n[[ru:KDE]]\n[[zh-hans:KDE]]\n[[zh-hant:KDE]]\n{{TranslationStatus (Espa\u00f1ol)|KDE|2019-01-28|564820}}\n{{Related articles start (Espa\u00f1ol)}}\n{{Related2|Desktop environment (Espa\u00f1ol)|Entornos de escritorio}}\n{{Related2|Display manager (Espa\u00f1ol)|Gestor de pantallas}}\n{{Related2|Window manager (Espa\u00f1ol)|Gestor de ventanas}}\n{{Related|Qt}}\n{{Related|SDDM}}\n{{Related|Dolphin}}\n{{Related2|KDE Wallet (Espa\u00f1ol)|KDE Wallet}}\n{{Related|KDevelop}}\n{{Related|Trinity}}\n{{Related2|Uniform Look for Qt and GTK Applications (Espa\u00f1ol)|Apariencia uniforme para aplicaciones Qt y GTK}}\n{{Related articles end}}\nKDE es un proyecto de software que actualmente comprende un [[desktop environment (Espa\u00f1ol)|entorno de escritorio]] conocido como Plasma, una colecci\u00f3n de librer\u00edas y frameworks (KDE Frameworks) y tambi\u00e9n varias aplicaciones (KDE Applications). El anterior KDE tiene un [https://userbase.kde.org/ UserBase wiki] bien mantenido. All\u00ed se puede encontrar informaci\u00f3n detallada sobre la mayor\u00eda de las aplicaciones KDE.\n\n== Instalaci\u00f3n ==\n\n=== Plasma ===\n\nAntes de instalar Plasma, aseg\u00farese de tener una instalaci\u00f3n [[Xorg_(Espa\u00f1ol)|Xorg]] en funcionamiento en su sistema.\n\n[[Install (Espa\u00f1ol)|Instale]] el metapaquete {{Pkg|plasma-meta}} o el grupo {{Grp|plasma}}. Para conocer las diferencias entre {{Pkg|plasma-meta}} y {{Grp|plasma}} v\u00e9ase [[Package group (Espa\u00f1ol)|grupo de paquetes]]. Alternativamente, para una instalaci\u00f3n de Plasma m\u00e1s minimalista, instale el paquete {{Pkg|plasma-desktop}}.\n\nPara habilitar el soporte para [[Wayland_(Espa\u00f1ol)|Wayland]] en Plasma, instale tambi\u00e9n el paquete {{Pkg|plasma-wayland-session}}.\n\n=== Aplicaciones KDE ===\n\nPara instalar el conjunto completo de aplicaciones KDE, instale el grupo {{Grp|kde-applications}} o el metapaquete {{Pkg|kde-applications-meta}}. Tenga en cuenta que esto solo instalar\u00e1 aplicaciones, no instalar\u00e1 ninguna versi\u00f3n de Plasma.\n\n=== Lanzamientos inestables ===\n\nV\u00e9ase [[Official repositories#kde-unstable|Repositorios oficiales#kde-inestable]]\n\n== Iniciar Plasma ==\n{{Nota|Aunque es posible iniciar Plasma en [[Wayland_(Espa\u00f1ol)|Wayland]], faltan algunas caracter\u00edsticas y hay algunos problemas conocidos a partir de Plasma 5.13. V\u00e9ase la [https://community.kde.org/Plasma/5.13_Errata#Wayland Plasma 5.13 Errata] para ver una lista de problemas y la [https://phabricator.kde.org/project/board/99/ Plasma on Wayland workboard] para observar el estado actual de desarrollo. Utilize [[Xorg_(Espa\u00f1ol)|Xorg]] para una experiencia m\u00e1s completa y estable.}}\n\nPlasma puede iniciarse usando o bien un [[Display manager (Espa\u00f1ol)|gestor de pantallas]], o bien desde la consola.\n\n=== Usar un gestor de pantallas ===\n\n* Seleccione ''Plasma'' para iniciar una nueva sesi\u00f3n en [[Xorg_(Espa\u00f1ol)|Xorg]].\n* [[Install (Espa\u00f1ol)|Instale]] {{Pkg|plasma-wayland-session}} y seleccione ''Plasma (Wayland)'' para iniciar una nueva sesi\u00f3n en [[Wayland_(Espa\u00f1ol)|Wayland]].\n\n{{Nota|La implementaci\u00f3n del controlador propietario [[NVIDIA_(Espa\u00f1ol)|NVIDIA]] para Wayland requiere EGLStreams. KDE no ha implementado EGLStreams en su [https://blog.martin-graesslin.com/blog/2016/09/to-eglstream-or-not implementaci\u00f3n] de Wayland. Las siguientes soluciones est\u00e1n disponibles:\n* Utilizar el controlador [[Nouveau_(Espa\u00f1ol)|Nouveau]].\n* Utilizar la sesi\u00f3n de (por defecto) Xorg.\n}}\n\n=== Desde la consola ===\n\nPara iniciar Plasma con [[Xinit_(Espa\u00f1ol)|xinit/startx]], agregue {{ic|exec startkde}} a su archivo {{ic|.xinitrc}}. Si desea iniciar Xorg al iniciar sesi\u00f3n, v\u00e9ase [[Xinit_(Espa\u00f1ol)#Inicio_autom\u00e1tico_de_X_al_inicio_de_sesi\u00f3n|iniciar X al iniciar sesi\u00f3n]]. Para iniciar una sesi\u00f3n de Plasma en Wayland desde una consola, ejecute {{ic|1=XDG_SESSION_TYPE=wayland dbus-run-session startplasmacompositor}}.[https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland]\n\n== Configuraci\u00f3n ==\n\nLa mayor\u00eda de las configuraciones para las aplicaciones KDE se almacenan en {{ic|~/.config/}}. Sin embargo, la configuraci\u00f3n de KDE se realiza principalmente a trav\u00e9s de la aplicaci\u00f3n '''Preferencias del sistema'''. Se puede iniciar desde un terminal ejecutando {{ic|systemsettings5}}.\n\n=== Personalizaci\u00f3n ===\n\n==== Escritorio Plasma ====\n\n===== Temas =====\n\nLos [https://store.kde.org/browse/cat/104/ temas de Plasma] definen el aspecto de los paneles y los plasmoides. Para facilitar la instalaci\u00f3n en todo el sistema, algunos temas est\u00e1n disponibles tanto en los repositorios oficiales como en [https://aur.archlinux.org/packages.php?K=plasma+theme AUR].\n\nLos temas de Plasma tambi\u00e9n se pueden instalar a trav\u00e9s de ''Preferencias del sistema > Tema del espacio de trabajo > Tema de escritorio > Obtener nuevos temas''.\n\nLa [https://store.kde.org/ KDE-Store] ofrece m\u00e1s personalizaciones de Plasma, como temas [[SDDM]] y pantallas de bienvenida.\n\n====== Apariencia de las aplicaciones Qt y GTK+ ======\n\n{{Sugerencia|Para la coherencia de los temas Qt y GTK, v\u00e9ase [[Uniform look for Qt and GTK applications (Espa\u00f1ol)|aspecto uniforme para aplicaciones Qt y GTK]]}}\n\n; Qt4\nBreeze no est\u00e1 disponible directamente para Qt4 ya que no se puede compilar sin los paquetes de KDE 4, que se han eliminado del repositorio adicional en agosto de 2018 ({{Bug|59784}}). Sin embargo, puede instalar {{Pkg|breeze-gtk}} y elegir GTK+ como estilo de interfaz gr\u00e1fica ejecutando {{ic|qtconfig-qt4}}.\n\n; GTK+\n\nEl tema recomendado para una apariencia agradable en aplicaciones GTK+ es {{Pkg|breeze-gtk}} o {{AUR|gnome-breeze-git}}{{Broken package link (Espa\u00f1ol)|package not found}}, un tema GTK+ dise\u00f1ado para imitar la apariencia del tema de Plasma Breeze.\nInstale {{Pkg|kde-gtk-config}} (parte del grupo {{grp|plasma}}) y seleccione el tema GTK instalado para GTK2/GTK3-Theme en ''Preferencias del sistema > Estilo de las aplicaciones > Estilo de aplicaciones de GNOME''.\n\nEn algunos temas, la descripci\u00f3n emergente en aplicaciones GTK+ tiene texto blanco sobre fondos blancos, lo que dificulta su lectura. Para cambiar los colores en las aplicaciones GTK2, busque la secci\u00f3n de descripciones emergentes en el archivo {{ic|.gtkrc-2.0}} y c\u00e1mbiela. Para la aplicaci\u00f3n GTK3 se deben cambiar dos archivos, {{ic|gtk.css}} y {{ic|settings.ini}}.\nTambi\u00e9n puede ayudar el desmarcar la opci\u00f3n ''Aplicar colores a aplicaciones no Qt'' en ''Preferencias del sistema > Colores''.\n\nAlgunos programas de GTK2 como {{AUR|vuescan-bin}} todav\u00eda parecen dif\u00edciles de usar debido a casillas de verificaci\u00f3n invisibles con el aspecto Breeze o Adwaita en una sesi\u00f3n Plasma. Para solucionar esto, instale y seleccione, por ejemplo, el aspecto Numix-Frost-Light de {{AUR|numix-frost-themes}} en ''Preferencias del sistema > Estilo de las aplicaciones > Estilo de aplicaciones de GNOME (GTK) > Seleccione un tema de GTK2:''. Numix-Frost-Light se parece a Breeze.\n\n===== Caras =====\n\nLa cara del usuario se puede configurar a trav\u00e9s de ''Preferencias del sistema > Detalles de cuentas > Gestor de usuarios''.\n\nSi no se encuentra ''Gestor de usuarios'', instale {{Pkg|user-manager}} para obtenerlo.\n\n===== Widgets =====\n\nLos plasmoides son peque\u00f1as aplicaciones KDE scripteadas (scripts plasmoides) o codificadas (binarios plasmoides) dise\u00f1adas para mejorar la funcionalidad de su escritorio.\n\nLa forma m\u00e1s f\u00e1cil de instalar scripts plasmoides es haciendo clic derecho en un panel o en el escritorio y seleccionando ''A\u00f1adir elementos gr\u00e1ficos > Obtener nuevos elementos gr\u00e1ficos > Descargar nuevos elementos gr\u00e1ficos de plasma''. Esto le mostrat\u00e1 una bonita interfaz para https://store.kde.org/ que le permite instalar, desinstalar o actualizar scripts plasmoides de terceros con un solo clic.\n\nMuchos binarios de Plasmoid est\u00e1n disponibles en [https://aur.archlinux.org/packages.php?K=plasmoid AUR].\n\n===== Applet de sonido en la bandeja del sistema =====\n\n[[Install (Espa\u00f1ol)|Instale]] {{Pkg|plasma-pa}} o {{Pkg|kmix}} (inicie Kmix desde el lanzador de aplicaciones). {{Pkg|plasma-pa}} ahora se instala de manera predeterminada con {{Grp|plasma}}, no se necesita ninguna configuraci\u00f3n.\n\n{{Nota|1=Para ajustar el [https://bugs.kde.org/show_bug.cgi?id=313579#c28 tama\u00f1o del cambio de los incrementos/decrementos de volumen], agregue, por ejemplo. {{ic|1=VolumePercentageStep=1}} en la secci\u00f3n {{ic|[Global]}} de {{ic|~/.config/kmixrc}}}}\n\n===== Deshabilitar la sombra del panel =====\n\nCuando el panel de plasma est\u00e9 encima de otras ventanas, su sombra se mostrar\u00e1 encima de ellas. [https://bbs.archlinux.org/viewtopic.php?pid=1228394#p1228394] Para deshabilitar este comportamiento sin afectar a otras sombras, [[Install (Espa\u00f1ol)|instale]] {{Pkg|xorg-xprop}} y ejecute:\n\n $ xprop -remove _KDE_NET_WM_SHADOW\n\na continuaci\u00f3n, seleccione el panel con el cursor de tama\u00f1o ampliado. [https://forum.kde.org/viewtopic.php?f=285&t=121592] Para su automatizaci\u00f3n, instale {{Pkg|xorg-xwininfo}} y cree el siguiente script:\n\n{{hc|/usr/local/bin/kde-no-shadow|<nowiki>\n#!/bin/bash\nfor WID in $(xwininfo -root -tree | sed '/\"Plasma\": (\"plasmashell\" \"plasmashell\")/!d; s/^  *\\([^ ]*\\) .*/\\1/g'); do\n   xprop -id $WID -remove _KDE_NET_WM_SHADOW\ndone\n</nowiki>}}\n\nEstablezca permisos de ejecuci\u00f3n para el script:\n\n # chmod 755 /usr/local/bin/kde-no-shadow\n\nEl script se puede ejecutar al iniciar sesi\u00f3n con ''Agregar script'' en ''Inicio autom\u00e1tico'':\n\n $ kcmshell5 autostart\n\n==== Decoraciones de las ventanas ====\n\nLas [https://store.kde.org/browse/cat/114/ decoraciones de las ventanas] se pueden cambiar en ''Preferencias del sistema > Estilo de las aplicaciones > Decoraci\u00f3n de ventanas''.\n\nAll\u00ed tambi\u00e9n puede descargar e instalar directamente m\u00e1s temas con un solo clic, y algunos est\u00e1n disponibles en [https://aur.archlinux.org/packages.php?K=kde+window+decoration AUR].\n\n==== Temas de iconos ====\n\nLos temas de iconos se pueden instalar y cambiar en ''Preferencias del sistema > Iconos''.\n\n{{Nota|Aunque todos los escritorios de Linux modernos comparten el mismo formato de tema de iconos, los escritorios como [[GNOME_(Espa\u00f1ol)|GNOME]] usan menos iconos (especialmente en men\u00fas y barras de herramientas). Los temas desarrollados para tales escritorios generalmente carecen de los iconos requeridos por las aplicaciones Plasma y KDE. Se recomienda en su lugar instalar temas de iconos compatibles con Plasma.}}\n\n{{Sugerencia|Dado que algunos temas de iconos no se heredan del tema de iconos predeterminado, es posible que falten algunos iconos.\nPara heredarlo de Breeze, agregue {{ic|breeze}} al vector {{ic|1=Inherits=}} en {{ic|/usr/share/icon/''nombre-del-tema''/index.theme}}, por ejemplo: {{ic|1=Inherits=breeze,hicolor}}. Debe volver a aplicar este parche despu\u00e9s de cada actualizaci\u00f3n del tema de iconos; considere usar [[Pacman_(Espa\u00f1ol)#Hooks|Pacman hooks]] para automatizar el proceso.}}\n\n==== Eficiencia de espacio ====\n\nEl shell del Plasma Netbook se ha eliminado de Plasma 5, v\u00e9ase la siguiente [https://forum.kde.org/viewtopic.php?f=289&t=126631&p=335947&hilit=plasma+netbook#p335899 publicaci\u00f3n en el foro de KDE]. Sin embargo, puede lograr algo similar editando el archivo {{ic|~/.config/kwinrc}} agregando {{ic|1=BorderlessMaximizedWindows=true}} en la secci\u00f3n {{ic|[Windows]}}.\n\n==== Generaci\u00f3n de miniaturas ====\n\nPara permitir la generaci\u00f3n de miniaturas para archivos de media o de documentos en el escritorio y en Dolphin, instale {{Pkg|kdegraphics-thumbnailers}} y {{Pkg|ffmpegthumbs}}.\n\nLuego, habilite las categor\u00edas de las miniaturas para el escritorio haciendo clic con el bot\u00f3n derecho en el ''fondo de escritorio > Configurar escritorio > Iconos > M\u00e1s opciones de vista previa...''\n\nEn ''Dolphin'', vaya a ''Control > Configurar Dolphin... > General > Vistas previas''.\n\n=== Imprimir ===\n\n{{Sugerencia|Use la interfaz web [[CUPS_(Espa\u00f1ol)|CUPS]] para una configuraci\u00f3n m\u00e1s r\u00e1pida. Las impresoras configuradas de esta manera se pueden utilizar en aplicaciones KDE.}}\n\nTambi\u00e9n puede configurar impresoras en ''Preferencias del sistema > Impresoras''. Para usar este m\u00e9todo, primero debe instalar {{Pkg|print-manager}} y {{Pkg|cups}}. V\u00e9ase [[CUPS_(Espa\u00f1ol)#Configuraci\u00f3n|CUPS#Configuration]].\n\n=== Soporte Samba/Windows ===\n\nSi desea tener acceso a los servicios de Windows, instale [[Samba_(Espa\u00f1ol)|Samba]] (paquete {{Pkg|samba}}).\n\nLa funcionalidad de compartir con Dolphin requiere el paquete {{Pkg|kdenetwork-filesharing}} y los recursos compartidos, que el stock {{ic|smb.conf}} no los tiene habilitados. Las instrucciones para agregarlos se encuentran en [[Samba#Enable Usershares|Samba#Habilitar los recursos compartidos]], despu\u00e9s de lo cual la compartici\u00f3n en Dolphin deber\u00eda funcionar sin necesidad de configuraci\u00f3n despu\u00e9s de reiniciar Samba.\n\n{{Sugerencia|Utilice {{ic|*}} (asterisco) tanto para el nombre de usuario como para la contrase\u00f1a cuando acceda a un recurso compartido de Windows sin autenticaci\u00f3n en la pantalla de solicitud de Dolphin.}}\n\nA diferencia de los exploradores de archivos GTK que tambi\u00e9n utilizan GVfs para el programa lanzado, abrir archivos desde recursos compartidos de Samba en Dolphin a trav\u00e9s de KIO hace que Plasma copie primero todo el archivo al sistema local con la mayor\u00eda de los programas (VLC es una excepci\u00f3n).\nPara solucionar esto, puede usar un navegador de archivos basado en GTK como {{Pkg|thunar}} con {{Pkg|gvfs}} y {{Pkg|gvfs-smb}} (y {{Pkg|gnome-keyring}} para guardar las credenciales de inicio de sesi\u00f3n) para acceder a los recursos compartidos SMB de una manera m\u00e1s capaz.\n\nOtra posibilidad es [[mount|montar]] un recurso compartido Samba a trav\u00e9s de {{Pkg|cifs-utils}} para hacer creer a Plasma que el recurso compartido SMB es solo una carpeta local normal y, por lo tanto, se pueda acceder a \u00e9l normalmente.\nV\u00e9ase [[Samba#Manual_mounting|Samba#Montaje manual]] y [[Samba#Automatic_mounting|Samba#Montaje autom\u00e1tico]].\n\nUna soluci\u00f3n con interfaz gr\u00e1fica est\u00e1 disponible en {{AUR|samba-mounter-git}}, que ofrece b\u00e1sicamente la misma funcionalidad a trav\u00e9s de una opci\u00f3n f\u00e1cil de utilizar ubicada en ''Preferencias del sistema > Controladores de red''. Sin embargo, podr\u00eda romperse con las nuevas versiones de KDE Plasma.\n\n=== Actividades de KDE Desktop ===\n\n[https://userbase.kde.org/Plasma#Activities KDE Desktop Activities] son espacios de trabajo especiales en los que puede seleccionar configuraciones espec\u00edficas para cada actividad que se aplican solamente cuando se est\u00e1 utilizando dicha actividad.\n\n=== Administraci\u00f3n de energ\u00eda ===\n\n[[Install (Espa\u00f1ol)|Instale]] {{Pkg|powerdevil}} para obtener un servicio integrado de administraci\u00f3n de energ\u00eda en Plasma. Este servicio ofrece funciones adicionales de ahorro de energ\u00eda, control de brillo del monitor (si es compatible) e informes de bater\u00eda, incluidos dispositivos perif\u00e9ricos.\n\n{{AUR|powerdevil-light}} proporciona un paquete alternativo sin las dependencias de [[NetworkManager_(Espa\u00f1ol)|NetworkManager]] y [[Bluetooth_(Espa\u00f1ol)|Bluez]].\n\n{{Nota|Powerdevil podr\u00eda no [[Power_management#Power_managers|inhibir]] todas las configuraciones de logind (como la acci\u00f3n de cierre de la tapa para ordenadores port\u00e1tiles). En estos casos, ser\u00e1 necesario cambiar la configuraci\u00f3n de logind - v\u00e9ase [[Power_management_(Espa\u00f1ol)#Administraci\u00f3n_de_energ\u00eda_con_systemd|Administraci\u00f3n de energ\u00eda#Administraci\u00f3n de energ\u00eda con systemd]].}}\n\n=== Inicio autom\u00e1tico ===\n\nPlasma puede iniciar aplicaciones autom\u00e1ticamente y ejecutar scripts en el arranque y el apagado. Para iniciar autom\u00e1ticamente una aplicaci\u00f3n, vaya a ''Preferencias del sistema > Arranque y apagado > Autoarranque'' y agregue el programa o el script de shell que desee. Para las aplicaciones, se crear\u00e1 un archivo ''.desktop'', para los scripts de shell, se crear\u00e1 un enlace simb\u00f3lico.\n\n{{Nota|\n* Los programas pueden iniciarse autom\u00e1ticamente solo con el inicio de sesi\u00f3n, mientras que los scripts de shell tambi\u00e9n se pueden ejecutar en el apagado o incluso antes de que se inicie Plasma.\n* Los scripts de shell solo se ejecutar\u00e1n si est\u00e1n marcados como [[Help:Reading_(Espa\u00f1ol)#Hacer_ejecutable|ejecutables]].\n}}\n\n* Coloque [[Desktop entries|entradas del escritorio]] (es decir, archivos ''.desktop'') en el directorio [[XDG_Autostart_(Espa\u00f1ol)|XDG Autostart]] apropiado.\n\n* Coloque o guarde los scripts de shell en uno de los siguientes directorios:\n\n:; {{ic|~/.config/plasma-workspace/env/}}: para ejecutar scripts al iniciar sesi\u00f3n antes de iniciar Plasma.\n:; {{ic|~/.config/autostart-scripts/}}: para ejecutar scripts al iniciar sesi\u00f3n.\n:; {{ic|~/.config/plasma-workspace/shutdown/}}: para ejecutar scripts en el apagado.\n\n=== Phonon ===\n\nDe [[Wikipedia:es:Phonon_(KDE)|Wikipedia]]:\n\n:Phonon es el framework multimedia est\u00e1ndar de KDE 4, tambi\u00e9n parte de Qt desde la versi\u00f3n 4.4.\n\n:El objetivo de Phonon es facilitar a los programadores el uso de tecnolog\u00edas multimedia en sus programas, as\u00ed como asegurar que las aplicaciones que usen Phonon funcionen en diversas plataformas y arquitecturas de sonido.\n\nPhonon est\u00e1 siendo ampliamente utilizando en KDE, tanto para audio (por ejemplo, las notificaciones del sistema o aplicaciones de audio de KDE) como para v\u00eddeo (por ejemplo, las miniaturas de video de [[Dolphin]]).\n\n==== \u00bfQu\u00e9 backend debo elegir? ====\n\nPuede elegir entre backends basados en [[GStreamer_(Espa\u00f1ol)|GStreamer]] y [[VLC_media_player_(Espa\u00f1ol)|VLC]] - cada uno disponible en versiones para aplicaciones Qt4 y aplicaciones Qt5 ({{AUR|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}} - {{AUR|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}).\n\n[https://www.phoronix.com/scan.php?page=news_item&px=MTUwNDM El anterior (Phonon) prefiere VLC], pero algunas distribuciones de Linux m\u00e1s prominentes (Kubuntu y Fedora-KDE por ejemplo) prefieren GStreamer porque les permite dejar f\u00e1cilmente de lado los c\u00f3decs patentados MPEG de la instalaci\u00f3n por defecto. Ambos backends tienen un [https://community.kde.org/Phonon/FeatureMatrix conjunto de caracter\u00edsticas] ligeramente diferentes. El backend de Gstreamer tiene alguna dependencias de c\u00f3decs opcionales, inst\u00e1lelos seg\u00fan sea necesario:\n\n* {{Pkg|gst-libav}} - c\u00f3decs de Libav.\n* {{Pkg|gst-plugins-good}} - Soporte de PulseAudio y c\u00f3decs adicionales.\n* {{Pkg|gst-plugins-ugly}} - c\u00f3decs adicionales.\n* {{Pkg|gst-plugins-bad}} - c\u00f3decs adicionales.\n\nEn el pasado, tambi\u00e9n se desarrollaron otros backends, pero ya no se mantienen y sus paquetes AUR se han eliminado.\n\n{{Nota|1=<br>\n* Se pueden instalar varios backends a la vez y priorizarlos en ''Preferencias del sistema > Multimedia > Audio y v\u00eddeo > Motor''.\n* Seg\u00fan los [https://forum.kde.org/viewtopic.php?f=250&t=126476&p=335080 foros de KDE], el backend de VLC carece de soporte para [[wikipedia:ReplayGain|ReplayGain]].\n* Si usa el backend VLC, puede experimentar cuelgues cada vez que Plasma quiera enviarle una advertencia sonora y en muchos otros casos tambi\u00e9n [https://forum.kde.org/viewtopic.php?f=289&t=135956]. Una posible soluci\u00f3n es reconstruir la cach\u00e9 de los plugins de VLC:\n{{bc|# /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins}}\n}}\n\n== Aplicaciones ==\n\nEl proyecto KDE proporciona un conjunto de aplicaciones que se integran con el escritorio Plasma. V\u00e9ase el grupo {{Grp|kde-applications}} para obtener una lista completa de las aplicaciones disponibles. V\u00e9ase tambi\u00e9n [[:Category:KDE (Espa\u00f1ol)]] para los art\u00edculos relacionados con las aplicaciones KDE .\n\nAparte de los programas provistos en KDE Applications, hay muchas otras aplicaciones disponibles que pueden complementar el escritorio Plasma. Algunas de \u00e9stas se tratan a continuaci\u00f3n.\n\n=== Administraci\u00f3n del sistema ===\n\n==== Detener Xorg server a trav\u00e9s de las preferencias del sistema KDE ====\n\nNavegue al submen\u00fa ''Preferencias del sistema > Dispositivos de entrada > Teclado > Avanzado (pesta\u00f1a) > \"Key Sequence to kill the X server\"'' y aseg\u00farese de que la casilla est\u00e9 marcada.\n\n==== KCM ====\n\nKCM significa '''KC'''onfig '''M'''odule. Los KCM pueden ayudarle a configurar su sistema al proporcionar interfaces en preferencias del sistema, o a trav\u00e9s de la l\u00ednea de comandos con ''kcmshell5''.\n\n* {{App|kde-gtk-config|Configurador GTK2 y GTK3 para KDE.|https://cgit.kde.org/kde-gtk-config.git|{{Pkg|kde-gtk-config}}}}\n* {{App|Pol\u00edticas del sistema|Conjunto de m\u00f3dulos de configuraci\u00f3n que permite al administrador cambiar la configuraci\u00f3n de [[PolicyKit]].|https://cgit.kde.org/polkit-kde-kcmodules-1.git|{{AUR|kcm-polkit-kde-git}}}}\n* {{App|wacom tablet|Interfaz gr\u00e1fica de KDE para los controladores Linux Wacom.|https://www.linux-apps.com/p/1127862/|{{Pkg|kcm-wacomtablet}}}}\n* {{App|Kcmsystemd|m\u00f3dulo de control systemd para KDE.|https://github.com/rthomsen/kcmsystemd|{{AUR|systemd-kcm}}}}\n\nPuede encontrar m\u00e1s KCMs en [https://www.linux-apps.com/search?projectSearchText=KCM linux-apps.com].\n\n=== B\u00fasqueda de escritorio ===\n\nKDE implementa la b\u00fasqueda de escritorio con un software llamado [[Baloo]], una soluci\u00f3n de indexaci\u00f3n y de b\u00fasqueda de archivos.\n\n=== Navegadores web ===\n\nLos siguientes navegadores web pueden integrarse con Plasma:\n\n* {{App|[[Wikipedia: Konqueror|Konqueror]]|Parte del proyecto KDE, es compatible con dos motores de renderizaci\u00f3n - KHTML y Qt WebEngine basado en [[Chromium_(Espa\u00f1ol)|Chromium]].|https://konqueror.org/|{{Pkg|konqueror}}}}\n* {{App|[[Wikipedia:Falkon|Falkon]]|Un navegador web Qt con funciones de integraci\u00f3n Plasma, anteriormente conocido como Qupzilla. Utiliza Qt WebEngine.|https://userbase.kde.org/Falkon/|{{Pkg|falkon}}}}\n* {{App|[[Chromium]]|Chromium y su variante patentada Google Chrome tienen una integraci\u00f3n de Plasma limitada. [[KDE_Wallet_(Espa\u00f1ol)#KDE_Wallet_para_Chromium|Pueden usar KWallet]] y las ventanas de KDE Abrir/Guardar.|https://www.chromium.org/|{{Pkg|chromium}}}}\n* {{App|[[Firefox]]|Firefox puede configurarse para integrarse mejor con Plasma. V\u00e9ase [[Firefox_(Espa\u00f1ol)#Mejorar_la_integraci\u00f3n_de_Firefox_con_KDE|Integraci\u00f3n de Firefox KDE]] para obtener m\u00e1s informaci\u00f3n.|https://mozilla.org/firefox|{{Pkg|firefox}}}}\n\n{{Sugerencia|A partir de Plasma 5.13, uno puede integrar [[Firefox_(Espa\u00f1ol)|Firefox]] o [[Chromium_(Espa\u00f1ol)|Chrome]] con Plasma: proporcione el control de reproducci\u00f3n de medios desde la bandeja de Plasma, descargue notificaciones y encuentre pesta\u00f1as abiertas en KRunner. [[Install (Espa\u00f1ol)|Instale]] {{pkg|plasma-browser-integration}} y el complemento del navegador correspondiente. El soporte de Chrome/Chromium ya deber\u00eda estar incluido, para el complemento de Firefox v\u00e9ase [[Firefox_(Espa\u00f1ol)#Mejorar_la_integraci\u00f3n_de_Firefox_con_KDE|Integraci\u00f3n de Firefox KDE]].}}\n\n=== PIM ===\n\nKDE ofrece su propia pila para la gesti\u00f3n de informaci\u00f3n personal. Esto incluye emails, contactos, calendario, etc. Para instalar todos los paquetes PIM, puede usar el metapaquete {{Pkg|kdepim-meta}}.\n\n==== Akonadi ====\n\nAkonadi es un sistema destinado a actuar como cach\u00e9 local para datos PIM, independientemente de su origen, para que luego pueda ser utilizado por otras aplicaciones. Esto incluye los emails, contactos, calendarios, eventos, diarios, alarmas, notas, etc. del usuario. Akonadi no almacena ning\u00fan dato por s\u00ed mismo: el formato de almacenamiento depende de la naturaleza de los datos (por ejemplo, los contactos pueden almacenarse en formato vCard).\n\nInstale {{Pkg|akonadi}}. Para obtener complementos adicionales, instale {{Pkg|kdepim-addons}}.\n\n{{Nota|Si desea usar un motor de base de datos que no sea [[MariaDB]], al instalar el paquete {{Pkg|akonadi}}, use el siguiente comando para omitir la instalaci\u00f3n de las dependencias {{Pkg|mariadb}}:\n\n # pacman -S akonadi --assume-installed mariadb\n\nV\u00e9ase tambi\u00e9n {{Bug|32878}}.\n}}\n\n===== PostgreSQL =====\n\n[[Install (Espa\u00f1ol)|Instale]] {{Pkg|postgresql}}.\n\nPara usar [[PostgreSQL]] edite el archivo de configuraci\u00f3n de Akonadi para que tenga el siguiente contenido:\n\n{{hc|~/.config/akonadi/akonadiserverrc|<nowiki>\n[%General]\nDriver=QPSQL\n\n[QPSQL]\nHost=\nInitDbPath=/usr/bin/initdb\nName=akonadi\nServerPath=/usr/bin/pg_ctl\nStartServer=true\n</nowiki>}}\n\n{{Nota|El valor {{ic|1=Host=}} ser\u00e1 establecido por Akonadi cuando se inicie por primera vez.}}\n\nInicie Akonadi con {{ic|akonadictl start}}, y verifique su estado: {{ic|akonadictl status}}.\n\n===== SQLite =====\n\nPara usar [[SQLite]] edite el archivo de configuraci\u00f3n de Akonadi para que coincida con la configuraci\u00f3n que se muestra a continuaci\u00f3n:\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QSQLITE3\n\n[QSQLITE3]\nName=/home/''username''/.local/share/akonadi/akonadi.db\n}}\n\n===== Deshabilitar Akonadi =====\n\nV\u00e9ase esta [https://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem secci\u00f3n en la base de usuarios de KDE].\n\n=== KDE Telepathy ===\n\n[https://community.kde.org/KTp KDE Telepathy] es un proyecto con el objetivo de integrar estrechamente la mensajer\u00eda instant\u00e1nea con el escritorio KDE. Utiliza el framework Telepathy como backend y est\u00e1 destinado a reemplazar a Kopete.\n\nPara instalar todos los protocolos de Telepathy, instale el grupo {{Grp|telepathy}}.\nPara utilizar el cliente KDE Telepathy, instale el paquete {{Pkg|telepathy-kde-meta}} que incluye todos los paquetes contenidos en el grupo {{Grp|telepathy-kde}}.\n\n==== Utilizar Telegram con KDE Telepathy ====\n\nEl protocolo [[Telegram]] est\u00e1 disponible usando {{pkg|telepathy-haze}}, instalando {{aur|telegram-purple}} o {{aur|telegram-purple-git}} y {{aur|telepathy-morse-git}}. El nombre de usuario es el n\u00famero de tel\u00e9fono de la cuenta de Telegram (compl\u00e9telo con el prefijo nacional {{ic|+''xx''}}, por ejemplo, {{ic|+34}} para Espa\u00f1a).\n\nLa configuraci\u00f3n a trav\u00e9s de la interfaz gr\u00e1fica puede ser complicada: si el n\u00famero de tel\u00e9fono no se acepta al configurar una nueva cuenta en el cliente KDE Telepathy (con un mensaje de error quej\u00e1ndose de un par\u00e1metro inv\u00e1lido que impide la creaci\u00f3n de la cuenta), ins\u00e9rtelo entre comillas simples y luego elimine las comillas manualmente del archivo de configuraci\u00f3n ({{ic|~/.local/share/telepathy/mission-control/accounts.cfg}}) despu\u00e9s de la creaci\u00f3n de la cuenta (si las comillas no se eliminan posteriormente, deber\u00eda salir un error de autenticaci\u00f3n).\n\n{{Nota|El archivo de configuraci\u00f3n deber\u00eda editarse manualmente cuando KDE Telepathy no se est\u00e9 ejecutando, por ejemplo, cuando no hay una sesi\u00f3n de escritorio KDE activa, de lo contrario, el software puede sobrescribir los cambios realizados manualmente.}}\n\n=== KDE Connect ===\n\n[https://community.kde.org/KDEConnect KDE Connect] proporciona varias caracter\u00edsticas para conectar su tel\u00e9fono [[Android_(Espa\u00f1ol)|Android]] con su escritorio Linux:\n\n* Comparta archivos y URLs a/desde KDE desde/a cualquier aplicaci\u00f3n, sin cables.\n* Emulaci\u00f3n de panel t\u00e1ctil: use la pantalla de su tel\u00e9fono como si fuera el panel t\u00e1ctil de su ordenador.\n* Sincronizaci\u00f3n de notificaciones (4.3+): lea sus notificaciones Android desde el escritorio.\n* Portapapeles compartido: copie y pegue entre su tel\u00e9fono y su ordenador.\n* Control remoto multimedia: utilize su tel\u00e9fono como un control remoto para reproductores multimedia en Linux.\n* Conexi\u00f3n WiFi: no necesita cable usb ni bluetooth.\n* Cifrado RSA: su informaci\u00f3n est\u00e1 segura.\n\nDeber\u00e1 instalar KDE Connect tanto en su ordenador como en Android. Para el PC, [[Install (Espa\u00f1ol)|instale]] el paquete {{Pkg|kdeconnect}}. Para Android, instale KDE Connect desde [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google Play] o desde [https://f-droid.org/packages/org.kde.kdeconnect_tp/ F-Droid].\n\nEs posible usar KDE Connect incluso si no usa el escritorio Plasma. Para los entornos de escritorio que utilizan AppIndicators, como Unity, instale tambi\u00e9n el paquete {{AUR|indicator-kdeconnect}}. Para los usuarios de GNOME, se puede lograr una mejor integraci\u00f3n instalando {{AUR|gnome-shell-extension-gsconnect}} en vez de {{Pkg|kdeconnect}}.\n\nSi usa un [[Firewalls_(Espa\u00f1ol)|cortafuegos]], necesita abrir los puertos UDP y TCP {{ic|1714}} a trav\u00e9s de {{ic|1764}}. V\u00e9ase https://community.kde.org/KDEConnect#Troubleshooting.\n\n== Consejos y trucos ==\n\n=== Usar un gestor de ventanas diferente ===\n\nLa configuraci\u00f3n del selector de componentes en Plasma ya no permite cambiar el gestor de ventanas. [https://github.com/KDE/plasma-desktop/commit/2f83a4434a888cd17b03af1f9925cbb054256ade]\nPara cambiar el gestor de ventanas utilizado, debe establecer la [[Environment variables (Espa\u00f1ol)|variable de entorno]] {{ic|KDEWM}} antes del inicio de KDE. [https://wiki.haskell.org/Xmonad/Using_xmonad_in_KDE] Para ello, puede crear un script llamado {{ic|set_window_manager.sh}} en {{ic|~/.config/plasma-workspace/env/}} y exportar la variable {{ic|KDEWM}} all\u00ed. Por ejemplo, para utilizar el gestor de ventanas i3:\n\n{{hc|~/.config/plasma-workspace/env/set_window_manager.sh|2=\nexport KDEWM=/usr/bin/i3\n}}\n\nY luego hacerlo ejecutable:\n\n{{bc|$ chmod +x ~/.config/plasma-workspace/env/set_window_manager.sh}}\n\n==== Sesi\u00f3n KDE/Openbox ====\n\nEl paquete {{Pkg|openbox}} proporciona una sesi\u00f3n para usar KDE con [[Openbox_(Espa\u00f1ol)|Openbox]]. Para hacer uso de esta sesi\u00f3n, seleccione ''KDE/Openbox'' en el men\u00fa [[Display manager (Espa\u00f1ol)|gestor de pantallas]].\n\nPara aquellos que inician sesi\u00f3n manualmente, agregue la siguiente l\u00ednea a su configuraci\u00f3n [[Xinit_(Espa\u00f1ol)|xinit]]:\n\n{{hc|~/.xinitrc|\nexec openbox-kde-session\n}}\n\n==== Rehabilitar efectos de composici\u00f3n ====\n\nAl reemplazar Kwin con un gestor de ventanas que no proporciona un Compositor (como Openbox), se perder\u00e1 cualquier efecto de composici\u00f3n del escritorio, por ejemplo, la transparencia. En este caso, instale y ejecute un gestor de Composite separado para proporcionar los efectos como [[Xcompmgr_(Espa\u00f1ol)|Xcompmgr]] o [[Compton]].\n\n=== Configurar la resoluci\u00f3n del monitor / m\u00faltiples monitores ===\n\nPara habilitar la gesti\u00f3n de resoluci\u00f3n de pantalla y m\u00faltiples monitores en Plasma, instale {{Pkg|kscreen}}. Esto agrega las opciones adicionales a ''Preferencias del sistema > Pantalla y monitor''.\n\n=== Deshabilitar la apertura del lanzador de aplicaciones con la tecla Super (tecla Windows) ===\n\nPara deshabilitar esta caracter\u00edstica, actualmente puede ejecutar el siguiente comando:\n\n $ kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta \"\"\n\n=== Deshabilitar que los marcadores se muestren en el men\u00fa de aplicaciones ===\n\nSi tiene instalada la integraci\u00f3n del navegador de Plasma, KDE mostrar\u00e1 marcadores en el lanzador de aplicaciones.\n\nPara deshabilitar esta caracter\u00edstica, ejecute las siguientes \u00f3rdenes:\n\n $ mkdir ~/.local/share/kservices5\n $ sed 's/EnabledByDefault=true$/EnabledByDefault=false/' /usr/share/kservices5/plasma-runner-bookmarks.desktop > ~/.local/share/kservices5/plasma-runner-bookmarks.desktop\n\n== Soluci\u00f3n de problemas ==\n\n=== Fuentes tipogr\u00e1ficas ===\n\n==== Las fuentes en una sesi\u00f3n Plasma se ven mal ====\n\nPruebe a instalar los paquetes {{Pkg|ttf-dejavu}} y {{Pkg|ttf-liberation}}.\n\nDespu\u00e9s de la instalaci\u00f3n, aseg\u00farese de cerrar sesi\u00f3n y volver a iniciarla. No deber\u00eda tener que modificar nada en ''Preferencias del sistema > Tipos de letra''. Si est\u00e1 utilizando {{Pkg|qt5ct}}, la preferencias de la Herramienta de Configuraci\u00f3n Qt5 pueden anular los ajustes de los tipos de letra en las preferencias del sistema.\n\nSi ha configurado personalmente el renderizado de sus [[Fonts_(Espa\u00f1ol)|Fuentes]], tenga en cuenta que las preferencias del sistema pueden alterar su apariencia. Cuando vaya a ''Preferencias del sistema > Tipos de letra'', las preferencias del sistema probablemente alterar\u00e1n el archivo de configuraci\u00f3n de las fuentes ({{ic|fonts.conf}}).\n\nNo hay forma de evitar esto, pero, si configura los valores para que coincidan con su archivo {{ic|fonts.conf}}, el renderizado esperado de las fuentes volver\u00e1 (se requerir\u00e1 que reinicie su aplicaci\u00f3n o, en algunos casos, que reinicie su escritorio). Tenga en cuenta que las preferencias de las fuentes de Gnome tambi\u00e9n hacen esto.\n\n==== Las fuentes son enormes o parecen desproporcionadas ====\n\nIntente forzar la fuente DPI a {{ic|'''96'''}} en ''Preferencias del sistema > Tipos de letra''.\n\nSi eso no funciona, intente establecer el DPI directamente en su configuraci\u00f3n de Xorg como se documenta en [[Xorg_(Espa\u00f1ol)#Configuraci\u00f3n_manual_de_DPI|Xorg#Configuraci\u00f3n manual de DPI]].\n\n=== Configuraci\u00f3n relacionada ===\n\nMuchos problemas en KDE est\u00e1n relacionados con su configuraci\u00f3n.\n\n==== El escritorio Plasma se comporta de manera extra\u00f1a ====\n\nLos problemas en Plasma son generalmente causados por ''widgets de Plasma'' inestables (llamados coloquialmente ''plasmoides'') o ''temas de Plasma''. Primero, encuentre cu\u00e1l fue el \u00faltimo widget o tema que instal\u00f3 y deshabil\u00edtelo o desinst\u00e1lelo.\n\nPor lo tanto, si su escritorio muestra repentinamente un \u00abbloqueo\u00bb, es probable que esto se deba a un widget instalado defectuoso. Si no puede recordar qu\u00e9 widget instal\u00f3 antes de que comenzara el problema (a veces puede ser un problema irregular), intente localizarlo eliminando cada widget hasta que el problema cese. Luego, puede desinstalar el widget y presentar un informe de error en el [https://bugs.kde.org/ seguimiento de errores de KDE] '''solo si es un widget oficial'''. Si no lo es, se recomienda buscar la entrada en la [https://store.kde.org/ KDE Store] e informar al desarrollador de ese widget sobre el problema (detallando los pasos para reproducirlo, etc.).\n\nSi no puede encontrar el problema, pero no quiere que se pierdan ''todos'' los ajustes, vaya a {{ic|~/.config/}} y ejecute el siguiente comando:\n\n $ for j in plasma*; do mv -- \"$j\" \"${j%}.bak\"; done\n\nEste comando renombrar\u00e1 '''todos''' los archivos de configuraci\u00f3n relacionados con Plasma de su usuario a ''*.bak'' (por ejemplo, {{ic|plasmarc.bak}}) y cuando vuelva a iniciar sesi\u00f3n en Plasma, tendr\u00e1 la configuraci\u00f3n predeterminada de nuevo. Para deshacer esa acci\u00f3n, elimine la extensi\u00f3n de archivo ''.bak''. Si ya tiene archivos ''*.bak'', ren\u00f3mbrelos, mu\u00e9valos o elim\u00ednelos primero. Se recomienda encarecidamente que se creen regularmente copias de seguridad de todos modos. V\u00e9ase [[Synchronization and backup programs|sincronizaci\u00f3n y programas de copia de seguridad]] para obtener una lista de posibles soluciones.\n\n==== Limpiar la cach\u00e9 para resolver problemas de actualizaci\u00f3n ====\n\nEl [https://bbs.archlinux.org/viewtopic.php?id=135301 problema] puede ser causado por un cach\u00e9 antiguo. A veces, despu\u00e9s de una actualizaci\u00f3n, la memoria cach\u00e9 antigua podr\u00eda presentar un comportamiento extra\u00f1o y dif\u00edcil de depurar, como shells no detenibles, cuelgues al cambiar varias configuraciones, que Ark no pueda extraer archivos o que Amarok no reconozca ninguna de sus canciones. Esta soluci\u00f3n tambi\u00e9n puede resolver problemas con aplicaciones KDE y Qt que se ven mal despu\u00e9s de una actualizaci\u00f3n.\n\nReconstruya la cach\u00e9 usando los siguientes comandos:\n\n $ rm ~/.config/Trolltech.conf\n $ kbuildsycoca5 --noincremental\n\nOpcionalmente, vac\u00ede los contenidos de la carpeta {{ic|~/.cache/}}, sin embargo, esto tambi\u00e9n borrar\u00e1 la cach\u00e9 de otras aplicaciones:\n \n $ rm -rf ~/.cache/*\n\n=== Problemas gr\u00e1ficos ===\n\nAseg\u00farese de tener instalado el controlador adecuado para su GPU. V\u00e9ase [[Xorg_(Espa\u00f1ol)#Instalaci\u00f3n_del_controlador|Xorg#Instalaci\u00f3n del controlador]] para obtener m\u00e1s informaci\u00f3n. Si tiene una tarjeta m\u00e1s antigua, podr\u00eda ayudar el [[#Deshabilitar los efectos del escritorio manualmente o autom\u00e1ticamente para aplicaciones definidas]] o [[#Deshabilitar la composici\u00f3n]].\n\n==== Obtener el estado actual de KWin para fines de soporte y depuraci\u00f3n ====\n\nEste comando muestra un resumen del estado actual de KWin, incluidas las opciones utilizadas, el backend de composici\u00f3n utilizado y las capacidades relevantes del controlador OpenGL. V\u00e9ase m\u00e1s en [https://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ el blog de Martin].\n\n $ qdbus org.kde.KWin /KWin supportInformation\n\n==== Deshabilitar los efectos del escritorio manualmente o autom\u00e1ticamente para aplicaciones definidas ====\n\nPlasma tiene habilitados los efectos del escritorio de manera predeterminada y no todas las aplicaciones los deshabilitar\u00e1n autom\u00e1ticamente, por ejemplo, los juegos. Puede deshabilitar los efectos del escritorio en ''Preferencias del sistema > Comportamiento del escritorio > Efectos del escritorio'' y alternar los efectos del escritorio con {{ic|Alt+Shift+F12}}.\n\nAdicionalmente, puede crear reglas KWin personalizadas para deshabilitar/habilitar autom\u00e1ticamente la composici\u00f3n cuando cierta aplicaci\u00f3n/ventana se inicie en ''Preferencias del sistema > Gesti\u00f3n de ventanas > Reglas de la ventana''.\n\n==== Deshabilitar la composici\u00f3n ====\n\nEn ''Preferencias del sistema > Pantalla y monitor > Compositor'', desmarque ''Activar el compositor durante el inicio'' y reinicie Plasma.\n\n==== Parpadeo en pantalla completa cuando la composici\u00f3n est\u00e1 habilitada ====\n\nEn ''Preferencias del sistema > Pantalla y monitor > Compositor'', desmarque ''Permitir que las aplicaciones bloqueen la composici\u00f3n''. Esto puede afectar al rendimiento.\n\n==== Screen tearing con NVIDIA ====\n\nV\u00e9ase [[NVIDIA/Troubleshooting#Avoid_screen_tearing_in_KDE_(KWin)|NVIDIA/Soluci\u00f3n de problemas#Evitar screen tearing en KDE (KWin)]].\n\n==== El cursor de Plasma a veces se muestra incorrectamente ====\n\nCree el directorio {{ic|~/.icons/default}}, y dentro de \u00e9l un archivo llamado {{ic|index.theme}} con el siguiente contenido:\n\n{{hc|~/.icons/default/index.theme|2=\n[Icon Theme]\nInherits=breeze_cursors\n}}\n\nEjecute el siguiente comando:\n\n $ ln -s /usr/share/icons/breeze_cursors/cursors ~/.icons/default/cursors\n\n==== Se ha establecido una resoluci\u00f3n de pantalla inutilizable ====\n\nSus ajustes de configuraci\u00f3n locales para kscreen pueden anular aquellos establecidos en {{ic|xorg.conf}}. Busque los archivos de configuraci\u00f3n de kscreen en {{ic|~/.local/share/kscreen/}} y revise si el modo est\u00e1 establecido en una resoluci\u00f3n que no es compatible con su monitor.\n\n=== Problemas de sonido ===\n\n{{Nota|Primero aseg\u00farese de tener {{Pkg|alsa-utils}} instalado.}}\n\n==== No hay sonido despu\u00e9s de suspender ====\n\nSi no hay sonido despu\u00e9s de la suspensi\u00f3n y si KMix no muestra dispositivos de audio los cuales deber\u00edan estar ah\u00ed, reiniciar plasmashell y pulseaudio podr\u00eda ayudar:\n\n $ killall plasmashell\n $ systemctl --user restart pulseaudio.service\n $ plasmashell\n\nEs posible que algunas aplicaciones tambi\u00e9n deban reiniciarse para que el sonido se reproduzca de nuevo.\n\n==== Los archivos MP3 no se pueden reproducir cuando se utiliza el backend GStreamer Phonon ====\n\nEsto se puede resolver instalando el complemento libav de GStreamer (paquete {{Pkg|gst-libav}}). Si a\u00fan tiene problemas, puede intentar cambiar el backend de Phonon utilizado instalando otro como {{AUR|phonon-qt4-vlc}} o {{Pkg|phonon-qt5-vlc}}.\n\nLuego, aseg\u00farese de que se prefiera el backend v\u00eda ''Preferencias del sistema > Multimedia > Audio y v\u00eddeo > Motor''.\n\n=== Administraci\u00f3n de energ\u00eda ===\n\n==== No hay opciones de Suspender/Hibernar ====\n\nSi su sistema puede suspender o hibernar usando [[Systemd_(Espa\u00f1ol)|systemd]] pero estas opciones no se muestran en KDE, aseg\u00farese de que {{Pkg|powerdevil}} est\u00e9 instalado.\n\n=== KMail ===\n\n==== Limpie la configuraci\u00f3n de akonadi para arreglar KMail ====\n\nEn primer lugar, aseg\u00farese de que KMail no se est\u00e1 ejecutando. Despu\u00e9s, haga una copia de seguridad de la configuraci\u00f3n:\n\n $ cp -a ~/.local/share/akonadi ~/.local/share/akonadi-old\n $ cp -a ~/.config/akonadi ~/.config/akonadi-old\n\nInicie ''Preferencias del sistema > Personal'' y elimine todos los medios. Vuelva a Dolphin y elimine el {{ic|~/.local/share/akonadi/}} original y\n{{ic|~/.config/akonadi/}} - las copias que hizo aseguran que pueda revertir los cambios en caso de ser necesario.\n\nAhora vuelva a la p\u00e1gina de preferencias del sistema y agregue cuidadosamente los medios necesarios. Deber\u00eda ver la lectura de medios en sus carpetas de correo. A continuaci\u00f3n, inicie Kontact/KMail para ver si funciona correctamente.\n\n==== Vaciar la bandeja de entrada IMAP en KMail ====\n\nPara algunas cuentas IMAP, KMail mostrar\u00e1 la bandeja de entrada como un contenedor de nivel superior (por lo que no ser\u00e1 posible leer los mensajes all\u00ed) con todas las dem\u00e1s carpetas de esta cuenta dentro. [https://bugs.kde.org/show_bug.cgi?id=284172]. Para resolver este problema, simplemente deshabilite las suscripciones del lado del servidor en la configuraci\u00f3n de la cuenta KMail.\n\n=== Conexi\u00f3n ===\n\n==== Se congela cuando se usa montaje autom\u00e1tico en un volumen NFS ====\n\nEl uso de [[Fstab_(Espa\u00f1ol)#Montaje_autom\u00e1tico_con_systemd|Fstab#Montaje autom\u00e1tico con systemd]] en un volumen [[NFS_(Espa\u00f1ol)|NFS]] puede provocar bloqueos, v\u00e9ase [https://bugs.kde.org/show_bug.cgi?id=354137 informe de errores previos].\n\n=== Registro agresivo del diario QXcbConnection ===\n\nV\u00e9ase [[Qt#Disable/Change Qt journal logging behaviour|Qt#Deshabilitar/Cambiar el comportamiento de registro del diario Qt]].\n\n=== Las aplicaciones KF5/Qt 5 no muestran iconos en i3/FVWM/awesome ===\n\nV\u00e9ase [[Qt#Configuration_of_Qt5_apps_under_environments_other_than_KDE_Plasma|Qt#Configuraci\u00f3n de aplicaciones Qt5 en entornos que no sean KDE Plasma]].\n\n=== Problemas al guardar las credenciales y los di\u00e1logos de KWallet se muestran de manera persistente ===\n\nNo se recomienda desactivar el sistema de guardado de contrase\u00f1as de [[KDE_Wallet_(Espa\u00f1ol)|KWallet]] en las preferencias del usuario, ya que es necesario para guardar credenciales cifradas como las frases de contrase\u00f1as WiFi de cada usuario. La persistencia de los di\u00e1logos de KWallet puede ser consecuencia de desactivarlo.\n\nEn caso de que encuentre molestos los di\u00e1logos para desbloquear la cartera cuando las aplicaciones deseen acceder a ella, puede permitir que los [[Display manager (Espa\u00f1ol)|gestores de pantallas]] [[SDDM]] y [[LightDM_(Espa\u00f1ol)|LightDM]] desbloqueen la cartera al iniciar sesi\u00f3n autom\u00e1ticamente, v\u00e9ase [[KDE_Wallet_(Espa\u00f1ol)#Desbloquear_KDE_Wallet_autom\u00e1ticamente_al_iniciar_la_sesi\u00f3n|KDE Wallet#Desbloquear KDE Wallet autom\u00e1ticamente al iniciar sesi\u00f3n]]. La primera cartera debe ser generada por KWallet (y no por el usuario) para poder ser utilizada por las credenciales del programa del sistema.\n\nEn caso de que desee que las credenciales de la cartera no se abran en la memoria para cada aplicaci\u00f3n, puede restringir su acceso a las aplicaciones con {{Pkg|kwalletmanager}} en la configuraci\u00f3n de KWallet.\n\nSi no le interesa para nada el cifrado de credenciales, simplemente puede dejar los formularios de contrase\u00f1as en blanco cuando KWallet le pida la contrase\u00f1a mientras crea una cartera. En este caso, las aplicaciones pueden acceder a las contrase\u00f1as sin tener que desbloquear primero la cartera.\n\n=== Discover no muestra ninguna aplicaci\u00f3n ===\n\nEsto se puede resolver instalando {{Pkg|packagekit-qt5}}.\n\n=== kscreenlocker_greet usa mucha CPU con controladores de NVIDIA ===\n\nTal y como se describe en [https://bugs.kde.org/show_bug.cgi?id=347772 KDE Bug 347772] los controladores OpenGL de NVIDIA y QML pueden no funcionar bien con Qt 5. Esto puede llevar a {{ic|kscreenlocker_greet}} a utilizar mucha CPU despu\u00e9s de desbloquear la sesi\u00f3n. Para resolver este problema, establezca la [[Environment variables (Espa\u00f1ol)|variable de entorno]] {{ic|QSG_RENDERER_LOOP}} a {{ic|basic}}.\n\nA continuaci\u00f3n, elimine las instancias anteriores del greeter con {{ic|killall kscreenlocker_greet}}.\n\n=== Error 22 del SO cuando se ejecuta Akonadi en ZFS ===\n\nSi su directorio de inicio est\u00e1 en un grupo [[ZFS]], cree un archivo {{ic|~/.config/akonadi/mysql-local.conf}} con el siguiente contenido:\n\n [mysqld]\n innodb_use_native_aio = 0\n\nV\u00e9ase [[MariaDB#OS error 22 when running on ZFS]].\n\n=== Algunos programas no pueden desplazarse cuando sus ventanas est\u00e1n inactivas ===\n\nEsto se debe a la problem\u00e1tica manera en que GTK3 maneja los eventos de desplazamiento del rat\u00f3n. Una soluci\u00f3n para esto es establecer la [[Environment variables (Espa\u00f1ol)|variable de entorno]] {{ic|1=GDK_CORE_DEVICE_EVENTS=1}}. Sin embargo, esta soluci\u00f3n tambi\u00e9n rompe el desplazamiento suave del panel t\u00e1ctil y el desplazamiento de la pantalla t\u00e1ctil.\n\n== V\u00e9ase tambi\u00e9n ==\n\n* [https://www.kde.org/ P\u00e1gina web de KDE]\n* [https://bugs.kde.org/ Seguimiento de errores de KDE]\n* [https://blog.martin-graesslin.com/blog/kategorien/kde/ Blog de Martin Graesslin]"
                    }
                ]
            },
            "6380": {
                "pageid": 6380,
                "ns": 0,
                "title": "List of applications (Italiano)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Applications (Italiano)]]\n[[bs:List of applications]]\n[[cs:List of applications]]\n[[en:List of applications]]\n[[es:List of applications]]\n[[fa:\u0644\u06cc\u0633\u062a \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc]]\n[[ja:\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4e00\u89a7]]\n[[lt:List of applications]]\n[[ru:List of applications]]\n[[sv:L\u00e4ttviktiga program]]\n[[zh-hans:List of applications]]\n[[zh-hant:List of applications]]\n{{List of Applications navigation (Italiano)}}\n\nQuesto articolo \u00e8 un elenco generale delle applicazioni ordinati per categoria, come punto di riferimento per coloro che ne cercano i pacchetti. Molte sezioni sono suddivise tra console e applicazioni grafiche.\n\n{{Suggerimento|1=<br>\n* Questa pagina esiste principalmente per rendere pi\u00f9 facile la ricerca attraverso pi\u00f9 categorie. Utilizzare i collegamenti nel menu sopra per visualizzare le sotto-categorie come pagine separate.\n* Si consideri di [[pacman (Italiano)|installare]] il pacchetto [[pkgstats]], che fornisce un job di cron che invia una lista dei pacchetti installati sul vostro sistema, insieme con l'architettura ed i mirror utilizzati, agli sviluppatori di Arch Linux, al fine di aiutarli a concentrare i loro sforzi capendone le priorit\u00e0 e a rendere la distribuzione ancora migliore. Le informazioni vengono inviate in forma anonima e non pu\u00f2 essere utilizzato per identificare l'utente. \u00c8 possibile visualizzare i dati raccolti alla [https://www.archlinux.de/?page=Statistics pagina delle statistiche]. Ulteriori informazioni sono disponibili in [https://bbs.archlinux.org/viewtopic.php?id=105431 questo thread] sul forum.}}\n\n{{Nota|Le applicazioni elencate nelle sezioni \"Console\" possono avere dei front-end grafici. Quelli ufficiali sono attualmente omessi.}}\n\n{{:List of applications/Internet (Italiano)}}\n{{:List of applications/Multimedia (Italiano)}}\n{{:List of applications/Utilities (Italiano)}}\n{{:List of applications/Documents (Italiano)}}\n{{:List of applications/Security (Italiano)}}\n{{:List of applications/Science (Italiano)}}\n{{:List of applications/Other (Italiano)}}\n\n==Ulteriori informazioni==\n\n* [http://kmandla.wordpress.com/software/ Lista di applicazioni da terminale con immagini e recensioni]\n* [https://bbs.archlinux.org/viewtopic.php?id=111878 Arch Linux Forums / LnF Awards 2011] - Le migliori leggere & veloci applicazioni del 2011.\n* [https://bbs.archlinux.org/viewtopic.php?id=138281 Arch Linux Forums / LnF Awards 2012] - The best Light & Fast apps of 2012.\n* http://sourceforge.net/ software open source \n* http://linuxappfinder.com/ motore di ricerca per applicazioni\n* http://www.linuxlinks.com/\n* [[Wikipedia:List of open source software packages]]\n* http://linuxappfinder.com/alternatives - Software alternativo a quello Windows e OS X\n* http://alternativeto.net/ - per cercare programmi alternativi ai pi\u00f9 popolari\n* http://www.linuxalt.com/ - Programmi Linux equivalento a quelli Windows\n* http://lin-app.com/ - Servizio di nformazioni on-line di famose applicazioni commerciali e giochi per Linux\n* [http://www.lgdb.org/ Linux game database]\n* [http://www.penguspy.com/#/All/free_and_commercial/open_closed/sort=1/view=1/limit=0 Penguspy]\n* [[wikipedia:Category:Linux_games|Lists of Linux games on Wikipedia]]\n* http://rewiki.regengedanken.de/wiki/Links_to_engine_reimplementations"
                    }
                ]
            },
            "6394": {
                "pageid": 6394,
                "ns": 0,
                "title": "List of applications (\u7b80\u4f53\u4e2d\u6587)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Applications (\u7b80\u4f53\u4e2d\u6587)]]\n[[bs:List of applications]]\n[[cs:List of applications]]\n[[en:List of applications]]\n[[es:List of applications]]\n[[fa:\u0644\u06cc\u0633\u062a \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f\u06cc]]\n[[it:List of applications]]\n[[ja:\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u4e00\u89a7]]\n[[lt:List of applications]]\n[[ru:List of applications]]\n[[sv:L\u00e4ttviktiga program]]\n[[zh-hant:List of applications]]\n{{TranslationStatus (\u7b80\u4f53\u4e2d\u6587)|List_of_applications|2018-05-17|503013}}\n{{List of Applications navigation (\u7b80\u4f53\u4e2d\u6587)}}\n\n\n{{Related articles start}}\n{{Related|Core utilities (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|List of Games (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related articles end}}\n\n\u672c\u6587\u6309\u7167\u4e0d\u540c\u5206\u7c7b\u5217\u51fa\u5e38\u7528\u7684\u5e94\u7528\u7a0b\u5e8f\uff0c\u662f\u5bfb\u627e\u8f6f\u4ef6\u5305\u7684\u7d22\u5f15\u3002\u8bb8\u591a\u6bb5\u843d\u5206\u6210\u7ec8\u7aef\u548c\u56fe\u5f62\u5e94\u7528\u7a0b\u5e8f\u3002\n{{Tip|1=<br>\n* \u672c\u9875\u9762\u4e3b\u8981\u76ee\u7684\u662f\u4e3a\u4e86\u5728\u5404\u79cd\u7c7b\u522b\u4e2d\u66f4\u5bb9\u6613\u641c\u7d22\u3002\u901a\u8fc7\u4e0a\u9762\u5217\u8868\u4e2d\u7684\u94fe\u63a5\u53ef\u4ee5\u5728\u5404\u81ea\u7684\u9875\u9762\u4e2d\u67e5\u770b\u5b50\u5206\u7c7b\u3002\n* \u60a8\u53ef\u80fd\u60f3\u8981[[pacman|\u5b89\u88c5]]\u8f6f\u4ef6\u5305 {{pkg|pkgstats}}, \u6b64\u8f6f\u4ef6\u63d0\u4f9b\u4e86\u4e00\u4e2a cron \u4efb\u52a1\uff0c\u5b9a\u671f\u5411 Arch Linux \u5f00\u53d1\u8005\u53d1\u9001\u60a8\u7684\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5\u7684\u8f6f\u4ef6\u5305\u4ee5\u53ca\u60a8\u7684\u7cfb\u7edf\u67b6\u6784\u548c\u4f7f\u7528\u7684\u955c\u50cf\u4fe1\u606f\uff0c\u4ee5\u4fbf\u5f00\u53d1\u8005\u5b89\u6392\u4efb\u52a1\u7684\u4f18\u5148\u7ea7\uff0c\u8ba9\u53d1\u884c\u7248\u53d8\u5f97\u66f4\u597d\u3002\u53d1\u9001\u7684\u4fe1\u606f\u90fd\u662f\u533f\u540d\u7684\uff0c\u4e0d\u4f1a\u6cc4\u9732\u60a8\u7684\u4e2a\u4eba\u4fe1\u606f\u3002\u60a8\u53ef\u4ee5\u5728[https://www.archlinux.de/?page=Statistics \u7edf\u8ba1\u4fe1\u606f\u9875\u9762]\u67e5\u770b\u6536\u96c6\u5230\u7684\u4fe1\u606f\u3002\u8be6\u89c1 [https://bbs.archlinux.org/viewtopic.php?id=105431 \u6b64\u8bba\u575b\u5e16\u5b50]\u3002\n* Daemon packages usually include the relevant systemd unit file to [[start]]; some packages even include different ones. After installation {{ic|pacman -Qql ''package'' <nowiki>|</nowiki> grep -Fe .service -e .socket}} can be used to check and find the relevant one.\n}}\n\n{{\u6ce8\u610f|\"Console\" \u4e2d\u7684\u5e94\u7528\u7a0b\u5e8f\u53ef\u80fd\u4f1a\u6709\u56fe\u5f62\u524d\u7aef\uff0c\u4f46\u5176\u5b98\u65b9\u7248\u672c\u5e76\u4e0d\u81ea\u5e26\u56fe\u5f62\u524d\u7aef\u3002}}\n<!-- Subcategories -->\n{{:List of Applications/Internet (\u7b80\u4f53\u4e2d\u6587)}}\n{{:List of Applications/Multimedia (\u7b80\u4f53\u4e2d\u6587)}}\n{{:List of Applications/Utilities (\u7b80\u4f53\u4e2d\u6587)}}\n{{:List of Applications/Documents (\u7b80\u4f53\u4e2d\u6587)}}\n{{:List of Applications/Security (\u7b80\u4f53\u4e2d\u6587)}}\n{{:List of Applications/Science (\u7b80\u4f53\u4e2d\u6587)}}\n{{:List of Applications/Other (\u7b80\u4f53\u4e2d\u6587)}}\n\n== \u53c2\u89c1 ==\n\n'''\u901a\u7528\u7684\u8f6f\u4ef6\u5217\u8868'''\n\n* [https://zh.wikipedia.org/zh-hans/%E8%87%AA%E7%94%B1%E5%8F%8A%E5%BC%80%E6%94%BE%E6%BA%90%E4%BB%A3%E7%A0%81%E8%BD%AF%E4%BB%B6%E5%88%97%E8%A1%A8 \u81ea\u7531\u53ca\u5f00\u653e\u6e90\u4ee3\u7801]\n* [https://zh.wikipedia.org/wiki/GNU%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%88%97%E8%A1%A8 GNU\u8f6f\u4ef6\u5305\u5217\u8868]\n* [https://zh.wikipedia.org/zh/%E8%87%AA%E7%94%B1%E8%BD%AF%E4%BB%B6 \u81ea\u7531\u8f6f\u4ef6]\n* [https://alternativeto.net/platform/linux/ alternativeto.net] - Linux \u4e0b\u7684\u6d41\u884c\u8f6f\u4ef6\u66ff\u4ee3\u54c1*\n* [https://linuxappfinder.com/all Linux App Finder] - Linux \u5e94\u7528\u76ee\u5f55\n* [https://packages.debian.org Debian \u8f6f\u4ef6\u5305] \u548c [https://screenshots.debian.net \u5c4f\u5e55\u622a\u56fe]\n* [http://www.linuxalt.com/ Linux Alternative Project] - \u9002\u7528\u4e8e Linux \u7684 Windows \u5e94\u7528\u66ff\u4ee3\u54c1\n* [https://www.osalt.com/ Open Source Alternative] - \u5546\u4e1a\u8f6f\u4ef6\u7684\u5f00\u6e90\u66ff\u4ee3\n* [http://www.linuxlinks.com/ Linux Links] - \u8f6f\u4ef6\u548c\u6587\u7ae0\u5217\u8868\n\n'''Software [[Wikipedia:Forge (software)|forges]]'''\n\n* [https://sourceforge.net/ Sourceforge.net] - Open Source Software forge\n* [https://launchpad.net/projects/+all Launchpad.net] - Open Source Software forge\n* [https://gitlab.com/explore Gitlab.com] - Open Source Software forge\n* [https://github.com/explore** GitHub.com] - Open Source Software forge\n\n'''\u4e13\u4e1a\u8f6f\u4ef6\u5217\u8868'''\n\n* [https://kmandla.wordpress.com/software/ K.Mandla's blog] - \u7ec8\u7aef\u4e2d\u7684\u5e94\u7528\u5217\u8868\uff0c\u5305\u542b\u622a\u56fe\u548c\u8bc4\u8bba\n* [https://inconsolation.wordpress.com/index/ Inconsolation] - \u8f7b\u91cf\u548c\u6781\u7b80\u7684\u8f6f\u4ef6\n* [https://github.com/alebcay/awesome-shell awesome-shell] - \u547d\u4ee4\u884c\u6846\u67b6\uff0c\u5de5\u5177\u7bb1\u548c\u6307\u5f15\n* [https://github.com/Kickball/awesome-selfhosted awesome-selfhosted] - \u53ef\u81ea\u884c\u90e8\u7f72\u7684\u7f51\u7edc\u5e94\u7528\u5217\u8868\n* [http://libreprojects.net/ Libre Projects] - \u5f00\u6e90\u7684\u6258\u7ba1\u5e94\u7528\n* [https://github.com/n1trux/awesome-sysadmin awesome-sysadmin] - \u9002\u7528\u4e8e\u7cfb\u7edf\u7ba1\u7406\u5458\u7684\u5e94\u7528\n* [https://github.com/nodiscc/awesome-linuxaudio awesome-linuxaudio] - \u9002\u7528\u4e8e\u751f\u4ea7\u97f3\u9891\uff0c\u89c6\u9891\u548c\u76f4\u64ad\u7684\u5e94\u7528\n* [https://prism-break.org/en/all/ PRISM Break] - \u62b5\u5236\u76d1\u89c6\u7684\u8f6f\u4ef6\n* [https://www.privacytools.io/ Privacy Tools] - \u4fdd\u62a4\u60a8\u7684\u9690\u79c1\u514d\u53d7\u5168\u7403\u5927\u89c4\u6a21\u76d1\u89c6\u7684\u5de5\u5177\n* [http://lin-app.com/ lin-app.com] - \u9002\u7528\u4e8e Linux \u7684\u5546\u4e1a\u5e94\u7528\u548c\u6e38\u620f\n\n'''Arch Linux \u8bba\u575b\u4e3b\u9898'''\n\n* [https://bbs.archlinux.org/viewtopic.php?id=111878 Arch Linux Forums / LnF Awards 2011] - 2011 \u5e74\u5ea6\u6700\u4f73\u8f7b\u91cf\u7a0b\u5e8f\u3002\n* [https://bbs.archlinux.org/viewtopic.php?id=138281 Arch Linux Forums / LnF Awards 2012] - 2012 \u5e74\u5ea6\u6700\u4f73\u8f7b\u91cf\u7a0b\u5e8f\u3002\n* [https://bbs.archlinux.org/viewtopic.php?id=174764 Arch Linux Forums / most popular apps of 2013-2014] - 2013~2014 \u5e74\u6700\u6d41\u884c\u5e94\u7528\n* [https://bbs.archlinux.org/viewtopic.php?pid=1702332 Arch Linux Forums / most popular apps of 2017+] - 2017 \u5e74\u81f3\u4eca\u6700\u6d41\u884c\u5e94\u7528"
                    }
                ]
            },
            "6591": {
                "pageid": 6591,
                "ns": 0,
                "title": "Secure Shell (\u7b80\u4f53\u4e2d\u6587)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:\u7b80\u4f53\u4e2d\u6587]]\n[[Category:Secure Shell (\u7b80\u4f53\u4e2d\u6587)]]\n[[en:Secure Shell]]\n[[es:OpenSSH]]\n[[pt:Secure Shell]]\n[[ru:OpenSSH]]\n{{Related articles start (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|SSH keys (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|Pam abl}}\n{{Related|fail2ban}}\n{{Related|sshguard}}\n{{Related|SSHFS (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related|Syslog-ng}}\n{{Related|SFTP chroot}}\n{{Related|SCP and SFTP}}\n{{Related articles end}}\n\n{{TranslationStatus (\u7b80\u4f53\u4e2d\u6587)|Secure Shell|2018-05-04|518925}}\n\n'''Secure Shell''' ('''SSH''') \u662f\u4e00\u4e2a\u5141\u8bb8\u4e24\u53f0\u7535\u8111\u4e4b\u95f4\u901a\u8fc7\u5b89\u5168\u7684\u8fde\u63a5\u8fdb\u884c\u6570\u636e\u4ea4\u6362\u7684\u7f51\u7edc\u534f\u8bae\u3002\u52a0\u5bc6\u4fdd\u8bc1\u4e86\u6570\u636e\u7684\u4fdd\u5bc6\u6027\u548c\u5b8c\u6574\u6027\u3002SSH\u91c7\u7528\u516c\u94a5\u52a0\u5bc6\u6280\u672f\u6765\u9a8c\u8bc1\u8fdc\u7a0b\u4e3b\u673a\uff0c\u4ee5\u53ca(\u5fc5\u8981\u65f6)\u5141\u8bb8\u8fdc\u7a0b\u4e3b\u673a\u9a8c\u8bc1\u7528\u6237\u3002\n\nSSH \u901a\u5e38\u7528\u4e8e\u8fdc\u7a0b\u8bbf\u95ee\u548c\u6267\u884c\u547d\u4ee4\uff0c\u4f46\u662f\u5b83\u4e5f\u652f\u6301\u96a7\u9053\uff0c\u8f6c\u53d1\u4efb\u610f TCP \u7aef\u53e3\u4ee5\u53ca X11 \u8fde\u63a5\uff1b\u5b83\u8fd8\u80fd\u591f\u7528 SFTP \u6216 SCP \u534f\u8bae\u6765\u4f20\u8f93\u6587\u4ef6\u3002\n\n\u4e00\u4e2a SSH \u670d\u52a1\u5668\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5728 TCP \u7aef\u53e3 22 \u8fdb\u884c\u76d1\u542c\u3002\u4e00\u4e2a SSH \u5ba2\u6237\u7aef\u7a0b\u5e8f\u901a\u5e38\u88ab\u7528\u6765\u5efa\u7acb\u4e00\u4e2a\u8fdc\u7a0b\u8fde\u63a5\u5230 '''sshd''' \u5b88\u62a4\u8fdb\u7a0b\u3002\u8fd9\u4e24\u8005\u90fd\u88ab\u5e7f\u6cdb\u5730\u5b58\u5728\u4e8e\u73b0\u4ee3\u64cd\u4f5c\u7cfb\u7edf\u4e2d\uff0c\u5305\u62ec Mac OS X\uff0cGNU/Linux\uff0cSolaris \u548c OpenVMS \u7b49\u3002\u4ee5\u4e13\u6709\u8f6f\u4ef6\u3001\u81ea\u7531\u8f6f\u4ef6\u4ee5\u53ca\u5f00\u6e90\u7248\u672c\u7684\u5f62\u5f0f\u548c\u4e0d\u540c\u7684\u590d\u6742\u6027\u548c\u5b8c\u6574\u6027\u5b58\u5728\u3002\n\n(\u6765\u6e90\uff1a[[Wikipedia:Secure Shell|\u7ef4\u57fa\u767e\u79d1 Secure Shell]])\n\n== OpenSSH ==\n\nOpenSSH (OpenBSD Secure Shell) \u662f\u4e00\u5957\u4f7f\u7528 ssh \u534f\u8bae\uff0c\u901a\u8fc7\u8ba1\u7b97\u673a\u7f51\u7edc\uff0c\u63d0\u4f9b\u52a0\u5bc6\u901a\u8baf\u4f1a\u8bdd\u7684\u8ba1\u7b97\u673a\u7a0b\u5e8f\u3002\u5b83\u88ab\u521b\u5efa\u4e3a SSH Communications Security \u516c\u53f8\u62e5\u6709\u4e13\u5229\u7684 Secure Shell \u8f6f\u4ef6\u5957\u88c5\u7684\u4e00\u4e2a\u5f00\u6e90\u66ff\u4ee3\u3002OpenSSH \u662f\u7531 Theo de Raadt \u9886\u5bfc\u7684 OpenBSD \u9879\u76ee\u7684\u4e00\u90e8\u5206\u3002 \n\n\u4eba\u4eec\u5e38\u628a OpenSSH \u4e0e\u76f8\u4f3c\u540d\u5b57\u7684 OpenSSL \u641e\u6df7\uff0c\u4f46\u662f\uff0c\u8fd9\u4e24\u4e2a\u9879\u76ee\u662f\u7531\u4e0d\u540c\u7684\u56e2\u961f\u51fa\u4e8e\u4e0d\u540c\u7684\u76ee\u7684\u5f00\u53d1\u51fa\u6765\u7684\u3002\u76f8\u4f3c\u7684\u540d\u5b57\u53ea\u662f\u7531\u4e8e\u76f8\u4f3c\u7684\u76ee\u6807\u3002\n\n=== \u5b89\u88c5OpenSSH ===\n\u4ece[[\u5b98\u65b9\u6e90]]\u4e2d[[\u5b89\u88c5]] {{pkg|openssh}}.\n\n\n===SSH \u5ba2\u6237\u7aef===\n\n\u8fde\u63a5SSH\u670d\u52a1\u5668\uff0c\u8fd0\u884c\u547d\u4ee4\n\n $ ssh -p ''port'' ''user''@''server-address''\n\n\u5982\u679c\u670d\u52a1\u5668\u4ec5\u5141\u8bb8\u4f7f\u7528\u5bc6\u94a5\u767b\u5f55\uff0c\u8bf7\u53c2\u8003 [[SSH keys (\u7b80\u4f53\u4e2d\u6587)|SSH Keys]] \u3002\n\n====\u914d\u7f6e====\n\n\u5ba2\u6237\u7aef\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u5b58\u50a8\u5e38\u7528\u9009\u9879\u548c\u5e38\u7528\u4e3b\u673a\uff0c\u4e0b\u5217\u9009\u9879\u90fd\u53ef\u4ee5\u5e94\u7528\u81f3\u5168\u5c40\u6216\u5e94\u7528\u81f3\u7279\u5b9a\u4e3b\u673a\u3002 \u4f8b\u5982\uff1a\n\n{{hc|~/.ssh/config|# global options\nUser ''user''\n\n# host-specific options\nHost myserver\n    HostName ''server-address''\n    Port     ''port''}}\n\n\u8fdb\u884c\u4e86\u5982\u4e0a\u7684\u914d\u7f6e\u540e\uff0c\u4ee5\u4e0b\u547d\u4ee4\u662f\u7b49\u6548\u7684\n $ ssh -p ''port'' ''user''@''server-address''\n $ ssh myserver\n\n\u67e5\u770b {{man|5|ssh_config}} \u83b7\u53d6\u66f4\u591a\u4fe1\u606f\u3002\n\n\u67d0\u4e9b\u9009\u9879\u6ca1\u6709\u547d\u4ee4\u884c\u53c2\u6570\uff0c\u4f46\u662f\u53ef\u4ee5\u4f7f\u7528 {{ic|-o}} \u5728\u547d\u4ee4\u884c\u4e2d\u914d\u7f6e\u6307\u5b9a\u9009\u9879\u7684\u53c2\u6570\u3002\n\u4f8b\u5982 {{ic|1=-oKexAlgorithms=+diffie-hellman-group1-sha1}}.\n\n===SSH \u670d\u52a1\u7aef===\n\n====\u914d\u7f6e====\n\nSSH \u5b88\u62a4\u8fdb\u7a0b\u7684\u914d\u7f6e\u6587\u4ef6\u662f{{ic|/etc/ssh/ssh'''d'''_config}}\u3002\n\n\u53ea\u5141\u8bb8\u67d0\u4e9b\u7528\u6237\u8bbf\u95ee\u7684\u8bdd\uff0c\u52a0\u5165\u8fd9\u4e00\u884c\uff1a\n AllowUsers    ''user1 user2''\n\n\u53ea\u5141\u8bb8\u4e00\u4e9b\u7ec4\u8bbf\u95ee\uff1a\n AllowGroups   ''group1 group2''\n\n\u4f60\u4e5f\u53ef\u4ee5\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u5173\u8054\u6587\u4ef6(\u5982{{ic|/etc/issue}}\u6587\u4ef6)\u5230\u767b\u5f55\u6b22\u8fce\u4fe1\u606f\uff1a\n  Banner /etc/issue\n\n\u516c\u94a5\u548c\u79c1\u94a5\u5728 ''sshd'' [[#\u7ba1\u7406 sshd \u5b88\u62a4\u8fdb\u7a0b|service \u6587\u4ef6]] \u5b89\u88c5\u7684\u65f6\u5019\u5c31\u81ea\u52a8\u751f\u6210\u5728 {{ic|/etc/ssh}} \u91cc\u9762\u4e86\uff0c\u56db\u4e2a\u79d8\u94a5\u5bf9\u5206\u522b\u7531\u56db\u79cd\u7b97\u6cd5\u751f\u6210\uff1a [[SSH_keys#Choosing_the_authentication_key_type|dsa\u3001rsa\u3001ecdsa \u548c ed25519]]\u3002\u8981\u8ba9 sshd \u4f7f\u7528\u4e00\u7ec4\u7279\u5b9a\u7684\u5bc6\u94a5\uff0c\u8bf7\u6307\u5b9a\u4ee5\u4e0b\u9009\u9879\uff1a\n\n  HostKey /etc/ssh/ssh_host_rsa_key\n\n\u5982\u679c\u6b64\u670d\u52a1\u5668\u5728\u516c\u7f51\u4e2d\uff0c\u5efa\u8bae\u8fd0\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u66f4\u6539sshd\u670d\u52a1\u76d1\u542c\u7aef\u53e3\uff1a\n  Port 39901\n\n{{Tip|\n* \u53c2\u8003 [[Wikipedia:List of TCP and UDP port numbers|TCP \u548c UDP \u7aef\u53e3\u53f7\u5217\u8868]] \u548c\u672c\u5730\u7684 {{ic|/etc/services}} \u6587\u4ef6\u6765\u9009\u62e9\u4e00\u4e2a\u672a\u88ab\u5e38\u7528\u670d\u52a1\u5360\u7528\u7684\u7aef\u53e3\u3002\u628a\u7aef\u53e3\u4ece\u9ed8\u8ba4\u7684 22 \u6539\u6210\u522b\u7684\u53ef\u4ee5\u51cf\u5c11\u7531\u4e8e\u7aef\u53e3\u626b\u63cf\u5668\u5c1d\u8bd5\u81ea\u52a8\u767b\u5f55\u9020\u6210\u7684\u767b\u5f55\u65e5\u5fd7\u6761\u76ee\uff0c\u66f4\u591a\u4fe1\u606f\u8bf7\u53c2\u8003 [[Port knocking]]\u3002\n* \u5b8c\u5168\u53d6\u6d88\u5bc6\u7801\u767b\u5f55\u65b9\u5f0f\u53ef\u4ee5\u6781\u5927\u7684\u589e\u5f3a\u5b89\u5168\u6027\uff0c\u8bf7\u67e5\u770b[[#\u5f3a\u5236\u516c\u94a5\u9a8c\u8bc1]]\u3002\u67e5\u770b[[#\u5b89\u5168\u9632\u62a4]]\u4e86\u89e3\u66f4\u591a\u589e\u5f3a\u5b89\u5168\u6027\u7684\u624b\u6bb5\u3002\n* OpenSSH \u53ef\u4ee5\u76d1\u542c\u591a\u4e2a\u7aef\u53e3\uff0c\u53ea\u9700\u5728\u914d\u7f6e\u6587\u4ef6\u4e2d\u52a0\u5165\u591a\u884c{{ic|Port ''port_number''}}\u5373\u53ef\u3002}}\n\n==== \u7ba1\u7406 sshd \u5b88\u62a4\u8fdb\u7a0b ====\n\n{{Pkg|openssh}} \u5305\u62ec\u4e86\u4e24\u79cd [[systemd]] \u670d\u52a1:\n#{{ic|sshd.service}},\u4f7f SSH \u5b88\u62a4\u8fdb\u7a0b\u59cb\u7ec8\u8fd0\u884c\uff0c\u5e76\u4e3a\u6bcf\u4e2a\u5165\u7ad9\u8fde\u63a5\u521b\u5efa\u5b50\u8fdb\u7a0b\u3002[https://projects.archlinux.org/svntogit/packages.git/tree/trunk/sshd.service?h=packages/openssh#n16] \u9002\u7528\u4e8e\u6709\u5927\u91cf SSH \u6d41\u91cf\u7684\u7cfb\u7edf\u3002[https://projects.archlinux.org/svntogit/packages.git/tree/trunk/sshd.service?h=packages/openssh&id=4cadf5dff444e4b7265f8918652f4e6dff733812#n15] \n#{{ic|sshd.socket}} + {{ic|sshd@.service}}, \u4e3a\u6bcf\u4e2a\u8fde\u63a5\u751f\u6210 SSH \u5b88\u62a4\u8fdb\u7a0b\u7684\u5b9e\u4f8b\u3002\u5b83\u610f\u5473\u7740\u8ba9 ''systemd'' \u76d1\u542c SSH socket\uff0c\u5e76\u4e14\u53ea\u6709\u5728\u6709\u8fde\u63a5\u4f20\u5165\u65f6\u542f\u52a8\u5b88\u62a4\u8fdb\u7a0b\u3002\u51e0\u4e4e\u6240\u6709\u60c5\u51b5\u4e0b\u90fd\u63a8\u8350\u4f7f\u7528{{ic|sshd}}\u3002 [https://projects.archlinux.org/svntogit/packages.git/tree/trunk/sshd.service?h=packages/openssh&id=4cadf5dff444e4b7265f8918652f4e6dff733812#n18][http://lists.freedesktop.org/archives/systemd-devel/2011-January/001107.html][http://0pointer.de/blog/projects/inetd.html]\n\n[[start]] \u5e76 [[enable]]  {{ic|sshd.service}} '''\u6216''' {{ic|sshd.socket}} \u4e2d\u7684\u4efb\u4f55\u4e00\u4e2a\u90fd\u53ef\u4ee5\u542f\u52a8\u5b88\u62a4\u8fdb\u7a0b\u3002\n\n\u5982\u679c\u9009\u62e9\u4e86 sshd.socket\uff0c\u5e76\u4e14\u4e0d\u5728\u9ed8\u8ba4\u7684 22 \u7aef\u53e3\u76d1\u542c\uff0c\u4f60\u9700\u8981[[edit|\u7f16\u8f91]] ststemd \u5355\u5143\u6587\u4ef6\uff1a\n\n{{hc|# systemctl edit sshd.socket|<nowiki>\n[Socket]\nListenStream=\nListenStream=12345\n</nowiki>}}\n\n{{\u8b66\u544a|\u4f7f\u7528 {{ic|sshd.socket}} \u4f1a\u4f7f {{ic|ListenAddress}} \u8bbe\u7f6e\u65e0\u6548\uff0c\u8fd9\u5c06\u5141\u8bb8\u6765\u81ea\u4efb\u4f55\u5730\u5740\u7684\u8fde\u63a5\u3002\u4e3a\u4e86\u8fbe\u5230\u4e0e {{ic|ListenAddress}} \u4e00\u6837\u8bbe\u7f6e IP \u7684\u6548\u679c\uff0c \u4f60\u5fc5\u987b\u5728 {{ic|ListenStream}} \u4e2d\u6307\u5b9a\u7aef\u53e3''\u548c'' IP (\u4f8b\u5982\uff1a{{ic|1=ListenStream=192.168.1.100:22}})\u3002\u4f60\u8fd8\u9700\u8981\u5728 {{ic|[Socket]}} \u4e0b\u9762\u589e\u52a0 {{ic|1=FreeBind=true}}\uff0c\u5426\u5219\u8bbe\u7f6e IP \u4e0e\u8bbe\u7f6e {{ic|ListenAddress}} \u6709\u7740\u76f8\u540c\u7684\u7f3a\u9677\uff1a\u5982\u679c\u7f51\u7edc\u672a\u53ca\u65f6\u542f\u52a8\uff0csocket \u5c06\u65e0\u6cd5\u542f\u52a8\u3002}}\n\n{{\u63d0\u793a|\u6253\u5f00 {{ic|sshd.service}} \u65f6\u5c06\u4e3a\u6bcf\u4e2a\u8fde\u63a5\u542f\u52a8\u4e00\u4e2a {{ic|sshd@.service}} \u7684\u4e34\u65f6\u5b9e\u4f8b\uff08\u5b9e\u4f8b\u540d\u79f0\u4e0d\u540c\uff09\u3002\u56e0\u6b64\uff0c{{ic|sshd.socket}} \u548c\u5e38\u89c4 {{ic|sshd.service}} \u90fd\u4e0d\u5141\u8bb8\u76d1\u89c6\u65e5\u5fd7\u4e2d\u7684\u8fde\u63a5\u5c1d\u8bd5\u3002\u4f7f\u7528 {{ic|journalctl -u \"sshd@*\"}} \u6216 {{ic|journalctl /usr/bin/sshd}} \u53ef\u4ee5\u770b\u5230 socket \u6fc0\u6d3b\u7684 SSH \u5b9e\u4f8b\u7684\u65e5\u5fd7\u3002}}\n\n==== \u5b89\u5168\u9632\u62a4 ====\n\n\u5141\u8bb8\u901a\u8fc7SSH\u8fdb\u884c\u8fdc\u7a0b\u767b\u5f55\u5bf9\u7ba1\u7406\u670d\u52a1\u5668\u5f88\u6709\u7528\uff0c\u4f46\u4e5f\u4f1a\u5bf9\u670d\u52a1\u5668\u6784\u6210\u5b89\u5168\u5a01\u80c1\u3002SSH \u901a\u5e38\u662f\u66b4\u529b\u653b\u51fb\u7684\u76ee\u6807\uff0c\u56e0\u6b64 SSH \u8bbf\u95ee\u9700\u8981\u9002\u5f53\u9650\u5236\uff0c\u4ee5\u9632\u6b62\u7b2c\u4e09\u65b9\u8bbf\u95ee\u60a8\u7684\u670d\u52a1\u5668\u3002\n\n\u4e0b\u5217\u662f\u6709\u5173\u8be5\u4e3b\u9898\u7684\u4f18\u79c0\u6307\u5357\uff1a\n\n*[https://wiki.mozilla.org/Security/Guidelines/OpenSSH Article by Mozilla Infosec Team]\n*[https://stribika.github.io/2015/01/04/secure-secure-shell.html Secure sshd]\n\n===== \u5f3a\u5236\u516c\u94a5\u9a8c\u8bc1 =====\n\n\u5982\u679c\u5ba2\u6237\u7aef\u65e0\u6cd5\u901a\u8fc7\u516c\u94a5\u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\uff0c\u5219\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cSSH\u670d\u52a1\u5668\u5c06\u4f7f\u7528\u5bc6\u7801\u6765\u9a8c\u8bc1\uff0c\u4ece\u800c\u5141\u8bb8\u6076\u610f\u7528\u6237\u901a\u8fc7[[#\u9632\u6b62\u66b4\u529b\u7834\u89e3|\u66b4\u529b\u7834\u89e3]]\u5bc6\u7801\u83b7\u53d6\u8bbf\u95ee\u6743\u9650\u3002\u4e00\u79cd\u9632\u6b62\u6b64\u7c7b\u653b\u51fb\u7684\u6709\u6548\u65b9\u6cd5\u662f\u5b8c\u5168\u7981\u7528\u5bc6\u7801\u767b\u5f55\uff0c\u5e76\u5f3a\u5236\u4f7f\u7528[[SSH keys]]\u3002\u53ef\u4ee5\u5728 {{ic|sshd_config}} \u4e2d\u7981\u7528\u4ee5\u4e0b\u9009\u9879\uff1a\n\n PasswordAuthentication no\n\n{{\u8b66\u544a|\u5728\u5c06\u4e0a\u8ff0\u9009\u9879\u6dfb\u52a0\u5230\u4f60\u7684\u914d\u7f6e\u4e4b\u524d\uff0c\u8bf7\u786e\u4fdd\u6240\u6709\u9700\u8981 SSH \u8bbf\u95ee\u7684\u5e10\u6237\u90fd\u5728\u76f8\u5e94\u7684 {{ic|authorized_keys}} \u6587\u4ef6\u4e2d\u8bbe\u7f6e\u4e86\u516c\u94a5\u9a8c\u8bc1\u3002\u8bf7\u53c2\u9605 [[SSH keys#Copying the public key to the remote server]] \u4ee5\u83b7\u53d6\u66f4\u591a\u4fe1\u606f\u3002}}\n\n===== \u53cc\u56e0\u7d20\u9a8c\u8bc1\u4e0e\u516c\u94a5 =====\n\nSSH \u53ef\u4ee5\u8bbe\u7f6e\u4e3a\u91c7\u7528\u591a\u79cd\u65b9\u5f0f\u8fdb\u884c\u8eab\u4efd\u9a8c\u8bc1\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528 {{ic|AuthenticationMethods}} \u9009\u9879\u6765\u6307\u660e\u5728\u767b\u5f55\u65f6\u9700\u8981\u54ea\u4e9b\u8eab\u4efd\u9a8c\u8bc1\u65b9\u5f0f\u3002\u8fd9\u4f7f\u4f60\u53ef\u4ee5\u7528\u516c\u94a5\u4e0e\u53cc\u56e0\u7d20\u9a8c\u8bc1\u7ed3\u5408\u6765\u767b\u5f55\u3002\n\n\u53c2\u9605 [[Google Authenticator (\u7b80\u4f53\u4e2d\u6587)]] \u6765\u8bbe\u7f6e Google Authenticator\u3002\n\n\u4e3a\u4e86\u4f7f [[PAM (\u7b80\u4f53\u4e2d\u6587)]] \u4e0e OpenSSH \u534f\u540c\u5de5\u4f5c\uff0c \u7f16\u8f91\u4e0b\u5217\u6587\u4ef6\uff1a\n\n{{hc|/etc/ssh/sshd_config|\nChallengeResponseAuthentication yes\nAuthenticationMethods publickey keyboard-interactive:pam\n}}\n\n\u7136\u540e\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u516c\u94a5'''\u6216''' PAM \u4e2d\u8bbe\u7f6e\u7684\u7528\u6237\u9a8c\u8bc1\u4fe1\u606f\u4e24\u8005\u4e4b\u4e00\u767b\u5f55\u3002\n\n\u53e6\u5916\uff0c\u5982\u679c\u4f60\u60f3\u767b\u5f55\u65f6\u540c\u65f6\u9a8c\u8bc1\u516c\u94a5'''\u548c''' PAM\uff0c\u8bf7\u4f7f\u7528\u9017\u53f7\u800c\u4e0d\u662f\u7a7a\u683c\u6765\u5206\u9694 AuthenticationMethods\uff1a\n\n{{hc|/etc/ssh/sshd_config|\nChallengeResponseAuthentication yes\nAuthenticationMethods publickey''','''keyboard-interactive:pam\n}}\n\n\u901a\u8fc7\u8981\u6c42\u63d0\u4f9b\u516c\u94a5'''\u548c''' PAM \u8ba4\u8bc1\uff0c\u4f60\u53ef\u80fd\u5e0c\u671b\u7981\u7528\u5bc6\u7801\u767b\u5f55\uff1a\n{{hc|/etc/pam.d/sshd|\nauth      required  pam_securetty.so     #disable remote root\n#Require google authenticator\nauth      required  pam_google_authenticator.so\n#But not password\n#auth      include   system-remote-login\naccount   include   system-remote-login\npassword  include   system-remote-login\nsession   include   system-remote-login\n}}\n\n===== \u9632\u6b62\u66b4\u529b\u7834\u89e3 =====\n\u66b4\u529b\u7834\u89e3\u7684\u6982\u5ff5\u5f88\u7b80\u5355\uff0c\u5373\u67d0\u4eba\u4e0d\u65ad\u5c1d\u8bd5\u7528\u5927\u91cf\u968f\u673a\u4ea7\u751f\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u5bf9\u6765\u767b\u5f55\u7f51\u9875\u6216\u670d\u52a1\u5668\u7684\u67d0\u4e2a\u670d\u52a1\uff08\u6bd4\u5982 SSH\uff09\u3002\n\n====== \u4f7f\u7528 ufw ======\n\n\u8bf7\u53c2\u9605 [[ufw#Rate limiting with ufw]].\n\n====== \u4f7f\u7528 iptables ======\n\n{{Merge|Simple_stateful_firewall#Bruteforce_attacks|Out of scope, same technique as already described in the SSF.}}\n\n\u5982\u679c\u4f60\u5df2\u7ecf\u5728\u7528 iptables\uff0c\u53ef\u4ee5\u914d\u7f6e\u4ee5\u4e0b\u89c4\u5219\u6765\u4fdd\u62a4 SSH \u514d\u53d7\u66b4\u7834\u3002\n\n{{\u6ce8\u610f|\u6b64\u793a\u4f8b\u4e2d SSH \u6240\u7528\u7684 TCP \u7aef\u53e3\u5df2\u7ecf\u6539\u4e3a\u4e86 42660\u3002}}\n\n\u5728\u5e94\u7528\u540e\u9762\u7684\u89c4\u5219\u4e4b\u524d\uff0c\u6211\u4eec\u5148\u65b0\u5efa\u4e00\u6761\u89c4\u5219\u94fe\u6765\u8bb0\u5f55\u5e76\u62d2\u7edd\u8fc7\u591a\u7684\u8fde\u63a5\u8bf7\u6c42\uff1a\n\n # iptables -N LOG_AND_DROP\n\n\u7b2c\u4e00\u6761\u89c4\u5219\u5c06\u5e94\u7528\u4e8e\u9884\u793a TCP 42660 \u7aef\u53e3\u6709\u65b0\u8fde\u63a5\u7684\u6570\u636e\u5305\uff1a\n\n # iptables -A INPUT -p tcp -m tcp --dport 42660 -m state --state NEW -m recent --set --name DEFAULT --rsource\n\n\u4e0b\u4e00\u6761\u89c4\u5219\u544a\u8bc9 iptables \u67e5\u627e\u5339\u914d\u524d\u4e00\u6761\u89c4\u5219\u7684\u6570\u636e\u5305\uff0c\u8fd9\u4e9b\u6570\u636e\u5305\u4e5f\u6765\u81ea\u5df2\u6dfb\u52a0\u5230\u76d1\u89c6\u5217\u8868\u4e2d\u7684\u4e3b\u673a\u3002\n\n # iptables -A INPUT -p tcp -m tcp --dport 42660 -m state --state NEW -m recent --update --seconds 90 --hitcount 4 --name DEFAULT --rsource -j LOG_AND_DROP\n\n\u73b0\u5728\uff0c\u8ba9 iptables \u51b3\u5b9a\u5982\u4f55\u5904\u7406 TCP 42660 \u7aef\u53e3\u7684\u901a\u4fe1\u4e2d\u4e0d\u7b26\u5408\u4e0a\u8ff0\u89c4\u5219\u7684\u6570\u636e\u5305\u3002\n\n # iptables -A INPUT -p tcp -m tcp --dport 42660 -j ACCEPT\n\n\u6211\u4eec\u5411 LOG_AND_DROP \u8868\u589e\u52a0\u5982\u4e0b\u89c4\u5219\uff0c\u5e76\u4f7f\u7528 -j (jump) \u53c2\u6570\u5c06\u6570\u636e\u5305\u7684\u4fe1\u606f\u4f20\u9012\u7ed9\u65e5\u5fd7\u8bb0\u5f55\u5de5\u5177\u3002\n\n # iptables -A LOG_AND_DROP -j LOG --log-prefix \"iptables deny: \" --log-level 7\n\n\u5728\u6309\u7167\u7b2c\u4e00\u6761\u89c4\u5219\u8fdb\u884c\u8bb0\u5f55\u540e\uff0c\u6240\u6709\u6570\u636e\u5305\u5c06\u88ab\u4e22\u5f03\u3002\n\n # iptables -A LOG_AND_DROP -j DROP\n\n====== \u9632\u6b62\u66b4\u529b\u7834\u89e3\u7684\u5de5\u5177 ======\n\n\u4f60\u53ef\u4ee5\u7528\u7c7b\u4f3c [[fail2ban]] \u6216 [[sshguard]] \u7684\u81ea\u52a8\u9632\u66b4\u7834\u7684\u811a\u672c\u6765\u963b\u6321\u653b\u51fb\u8005\u3002\n\n* \u4ec5\u5141\u8bb8\u6765\u81ea\u53d7\u4fe1\u4efb\u4f4d\u7f6e\u7684 SSH \u5165\u7ad9\u8fde\u63a5\u3002\n* \u4f7f\u7528 [[fail2ban]] \u6216 [[sshguard]] \u81ea\u52a8\u963b\u6b62\u591a\u6b21\u5bc6\u7801\u9a8c\u8bc1\u5931\u8d25\u7684 IP \u5730\u5740\u3002\n* \u4f7f\u7528 [https://github.com/jtniehof/pam_shield pam_shield] \u6765\u963b\u6b62\u5728\u4e00\u5b9a\u65f6\u95f4\u5185\u6267\u884c\u8fc7\u591a\u767b\u5f55\u5c1d\u8bd5\u7684 IP \u5730\u5740\u3002\u4e0e [[fail2ban]] \u6216 [[sshguard]]\u4e0d\u540c\uff0c\u8be5\u7a0b\u5e8f\u4e0d\u8003\u8651\u767b\u5f55\u6210\u529f\u6216\u5931\u8d25\u3002\n\n===== \u7981\u7528\u6216\u9650\u5236 root \u8d26\u6237\u767b\u5f55 =====\n{{Out of date|\u6700\u65b0\u7248\u672c\u9ed8\u8ba4\u5df2\u7981\u7528 root \u8d26\u6237\u767b\u5f55\u3002\u6682\u4e0d\u6e05\u695a\u672c\u8282\u7684\u54ea\u4e9b\u90e8\u5206\u662f\u591a\u4f59\u7684\u3002}}\n\n\u5141\u8bb8 root \u8d26\u6237\u968f\u610f\u901a\u8fc7 SSH \u767b\u5f55\u901a\u5e38\u662f\u4e0d\u5b89\u5168\u7684\uff0c\u6709\u4e24\u79cd\u65b9\u6cd5\u53ef\u4ee5\u9650\u5236 root \u8d26\u6237\u901a\u8fc7 SSH \u767b\u5f55\uff0c\u4ece\u800c\u63d0\u9ad8\u5b89\u5168\u6027\u3002\n\n====== \u7981\u7528 root \u767b\u5f55 ======\n\nSudo \u53ef\u4ee5\u6709\u9009\u62e9\u5730\u4e3a\u9700\u8981 root \u6743\u9650\u7684\u64cd\u4f5c\u63d0\u4f9b\u76f8\u5e94\u7684\u6743\u9650\uff0c\u4e14\u4e0d\u9700\u8981\u767b\u5f55 root \u8d26\u6237\u3002\u8fd9\u6837\u5373\u53ef\u5173\u95ed root \u767b\u5f55\uff0c\u5e76\u4e14\u53ef\u4ee5\u770b\u505a\u4e00\u79cd\u9632\u8303\u66b4\u529b\u653b\u51fb\u7684\u5b89\u5168\u63aa\u65bd\uff0c\u56e0\u4e3a\u73b0\u5728\u653b\u51fb\u8005\u9664\u4e86\u8981\u731c\u6d4b\u5bc6\u7801\u5916\u8fd8\u8981\u731c\u6d4b\u5e10\u6237\u540d\u79f0\u3002\n\n\u901a\u8fc7\u7f16\u8f91 {{ic|/etc/ssh/sshd_config}} \u4e2d\u7684 \"Authentication\" \u4e00\u8282\u53ef\u4ee5\u4f7f SSH \u5c4f\u853d root \u7528\u6237\u767b\u5f55\uff0c\u53ea\u8981\u5c06 {{ic|#PermitRootLogin prohibit-password}} \u6539\u6210 {{ic|no}} \u5e76\u53d6\u6d88\u8be5\u884c\u6ce8\u91ca\u5373\u53ef\uff1a\n\n{{hc|/etc/ssh/sshd_config|\nPermitRootLogin no\n...\n}}\n\n\u7136\u540e [[restart|\u91cd\u542f]] SSH \u5b88\u62a4\u8fdb\u7a0b\u3002\n\n\u73b0\u5728\u4f60\u5c06\u65e0\u6cd5\u901a\u8fc7 root \u8d26\u6237\u767b\u5f55\uff0c\u4f46\u4ecd\u53ef\u4ee5\u7528\u666e\u901a\u8d26\u6237\u767b\u5f55\u5e76\u4f7f\u7528 [[su]] \u6216\u8005 [[sudo]] \u6765\u5b8c\u6210\u7cfb\u7edf\u7ef4\u62a4\u5de5\u4f5c\u3002\n\n====== \u9650\u5236 root \u767b\u5f55 ======\n\n\u4e00\u4e9b\u81ea\u52a8\u5316\u7684\u7ef4\u62a4\u4efb\u52a1\uff08\u6bd4\u5982\u8fdc\u7a0b\u5907\u4efd\u6574\u4e2a\u7cfb\u7edf\uff09\u9700\u8981\u5b8c\u6574\u7684 root \u6743\u9650\u3002\u8981\u4ee5\u5b89\u5168\u7684\u65b9\u5f0f\u5141\u8bb8 root \u767b\u5f55\u800c\u4e0d\u662f\u7981\u7528\u5b83\uff0c\u53ef\u4ee5\u53ea\u5141\u8bb8\u8fdc\u7a0b\u767b\u5f55\u7684 root \u7528\u6237\u6267\u884c\u6307\u5b9a\u7684\u547d\u4ee4\uff0c\u5728 {{ic|~root/.ssh/authorized_keys}} \u5934\u90e8\u52a0\u4e0a\u6307\u5b9a\u7684\u5bc6\u94a5\u5373\u53ef\uff0c\u4f8b\u5982\uff1a\n\n command=\"/usr/lib/rsync/rrsync -ro /\" ssh-rsa \u2026\n\n\u8fd9\u6837\uff0c\u4efb\u4f55\u7528\u6237\u6301\u6709\u8be5\u79d8\u94a5\u5373\u53ef\u6267\u884c\u5f15\u53f7\u4e4b\u95f4\u7684\u547d\u4ee4\u3002\n\n\u4e3a\u4e86\u5f25\u8865\u56e0 root \u7528\u6237\u540d\u79f0\u66b4\u9732\u800c\u5bfc\u81f4\u53d7\u653b\u51fb\u7684\u53ef\u80fd\u6027\u589e\u52a0\uff0c\u53ef\u4ee5\u5c06\u4ee5\u4e0b\u547d\u4ee4\u52a0\u5165 {{ic|sshd_config}}\uff1a\n\n PermitRootLogin forced-commands-only\n\n\u8be5\u8bbe\u7f6e\u4e0d\u4ec5\u4f1a\u9650\u5236 root \u7528\u6237\u901a\u8fc7 SSH \u6267\u884c\u7684\u547d\u4ee4\uff0c\u8fd8\u4f1a\u7981\u7528\u5bc6\u7801\u767b\u5f55\u65b9\u5f0f\uff0c\u5f3a\u5236 root \u5e10\u6237\u4f7f\u7528\u516c\u94a5\u767b\u5f55\u3002\n\n\u5982\u679c\u4e0d\u60f3\u9650\u5236 root \u7528\u6237\u53ef\u6267\u884c\u7684\u547d\u4ee4\uff0c\u53ef\u4ee5\u4ec5\u5173\u95ed\u5bc6\u7801\u9a8c\u8bc1\u6765\u5f3a\u5236\u4f7f\u7528\u516c\u94a5\u9a8c\u8bc1\uff1a\n\n PermitRootLogin prohibit-password\n\n===== \u4fdd\u62a4 authorized_keys \u6587\u4ef6 =====\n\n\u4f60\u53ef\u4ee5\u963b\u6b62\u5176\u4ed6\u7528\u6237\u5411\u8be5\u6587\u4ef6\u52a0\u5165\u65b0\u516c\u94a5\u4e14\u901a\u8fc7\u65b0\u7684\u516c\u94a5\u8fde\u63a5\u3002\n\n\u628a {{ic|authorized_keys}} \u6587\u4ef6\u7684\u6743\u9650\u5168\u90e8\u53bb\u6389\uff0c\u53ea\u4fdd\u7559\u8bfb\u6743\u9650\uff1a\n\n $ chmod 400 ~/.ssh/authorized_keys\n\n\u4e3a\u9632\u6b62\u7528\u6237\u628a\u6743\u9650\u6539\u56de\u6765\uff0c\u53ef\u4ee5\u5bf9 {{ic|authorized_keys}} \u6587\u4ef6\u91c7\u53d6 [[File permissions and attributes#chattr and lsattr|set the immutable bit\uff08\u8bbe\u4e3a\u4e0d\u53ef\u53d8\uff09]] \u64cd\u4f5c\u3002\u5c3d\u7ba1\u5982\u6b64\uff0c\u7528\u6237\u4ecd\u7136\u53ef\u4ee5\u91cd\u547d\u540d {{ic|~/.ssh}} \u5e76\u65b0\u5efa\u4e00\u4e2a {{ic|~/.ssh}} \u76ee\u5f55\u548c  {{ic|authorized_keys}} \u6587\u4ef6\u3002\u6240\u4ee5 {{ic|~/.ssh}} \u76ee\u5f55\u4e5f\u8981\u8bbe\u7f6e immutable bit\u3002\n\n{{\u6ce8\u610f|\u5982\u679c\u4f60\u81ea\u5df1\u9700\u8981\u65b0\u589e\u4e00\u4e2a\u516c\u94a5\uff0c\u4f60\u9700\u8981\u5148\u79fb\u9664 {{ic|authorized_keys}} \u6587\u4ef6\u7684 immutable bit\uff0c\u5e76\u589e\u52a0\u5199\u6743\u9650\uff0c\u6700\u540e\u6309\u4e0a\u8ff0\u6b65\u9aa4\u91cd\u65b0\u52a0\u5bc6\u3002}}\n\n== \u5176\u4ed6 SSH \u5ba2\u6237\u7aef\u4e0e\u670d\u52a1\u7aef ==\n\u9664\u4e86 OpenSSH\uff0c\u8fd8\u6709\u5f88\u591a\u53ef\u7528\u7684 SSH [[Wikipedia:Comparison of SSH clients|\u5ba2\u6237\u7aef]] \u548c [[Wikipedia:Comparison of SSH servers|\u670d\u52a1\u7aef]]\u3002\n\n=== Dropbear ===\n[[Wikipedia:Dropbear (software)|Dropbear]] \u662f\u4e00\u4e2a SSH-2 \u5ba2\u6237\u7aef\u4e0e\u670d\u52a1\u7aef\u3002 {{Pkg|dropbear}} \u53ef\u4ee5\u4ece [[official repositories|\u5b98\u65b9\u4ed3\u5e93]] \u4e0b\u8f7d\u3002\n\n\u5b83\u7684\u547d\u4ee4\u884c\u7248\u5ba2\u6237\u7aef\u53eb dbclient\u3002\n\n=== Mosh ===\n\u6765\u81ea Mosh [http://mosh.mit.edu/ \u7f51\u7ad9]\uff1a\n\n:Remote terminal application that allows roaming, supports intermittent connectivity, and provides intelligent local echo and line editing of user keystrokes. Mosh is a replacement for SSH. It is more robust and responsive, especially over slow connections such as Wi-Fi, cellular, and long-distance.\n:\u7ffb\u8bd1\uff1a\u5141\u8bb8\u201c\u6f2b\u6e38\u201d\u7684\u8fdc\u7a0b\u7ec8\u7aef\uff0c\u652f\u6301\u95f4\u6b47\u6027\u7684\u8fde\u63a5\uff0c\u5e76\u63d0\u4f9b\u5bf9\u4e8e\u7528\u6237\u6309\u952e\u7684\u667a\u80fd\u672c\u5730\u56de\u9988\u548c\u884c\u7f16\u8f91\u56de\u9988\u3002Mosh \u662f SSH \u7684\u66ff\u4ee3\u54c1\u3002\u5b83\u66f4\u52a0\u5f3a\u5927\u800c\u5feb\u901f\uff0c\u7279\u522b\u9488\u5bf9\u8bf8\u5982 Wi-Fi\uff0c\u79fb\u52a8\u7f51\u7edc\u548c\u8d85\u8fdc\u8ddd\u79bb\u7b49\u6162\u901f\u8fde\u63a5\u73af\u5883\u3002\n\n[[Install|\u5b89\u88c5]]  {{Pkg|mosh}} \u8fd9\u4e2a\u5305\uff0c \u6216\u5b89\u88c5\u6700\u65b0\u7248\uff1a{{AUR|mosh-git}}\u3002\n\nMosh \u6709\u4e00\u4e2a\u672a\u5199\u5165\u6587\u6863\u7684\u547d\u4ee4\u884c\u9009\u9879\uff1a{{ic|1=--predict=experimental}}\uff0c\u5b83\u53ef\u4ee5\u4ea7\u751f\u66f4\u6709\u529b\u7684\u672c\u5730\u6309\u952e\u54cd\u5e94\u3002\u5bf9\u964d\u4f4e\u952e\u76d8\u8f93\u5165\u89c6\u89c9\u4e0a\u7684\u5ef6\u8fdf\u786e\u8ba4\u611f\u5174\u8da3\u7684\u7528\u6237\u53ef\u80fd\u66f4\u559c\u6b22\u8fd9\u4e2a\u9884\u6d4b\u6a21\u5f0f\u3002\n\n{{\u63d0\u793a|Mosh \u4ece\u8bbe\u8ba1\u4e0a\u5c31\u4e0d\u5141\u8bb8\u4f60\u8bbf\u95ee\u4f1a\u8bdd\u7684\u5386\u53f2\u8bb0\u5f55\uff0c\u8bf7\u8003\u8651\u5b89\u88c5\u7ec8\u7aef\u590d\u7528\u5de5\u5177\uff0c\u5982 [[tmux]] \u6216 [[GNU Screen]] \u3002}}\n\n== \u63d0\u793a\u4e0e\u6280\u5de7 ==\n\n{{Accuracy|\u6839\u636e\u76ee\u524d\u672c\u6587\u7684\u5e03\u5c40\uff0c\u8fd9\u90e8\u5206\u770b\u8d77\u6765\u5e94\u8be5\u662f\u901a\u7528\u7684\uff0c\u4f46\u5b9e\u9645\u4e0a\u5927\u90e8\u5206\u63d0\u4f9b\u7684\u6280\u5de7\u53ea\u80fd\u5728 ''openssh'' \u4e2d\u4f7f\u7528\u3002\u6bd4\u5982 ''dropbear'' (\u5728 [[#Other SSH clients and servers]] \u5217\u8868\u4e2d) \u4e0d\u652f\u6301 SOCKS \u534f\u8bae\u3002[https://en.wikipedia.org/wiki/Comparison_of_SSH_clients#Technical]}}\n\n=== \u52a0\u5bc6 Socks \u901a\u9053 ===\n\n\u5bf9\u4e8e\u8fde\u63a5\u5230\u5404\u79cd\u4e0d\u5b89\u5168\u7684\u65e0\u7ebf\u7f51\u7edc\u4e0a\u7684\u7b14\u8bb0\u672c\u7535\u8111\u7528\u6237\u6765\u8bf4,\u8fd9\u4e2a\u662f\u7279\u522b\u6709\u7528\u7684\uff01\u552f\u4e00\u6240\u9700\u8981\u7684\u5c31\u662f\u4e00\u4e2a\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u5904\u4e8e\u5b89\u5168\u7684\u5730\u70b9\u7684 SSH \u670d\u52a1\u5668\uff0c\u6bd4\u5982\u5728\u5bb6\u91cc\u6216\u529e\u516c\u5ba4\u3002\u7528\u52a8\u6001\u7684 DNS \u670d\u52a1 [http://www.dyndns.org/ DynDNS] \u4e5f\u53ef\u80fd\u662f\u5f88\u6709\u7528\u7684\uff0c\u8fd9\u6837\u4f60\u5c31\u4e0d\u5fc5\u8bb0\u4f4f\u4f60\u7684 IP \u4e86\u3002\n\n==== \u7b2c\u4e00\u6b65\uff1a\u5f00\u59cb\u8fde\u63a5 ====\n\n\u4f60\u53ea\u8981\u6267\u884c\u8fd9\u4e00\u4e2a\u547d\u4ee4\u5c31\u80fd\u5f00\u59cb\u4f60\u7684\u8fde\u63a5\uff1a\n\n $ ssh -TND 4711 ''user''@''host''\n\n\u8fd9\u91cc\u7684 {{Ic|''user''}} \u662f\u4f60\u5728 {{Ic|''host''}} \u8fd9\u53f0 SSH \u670d\u52a1\u5668\u4e0a\u7684\u7528\u6237\u540d\u3002\u5b83\u4f1a\u8ba9\u4f60\u8f93\u5165\u5bc6\u7801\uff0c\u7136\u540e\u4f60\u5c31\u80fd\u8fde\u4e0a\u4e86\u3002 {{Ic|N}} \u8868\u793a\u4e0d\u91c7\u7528\u4ea4\u4e92\u63d0\u793a\uff0c\u800c {{Ic|D}} \u8868\u793a\u6307\u5b9a\u76d1\u542c\u7684\u672c\u5730\u7aef\u53e3\uff08\u4f60\u53ef\u4ee5\u4f7f\u7528\u4efb\u4f55\u4f60\u559c\u6b22\u7684\u6570\u5b57\uff09\uff0c{{Ic|T}} \u8868\u793a\u7981\u7528\u4f2a tty \u5206\u914d\u3002\n\n\u52a0\u4e86 {{Ic|-v}} (verbose) \u6807\u5fd7\u4ee5\u540e\u7684\u8f93\u51fa\u53ef\u4ee5\u8ba9\u4f60\u80fd\u591f\u9a8c\u8bc1\u5230\u5e95\u8fde\u4e86\u54ea\u4e2a\u7aef\u53e3\u3002\n\n==== \u7b2c\u4e8c\u6b65\uff1a\u914d\u7f6e\u4f60\u7684\u6d4f\u89c8\u5668(\u6216\u5176\u5b83\u7a0b\u5e8f) ====\n\n\u5982\u679c\u4f60\u6ca1\u6709\u914d\u7f6e\u4f60\u7684\u6d4f\u89c8\u5668\uff08\u6216\u5176\u4ed6\u7a0b\u5e8f\uff09\u4f7f\u7528\u8fd9\u4e2a\u65b0\u521b\u5efa\u7684 socks \u96a7\u9053\uff0c\u4e0a\u8ff0\u6b65\u9aa4\u662f\u65e0\u6548\u7684\u3002\u7531\u4e8e\u5f53\u524d\u7248\u672c\u7684 SSH \u652f\u6301 SOCKS4 \u548c SOCKS5\uff0c\u56e0\u6b64\u60a8\u53ef\u4ee5\u4f7f\u7528\u5176\u4e2d\u4efb\u4f55\u4e00\u79cd\u3002\n\n* \u5bf9\u4e8e Firefox: ''Edit > Preferences > Advanced > Network > Connection > Setting'': <br> \u9009\u4e2d ''Manual proxy configuration'' \u5355\u9009\u6846, \u7136\u540e\u5728 ''SOCKS host'' \u91cc\u8f93\u5165 {{ic|localhost}}\uff0c \u7136\u540e\u5728\u540e\u9762\u90a3\u4e2a\u6846\u4e2d\u8f93\u5165\u4f60\u7684\u7aef\u53e3\u53f7\uff08\u672c\u4f8b\u4e2d\u4e3a {{ic|4711}}\uff09\u3002\n\nFirefox \u4e0d\u4f1a\u81ea\u52a8\u901a\u8fc7 socks \u96a7\u9053\u53d1\u9001 DNS \u8bf7\u6c42\uff0c\u8fd9\u4e00\u6f5c\u5728\u7684\u9690\u79c1\u95ee\u9898\u53ef\u4ee5\u901a\u8fc7\u4ee5\u4e0b\u6b65\u9aa4\u6765\u89e3\u51b3\uff1a\n\n# \u5728 Firefox \u5730\u5740\u680f\u4e2d\u8f93\u5165\uff1aabout:config \u3002\n# \u641c\u7d22\uff1anetwork.proxy.socks_remote_dns\n# \u5c06\u8be5\u503c\u8bbe\u4e3a true\u3002\n# \u91cd\u542f\u6d4f\u89c8\u5668\u3002\n\n* \u5bf9\u4e8e Chromium: \u4f60\u53ef\u4ee5\u5c06 SOCKS \u8bbe\u7f6e\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\u6216\u547d\u4ee4\u884c\u9009\u9879\u3002\u6211\u5efa\u8bae\u5c06\u4e0b\u5217\u51fd\u6570\u4e4b\u4e00\u52a0\u5165\u5230\u4f60\u7684 {{ic|.bashrc}}\uff1a\n function secure_chromium {\n     port=4711\n     export SOCKS_SERVER=localhost:$port\n     export SOCKS_VERSION=5\n     chromium &\n     exit\n }\n\u6216\u8005\n function secure_chromium {\n     port=4711\n     chromium --proxy-server=\"socks://localhost:$port\" &\n     exit\n }\n\n\u73b0\u5728\u6253\u5f00\u7ec8\u7aef\u7136\u540e\u8f93\u5165\uff1a\n\n $ secure_chromium\n\n\u4eab\u53d7\u4f60\u7684\u5b89\u5168\u96a7\u9053\u5427\uff01\n\n=== X11 \u8f6c\u53d1 ===\n\n\u4e3a\u4e86\u901a\u8fc7 SSH \u8fd0\u884c\u56fe\u5f62\u7a0b\u5e8f\u4f60\u5fc5\u987b\u4f7f\u7528 X11 \u8f6c\u53d1 (forwarding)\u3002\u8fd9\u4e0d\u8981\u6c42\u5bf9\u7aef\u5b89\u88c5\u4e86\u5b8c\u6574\u7684 X11\uff0c\u4f46\u662f\u81f3\u5c11\u8981\u88c5\u597d ''xauth''\u3002''xauth'' \u662f\u4e00\u4e2a\u7528\u6765\u7ba1\u7406 {{ic|Xauthority}} \u914d\u7f6e\u7684\u5de5\u5177\uff0c\u8be5\u914d\u7f6e\u7528\u4e8e\u670d\u52a1\u5668\u4e0e\u5ba2\u6237\u7aef\u4e4b\u95f4\u7684 X11 \u4f1a\u8bdd\u8ba4\u8bc1([http://xmodulo.com/2012/11/how-to-enable-x11-forwarding-using-ssh.html source])\u3002\n\n{{\u8b66\u544a|X11 \u8f6c\u53d1\u6709\u7740\u91cd\u8981\u7684\u5b89\u5168\u95ee\u9898\u9700\u8981\u8003\u8651\uff0c\u81f3\u5c11\u5e94\u5148\u9605\u8bfb {{man|1|ssh}}\u3001{{man|5|sshd_config}} \u548c {{man|5|ssh_config}} \u624b\u518c\u9875\u3002\u4e5f\u53ef\u4ee5\u53c2\u8003 [https://security.stackexchange.com/questions/14815/security-concerns-with-x11-forwarding \u8fd9\u4e2a StackExchange \u5e16]\u3002}}\n\n==== \u914d\u7f6e ====\n\n\u5728\u8fdc\u7a0b\u4e3b\u673a\u4e0a\uff1a\n\n*[[install|\u5b89\u88c5]] {{Pkg|xorg-xauth}} \u548c {{Pkg|xorg-xhost}} \u8fd9\u4e24\u4e2a\u5305\n*\u5728 {{ic|/etc/ssh/ssh'''d'''_config}} \u4e0a:\n**\u786e\u4fdd {{ic|AllowTcpForwarding}} \u548c {{ic|X11UseLocalhost}} \u5df2\u7ecf\u8bbe\u7f6e\u4e3a ''yes''\uff0c\u5e76\u4e14 {{ic|X11DisplayOffset}} \u8bbe\u7f6e\u4e3a ''10'' \uff08\u8fd9\u4e9b\u662f\u9ed8\u8ba4\u8bbe\u7f6e\uff0c\u53c2\u8003 {{man|5|sshd_config}}\uff09\n**\u5c06 {{ic|X11Forwarding}} \u8bbe\u7f6e\u4e3a ''yes''\n* \u6700\u540e [[restart|\u91cd\u542f]]  [[#Daemon management|''sshd'' \u5b88\u62a4\u8fdb\u7a0b]]{{Broken section link}}.\n\n\u5728\u5ba2\u6237\u7aef\u4e0a\uff0c\u901a\u8fc7\u5728\u547d\u4ee4\u884c\u8bbe\u7f6e {{ic|-X}} \u53c2\u6570\u542f\u7528 {{ic|ForwardX11}}\uff0c\u6216\u8005\u5728[[#\u914d\u7f6e|\u5ba2\u6237\u7aef\u914d\u7f6e\u6587\u4ef6]]\u4e2d\u5c06 {{ic|ForwardX11}} \u8bbe\u7f6e\u4e3a ''yes''\u3002\n\n{{\u63d0\u793a|\u5982\u679c GUI \u7ed8\u5236\u4e0d\u6b63\u5e38\u6216\u8005\u6709\u9519\u8bef\u63d0\u793a\uff0c\u4f60\u53ef\u4ee5\u542f\u7528 {{ic|ForwardX11Trusted}} \u9009\u9879\uff08\u6216\u5728\u547d\u4ee4\u884c\u4e2d\u52a0\u4e0a {{ic|-Y}} \u53c2\u6570\uff09\uff0c\u8fd9\u5c06\u4f7f X11 \u8f6c\u53d1\u8131\u79bb [http://www.x.org/wiki/Development/Documentation/Security/ X11 SECURITY extension] \u7684\u63a7\u5236\uff0c\u5982\u679c\u4f60\u8fd9\u6837\u505a\uff0c\u8bf7\u786e\u4fdd\u5df2\u7ecf\u8bfb\u8fc7\u672c\u8282\u5f00\u5934\u7684[[#X11 \u8f6c\u53d1|\u8b66\u544a]]\u3002}}\n\n==== \u4f7f\u7528\u65b9\u6cd5 ====\n\n{{Accuracy|{{ic|xhost}} [http://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-from-ubuntu-machine#comment-17148 \u901a\u5e38\u4e0d\u662f\u5fc5\u987b\u7684]}}\n\n\u6b63\u5e38\u767b\u5f55\u8fdc\u7a0b\u4e3b\u673a\uff0c\u5982\u679c\u5ba2\u6237\u7aef\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u6ca1\u6709\u542f\u7528 ''ForwardX11'' \u90a3\u5c31\u52a0\u4e0a {{ic|-X}} \u53c2\u6570\uff1a\n $ ssh -X ''user@host''\n\n\u5982\u679c\u5728\u8fd0\u884c\u56fe\u5f62\u7a0b\u5e8f\u7684\u65f6\u5019\u78b0\u5230\u9519\u8bef\uff0c\u5c1d\u8bd5\u7528 ''ForwardX11Trusted'' \u4ee3\u66ff ''ForwardX11'' \uff1a\n $ ssh -Y ''user@host''\n\n\u73b0\u5728\u4f60\u5e94\u8be5\u53ef\u4ee5\u8fd0\u884c\u670d\u52a1\u5668\u4e0a\u7684\u4efb\u4f55 X \u56fe\u5f62\u7a0b\u5e8f\uff0c\u4efb\u4f55\u8f93\u51fa\u90fd\u4f1a\u91cd\u5b9a\u5411\u81f3\u4f60\u5f53\u524d\u7684\u4f1a\u8bdd\uff1a\n $ xclock\n\n\u5982\u679c\u78b0\u5230 \"Cannot open display\" \u7684\u9519\u8bef\uff0c\u8bf7\u5c1d\u8bd5\u7528\u975e\u7ba1\u7406\u5458\u8d26\u6237\u8fd0\u884c\u4e0b\u5217\u547d\u4ee4\uff1a\n $ xhost +\n\n\u4e0a\u8ff0\u547d\u4ee4\u5c06\u5141\u8bb8\u4efb\u4f55\u4eba\u8f6c\u53d1 X11 \u5e94\u7528\u7a0b\u5e8f\uff0c\u8fd9\u4e2a\u547d\u4ee4\u53ef\u4ee5\u9650\u5236\u7279\u5b9a\u7684\u4e3b\u673a\u7c7b\u578b\uff1a\n $ xhost +hostname\n\n\u5176\u4e2d hostname \u662f\u8981\u8f6c\u53d1\u5230\u7684\u7279\u5b9a\u4e3b\u673a\u7684\u540d\u79f0\u3002\u66f4\u591a\u4fe1\u606f\u53ef\u4ee5\u67e5\u770b {{man|1|xhost}}\u3002\n\n\u8bf7\u6ce8\u610f\u67d0\u4e9b\u5e94\u7528\u7a0b\u5e8f\uff0c\u5b83\u4eec\u4f1a\u68c0\u67e5\u672c\u5730\u8ba1\u7b97\u673a\u4e0a\u6b63\u5728\u8fd0\u884c\u7684\u5b9e\u4f8b\u3002[[Firefox]] \u5c31\u662f\u5176\u4e2d\u4e4b\u4e00\uff1a\u4f60\u53ef\u4ee5\u5173\u6389\u672c\u673a\u4e0a\u7684 Firefox \u6216\u8005\u4f7f\u7528\u4ee5\u4e0b\u542f\u52a8\u53c2\u6570\u6765\u542f\u52a8\u8fdc\u7a0b\u5b9e\u4f8b\uff1a\n $ firefox --no-remote\n\n\u5f53\u4f60\u8fde\u63a5\u65f6\u6536\u5230 \"X11 forwarding request failed on channel 0\" \u9519\u8bef\uff08\u6216\u8005\u670d\u52a1\u5668\u4e0a\u7684 {{ic|/var/log/errors.log}} \u6587\u4ef6\u663e\u793a \"Failed to allocate internet-domain X11 display socket\" \u9519\u8bef\uff09\uff0c\u8bf7\u786e\u4fdd\u5df2\u7ecf\u5b89\u88c5 {{Pkg|xorg-xauth}}\uff0c\u5982\u679c\u88c5\u5b8c\u4e86\u4ecd\u7136\u4e0d\u8d77\u4f5c\u7528\uff0c\u5c1d\u8bd5\u4ee5\u4e0b\u65b9\u6cd5\u4e4b\u4e00\uff1a\n\n* \u5728''\u670d\u52a1\u5668''\u7684 {{ic|ssh'''d'''_config}} \u4e2d\u542f\u7528 {{ic|AddressFamily any}} \u9009\u9879\uff0c\u6216\u8005\n* \u5c06''\u670d\u52a1\u5668''\u7684 {{ic|ssh'''d'''_config}} \u4e2d\u7684 {{ic|AddressFamily}} \u9009\u9879\u8bbe\u4e3a inet\u3002\n\u5c06\u5176\u8bbe\u7f6e\u4e3a inet \u53ef\u80fd\u4f1a\u4fee\u590d IPv4 \u4e0a\u7684 Ubuntu \u5ba2\u6237\u7aef\u7684\u95ee\u9898\u3002\n\n\u8981\u4ee5\u5176\u4ed6\u7528\u6237\u8eab\u4efd\u8fd0\u884c SSH \u670d\u52a1\u5668\u4e0a\u7684 X \u5e94\u7528\u7a0b\u5e8f\uff0c\u4f60\u9700\u8981\u5148\u7528\u5df2\u77e5\u7528\u6237\u767b\u5f55\uff0c\u53d6\u51fa {{Ic|xauth list}} \u4e2d\u7684\u8eab\u4efd\u8ba4\u8bc1\u884c\uff0c\u7136\u540e {{Ic|xauth add}} \u5b83\u3002\n\n{{\u63d0\u793a|[http://unix.stackexchange.com/a/12772/29867 \u8fd9\u91cc] \u662f [http://unix.stackexchange.com/a/46748/29867 \u4e00\u4e9b] \u7528\u6765\u8bca\u65ad {{ic|X11 Forwarding}} \u95ee\u9898\u6709\u7528\u7684 [http://superuser.com/a/805060/185665 \u94fe\u63a5]\u3002}}\n\n=== \u8f6c\u53d1\u5176\u4ed6\u7aef\u53e3 ===\n\n\u9664\u4e86 SSH \u5185\u5efa\u7684\u5bf9 X11 \u7684\u652f\u6301\u4e4b\u5916\uff0c\u5b83\u4e5f\u80fd\u901a\u8fc7\u672c\u5730\u8f6c\u53d1\u548c\u8fdc\u7a0b\u8f6c\u53d1\uff0c\u6765\u4e3a\u4efb\u4f55\u7684TCP\u8fde\u63a5\u5efa\u7acb\u96a7\u9053\u3002\n\n\u672c\u5730\u8f6c\u53d1\u65f6\uff0c\u4f1a\u5728\u672c\u673a\u6253\u5f00\u4e00\u4e2a\u7aef\u53e3\uff0c\u8fde\u63a5\u5c06\u88ab\u8f6c\u53d1\u5230\u4e00\u4e2a\u8fdc\u7a0b\u4e3b\u673a\uff0c\u5e76\u7ed9\u5b9a\u4e00\u4e2a\u76ee\u7684\u5730\u3002\u5f88\u591a\u65f6\u5019\uff0c\u8f6c\u53d1\u76ee\u7684\u5730\u548c\u8fdc\u7a0b\u4e3b\u673a\u4f1a\u76f8\u540c\uff0c\u56e0\u6b64\u4e5f\u63d0\u4f9b\u4e86\u4e00\u6761SSH\u547d\u4ee4\u6765\u5efa\u7acb\u4e00\u4e2a\u5b89\u5168\u7684VNC\u8fde\u63a5\u3002\u672c\u5730\u8f6c\u53d1\u53ef\u4ee5\u901a\u8fc7 {{Ic|-L}} \u6765\u8bbe\u7f6e\uff0c\u540e\u9762\u53ef\u4ee5\u6307\u5b9a\u4e00\u4e2a\u5730\u5740\u53ca\u7aef\u53e3 {{Ic|<tunnel port>:<destination address>:<destination port>}}\u3002\n\n\u5982\u4e0b\uff1a\n\n $ ssh -L 1000:mail.google.com:25 192.168.0.100\n\n\u4ee5\u4e0a\u6307\u4ee4\u5c06\u4f1a\u901a\u8fc7 SSH \u5f97\u5230\u4e00\u4e2a\u5728 {{ic|192.168.0.100}} \u7684 shell\uff0c\u540c\u65f6\u4e5f\u4f1a\u521b\u5efa\u4e00\u4e2a\u4ece\u672c\u673a TCP 1000 \u7aef\u53e3\u5230 mail.google.com \u4e0a\u7684 25 \u7aef\u53e3\u7684\u96a7\u9053\u3002\u5efa\u7acb\u4e4b\u540e\uff0c\u901a\u8fc7 {{ic|localhost:1000}} \u7684\u8fde\u63a5\u53ef\u4ee5\u76f4\u63a5\u8fde\u63a5\u5230 Gmail \u7684 SMTP \u7aef\u53e3\u3002\u5bf9 Google \u800c\u8a00\uff0c\u4efb\u4f55\u8fd9\u6837\u7684\u8fde\u63a5\u90fd\u662f\u6765\u81ea {{ic|192.168.0.100}} \u7684\uff08\u5373\u4f7f\u8fd9\u4e9b\u8fde\u63a5\u4e2d\u6ca1\u6709\u6570\u636e\u4f20\u8f93\uff09\uff0c\u5e76\u4e14\uff0c\u5728\u672c\u673a\u548c 192.168.0.100 \u4e4b\u95f4\u7684\u6570\u636e\u4f20\u9012\u662f\u5b89\u5168\u7684\uff0c\u4f46 {{ic|192.168.0.100}} \u548c Google \u4e4b\u95f4\u662f\u4e0d\u5b89\u5168\u7684\uff0c\u9664\u975e\u8fd8\u91c7\u53d6\u4e86\u522b\u7684\u624b\u6bb5\u4fdd\u969c\u6570\u636e\u5b89\u5168\u3002\n\n\u540c\u6837\uff1a\n\n $ ssh -L 2000:192.168.0.100:6001 192.168.0.100\n\n\u4ee5\u4e0a\u6307\u4ee4\u4f1a\u5c06\u5230 {{ic|localhost:2000}} \u7684\u8fde\u63a5\u76f4\u63a5\u8f6c\u53d1\u5230\u8fdc\u7a0b\u4e3b\u673a 192.168.0.100 \u7684 6001 \u7aef\u53e3\u3002\u5bf9\u4e8e\u4f7f\u7528 VNC \u670d\u52a1\u5668\uff08tightvns\u5305\u7684\u4e00\u90e8\u5206\uff09\u5efa\u7acb\u7684 VNC \u8fde\u63a5\u6765\u8bf4\uff0c\u4ee5\u4e0a\u7684\u4f8b\u5b50\u5c3d\u7ba1\u5f88\u6709\u6548\uff0c\u4f46\u662f\u5b89\u5168\u6027\u6709\u5f85\u5546\u69b7\u3002\n\n\u8fdc\u7a0b\u8f6c\u53d1\u5141\u8bb8\u4efb\u4f55\u8fdc\u7a0b\u4e3b\u673a\u901a\u8fc7 SSH \u96a7\u9053\u8fde\u63a5\u5230\u672c\u673a\uff0c\u63d0\u4f9b\u4e86\u548c\u672c\u5730\u8f6c\u53d1\u76f8\u53cd\u7684\u529f\u80fd\uff0c\u7a81\u7834\u4e86\u9632\u706b\u5899\u7684\u9650\u5236\u3002\u901a\u8fc7 {{Ic|-R}} \u53c2\u6570\uff0c\u4ee5\u53ca {{Ic|<tunnel port>:<destination address>:<destination port>}} \u80fd\u591f\u5b9e\u73b0\u8fdc\u7a0b\u8f6c\u53d1\u3002\n\n\u5982\u4e0b:\n\n $ ssh -R 3000:irc.freenode.net:6667 192.168.0.200\n\n\u5c06\u4f1a\u5728 {{ic|192.168.0.200}} \u4e0a\u5f97\u5230\u4e00\u4e2a shell\uff0c\u540c\u65f6\uff0c\u6765\u81ea {{ic|192.168.0.200}} \u7684 3000 \u7aef\u53e3\uff08\u8fdc\u7a0b\u4e3b\u673a\u7684 {{ic|localhost:3000}}\uff09\u7684\u6570\u636e\u5c06\u4f1a\u901a\u8fc7\u96a7\u9053\u8f6c\u53d1\u81f3\u672c\u673a\uff0c\u7136\u540e\u8f6c\u53d1\u81f3 irc.freenode.net \u4e0a\u7684 6667 \u7aef\u53e3\u3002\u56e0\u6b64\uff0c\u5728\u8fd9\u4e2a\u4f8b\u5b50\u4e2d\uff0c\u5728\u8fdc\u7a0b\u4e3b\u673a\u4e0a\u80fd\u591f\u4f7f\u7528 IRC \u7a0b\u5e8f\uff0c\u5373\u4f7f\u7aef\u53e3 6667 \u88ab\u963b\u6b62\u3002\n\n\u672c\u5730\u8f6c\u53d1\u548c\u8fdc\u7a0b\u8f6c\u53d1\u90fd\u53ef\u4ee5\u63d0\u4f9b\u4e00\u4e2a\u5b89\u5168\u7684\u201c\u7f51\u5173\u201d\uff0c\u5141\u8bb8\u5176\u4ed6\u8ba1\u7b97\u673a\u65e0\u9700\u8fd0\u884c SSH \u6216\u8005 SSH daemon \u6765\u4f7f\u7528 SSH \u96a7\u9053\uff0c\u5373\u5728\u96a7\u9053\u8d77\u70b9\u63d0\u4f9b\u7ed1\u5b9a\u7684\u5730\u5740\uff0c\u4f5c\u4e3a\u8f6c\u53d1\u89c4\u5219\u3002\u4f8b\u5982 {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}\u3002{{Ic|<tunnel address>}} \u53ef\u4ee5\u662f\u4f5c\u4e3a\u96a7\u9053\u8d77\u70b9\u7684\u673a\u5668\u4e0a\u7684\u4efb\u4f55\u5730\u5740\uff0c\u5730\u5740 {{Ic|localhost}} \u5141\u8bb8\u6765\u81ea\u672c\u5730\u56de\u73af\u7684\u8fde\u63a5\uff0c\u7a7a\u5730\u5740 {{Ic|*}} \u5141\u8bb8\u6765\u81ea\u4efb\u610f\u7f51\u5361\u7684\u8fde\u63a5\u3002\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u8f6c\u53d1\u4ec5\u9650\u4e8e\u8fde\u63a5\u81f3\u4f4d\u4e8e\u96a7\u9053\u201c\u8d77\u70b9\u201d\u7684\u4e3b\u673a\uff0c\u5373 {{Ic|<tunnel address>}} \u88ab\u8bbe\u7f6e\u4e3a {{Ic|localhost}}\u3002\u672c\u5730\u8f6c\u53d1\u4e0d\u9700\u8981\u989d\u5916\u7684\u8bbe\u7f6e\uff0c\u800c\u8fdc\u7a0b\u8f6c\u53d1\u53d7\u9650\u4e8e\u5bf9\u7aef\u7684 SSH daemon \u8bbe\u7f6e\u3002\u66f4\u591a\u5173\u4e8e\u8fdc\u7a0b\u8f6c\u53d1\u548c\u672c\u5730\u8f6c\u53d1\u7684\u4fe1\u606f\u53ef\u5206\u522b\u53c2\u9605 {{man|5|sshd_config}} \u4e2d\u7684 {{Ic|GatewayPorts}} \u9009\u9879\u548c {{man|1|ssh}} \u4e2d\u7684 {{ic|-L address}} \u9009\u9879\u3002\n\n=== \u8df3\u677f\u673a ===\n\n\u5728\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c\u4f60\u4e0e\u76ee\u6807\u4e3b\u673a\u4e4b\u95f4\u53ef\u80fd\u65e0\u6cd5\u76f4\u63a5\u8fde\u63a5\uff0c\u6b64\u65f6\u5c31\u8981\u7528\u5230\u8df3\u677f\u673a\u3002\u56e0\u6b64\uff0c\u6211\u4eec\u5c1d\u8bd5\u5c06\u4e24\u4e2a\u6216\u66f4\u591a SSH \u96a7\u9053\u8fde\u63a5\u5728\u4e00\u8d77\uff0c\u5e76\u5047\u8bbe\u60a8\u7684\u672c\u5730\u5bc6\u94a5\u5df2\u9488\u5bf9\u94fe\u4e2d\u7684\u6bcf\u4e2a\u670d\u52a1\u5668\u6388\u6743\u3002\u8fd9\u53ef\u4ee5\u901a\u8fc7\u4f7f\u7528SSH\u4ee3\u7406\u8f6c\u53d1 ({{ic|-A}}) \u548c\u4f2a\u7ec8\u7aef\u5206\u914d ({{ic|-t}}) \u6765\u5b9e\u73b0\uff0c\u5b83\u4f7f\u7528\u4ee5\u4e0b\u8bed\u6cd5\u8f6c\u53d1\u672c\u5730\u5bc6\u94a5\uff1a\n\n $ ssh -A -t -l user1 bastion1 \\\n   ssh -A -t -l user2 intermediate2 \\\n   ssh -A -t -l user3 target\n\n\u4e00\u4e2a\u66f4\u7b80\u5355\u7684\u65b9\u6cd5\u662f\u4f7f\u7528 {{ic|-J}} \u9009\u9879\uff1a\n\n $ ssh -J user1@bastion1,user2@intermediate2 user3@target\n\n\n{{ic|-J}} \u6307\u4ee4\u4e2d\u7684\u591a\u4e2a\u4e3b\u673a\u53ef\u4ee5\u7528\u9017\u53f7\u9694\u5f00\uff0c\u5b83\u4eec\u5c06\u6309\u7167\u5217\u51fa\u7684\u987a\u5e8f\u8fde\u63a5\u3002{{ic|user...@}} \u90e8\u5206\u4e0d\u662f\u5fc5\u9700\u7684\uff0c\u4f46\u53ef\u4ee5\u4f7f\u7528\u3002\u5b9a\u4e49 {{ic|-J}} \u9009\u9879\u91cc\u7684\u4e0d\u540c\u7684\u4e3b\u673a\u89c4\u683c\u53ef\u4ee5\u4f7f\u7528 ssh \u914d\u7f6e\u6587\u4ef6\uff0c\u56e0\u6b64\u5982\u679c\u9700\u8981\uff0c\u53ef\u4ee5\u5728\u90a3\u91cc\u8bbe\u7f6e\u7279\u5b9a\u7684\u6bcf\u4e2a\u4e3b\u673a\u9009\u9879\u3002\n\n=== \u901a\u8fc7\u4e2d\u7ee7\u53cd\u5411 SSH \u8fde\u63a5 ===\n\n{{Style|SSH \u96a7\u9053\u7684\u8bbe\u60f3\u662f\u5f88\u7ecf\u5178\u7684\uff0c\u6240\u4ee5\u6dfb\u52a0\u4e00\u4e9b\u53c2\u8003\u8d44\u6599\u7684\u8be6\u7ec6\u89e3\u91ca\u4f1a\u66f4\u597d\u3002\u6bd4\u5982 [https://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work/118650#118650] \u6db5\u76d6\u4e86\u4e00\u4e9b\u5176\u4ed6\u60c5\u51b5\u3002}}\n\n\u8fd9\u4e2a\u60f3\u6cd5\u662f\u5ba2\u6237\u7aef\u901a\u8fc7\u4e00\u4e2a\u4e2d\u7ee7\u8fde\u63a5\u5230\u670d\u52a1\u5668\uff0c\u800c\u670d\u52a1\u5668\u4f7f\u7528\u53cd\u5411 SSH \u96a7\u9053\u8fde\u63a5\u5230\u540c\u4e00\u4e2a\u4e2d\u7ee7\u3002\u4f8b\u5982\uff0c\u5f53\u670d\u52a1\u5668\u4f4d\u4e8e NAT \u540e\u9762\u65f6\uff0c\u8fd9\u662f\u5f88\u6709\u7528\u7684\uff0c\u800c\u6b64\u5904\u7684\u4e2d\u7ee7\u662f\u4e00\u4e2a\u53ef\u516c\u5f00\u8bbf\u95ee\u7684 SSH \u670d\u52a1\u5668\uff0c\u7528\u4f5c\u7528\u6237\u6709\u6743\u8bbf\u95ee\u7684\u4ee3\u7406\u670d\u52a1\u5668\u3002\u524d\u63d0\u662f\u5ba2\u6237\u7aef\u7684\u5bc6\u94a5\u540c\u65f6\u5bf9\u4e2d\u7ee7\u548c\u670d\u52a1\u5668\u90fd\u5df2\u7ecf\u6388\u6743\uff0c\u670d\u52a1\u5668\u9700\u8981\u6388\u6743\u4e2d\u7ee7\u7528\u4e8e\u53cd\u5411 SSH \u8fde\u63a5\u3002\n\n\u4ee5\u4e0b\u914d\u7f6e\u5047\u8bbe user1 \u662f\u5ba2\u6237\u7aef\u4f7f\u7528\u7684\u8d26\u6237\uff0cuser2 \u662f\u4e2d\u7ee7\u7684\uff0cuser3 \u662f\u670d\u52a1\u5668\u7684\u3002\u9996\u5148\u670d\u52a1\u5668\u8981\u5148\u5efa\u7acb\u53cd\u5411\u96a7\u9053\uff1a\n\n ssh -R 2222:localhost:22 -N user2@relay\n\n\u8fd9\u53ef\u4ee5\u5229\u7528\u542f\u52a8\u811a\u672c\u3001systemd service \u6216\u8005 {{Pkg|autossh}} \u6765\u81ea\u52a8\u5b8c\u6210\u3002\n\n{{Expansion|\u9700\u8981\u89e3\u91ca\u4e3a\u4f55\u5149\u6709 {{ic|ssh user3@relay -p 2222}} \u662f\u4e0d\u591f\u7684\u3002}}\n\n\u5728\u5ba2\u6237\u7aef\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5efa\u7acb\u8fde\u63a5\uff1a\n\n ssh user2@relay ssh user3@localhost -p 2222\n\n\u53ef\u4ee5\u5728\u4e2d\u7ee7\u7684 {{ic|~/.ssh/authorized_keys}} \u4e2d\u5b9a\u4e49 {{ic|command}} \u5b57\u6bb5\u6765\u5efa\u7acb\u53cd\u5411\u96a7\u9053\uff1a\n\n command=\"ssh user3@localhost -p 2222\" ssh-rsa KEY2 user1@client\n\n\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\u7528\u4e0b\u5217\u547d\u4ee4\u5efa\u7acb\u8fde\u63a5\uff1a\n\n ssh user2@relay\n\n\u6ce8\u610f\uff0c\u5ba2\u6237\u7aef\u5185 scp \u7684\u81ea\u52a8\u5b8c\u6210\u529f\u80fd\u5931\u6548\uff0c\u751a\u81f3\u5728\u67d0\u4e9b\u914d\u7f6e\u4e0b scp \u672c\u8eab\u4e5f\u65e0\u6cd5\u5de5\u4f5c\u3002\n\n=== \u7aef\u53e3\u590d\u7528 ===\n\nSSH \u5b88\u62a4\u8fdb\u7a0b\u901a\u5e38\u76d1\u542c 22 \u7aef\u53e3\uff0c\u4f46\u662f\u8bb8\u591a\u516c\u5171\u70ed\u70b9\u4f1a\u5c4f\u853d\u975e\u5e38\u89c4 HTTP/S \u7aef\u53e3\uff08\u5206\u522b\u662f 80 \u548c 443 \u7aef\u53e3\uff09\u7684\u6d41\u91cf\uff0c\u8fd9\u6837\u5c31\u5c4f\u853d\u4e86 SSH \u8fde\u63a5\u3002\u6700\u5feb\u7684\u89e3\u51b3\u65b9\u6cd5\u662f\u8ba9 {{ic|sshd}} \u989d\u5916\u76d1\u542c\u767d\u540d\u5355\u4e0a\u7684\u7aef\u53e3\uff1a\n\n{{hc|/etc/ssh/sshd_config|\nPort 22\nPort 443\n}}\n\n\u4f46\u662f443\u7aef\u53e3\u5f88\u6709\u53ef\u80fd\u5df2\u7ecf\u88ab HTTPS \u670d\u52a1\u5360\u7528\uff0c\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\u53ef\u4ee5\u4f7f\u7528\u7aef\u53e3\u590d\u7528\u5de5\u5177\uff0c\u6bd4\u5982 {{Pkg|sslh}}\uff0c\u5b83\u53ef\u4ee5\u76d1\u542c\u5728\u4e00\u4e2a\u88ab\u590d\u7528\u7684\u7aef\u53e3\u4e0a\u5e76\u8f6c\u53d1\u76f8\u5e94\u7684\u6570\u636e\u5305\u7ed9\u5bf9\u5e94\u7684\u670d\u52a1\u3002\n\n=== \u52a0\u901f SSH ===\n\n\u6b64\u5904\u5217\u51fa\u4e00\u4e9b\u53ef\u4ee5\u52a0\u901f\u5168\u90e8\u8fde\u63a5\u6216\u9488\u5bf9\u67d0\u53f0\u4e3b\u673a\u52a0\u901f\u7684 [[#\u914d\u7f6e|\u5ba2\u6237\u7aef\u914d\u7f6e]] \u9009\u9879\u3002\u8981\u4e86\u89e3\u8fd9\u4e9b\u9009\u9879\u7684\u5b8c\u6574\u6982\u8ff0\uff0c\u8bf7\u53c2\u9605 {{man|5|ssh_config}}\u3002\n\n* \u4f7f\u7528\u4ee5\u4e0b\u53c2\u6570\u6765\u4f7f\u5230\u67d0\u4e00\u53f0\u4e3b\u673a\u7684\u6240\u6709\u56de\u8bdd (sessions) \u5171\u4eab\u540c\u4e00\u4e2a\u8fde\u63a5\uff1a {{bc|<nowiki>\nControlMaster auto\nControlPersist yes\nControlPath ~/.ssh/sockets/socket-%r@%h:%p\n</nowiki>}}\n: \u5176\u4e2d {{ic|~/.ssh/sockets}} \u53ef\u4ee5\u662f\u4e00\u4e2a\u5176\u4ed6\u7528\u6237\u4e0d\u53ef\u5199\u5165\u7684\u4efb\u610f\u76ee\u5f55\u3002\n\n* {{ic|ControlPersist}} \u6307\u5b9a\u5728\u521d\u59cb\u5ba2\u6237\u7aef\u8fde\u63a5\u5173\u95ed\u540e\uff0c\u4e3b\u670d\u52a1\u5668\u5728\u540e\u53f0\u7b49\u5f85\u65b0\u5ba2\u6237\u7aef\u7684\u65f6\u95f4\u3002\u53ef\u80fd\u7684\u503c\u662f\uff1a \n** {{ic|no}} \u6307\u5b9a\u5728\u6700\u540e\u4e00\u4e2a\u5ba2\u6237\u7aef\u65ad\u5f00\u540e\u7acb\u5373\u5173\u95ed\u8fde\u63a5\uff0c\n** \u4e00\u4e2a\u7528\u79d2\u6570\u8868\u793a\u7684\u65f6\u95f4\uff0c\n** {{ic|yes}} \u8fde\u63a5\u4e0d\u4f1a\u81ea\u52a8\u5173\u95ed\uff0c\u800c\u662f\u59cb\u7ec8\u5904\u4e8e\u7b49\u5f85\u3002\n\n* \u53e6\u4e00\u79cd\u52a0\u901f\u7684\u65b9\u6cd5\u662f\u901a\u8fc7 {{ic|Compression yes}} \u9009\u9879\u6216\u8005 {{ic|-C}} \u53c2\u6570\u6765\u542f\u7528\u538b\u7f29\u3002\n: {{\u6ce8\u610f|{{man|1|ssh}} \u6307\u51fa\uff1a\u201c\u5728\u8c03\u5236\u89e3\u8c03\u5668\u7ebf\u8def\u6216\u5176\u4ed6\u6162\u901f\u7ebf\u8def\u4e0a\u542f\u7528\u538b\u7f29\u662f\u53ef\u53d6\u7684\uff0c\u4f46\u5728\u7f51\u901f\u5feb\u7684\u60c5\u51b5\u4e0b\u53ea\u4f1a\u964d\u4f4e\u901f\u5ea6\u3002\u201d\u8fd9\u6761\u63d0\u793a\u53ef\u80fd\u4f1a\u9002\u5f97\u5176\u53cd\uff0c\u5177\u4f53\u53d6\u51b3\u4e8e\u4f60\u7684\u7f51\u7edc\u914d\u7f6e\u3002}}\n\n* \u901a\u8fc7\u4f7f\u7528 {{ic|AddressFamily inet}} \u9009\u9879\u6216\u8005 {{ic|-4}} \u53c2\u6570\u6765\u8df3\u8fc7 IPv6 \u67e5\u627e\uff0c\u53ef\u4ee5\u7f29\u77ed\u767b\u5f55\u65f6\u95f4\u3002\n\n* \u6700\u540e\uff0c\u5982\u679c\u4f60\u60f3\u7528 SFTP \u6216 SCP\uff0c[https://www.psc.edu/index.php/hpn-ssh High Performance SSH/SCP] \u53ef\u4ee5\u901a\u8fc7\u52a8\u6001\u63d0\u9ad8 SSH \u7f13\u51b2\u533a\u5927\u5c0f\u6765\u663e\u8457\u63d0\u9ad8\u541e\u5410\u91cf\u3002\u5b89\u88c5 {{AUR|openssh-hpn-git}} \u8fd9\u4e2a\u5305\u6765\u4f7f\u7528\u6253\u8fc7\u8fd9\u4e00\u589e\u5f3a\u8865\u4e01\u7684 OpenSSH \u7248\u672c\u3002\n\n=== \u7528 SSHFS \u6302\u8f7d\u8fdc\u7a0b\u6587\u4ef6\u7cfb\u7edf ===\n\n\u8bf7\u53c2\u9605 [[SSHFS]] \u6765\u5c06\u4e00\u4e2a SSH \u53ef\u8bbf\u95ee\u7684\u8fdc\u7a0b\u6587\u4ef6\u7cfb\u7edf\u6302\u8f7d\u81f3\u4e00\u4e2a\u672c\u5730\u76ee\u5f55\uff0c\u7136\u540e\u4f60\u5c31\u80fd\u5728\u6302\u8f7d\u597d\u7684\u6587\u4ef6\u4e0a\u6267\u884c\u5e38\u89c4\u64cd\u4f5c\uff08\u590d\u5236\uff0c\u91cd\u547d\u540d\uff0c\u7528 vim \u7f16\u8f91\u7b49\u7b49\uff09\u3002''sshfs'' \u6bd4 ''shfs'' \u66f4\u597d\uff0c\u56e0\u4e3a\u540e\u8005\u81ea 2004 \u5e74\u8d77\u5c31\u6ca1\u518d\u66f4\u65b0\u3002\n{{\u63d0\u793a|\u8f6f\u4ef6\u5305 {{AUR|autosshfs-git}}{{Broken package link|package not found}} \u53ef\u4ee5\u7528\u4e8e\u5728\u767b\u5f55\u65f6\u81ea\u52a8\u8fd0\u884c autosshfs\u3002}}\n\n=== \u4fdd\u6301\u5728\u7ebf ===\n\n\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0c\u5982\u679c\u4f60\u7684\u4f1a\u8bdd\u7a7a\u95f2\u4e86\u67d0\u4e2a\u65f6\u95f4\u4e4b\u540e\uff0c\u5b83\u4f1a\u81ea\u52a8\u767b\u51fa\u3002\u4e3a\u4e86\u4fdd\u6301\u4f1a\u8bdd\uff0c\u5728\u957f\u65f6\u95f4\u6ca1\u6709\u6570\u636e\u4f20\u8f93\u65f6\u5ba2\u6237\u7aef\u53ef\u4ee5\u5411\u670d\u52a1\u5668\u53d1\u9001\u4e00\u4e2a\u6fc0\u6d3b\u4fe1\u53f7\u3002\u4e0e\u4e4b\u5bf9\u5e94\uff0c\u670d\u52a1\u5668\u4e5f\u53ef\u4ee5\u5728\u4e00\u6bb5\u65f6\u95f4\u6ca1\u6709\u6536\u5230\u6d88\u606f\u65f6\u5b9a\u671f\u53d1\u9001\u4e00\u4e2a\u4fe1\u53f7\u3002\n\n* \u5728 '''\u670d\u52a1\u5668'''\uff0c{{ic|ClientAliveInterval}} \u662f\u6ca1\u6709\u4ece\u5ba2\u6237\u7aef\u6536\u5230\u6d88\u606f\u540e\u7684\u8d85\u65f6\u65f6\u95f4\uff0c\u8d85\u65f6\u540e ''sshd'' \u5c06\u4f1a\u53d1\u9001\u4e00\u4e2a\u8bf7\u6c42\u6765\u7b49\u5f85\u56de\u5e94\u3002\u9ed8\u8ba4\u662f 0\uff0c\u6307\u4e0d\u4f1a\u53d1\u51fa\u8bf7\u6c42\u3002\u6bd4\u5982\u8981\u6c42\u6bcf\u9694 60 \u79d2\u5411\u5ba2\u6237\u7aef\u53d1\u9001\u54cd\u5e94\u8bf7\u6c42\uff0c\u5728\u4f60\u7684 [[#\u914d\u7f6e_2|\u670d\u52a1\u5668\u914d\u7f6e]] \u91cc\u8bbe\u7f6e {{ic|ClientAliveInterval 60}} \u5373\u53ef\u3002{{ic|ClientAliveCountMax}} \u548c {{ic|TCPKeepAlive}} \u9009\u9879\u4e5f\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b\u3002\n* \u5728 '''\u5ba2\u6237\u7aef'''\uff0c{{ic|ServerAliveInterval}} \u63a7\u5236\u7740\u4ece\u5ba2\u6237\u7aef\u53d1\u5f80\u670d\u52a1\u5668\u7684\u54cd\u5e94\u8bf7\u6c42\u7684\u65f6\u95f4\u95f4\u9694\u3002\u6bd4\u5982\u8981\u6c42\u670d\u52a1\u5668\u6bcf\u9694 120 \u79d2\u54cd\u5e94\u4e00\u6b21\uff0c\u5728\u4f60\u7684 [[#\u914d\u7f6e|\u5ba2\u6237\u7aef\u914d\u7f6e]] \u91cc\u52a0\u5165 {{ic|ServerAliveInterval 120}} \u5373\u53ef\u3002{{ic|ServerAliveCountMax}} \u548c {{ic|TCPKeepAlive}} \u9009\u9879\u4e5f\u53ef\u4ee5\u53c2\u8003\u4e00\u4e0b\u3002\n\n {{\u6ce8\u610f| \u4e3a\u786e\u4fdd\u4f1a\u8bdd\u4fdd\u6301\u6d3b\u52a8\u72b6\u6001\uff0c\u5ba2\u6237\u7aef\u6216\u670d\u52a1\u5668\u4e2d\u53ea\u6709\u4e00\u4e2a\u9700\u8981\u53d1\u9001\u4fdd\u6301\u6d3b\u52a8\u8bf7\u6c42\u3002\u5982\u679c\u7528\u6237\u540c\u65f6\u63a7\u5236\u670d\u52a1\u5668\u548c\u5ba2\u6237\u7aef\uff0c\u90a3\u4e48\u5408\u7406\u7684\u9009\u62e9\u662f\u4f7f\u7528 {{ic|ServerAliveInterval}} \u9009\u9879\u914d\u7f6e\u9700\u8981\u4fdd\u6301\u4f1a\u8bdd\u7684\u5ba2\u6237\u7aef\uff0c\u5e76\u4fdd\u7559\u5176\u4ed6\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u7684\u9ed8\u8ba4\u914d\u7f6e\u3002}}\n\n=== \u5229\u7528 systemd \u81ea\u52a8\u91cd\u542f SSH \u96a7\u9053 ===\n\n[[systemd]] \u53ef\u4ee5\u5728\u5f00\u673a/\u767b\u5f55\u65f6\u81ea\u52a8\u542f\u52a8 SSH\uff0c''\u8fd8\u53ef\u4ee5'' \u5728 SSH \u8fde\u63a5\u65ad\u5f00\u65f6\u81ea\u52a8\u91cd\u8fde\u3002\u8fd9\u4f7f\u5b83\u6210\u4e3a\u7ba1\u7406 SSH \u96a7\u9053\u7684\u6709\u529b\u5de5\u5177\u3002\n\n\u4e0b\u9762\u7684 service \u53ef\u4ee5\u4f7f\u7528 [[#\u914d\u7f6e|ssh \u914d\u7f6e]] \u91cc\u9762\u7684\u914d\u7f6e\u5728\u4f60\u767b\u5f55\u7cfb\u7edf\u7684\u65f6\u5019\u81ea\u52a8\u5f00\u542f\u4e00\u4e2a SSH \u96a7\u9053\u3002\u5982\u679c\u8fde\u63a5\u56e0\u4e3a\u67d0\u79cd\u539f\u56e0\u65ad\u5f00\uff0c\u5b83\u5c06\u4f1a\u6bcf\u969410\u79d2\u91cd\u542f\u4e00\u4e0b\uff1a\n\n{{hc|~/.config/systemd/user/tunnel.service|<nowiki>\n[Unit]\nDescription=SSH tunnel to myserver\n\n[Service]\nType=simple\nRestart=always\nRestartSec=10\nExecStart=/usr/bin/ssh -F %h/.ssh/config -N myserver\n</nowiki>}}\n\n\u7136\u540e [[enable]] \u5e76\u4e14 [[start]] \u8fd9\u4e2a user service\u3002\u6b32\u77e5\u5982\u4f55\u9632\u6b62\u8fde\u63a5\u8d85\u65f6\uff0c\u8bf7\u53c2\u9605 [[#Keep alive]]{{Broken section link}}\u3002\u5982\u679c\u4f60\u60f3\u5728\u7cfb\u7edf\u5f15\u5bfc\u540e\u5c31\u6253\u5f00\u8fd9\u4e2a\u8fde\u63a5\uff0c\u4f60\u9700\u8981\u5c06\u8fd9\u4e2a unit \u91cd\u5199\u4e3a system service\u3002\n\n=== Autossh - \u81ea\u52a8\u91cd\u542f SSH \u4f1a\u8bdd\u548c\u96a7\u9053\u8fde\u63a5 ===\n\n\u5f53\u4e00\u4e2a SSH \u4f1a\u8bdd\u6216\u96a7\u9053\u65e0\u6cd5\u4fdd\u6301\u8fde\u63a5\uff08\u6bd4\u5982\u7f51\u7edc\u73af\u5883\u5dee\u5bfc\u81f4\u5ba2\u6237\u7aef\u65ad\u7ebf\uff09\uff0c\u53ef\u4ee5\u4f7f\u7528 {{Pkg|autossh}} \u6765\u81ea\u52a8\u91cd\u542f\u5b83\u4eec\u3002\n\n\u4f7f\u7528\u8303\u4f8b\uff1a\n $ autossh -M 0 -o \"ServerAliveInterval 45\" -o \"ServerAliveCountMax 2\" username@example.com\n\n\u7ed3\u5408 [[SSHFS]]\uff1a\n $ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example \n\n\u901a\u8fc7\u4e00\u4e2a\u7531 [[Proxy settings]] \u8bbe\u7f6e\u597d\u7684 SOCKS \u4ee3\u7406\u6765\u8fde\u63a5\uff1a\n $ autossh -M 0 -o \"ServerAliveInterval 45\" -o \"ServerAliveCountMax 2\" -NCD 8080 username@example.com \n\n\u4f7f\u7528 {{ic|-f}} \u9009\u9879\u4ee5\u540e\u53ef\u4ee5\u4f7f autossh \u4f5c\u4e3a\u540e\u53f0\u8fdb\u7a0b\u8fd0\u884c\uff0c\u7136\u800c\u4ee5\u8fd9\u79cd\u65b9\u5f0f\u8fd0\u884c\u610f\u5473\u7740\u4e0d\u80fd\u4ea4\u4e92\u8f93\u5165\u5bc6\u7801\u3002\n\n\u5f53\u4f60\u5728\u4f1a\u8bdd\u4e2d\u6253\u51fa {{ic|exit}} \u5373\u53ef\u7ed3\u675f\u4f1a\u8bdd\uff0c\u6216\u8005 autossh \u6536\u5230\u4e86 SIGTERM, SIGINT of SIGKILL \u4fe1\u53f7\u3002\n\n==== \u5229\u7528 systemd \u5728\u5f15\u5bfc\u540e\u81ea\u52a8\u8fd0\u884c autossh ====\n\n\u5982\u679c\u4f60\u60f3\u81ea\u52a8\u542f\u52a8 autossh\uff0c\u521b\u5efa\u4e00\u4e2a systemd unit \u6587\u4ef6\uff1a\n\n{{hc|/etc/systemd/system/autossh.service|2=\n[Unit]\nDescription=AutoSSH service for port 2222\nAfter=network.target\n\n[Service]\nEnvironment=\"AUTOSSH_GATETIME=0\"\nExecStart=/usr/bin/autossh -M 0 -NL 2222:localhost:2222 -o TCPKeepAlive=yes foo@bar.com\n\n[Install]\nWantedBy=multi-user.target\n}}\n\n\u5176\u4e2d {{ic|1=AUTOSSH_GATETIME=0}} \u662f\u4e00\u4e2a\u73af\u5883\u53d8\u91cf\uff0c\u5b83\u8868\u793a ssh \u9700\u8981\u8fde\u4e0a\u591a\u4e45\uff0cautossh \u624d\u5224\u5b9a\u8fd9\u4e2a\u8fde\u63a5\u662f\u6210\u529f\u7684\u3002\u5c06\u5b83\u8bbe\u4e3a 0 \u540e autossh \u4e5f\u4f1a\u5ffd\u7565 ssh \u7684\u7b2c\u4e00\u6b21\u8fd0\u884c\u5931\u8d25\u3002\u8fd9\u5728\u5f00\u673a\u542f\u52a8 autossh \u65f6\u53ef\u80fd\u662f\u6709\u7528\u7684\u3002\u5176\u4ed6\u73af\u5883\u53d8\u91cf\u53ef\u4ee5\u5728\u624b\u518c\u9875\u627e\u5230\u3002\u5f53\u7136\uff0c\u5982\u679c\u9700\u8981\u7684\u8bdd\uff0c\u4f60\u53ef\u4ee5\u4f7f\u8fd9\u4e2a\u5355\u5143\u66f4\u52a0\u590d\u6742\uff08\u8be6\u60c5\u8bf7\u53c2\u9605 systemd \u6587\u6863\uff09\uff0c\u663e\u7136\u4f60\u53ef\u4ee5\u4f7f\u7528\u81ea\u5df1\u7684 autossh \u9009\u9879\uff0c\u4f46\u8bf7\u6ce8\u610f {{ic|-f}} \u9009\u9879\u610f\u5473\u7740 {{ic|1=AUTOSSH_GATETIME=0}} \u65e0\u6cd5\u5728 systemd \u4e2d\u8d77\u6548\u3002\n\n\u522b\u5fd8\u4e86 [[start]] \u4e14/\u6216 [[enable]] \u8fd9\u4e2a service\u3002\n\n\u4f60\u53ef\u80fd\u8fd8\u4f1a\u9700\u8981\u5173\u95ed ControlMaster\uff0c\u50cf\u8fd9\u6837\uff1a\n\n ExecStart=/usr/bin/autossh -M 0 -o ControlMaster=no -NL 2222:localhost:2222 -o TCPKeepAlive=yes foo@bar.com\n\n{{\u63d0\u793a|\u540c\u65f6\u7ba1\u7406\u591a\u4e2a autossh \u8fdb\u7a0b\u4e5f\u662f\u5f88\u7b80\u5355\u7684\uff0c\u8981\u4fdd\u6301\u591a\u4e2a\u96a7\u9053\u8fde\u63a5\uff0c\u53ea\u9700\u8981\u7528\u4e0d\u540c\u7684\u6587\u4ef6\u540d\u521b\u5efa\u591a\u4e2a service \u6587\u4ef6\u3002}}\n\n=== \u5f53 SSH \u5b88\u62a4\u8fdb\u7a0b\u51fa\u9519\u65f6\u7684\u5176\u4ed6\u9009\u62e9 ===\n\n\u5bf9\u4e8e\u4ec5\u4f9d\u8d56 SSH \u7684\u8fdc\u7a0b\u6216\u65e0\u5934\u670d\u52a1\u5668\uff0c\u542f\u52a8 SSH \u5b88\u62a4\u7a0b\u5e8f\u5931\u8d25\uff08\u4f8b\u5982\u7cfb\u7edf\u5347\u7ea7\u540e\uff09\u53ef\u80fd\u4f1a\u963b\u6b62\u7ba1\u7406\u5458\u8bbf\u95ee\u3002[[systemd]] \u901a\u8fc7 {{ic|OnFailure}} \u9009\u9879\u63d0\u4f9b\u4e86\u7b80\u4fbf\u7684\u89e3\u51b3\u65b9\u6848\u3002\n\n\u5047\u8bbe\u670d\u52a1\u5668\u8fd0\u884c {{ic|sshd}} \u5e76\u4e14 [[telnet]] \u662f\u6240\u9009\u7684\u6545\u969c\u5b89\u5168\u66ff\u4ee3\u65b9\u6848\u3002\u6309\u5982\u4e0b\u6240\u793a\u521b\u5efa\u4e00\u4e2a\u6587\u4ef6\u3002'''\u4e0d\u8981''' [[enable]] telnet.socket\uff01\n\n{{hc|/etc/systemd/system/sshd.service.d/override.conf|2=\n[Unit]\nOnFailure=telnet.socket\n}}\n\n\u8fd9\u6837\u5c31\u884c\u4e86\u3002\u5f53 {{ic|sshd}} \u6b63\u5728\u8fd0\u884c\u65f6\uff0cTelnet \u662f\u4e0d\u53ef\u7528\u7684\u3002\u5982\u679c {{ic|sshd}} \u65e0\u6cd5\u542f\u52a8\uff0c\u53ef\u4ee5\u6253\u5f00\u4e00\u4e2a telnet \u4f1a\u8bdd\u8fdb\u884c\u6062\u590d\u3002\n\n== \u7591\u96be\u89e3\u7b54 ==\n\n=== \u81ea\u68c0\u6e05\u5355 ===\n\n\u5728\u8fdb\u4e00\u6b65\u9605\u8bfb\u524d\uff0c\u8bf7\u5148\u4ed4\u7ec6\u68c0\u67e5\u4e0b\u9762\u8fd9\u4e9b\u5e38\u89c1\u6545\u969c\u3002\n\n# \u914d\u7f6e\u6587\u4ef6\u5b58\u653e\u76ee\u5f55 {{ic|~/.ssh}} \u53ca\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u5e94\u8be5\u53ea\u6709\u4f60\u7684\u8d26\u6237\u624d\u6709\u8bbf\u95ee\u6743\u9650\uff08\u5728\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u4e0a\u90fd\u68c0\u67e5\u8fd9\u4e00\u6761\uff09\uff1a {{bc|<nowiki>\n$ chmod 700 ~/.ssh\n$ chmod 600 ~/.ssh/*\n$ chown -R $USER ~/.ssh\n</nowiki>}}\n# \u68c0\u67e5\u5ba2\u6237\u7aef\u7684\u516c\u94a5\uff08\u6bd4\u5982 {{ic|id_rsa.pub}}\uff09\u5728\u670d\u52a1\u5668\u7684 {{ic|~/.ssh/authorized_keys}} \u6587\u4ef6\u91cc\u9762\u3002\n# \u68c0\u67e5\u6709\u6ca1\u6709\u5728 [[#\u914d\u7f6e_2|\u670d\u52a1\u5668\u914d\u7f6e]] \u91cc\u9762\u8bbe\u7f6e {{ic|AllowUsers}} \u6216 {{ic|AllowGroups}} \u6765\u9650\u5236 SSH \u8bbf\u95ee\u3002\n# \u68c0\u67e5\u7528\u6237\u662f\u5426\u8bbe\u7f6e\u4e86\u5bc6\u7801\u3002\u6709\u65f6\u8fd8\u6ca1\u6709\u767b\u5f55\u8fc7\u670d\u52a1\u5668\u7684\u65b0\u7528\u6237\u6ca1\u6709\u5bc6\u7801\u3002\n# \u628a {{ic|LogLevel DEBUG}} \u52a0\u5230 {{ic|/etc/ssh/sshd_config}} \u6587\u4ef6\u5c3e\u90e8\u3002\n# \u4f7f\u7528 {{ic|journalctl -xe}} \u67e5\u770b\u53ef\u80fd\u7684\u9519\u8bef\u4fe1\u606f\u3002\n# \u5728\u5ba2\u6237\u7aef\u548c\u670d\u52a1\u5668\u4e0a [[Restart|\u91cd\u542f]] {{ic|sshd}} \u7136\u540e\u6ce8\u9500/\u91cd\u65b0\u767b\u5f55\u3002\n\n=== \u62d2\u7edd\u8fde\u63a5\u6216\u8005\u8d85\u65f6\u95ee\u9898 ===\n\n==== \u7aef\u53e3\u8f6c\u53d1 ====\n\n\u5982\u679c\u60a8\u4f4d\u4e8e NAT \u6a21\u5f0f/\u8def\u7531\u5668\u4e4b\u540e\uff08\u9664\u975e\u60a8\u4f4d\u4e8e VPS \u6216\u53ef\u516c\u5f00\u5bfb\u5740\u7684\u4e3b\u673a\u4e0a\uff09\uff0c\u8bf7\u786e\u4fdd\u60a8\u7684\u8def\u7531\u5668\u53ef\u4ee5\u5c06\u4f20\u5165\u7684 ssh \u8fde\u63a5\u8f6c\u53d1\u5230\u60a8\u7684\u8ba1\u7b97\u673a\u3002\u4f7f\u7528 {{ic|$ ip addr}} \u67e5\u627e\u670d\u52a1\u5668\u7684\u5185\u7f51 IP \u5730\u5740\uff0c\u5e76\u5c06\u60a8\u7684\u8def\u7531\u5668\u8bbe\u7f6e\u4e3a\u5c06 SSH \u7aef\u53e3\u4e0a\u7684 TCP \u6570\u636e\u5305\u8f6c\u53d1\u5230\u8be5 IP\u3002[http://portforward.com portforward.com] \u53ef\u4ee5\u63d0\u4f9b\u5e2e\u52a9\u3002\n\n==== SSH\u670d\u52a1\u662f\u5426\u5f00\u542f\u5e76\u4e14\u6b63\u5728\u76d1\u542c\uff1f ====\n $ ss -tnlp\n\n\u5982\u679c\u4ee5\u4e0a\u7684\u547d\u4ee4\u6ca1\u6709\u663e\u793a SSH \u7aef\u53e3\u662f\u6253\u5f00\u7684\uff0c\u90a3\u4e48\u8bf4\u660e SSH \u670d\u52a1\u6ca1\u6709\u542f\u52a8\u3002\u67e5\u770b {{ic|/var/log/messages}} \u6765\u5bfb\u627e\u9519\u8bef\u4fe1\u606f\u3002\n\n==== \u662f\u5426\u662f\u9632\u706b\u5899\u963b\u6b62\u4e86\u8fde\u63a5\uff1f ====\n\n[[Iptables]] \u53ef\u80fd\u4f1a\u963b\u6b62 {{ic|22}} \u7aef\u53e3\u7684\u8fde\u63a5\u3002\u4f7f\u7528 {{bc|# iptables -nvL}} \u6765\u68c0\u67e5\u53ef\u80fd\u4f1a\u5728 {{ic|INPUT}} \u94fe\u4e0a\u5bfc\u81f4\u4e22\u5305\u7684\u89c4\u5219\u3002\u5fc5\u8981\u60c5\u51b5\u4e0b\u53ef\u4ee5\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u89e3\u9501\u7aef\u53e3\uff1a\n{{bc|\n# iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT\n}}\n\u66f4\u591a\u914d\u7f6e\u9632\u706b\u5899\u7684\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 [[firewalls]].\n\n==== \u4f60\u7684\u7535\u8111\u548c\u76ee\u7684\u4e3b\u673a\u4e4b\u95f4\u662f\u5426\u8fde\u63a5\uff1f ====\n\u6d4b\u8bd5\u4f60\u7684\u7535\u8111\u548c\u76ee\u7684\u4e3b\u673a\u7684\u8fde\u63a5\u60c5\u51b5\uff1a\n\n # tcpdump -lnn -i any port ssh and tcp-syn\n\n\u5b83\u4f1a\u663e\u793a\u4e00\u4e9b\u57fa\u672c\u4fe1\u606f\uff0c\u7136\u540e\u7b49\u5f85\u6570\u636e\u4ea4\u6362\u3002\u73b0\u5728\u5c1d\u8bd5\u4f60\u7684\u8fde\u63a5\u3002\u5982\u679c\u6ca1\u6709\u8f93\u51fa\uff0c\u5c31\u53ef\u80fd\u662f\u4f60\u7684\u7535\u8111\u7f51\u7edc\u963b\u585e\u4e86\u3002\uff08\u4e5f\u8bb8\u662f\u9632\u706b\u5899\u95ee\u9898\uff0c\u4e5f\u8bb8\u662f NAT \u8def\u7531\u7684\u95ee\u9898\uff09\n\n==== \u4f60\u7684 ISP \u6216\u7b2c\u4e09\u65b9\u5c4f\u853d\u4e86\u9ed8\u8ba4\u7aef\u53e3\uff1f ====\n{{\u6ce8\u610f|\u53ea\u6709\u5728\u4f60'''\u786e\u4fdd'''\u4f60\u6ca1\u6709\u8fd0\u884c\u4efb\u4f55\u9632\u706b\u5899\uff0c\u4f60\u5df2\u7ecf\u5728\u8def\u7531\u5668\u4e0a\u914d\u7f6e\u4e86 DMZ \u4e3b\u673a\u6216\u5df2\u7ecf\u5c06\u7aef\u53e3\u6620\u5c04\u5230\u4f60\u7684\u8ba1\u7b97\u673a\uff0c\u800c\u8fd9\u4e9b\u90fd\u6ca1\u6709\u7528\u7684\u60c5\u51b5\u4e0b\u624d\u5c1d\u8bd5\u4ee5\u4e0b\u6b65\u9aa4\u3002\u53ef\u4ee5\u5728\u6b64\u627e\u5230\u8bca\u65ad\u6b65\u9aa4\u6216\u53ef\u80fd\u7684\u89e3\u51b3\u65b9\u6848\u3002}}\n\n\u67d0\u4e9b\u60c5\u51b5\u4e0b\uff0c\u4f60\u7684\u8fd0\u8425\u5546\u4f1a\u5c4f\u853d\u9ed8\u8ba4\u7aef\u53e3\uff0822 \u7aef\u53e3\uff09\uff0c\u65e0\u8bba\u600e\u4e48\u5c1d\u8bd5\uff08\u5c1d\u8bd5\u5f00\u542f\u7aef\u53e3\u3001\u5f3a\u5316\u5806\u6808\u3001\u9632\u8303\u6d2a\u6c34\u653b\u51fb\uff09\u90fd\u65e0\u6d4e\u4e8e\u4e8b\u3002\u8981\u786e\u8ba4\u786e\u5b9e\u5b58\u5728\u5c4f\u853d\uff0c\u53ea\u8981\u521b\u5efa\u4e00\u4e2a\u63a5\u53d7\u4efb\u4f55\u6765\u6e90\uff080.0.0.0\uff09\u7684\u670d\u52a1\u5668\u5e76\u8fdc\u7a0b\u8fde\u63a5\u5b83\u3002\n\n\u5982\u679c\u4f60\u6536\u5230\u4e0e\u6b64\u7c7b\u4f3c\u7684\u9519\u8bef\u6d88\u606f\uff1a\n ssh: connect to host www.inet.hr port 22: Connection refused\n\n\u5c31\u8868\u793a\u4f60\u7684 ISP '''\u6ca1\u6709'''\u5c4f\u853d\u7aef\u53e3\uff0c\u4f46\u662f\u670d\u52a1\u5668\u6ca1\u6709\u5728\u8be5\u7aef\u53e3\u4e0a\u8fd0\u884c SSH \u670d\u52a1\uff08\u8bf7\u53c2\u9605 [[wikipedia:Security_through_obscurity|security through obscurity]]\uff09\u3002\n\n\u4f46\u662f\uff0c\u5982\u679c\u4f60\u6536\u5230\u4e0e\u8fd9\u6761\u7c7b\u4f3c\u7684\u9519\u8bef\u6d88\u606f\uff1a\n ssh: connect to host 111.222.333.444 port 22: Operation timed out \n\n\u8fd9\u5c31\u8868\u793a\u6709\u4eba\u963b\u6b62\u4e86 22 \u7aef\u53e3\u7684 TCP \u8fde\u63a5\uff0c\u57fa\u672c\u4e0a\u662f\u901a\u8fc7\u9632\u706b\u5899\u6216\u7b2c\u4e09\u65b9\u5e72\u9884\uff08\u5982 ISP \u963b\u6b62\u548c/\u6216\u62d2\u7edd\u7aef\u53e3 22 \u4e0a\u7684\u4f20\u5165\u901a\u4fe1\uff09\uff0c\u4f7f\u5f97\u7aef\u53e3\u4e0d\u53ef\u7528\u3002\u5982\u679c\u4f60\u7684\u8ba1\u7b97\u673a\u4e0a\u6ca1\u6709\u8fd0\u884c\u4efb\u4f55\u9632\u706b\u5899\uff0c\u5e76\u4e14\u5728\u4f60\u7684\u8def\u7531\u5668\u548c\u4ea4\u6362\u673a\u4e2d\u6ca1\u6709\u8fd9\u65b9\u9762\u7684\u6d41\u91cf\uff0c\u90a3\u4e48\u4f60\u7684 ISP \u5c4f\u853d\u4e86\u901a\u8baf\u3002\n\n\u4e3a\u4e86\u518d\u6b21\u68c0\u67e5\u786e\u8ba4\uff0c\u53ef\u4ee5\u5728\u670d\u52a1\u5668\u4e0a\u8fd0\u884c Wireshark \u5e76\u8ba9\u5b83\u76d1\u542c\u5728 22 \u7aef\u53e3\u3002\u7531\u4e8e Wireshark \u662f\u4e00\u4e2a\u4e8c\u5c42\u6570\u636e\u5305\u55c5\u63a2\u5de5\u5177\uff0c\u800c TCP/UDP \u5de5\u4f5c\u5728\u7b2c\u4e09\u5c42\u53ca\u4ee5\u4e0a\uff08\u53c2\u9605 [[wikipedia:Internet protocol suite|IP Network stack]]\uff09\uff0c\u5982\u679c\u5728\u8fde\u63a5\u65f6\u672a\u6536\u5230\u4efb\u4f55\u5185\u5bb9\uff0c\u5219\u7b2c\u4e09\u65b9\u5f88\u53ef\u80fd\u963b\u6b62\u4e86\u8be5\u7aef\u53e3\u4e0a\u5230\u670d\u52a1\u5668\u7684\u6d41\u91cf\u3002\n\n===== \u8bca\u65ad =====\n\n[[Install|\u5b89\u88c5]] {{Pkg|tcpdump}} \u6216 Wireshark ({{Pkg|wireshark-cli}})\u3002\n\n\u7528\u4e8e tcpdump:\n\n # tcpdump -ni ''interface'' \"port 22\"\n\n\u7528\u4e8e Wireshark:\n\n $ tshark -f \"tcp port 22\" -i ''interface''\n\n\u5176\u4e2d {{ic|''interface''}} \u662f\u7528\u4e8e\u8fde\u63a5 WAN \u7684\u7f51\u7edc\u9002\u914d\u5668\uff08\u7528 {{ic|ip a}} \u6765\u67e5\u627e\uff09\u3002\u5982\u679c\u5728\u5c1d\u8bd5\u8fdc\u7a0b\u8fde\u63a5\u65f6\u6ca1\u6709\u6536\u5230\u4efb\u4f55\u6570\u636e\u5305\uff0c\u5219\u53ef\u4ee5\u786e\u4fe1\u4f60\u7684 ISP \u5c4f\u853d\u4e86 22 \u7aef\u53e3\u4e0a\u7684\u4f20\u5165\u8fde\u63a5\u3002\n\n===== \u53ef\u80fd\u7684\u89e3\u51b3\u65b9\u6848 =====\n\u6b64\u65b9\u6848\u662f\u6362\u4e00\u4e2a ISP \u6ca1\u6709\u5c4f\u853d\u7684\u7aef\u53e3\u3002\u7f16\u8f91 {{ic|/etc/ssh/sshd_config}} \u6587\u4ef6\u6765\u4f7f\u7528\u4e0d\u540c\u7684\u7aef\u53e3\u3002\u4f8b\u5982\uff0c\u65b0\u589e\u8fd9\u51e0\u884c\uff1a\n\n Port 22\n Port 1234\n\n\u8fd8\u8981\u786e\u4fdd\u6587\u4ef6\u4e2d\u7684\u5176\u4ed6\u201cPort\u201d\u914d\u7f6e\u884c\u88ab\u6ce8\u91ca\u6389\u3002\u53ea\u662f\u6ce8\u91ca\u201cPort 22\u201d\u5e76\u52a0\u4e0a\u201cPort 1234\u201d\u4e0d\u4f1a\u89e3\u51b3\u95ee\u9898\uff0c\u56e0\u4e3a\u90a3\u6837 sshd \u5c06\u53ea\u76d1\u542c\u5728 1234 \u7aef\u53e3\u4e0a\u3002\u5199\u5165\u8fd9\u4e24\u884c\u53ef\u4ee5\u5728\u4e24\u4e2a\u7aef\u53e3\u4e0a\u8fd0\u884c SSH \u670d\u52a1\u5668\u3002\n\n[[Restart|\u91cd\u542f]] \u670d\u52a1\u5668\u4e0a\u7684 {{ic|sshd.service}} \u5c31\u57fa\u672c\u5b8c\u6210\u4e86\u3002\u4f60\u8fd8\u9700\u8981\u914d\u7f6e\u5ba2\u6237\u7aef\u6765\u4f7f\u7528\u4e0e\u9ed8\u8ba4\u7aef\u53e3\u4e0d\u540c\u7684\u7aef\u53e3\uff0c\u8fd9\u4e2a\u95ee\u9898\u6709\u5f88\u591a\u79cd\u89e3\u51b3\u65b9\u6848\uff0c\u5728\u8fd9\u91cc\u6211\u4eec\u53ea\u4ecb\u7ecd\u4e24\u79cd\u3002\n\n==== \"Read from socket failed: connection reset by peer\" \u9519\u8bef ====\n\n\u4f7f\u7528\u6700\u8fd1\u7248\u672c\u7684 openssh \u8fde\u63a5\u5230\u8f83\u65e7\u7684 ssh \u670d\u52a1\u5668\u65f6\u6709\u65f6\u4f1a\u5931\u8d25\uff0c\u5e76\u663e\u793a\u4e0a\u8ff0\u9519\u8bef\u6d88\u606f\u3002\u8fd9\u53ef\u4ee5\u901a\u8fc7\u4e3a\u8be5\u4e3b\u673a\u8bbe\u7f6e\u5404\u79cd [[#\u914d\u7f6e|\u5ba2\u6237\u7aef\u9009\u9879]] \u6765\u89e3\u51b3\u3002\u6709\u5173\u4e0b\u5217\u9009\u9879\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u53c2\u9605 {{man|5|ssh_config}}\u3002\n\n\u95ee\u9898\u53ef\u80fd\u51fa\u5728 {{ic|ecdsa-sha2-nistp*-cert-v01@openssh}} \u692d\u5706\u66f2\u7ebf\u7b97\u6cd5\u4e0a\u3002\u8fd9\u4e9b\u7b97\u6cd5\u53ef\u4ee5\u901a\u8fc7\u5728 {{ic|HostKeyAlgorithms}} \u91cc\u8bbe\u7f6e\u53ef\u7528\u7b97\u6cd5\u6765\u6392\u9664\u90a3\u4e9b\u7b97\u6cd5\u3002\n\n\u5982\u679c\u8fd9\u4e0d\u8d77\u4f5c\u7528\uff0c\u53ef\u80fd\u662f\u79d8\u94a5\u5217\u8868\u592a\u957f\u4e86\u3002\u8bbe\u7f6e {{ic|Ciphers}} \u6765\u51cf\u5c11\u5217\u8868\u957f\u5ea6\uff08\u5c11\u4e8e 80 \u4e2a\u5b57\u7b26\u5e94\u8be5\u53ef\u4ee5\uff09\u3002\u540c\u6837\u7684\uff0c\u4e5f\u53ef\u4ee5\u5c1d\u8bd5\u7f29\u77ed {{ic|MACs}} \u5217\u8868\u3002\n\n\u53c2\u9605 openssh bug forum \u4e0a\u7684 [http://www.gossamer-threads.com/lists/openssh/dev/51339 \u8ba8\u8bba]\u3002\n\n=== \"[your shell]: No such file or directory\" / SSH \u8ba4\u8bc1\u95ee\u9898 ===\n\u5bf9\u4e8e\u8fd9\u4e2a\u95ee\u9898\uff0c\u4e00\u4e2a\u53ef\u80fd\u7684\u539f\u56e0\u662f\u9700\u8981 SSH \u5ba2\u6237\u7aef\u5728 {{Ic|$SHELL}} \u4e2d\u63d0\u4f9b\u7edd\u5bf9\u8def\u5f84\uff08\u4f8b\u5982\u53ef\u4ee5\u901a\u8fc7 {{Ic|whereis -b [your shell]}} \u5f97\u5230)\uff0c\u5373\u4f7f\u4f60\u7684 shell \u5728 {{Ic|$PATH}} \u91cc\u7684\u67d0\u4e2a\u8def\u5f84\u4e2d\u3002\n\n===\"Terminal unknown\" \u6216  \"Error opening terminal\" \u9519\u8bef ===\n\u5982\u679c\u4f60\u5728\u767b\u5f55\u65f6\u6536\u5230\u4e0a\u8ff0\u9519\u8bef\uff0c\u8fd9\u610f\u5473\u7740\u670d\u52a1\u5668\u65e0\u6cd5\u8bc6\u522b\u4f60\u7684\u7ec8\u7aef\u3002\u4f7f\u7528 Ncurses \u7684\u5e94\u7528\u7a0b\u5e8f\uff08\u5982 nano\uff09\u53ef\u80fd\u4f1a\u5931\u8d25\uff0c\u5e76\u663e\u793a\u201cError opening terminal\u201d\u3002\n\n\u6b63\u786e\u7684\u89e3\u51b3\u65b9\u6848\u662f\u5728\u670d\u52a1\u5668\u4e0a\u5b89\u88c5\u5ba2\u6237\u7aef\u7ec8\u7aef\u7684 terminfo \u6587\u4ef6\u3002\u8fd9\u4f1a\u544a\u8bc9\u670d\u52a1\u5668\u4e0a\u7684\u63a7\u5236\u53f0\u7a0b\u5e8f\u5982\u4f55\u6b63\u786e\u5730\u4e0e\u7ec8\u7aef\u8fdb\u884c\u4ea4\u4e92\u3002\u4f60\u53ef\u4ee5\u4f7f\u7528 {{ic|$ infocmp}} \u83b7\u5f97\u5173\u4e8e\u5f53\u524d terminfo \u7684\u4fe1\u606f\uff0c\u7136\u540e\u627e\u51fa [[Pacman#Querying_package_databases|\u54ea\u4e2a\u5305\u5305\u62ec\u4e86\u5b83\u4eec]]\u3002\n\n\u5982\u679c\u4f60\u4e0d\u80fd\u6b63\u5e38[[install|\u5b89\u88c5]]\u5b83\uff0c\u53ef\u4ee5\u628a terminfo \u590d\u5236\u5230\u670d\u52a1\u5668\u4e0a\u4f60\u7684\u4e3b\u76ee\u5f55\u91cc\u9762\uff1a\n\n $ ssh myserver mkdir -p  ~/.terminfo/${TERM:0:1}\n $ scp /usr/share/terminfo/${TERM:0:1}/$TERM myserver:~/.terminfo/${TERM:0:1}/\n\n\u91cd\u65b0\u767b\u5f55\u3001\u767b\u51fa\u670d\u52a1\u5668\u540e\u8fd9\u4e2a\u95ee\u9898\u5e94\u8be5\u5df2\u7ecf\u89e3\u51b3\u3002\n\n==== TERM hack ====\n\n{{\u8b66\u544a|\u8fd9\u53ea\u80fd\u4f5c\u4e3a\u6700\u540e\u7684\u624b\u6bb5\u3002}}\n\n\u4f60\u53ef\u4ee5\u5728\u670d\u52a1\u5668\u4e0a\u7684\u73af\u5883\uff08\u4f8b\u5982 {{ic|.bash_profile}}\uff09\u4e2d\u7b80\u5355\u5730\u8bbe\u7f6e {{ic|1=TERM=xterm}} \u3002\u8fd9\u5c06\u6d88\u9664\u9519\u8bef\u5e76\u5141\u8bb8 ncurses \u5e94\u7528\u7a0b\u5e8f\u518d\u6b21\u8fd0\u884c\uff0c\u4f46\u9664\u975e\u4f60\u7684\u7ec8\u7aef\u7684\u63a7\u5236\u5e8f\u5217\u4e0e xterm \u5b8c\u5168\u5339\u914d\uff0c\u5426\u5219\u53ef\u80fd\u4f1a\u9047\u5230\u5947\u602a\u7684\u884c\u4e3a\u548c\u56fe\u5f62\u754c\u9762\u95ee\u9898\u3002\n\n=== \"Connection closed by x.x.x.x [preauth]\" \u9519\u8bef ===\n\u5982\u679c\u4f60\u5728 sshd \u7684 log \u91cc\u770b\u5230\u8fd9\u6761\u9519\u8bef\uff0c\u8bf7\u786e\u4fdd\u4f60\u5df2\u7ecf\u8bbe\u7f6e\u4e86\u53ef\u7528\u7684 HostKey\n HostKey /etc/ssh/ssh_host_rsa_key\n\n=== id_dsa \u88ab OpenSSH 7.0 \u62d2\u7edd ===\n\n\u51fa\u4e8e\u5b89\u5168\u539f\u56e0\uff0cOpenSSH 7.0 \u5f03\u7528\u4e86 DSA \u516c\u94a5\u3002\u5982\u679c\u4f60\u5fc5\u987b\u542f\u7528\u5b83\u4eec\uff0c\u8bf7[[#\u914d\u7f6e|\u8bbe\u7f6e]] {{ic|PubkeyAcceptedKeyTypes +ssh-dss}} \u9009\u9879\uff08http://www.openssh.com/legacy.html \u6ca1\u6709\u63d0\u5230\u8fd9\u4e00\u70b9\uff09\u3002\n\n=== OpenSSH 7.0 \u7684 \"No matching key exchange method found\" \u9519\u8bef ===\n\nOpenSSH 7.0 \u5f03\u7528\u4e86 diffie-hellman-group1-sha1 \u5bc6\u94a5\u7b97\u6cd5\uff0c\u56e0\u4e3a\u5b83\u5f88\u5f31\u5e76\u4e14\u5728\u6240\u8c13 Logjam \u653b\u51fb\u7684\u7406\u8bba\u8303\u56f4\u5185\uff08\u53c2\u9605http://www.openssh.com/legacy.html\uff09\u3002\u5982\u679c\u7279\u5b9a\u4e3b\u673a\u9700\u8981\u8fd9\u4e2a\u5bc6\u94a5\u7b97\u6cd5\uff0cssh \u4f1a\u4ea7\u751f\u5982\u4e0b\u9519\u8bef\u6d88\u606f\uff1a\n\n Unable to negotiate with 127.0.0.1: no matching key exchange method found.\n Their offer: diffie-hellman-group1-sha1\n\n\u8fd9\u4e2a\u95ee\u9898\u7684\u6700\u4f73\u89e3\u51b3\u65b9\u6848\u662f\u5c06\u670d\u52a1\u5668\u5347\u7ea7/\u914d\u7f6e\u4e3a\u4e0d\u4f7f\u7528\u4e0d\u63a8\u8350\u7684\u7b97\u6cd5\u3002\u5982\u679c\u505a\u4e0d\u5230\u8fd9\u4e00\u70b9\uff0c\u53ef\u4ee5\u914d\u7f6e[[#\u914d\u7f6e|\u5ba2\u6237\u7aef\u9009\u9879]] {{ic|KexAlgorithms +diffie-hellman-group1-sha1}} \u5f3a\u5236\u5ba2\u6237\u7aef\u4f7f\u7528\u8fd9\u4e2a\u7b97\u6cd5\u3002\n\n=== \u65ad\u5f00 SSH \u8fde\u63a5\u65f6 tmux/screen \u4f1a\u8bdd\u88ab\u5173\u95ed ===\n\n\u5982\u679c\u8fdb\u7a0b\u5728\u4f1a\u8bdd\u7ed3\u675f\u65f6\u88ab\u7ec8\u6b62\uff0c\u90a3\u4e48\u4f60\u53ef\u80fd\u662f\u7528 ssh.socket \u6fc0\u6d3b\u7684\uff0c{{Pkg|systemd}} \u6ce8\u610f\u5230 SSH \u4f1a\u8bdd\u8fdb\u7a0b\u9000\u51fa\uff0c\u7136\u540e\u6740\u6389\u4e86 tmux/screen \u8fdb\u7a0b\u3002\u8fd9\u79cd\u60c5\u51b5\u6709\u4e24\u79cd\u89e3\u51b3\u65b9\u6848\u3002\u4e00\u79cd\u662f\u901a\u8fc7\u4f7f\u7528 {{ic|ssh.service}} \u6765\u4ee3\u66ff {{ic|ssh.socket}} \u6765\u907f\u514d\u4f7f\u7528 socket \u6fc0\u6d3b\u3002\u53e6\u4e00\u4e2a\u662f\u5728 {{ic|ssh@.service}} \u7684 Service \u90e8\u5206\u8bbe\u7f6e {{ic|1=KillMode=process}}\u3002\n\n\u5728\u5e38\u89c4\u7684 {{ic|ssh.service}} \u91cc\u9762 {{ic|1=KillMode=process}} \u8fd9\u4e2a\u9009\u9879\u4e5f\u662f\u6709\u7528\u7684\uff0c\u5b83\u53ef\u4ee5\u5728 service \u505c\u6b62\u6216\u91cd\u542f\u65f6\u9632\u6b62 SSH \u4f1a\u8bdd\u8fdb\u7a0b\u6216 {{Pkg|screen}} \u6216 {{Pkg|tmux}} \u8fdb\u7a0b\u88ab kill \u6389\u3002\n\n=== SSH \u4f1a\u8bdd\u65e0\u54cd\u5e94 ===\n\nSSH \u54cd\u5e94 [[Wikipedia:Software_flow_control|\u6d41\u63a7\u5236\u547d\u4ee4]] \u4e2d\u7684 {{ic|XON}} \u548c {{ic|XOFF}} \u547d\u4ee4\u3002 \u5f53\u4f60\u6309 {{ic|Ctrl+s}} \u65f6\uff0c\u5b83\u4f1a\u51bb\u7ed3/\u6302\u8d77/\u505c\u6b62\u54cd\u5e94\u3002\u6309 {{ic|Ctrl+q}} \u6062\u590d\u4f1a\u8bdd\u3002\n\n== \u53c2\u9605 ==\n\n* [[Wikipedia:Secure Shell]]\n* [http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]\n* [http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks\n* [https://stribika.github.io/2015/01/04/secure-secure-shell.html Secure Secure Shell]"
                    }
                ]
            },
            "6721": {
                "pageid": 6721,
                "ns": 0,
                "title": "Proxy server",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Proxy servers]]\n[[Category:Network configuration]]\n[[es:Proxy server]]\n[[ja:\u30d7\u30ed\u30ad\u30b7\u8a2d\u5b9a]]\n{{Related articles start}}\n{{Related|HTTP tunneling}}\n{{Related articles end}}\n\nAccording to [[Wikipedia:Proxy server|Wikipedia]]:\n:In computer networks, a proxy server is a server (a computer system or an application) that acts as an intermediary for requests from clients seeking resources from other servers.\n\n== HTTPS MITM proxies ==\n\nWhen debugging HTTPS connections it is sometimes useful to intercept them outside of the browser. In order for the TLS MITM to work you need to trust a [[certificate authority]] of the proxy either in your browser or system-wide.\n\n* {{App|Charles|Graphical trialware written in Java.|https://www.charlesproxy.com/|{{AUR|charles}}}}\n* {{App|Fiddler|Proprietary and graphical, running on Mono.|https://www.telerik.com/fiddler|{{AUR|fiddler}}}}\n* {{App|mitmproxy|Command-line and web interface, written in Python, also has API.|https://mitmproxy.org/|{{Pkg|mitmproxy}}}}\n* {{App|sslsplit|Works with any TLS connections but cannot act as a HTTP proxy in a browser, written in C.|https://www.roe.ch/SSLsplit|{{Pkg|sslsplit}}}}\n\n{{Warning|''mitmproxy'' creates the private key to be readable by all users.[https://github.com/mitmproxy/mitmproxy/pull/3356]}}\n\n==Environment variables==\nSome programs, such as [[wget]] and (used by [[pacman]]) ''curl'', use environment variables of the form \"protocol_proxy\" to determine the proxy for a given protocol (e.g. HTTP, FTP, ...).\n\nBelow is an example on how to set these variables in a shell:\n \n <nowiki>\n export http_proxy=http://10.203.0.1:5187/\n export https_proxy=$http_proxy\n export ftp_proxy=$http_proxy\n export rsync_proxy=$http_proxy\n export no_proxy=\"localhost,127.0.0.1,localaddress,.localdomain.com\"</nowiki>\nSome programs look for the all caps version of the environment variables.\n\nIf the proxy environment variables are to be made available to all users and all applications, the above mentioned export commands may be added to a script, say \"proxy.sh\" inside /etc/profile.d/. The script has to be then made executable. This method is helpful while using a Desktop Environment like [[Xfce]] which does not provide an option for proxy configuration. For example, [[Chromium]] browser will make use of the variables set using this method while running XFCE. \n\nAlternatively, there's a tool named [https://github.com/himanshub16/ProxyMan ProxyMan] which claims to configure system-wide proxy settings easily. It also handles proxy configurations of other software like [git], [npm], Dropbox, etc. The project is inspired from Alan Pope's idea of making a script.\n \nAlternatively you can automate the toggling of the variables by adding a function to your .bashrc (thanks to Alan Pope for original script idea)\n <nowiki>\nfunction proxy_on() {\n    export no_proxy=\"localhost,127.0.0.1,localaddress,.localdomain.com\"\n\n    if (( $# > 0 )); then\n        valid=$(echo $@ | sed -n 's/\\([0-9]\\{1,3\\}.\\?\\)\\{4\\}:\\([0-9]\\+\\)/&/p')\n        if [[ $valid != $@ ]]; then\n            >&2 echo \"Invalid address\"\n            return 1\n        fi\n        local proxy=$1\n        export http_proxy=\"$proxy\" \\\n               https_proxy=$proxy \\\n               ftp_proxy=$proxy \\\n               rsync_proxy=$proxy\n        echo \"Proxy environment variable set.\"\n        return 0\n    fi\n\n    echo -n \"username: \"; read username\n    if [[ $username != \"\" ]]; then\n        echo -n \"password: \"\n        read -es password\n        local pre=\"$username:$password@\"\n    fi\n\n    echo -n \"server: \"; read server\n    echo -n \"port: \"; read port\n    local proxy=$pre$server:$port\n    export http_proxy=\"$proxy\" \\\n           https_proxy=$proxy \\\n           ftp_proxy=$proxy \\\n           rsync_proxy=$proxy \\\n           HTTP_PROXY=$proxy \\\n           HTTPS_PROXY=$proxy \\\n           FTP_PROXY=$proxy \\\n           RSYNC_PROXY=$proxy\n}\n\nfunction proxy_off(){\n    unset http_proxy https_proxy ftp_proxy rsync_proxy \\\n          HTTP_PROXY HTTPS_PROXY FTP_PROXY RSYNC_PROXY\n    echo -e \"Proxy environment variable removed.\"\n}\n</nowiki>\n\nOmit username or password if they are not needed.\n\nAs an alternative, you may want to use the following script.\nChange the strings \"YourUserName\", \"ProxyServerAddress:Port\", \"LocalAddress\" and \"LocalDomain\" to match your own data,\nthen edit your {{ic|~/.bashrc}} to include the edited functions.\nAny new bash window will have the new functions. In existing bash windows, type {{ic|source ~/.bashrc}}.\nYou may prefer to put function definitions in a separate file like {{ic|functions}} then add {{ic|source functions}} to {{ic|.bashrc}} instead of putting everything in {{ic|.bashrc}}.\nYou may also want to change the name \"myProxy\" into something short and easy to write.\n\n <nowiki>\n #!/bin/bash\n\n assignProxy(){\n   PROXY_ENV=\"http_proxy ftp_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY FTP_PROXY ALL_PROXY\"\n   for envar in $PROXY_ENV\n   do\n      export $envar=$1\n   done\n   for envar in \"no_proxy NO_PROXY\"\n   do\n      export $envar=$2\n   done\n }\n\n clrProxy(){\n    PROXY_ENV=\"http_proxy ftp_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY FTP_PROXY ALL_PROXY\"\n    for envar in $PROXY_ENV\n    do\n       unset $envar\n    done\n }\n\n myProxy(){\n   user=YourUserName\n   read -p \"Password: \" -s pass &&  echo -e \" \"\n   proxy_value=\"http://$user:$pass@ProxyServerAddress:Port\"\n   no_proxy_value=\"localhost,127.0.0.1,LocalAddress,LocalDomain.com\"\n   assignProxy $proxy_value $no_proxy_value\n }\n </nowiki>\n\n===Keep proxy through sudo===\n\nIf the proxy environment variables are set for the user only (say, from manual commands or .bashrc) they will get lost when running commands with [[sudo]] (or when programs use sudo internally).\n\nA way to prevent that is to add the following line to the sudo configuration file (accessible with visudo) :\n\n <nowiki>Defaults env_keep += \"http_proxy https_proxy ftp_proxy\"</nowiki>\n\nYou may also add any other environment variable, like rsync_proxy, or no_proxy.\n\n===Automation with network managers===\n*[[NetworkManager]] cannot change the environment variables.\n*[[netctl]] could set-up these environment variables but they would not be seen by other applications as they are not child of netctl.\n\n==About libproxy==\n[http://code.google.com/p/libproxy/ libproxy] (which is available in the extra repository) is an abstraction library which should be used by all applications that want to access a network resource. It still is in development but could lead to a unified and automated handling of proxies in GNU/Linux if widely adopted.\n\nThe role of libproxy is to read the proxy settings from different sources and make them available to applications which use the library. The interesting part with libproxy is that it offers an implementation of the [[wikipedia:Web_Proxy_Autodiscovery_Protocol|Web Proxy Autodiscovery Protocol]] and an implementation of [[wikipedia:Proxy_auto-config|Proxy Auto-Config]] that goes with it.\n\nThe {{Ic|/usr/bin/proxy}} binary takes URL(s) as argument(s) and returns the proxy/proxies that could be used to fetch this/these network resource(s).\n{{Note|1=the version 0.4.11 does not support http_proxy='wpad:' because {{ic|1={ pkg-config 'mozjs185 >= 1.8.5'; } }} fails .}}\n\nAs of 06/04/2009 libproxy is required by libsoup. It is then indirectly used by the {{Pkg|midori}} browser.\n\n== Web Proxy Options ==\n* [[Squid]] is a very popular caching/optimizing proxy\n* [[Privoxy]] is an anonymizing and ad-blocking proxy\n* {{Pkg|tinyproxy}} is a small, efficient HTTP/SSL proxy daemon\n* For a simple proxy, ssh with port forwarding can be used\n\n=== Simple Proxy with SSH ===\nConnect to a server (HOST) on which you have an account (USER) as follows\n ssh -D PORT USER@HOST\nFor PORT, choose some number which is not an IANA registered port. This specifies that traffic on the local PORT will be forwarded to the remote HOST. ssh will act as a [[Wikipedia:SOCKS|SOCKS]] server. Software supporting SOCKS proxy servers can simply be configured to connect to PORT on localhost.\n\n==Using a SOCKS proxy==\nThere are two cases:\n*the application you want to use handles [[Wikipedia:SOCKS#SOCKS5|SOCKS5]] proxies (for example [[Firefox]]), then you just have to configure it to use the proxy.\n*the application you want to use does not handle SOCKS proxies, then you can try to use {{Pkg|tsocks}} or {{Pkg|proxychains-ng}}.\n\nIn Firefox, you can use the SOCKS proxy in the menu Preferences > Network > Settings. Choose \"Manual Proxy Configuration\", and set the SOCKS Host (and only this one, make sure the other fields, such as HTTP Proxy or SSL Proxy are left empty). For example, if a SOCKS5 proxy is running on localhost port 8080, put \"127.0.0.1\" in the SOCKS Host field, \"8080\" in the Port field, and validate.\n\nIf using ''proxychains-ng'', the configuration takes place in {{ic|/etc/proxychains.conf}}. You may have to uncomment the last line (set by default to use [[Tor]]), and replace it with the parameters of the SOCKS proxy. For example, if you are using the same SOCKS5 proxy as above, you will have to replace the last line by:\n socks5 127.0.0.1 8080\n\nThen, ''proxychains-ng'' can be launched with \n proxychains <program>\nWhere <program> can be any program already installed on your system (e.g. xterm, gnome-terminal, etc).\n\nIf using ''tsocks'', the configuration takes place in {{ic|/etc/tsocks.conf}}. See {{man|5|tsocks.conf}} for the options. An example minimum configuration looks like this:\n{{hc|/etc/tsocks.conf|2=\nserver = 127.0.0.1\nserver_port = 8080\nserver_type = 5\ndefault_user = \"\"\ndefault_pass = \"\"}}\n\n=== curl and pacman ===\nYou may set the {{ic|all_proxy}} environment variable to let curl and pacman (which uses curl) use your socks5 proxy:\n{{bc|1=$ export all_proxy=\"socks5://your.proxy:1080\"}}\n\n==Proxy settings on GNOME3==\nSome programs like [[Chromium]] prefer to use the settings stored by gnome. These settings can be modified through the gnome-control-center front end and also through gsettings.\n\n gsettings set org.gnome.system.proxy mode 'manual' \n gsettings set org.gnome.system.proxy.http host 'proxy.localdomain.com'\n gsettings set org.gnome.system.proxy.http port 8080\n gsettings set org.gnome.system.proxy.ftp host 'proxy.localdomain.com'\n gsettings set org.gnome.system.proxy.ftp port 8080\n gsettings set org.gnome.system.proxy.https host 'proxy.localdomain.com'\n gsettings set org.gnome.system.proxy.https port 8080\n gsettings set org.gnome.system.proxy ignore-hosts \"['localhost', '127.0.0.0/8', '10.0.0.0/8', '192.168.0.0/16', '172.16.0.0/12' , '*.localdomain.com' ]\"\n\nThis configuration can also be set to automatically execute when [[NetworkManager#Proxy_settings|Network Manager]] connects to specific networks , by using the package {{AUR|proxydriver}} from the [[AUR]]\n\n== Microsoft NTLM proxy ==\n\nIn a Windows network, NT LAN Manager (NTLM) is a suite of Microsoft security protocols which provides authentication, integrity, and confidentiality to users.  \n\n{{AUR|cntlm}} from the [[AUR]] stands between your applications and the NTLM proxy, adding NTLM authentication on-the-fly. You can specify several \"parent\" proxies and Cntlm will try one after another until one works. All authenticated connections are cached and reused to achieve high efficiency.\n \n (NTLM PROXY IP:PORT + CREDENTIALS + OTHER INFO) -----> '''(127.0.0.1:PORT)'''\n\n=== Configuration ===\n\nChange settings in {{ic|/etc/cntlm.conf}} as needed, except for the password. Then run:\n\n $ cntlm -H\n\nThis will generate encrypted password hashes according to your proxy hostname, username and password.\n\n{{Warning|{{Pkg|ettercap}} can easily sniff your password over LAN when using plain-text passwords instead of encrypted hashes.}}\n\nEdit {{ic|/etc/cntlm.conf}} again and include all three generated hashes, then [[enable]] {{ic|cntlm.service}}.\n\nTo test settings, run:\n\n $ cntlm -v\n\n=== Usage ===\n\nUse {{ic|127.0.0.1:<port>}} or {{ic|localhost:<port>}} as a proxy adress. {{ic|<port>}} matches the {{ic|Listen}} parameter in {{ic|/etc/cntlm.conf}}, which by default is {{ic|3128}}."
                    }
                ]
            },
            "6728": {
                "pageid": 6728,
                "ns": 0,
                "title": "Clipboard",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:X server]]\n[[Category:Lists of software]]\n[[es:Clipboard]]\n[[fr:Copier coller]]\n[[ja:\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9]]\n{{Related articles start}}\n{{Related|Copying text from a terminal}}\n{{Related|Firefox#Middle-click behavior}}\n{{Related|GTK#Disable mouse paste}}\n{{Related|Vim#Clipboard}}\n{{Related articles end}}\n\n{{Expansion|Describe clipboards for [[Wayland]] and XWayland. Some references: [https://wiki.gnome.org/Initiatives/Wayland/PrimarySelection], [https://github.com/swaywm/sway/issues/1012], [https://bugreports.qt.io/browse/QTBUG-66008].}}\n\nAccording to [[Wikipedia:Clipboard (computing)|Wikipedia]]:\n:The clipboard is a facility used for short-term data storage and/or data transfer between documents or applications, via [[Wikipedia:copy and paste|copy and paste]] operations.\n\n== History ==\n\nIn X10, ''cut buffers'' were introduced. These were limited buffers that stored arbitrary text and were used by most applications. However, they were inefficient and implementation of them varied, so selections were introduced. Cut buffers are long deprecated, and although some applications (such as [[xterm]]) may have legacy support for them, it is both not likely and not recommended that they be used.\n\n== Selections ==\n\n[[Freedesktop.org]] describes the two main ''selections'' as follows:[https://specifications.freedesktop.org/clipboards-spec/clipboards-latest.txt]\n\n;PRIMARY: Used for the currently selected text, even if it is not explicitly copied, and for middle-mouse-click pasting. In some cases, pasting is also possible with a keyboard shortcut.\n;CLIPBOARD: Used for explicit copy/paste commands involving keyboard shortcuts or menu items. Hence, it behaves like the single-clipboard system on Windows. Unlike PRIMARY, it can also handle [https://stackoverflow.com/questions/3571179/how-does-x11-clipboard-handle-multiple-data-formats multiple data formats].\n\nThe majority of programs for [[Xorg]], including [[Qt]] and [[GTK]] applications, follow this behavior. While [https://tronche.com/gui/x/icccm/ ICCCM] also defines a SECONDARY selection, it does not have a consensually agreed upon purpose. Despite the naming, all three selections are basically \"clipboards\". Rather than the old \"cut buffers\" system where arbitrary applications could modify data stored in the cut buffers, only one application may control or \"own\" a selection at one time. This prevents inconsistencies in the operation of the selections.\n\nSee the [[Keyboard shortcuts]] page which lists the default shortcuts in many programs.\n\nIt is also important to realize that according to the selection protocols, nothing is copied [https://unix.stackexchange.com/questions/213840/how-to-toggle-or-turn-off-text-selection-being-sent-to-the-clipboard/213843#213843 until it is pasted]. For example, if you select some word in a terminal window, close the terminal and then want to paste it somewhere else, it will not work because the terminal is gone and the text has not been copied anywhere. If you want the word to be preserved after closing terminal window, consider installing a [[clipboard manager]].\n\n{{Note|[[#Managers|Clipboard managers]] can significantly change the user experience, for example they might synchronize the PRIMARY and CLIPBOARD selections to emulate a single-clipboard system.}}\n\n== Tools ==\n\nThis section lists command-line tools to manipulate the clipboards.\n\n* {{App|sselp|Simple X selection printer. Prints the X selection to stdout.|http://tools.suckless.org/x/sselp|{{AUR|sselp}}}}\n* {{App|xclip|A lightweight, command-line based interface to the clipboard.|https://github.com/astrand/xclip|{{Pkg|xclip}}}}\n* {{App|xsel|Command-line program for getting and setting the contents of the X selection.|http://www.vergenet.net/~conrad/software/xsel/|{{Pkg|xsel}}}}\n* {{App|wl-clipboard|A simple copy/paste tool for Wayland compositors.|https://github.com/bugaevc/wl-clipboard|{{Pkg|wl-clipboard}}}}\n\n== Managers ==\n\nThis section lists daemons that track your clipboard, to provide a clipboard history and/or synchronization.\n\n* {{App|Anamnesis|Clipboard manager that stores all the clipboard history and offers an interface to do a full-text search. It has both a command line and GUI mode available.|http://anamnesis.sourceforge.net/|{{AUR|anamnesis}}}}\n* {{App|Autocutsel|Command line and daemon interfaces to synchronize PRIMARY, {{Ic|CLIPBOARD}} and cut buffer selections.|http://www.nongnu.org/autocutsel/|{{Pkg|autocutsel}}}}\n* {{App|Clipboard Indicator|Clipboard manager extension for GNOME Shell. Adds a clipboard indicator to the top panel, and caches clipboard history.|https://github.com/Tudmotu/gnome-shell-extension-clipboard-indicator|{{AUR|gnome-shell-extension-clipboard-indicator-git}}}}\n* {{App|ClipIt|Fork of Parcellite.It has both a command line and GUI mode available.|https://github.com/CristianHenzel/ClipIt|{{AUR|clipit}}}}\n* {{App|Clipman|Clipboard manager plugin for the Xfce4 panel. It keeps the clipboard contents around while it is usually lost when you close an application. It is able to handle text and images, and has a feature to execute actions on specific text selections by matching them against regular expressions.|https://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin|{{Pkg|xfce4-clipman-plugin}}}}\n* {{App|ClipManager|Cross-platform clipboard manager written in Python and Qt.|https://github.com/scottwernervt/clipmanager|{{AUR|clipmanager}}}}\n* {{App|Clipmenu|Dmenu based clipboard manager|https://github.com/cdown/clipmenu/|{{Pkg|clipmenu}}}}\n* {{App|Clipster|A lightweight, command-line-driven clipboard manager, written in Python.|https://github.com/mrichar1/clipster|{{AUR|clipster}}, {{AUR|clipster-git}}}}\n* {{App|CopyQ|Clever Qt clipboard manager with searchable and editable history, custom actions on items and command line support.|https://github.com/hluk/CopyQ|{{Pkg|copyq}}}}\n* {{App|[[Wikipedia:Glipper|Glipper]]|Clipboard manager for the GNOME desktop with many features and plugin support.|https://launchpad.net/glipper|{{AUR|glipper}}}}\n* {{App|GPaste|Clipboard management system that aims at being a new generation Parcellite, with a modular structure split in a couple of libraries and a daemon for adaptability. Offers a GNOME Shell extension and a CLI interface.|https://github.com/Keruspe/GPaste|{{Pkg|gpaste}}}}\n* {{App|[[Greenclip]]|Simple clipboard manager to be integrated with rofi|https://github.com/erebe/greenclip|{{AUR|rofi-greenclip}}}}\n* {{App|[[Wikipedia:Klipper|Klipper]]|Full featured clipboard manager for the KDE desktop.|https://userbase.kde.org/Klipper|{{Pkg|plasma-workspace}}}}\n* {{App|Parcellite|Lightweight yet feature-rich clipboard manager. It has both a command line and GUI mode available.|http://parcellite.sourceforge.net/|{{Pkg|parcellite}}}}\n* {{App|Pasteall|Clipboard monitor simple and functional (with notifications in Portuguese).|https://github.com/ShyPixie/Pasteall|{{AUR|pasteall}}}}\n* {{App|Qlipper|Lightweight and cross-platform clipboard history applet based on Qt.|https://github.com/pvanek/qlipper/|{{AUR|qlipper}}}}\n* {{App|xclipboard|Official X clipboard command-line client.|https://www.x.org/releases/X11R7.5/doc/man/man1/xclipboard.1.html|{{Pkg|xorg-xclipboard}}}}\n* {{App|xcmenu|Clipboard synchronizer developed for window manager users.|https://github.com/dindon-sournois/xcmenu|{{AUR|xcmenu-git}}}}\n\n== See also ==\n\n* [https://specifications.freedesktop.org/clipboards-spec/clipboards-latest.txt Cut-and-paste in X]\n* [https://www.jwz.org/doc/x-cut-and-paste.html X Selections, Cut Buffers, and Kill Rings.]"
                    }
                ]
            },
            "6748": {
                "pageid": 6748,
                "ns": 0,
                "title": "GNOME/Keyring",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:GNOME]]\n[[es:GNOME (Espa\u00f1ol)/Keyring]]\n[[ja:GNOME Keyring]]\n[[zh-hans:GNOME Keyring]]\n[https://wiki.gnome.org/Projects/GnomeKeyring GNOME Keyring] is \"a collection of components in GNOME that store secrets, passwords, keys, certificates and make them available to applications.\"\n\n== Installation ==\n\nWhen using GNOME, {{Pkg|gnome-keyring}} is installed automatically as a part of the {{grp|gnome}} group. Otherwise [[install]] the {{Pkg|gnome-keyring}} package. Install {{Pkg|libsecret}} to allow applications to use your keyrings. {{Pkg|libgnome-keyring}} is deprecated, however, some applications may require it.\n\nExtra utilities related to GNOME keyring include:\n* {{App|secret-tool|Access the GNOME keyring (and any other service implementing the [https://specifications.freedesktop.org/secret-service/ DBus Secret Service API]) from the command line.|https://wiki.gnome.org/Projects/Libsecret|{{Pkg|libsecret}}}}\n* {{App|gnome-keyring-query|Provides a simple command-line tool for querying passwords from the password store of the GNOME Keyring. (uses the deprecated {{Pkg|libgnome-keyring}})||{{AUR|gnome-keyring-query}}}}\n* {{App|gkeyring|Query passwords from the command line. (uses the deprecated {{Pkg|libgnome-keyring}})|https://github.com/kparal/gkeyring|{{AUR|gkeyring}}, {{AUR|gkeyring-git}}}}\n\n== Manage using GUI ==\n\nYou can manage the contents of GNOME Keyring using Seahorse. [[Install]] it with the package {{Pkg|seahorse}}.\n\nIt is possible to leave the GNOME keyring password blank or change it. In seahorse, in the \"View\" drop-down menu, select \"By Keyring\". On the Passwords tab, right click on \"Passwords: login\" and pick \"Change password.\" Enter the old password and leave empty the new password. You will be warned about using unencrypted storage; continue by pushing \"Use Unsafe Storage.\"\n\n== Using the keyring outside GNOME ==\n\n=== Without a display manager ===\n\n==== Automatic login ====\n\nIf you are using automatic login, then you can disable the keyring manager by setting a blank password on the login keyring.\n{{Note| The passwords are stored unencrypted in this case.}}\n\n==== Console login ====\n\nWhen using console-based login, the keyring daemon can be started by either [[PAM]] or [[xinitrc]]. PAM can also unlock the keyring automatically at login.\n\n===== PAM method =====\n\nStart the gnome-keyring-daemon from {{ic|/etc/pam.d/login}}:\n\nAdd {{ic|auth optional pam_gnome_keyring.so}} at the end of the {{ic|auth}} section and {{ic|session optional pam_gnome_keyring.so auto_start}} at the end of the {{ic|session}} section.\n\n{{hc|/etc/pam.d/login|\n#%PAM-1.0\n \nauth       required     pam_securetty.so\nauth       requisite    pam_nologin.so\nauth       include      system-local-login\nauth       optional     pam_gnome_keyring.so'''\naccount    include      system-local-login\nsession    include      system-local-login\nsession    optional     pam_gnome_keyring.so auto_start'''}}\n\nFor [[SDDM]], edit instead the configuration file {{ic|/etc/pam.d/sddm}}.\n\nNext, for [[GDM]], add {{ic|password optional pam_gnome_keyring.so}} to the end of {{ic|/etc/pam.d/passwd}}.\n{{hc|/etc/pam.d/passwd|2=\n#%PAM-1.0\n\n#password\trequired\tpam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3\n#password\trequired\tpam_unix.so sha512 shadow use_authtok\npassword\trequired\tpam_unix.so sha512 shadow nullok\npassword\toptional\tpam_gnome_keyring.so'''}}\n\n{{Note|\n* To use automatic unlocking, the same password for the user account and the keyring have to be set.\n* You will still need the code in {{ic|~/.xinitrc}} below in order to export the environment variables required.}}\n\n===== xinitrc method =====\n\nStart the gnome-keyring-daemon from [[xinitrc]]:\n\n{{hc|~/.xinitrc|<nowiki>\neval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)\nexport SSH_AUTH_SOCK\n</nowiki>}}\n\nSee [[Xfce#SSH agents]] for use in Xfce.\n\n=== With a display manager ===\n\nWhen using a display manager, the keyring works out of the box for most cases. The following display managers automatically unlock the keyring once you log in:\n* [[GDM]]\n* [[LightDM]]\n* [[LXDM]]\n* [[SDDM]]\n\nFor GDM and LightDM, note the keyring [https://wiki.gnome.org/Projects/GnomeKeyring/Pam must be] named ''login'' to be automatically unlocked.\n\nTo enable the keyring for applications run through the terminal, such as SSH, add the following to your {{ic|~/.bash_profile}}, {{ic|~/.zshenv}}, or similar:\n\n{{hc|~/.bash_profile|<nowiki>\nif [ -n \"$DESKTOP_SESSION\" ];then\n    eval $(gnome-keyring-daemon --start)\n    export SSH_AUTH_SOCK\nfi</nowiki>}}\n\n{{hc|~/.config/fish/config.fish|<nowiki>\nif test -n \"$DESKTOP_SESSION\"\n    set (gnome-keyring-daemon --start | string split \"=\")\nend</nowiki>}}\n\n== SSH keys ==\n\nTo add your SSH key:\n\n $ ssh-add ~/.ssh/id_rsa\n Enter passphrase for /home/mith/.ssh/id_rsa:\n\nTo list automatically loaded keys:\n\n $ ssh-add -L\n\nTo disable all keys:\n\n $ ssh-add -D\n\nNow when you connect to a server, the key will be found and a dialog will popup asking you for the passphrase. It has an option to automatically unlock the key when you log in. If you check this, you will not need to enter your passphrase again!\n\nAlternatively, to permanently save the a passphrase in the keyring, use ssh-askpass from package {{pkg|seahorse}}:\n\n /usr/lib/seahorse/ssh-askpass my_key\n\n{{Note|You have to have the corresponding {{ic|.pub}} file in the same directory as the private key ({{ic|~/.ssh/id_rsa.pub}} in the example). Also, make sure that the public key is the file name of the private key plus {{ic|.pub}} (for example, {{ic|my_key.pub}}).}}\n=== Start SSH and Secrets components of keyring daemon ===\n\nIf you are starting Gnome Keyring with a display manager or the Pam method described above and you are NOT using Gnome, Unity or Mate as your desktop you may find that the SSH and Secrets components are not being started automatically.\nYou can fix this by copying the desktop files gnome-keyring-ssh.desktop and gnome-keyring-secrets.desktop from /etc/xdg/autostart/ to ~/.config/autostart/ and deleting the OnlyShowIn line.\n\n $ cp /etc/xdg/autostart/{gnome-keyring-secrets.desktop,gnome-keyring-ssh.desktop} ~/.config/autostart/\n $ sed -i '/^OnlyShowIn.*$/d' ~/.config/autostart/gnome-keyring-secrets.desktop\n $ sed -i '/^OnlyShowIn.*$/d' ~/.config/autostart/gnome-keyring-ssh.desktop\n\n=== Disable keyring daemon components ===\n\nIf you wish to run an alternative SSH agent (e.g. [[SSH keys#ssh-agent|ssh-agent]] or [[GnuPG#gpg-agent|gpg-agent]], you need to disable the {{ic|ssh}} component of GNOME Keyring.\nTo do so in an account-local way, copy {{ic|/etc/xdg/autostart/gnome-keyring-ssh.desktop}} to {{ic|~/.config/autostart/}} and then append the line {{ic|1=Hidden=true}} to the copied file. Then log out.\n\n{{Note|In case you use [[GNOME]] 3.24 or older on [[Wayland]], gnome-shell will overwrite {{ic|SSH_AUTH_SOCK}} to point to gnome-keyring regardless if it is running or not. To prevent this, you need to set the environment variable GSM_SKIP_SSH_AGENT_WORKAROUND before gnome-shell is started. One way to do this is to add the line {{ic|1=GSM_SKIP_SSH_AGENT_WORKAROUND\tDEFAULT=1}} to {{ic|~/.pam_environment}}.}}\n\n== Tips and tricks ==\n\n=== Integration with applications ===\n\n* [[Firefox#KDE.2FGNOME_integration|Firefox]]\n\n=== Flushing passphrases ===\n\n gnome-keyring-daemon -r -d\n\nThis command starts gnome-keyring-daemon, shutting down previously running instances.\n\n=== Git integration ===\n\nThe GNOME keyring is useful in conjuction with [[Git]] when you are pushing over HTTPS.\n\n[[Install]] the {{Pkg|libsecret}} package. \n\nSet Git up to use the helper:\n $ git config --global credential.helper /usr/lib/git-core/git-credential-libsecret\n\nNext time you do a ''git push'', you are asked to unlock your keyring, if not unlocked already.\n\n=== GnuPG integration ===\n\nSeveral applications which use GnuPG require a {{ic|pinentry-program}} to be set. Set the following to use Gnome 3 pinentry for Gnome Keyring to manage passphrase prompts.\n\n{{hc|~/.gnupg/gpg-agent.conf|<nowiki>\npinentry-program /usr/bin/pinentry-gnome3\n</nowiki>}}\n\nAnother option is to [[GnuPG#Unattended_passphrase|force loopback for GPG]] which should allow the passphrase to be entered in the application.\n\n== Troubleshooting ==\n\n=== Passwords are not remembered ===\n\nIf you get a password prompt every time you login, and you find that passwords are not saved, you might need to create/set a default keyring.\n\nEnsure that the {{pkg|seahorse}} package is [[install]]ed, open it (\"Passwords and Keys\" in system settings) and select ''View'' > ''By Keyring''.\nIf there is no keyring in the left column (it will be marked with a lock icon), go to ''File'' > ''New'' > ''Password Keyring'' and give it a name. You will be asked to enter a password. If you do not give the keyring a password it will be unlocked automatically, even when using autologin, but passwords will not be stored securely. Finally, right-click on the keyring you just created and select \"Set as default\".\n\n=== Resetting the keyring ===\n\nIf you get the error \"The password you use to login to your computer no longer matches that of your login keyring\", you can simply reset your gnome keyring.\n\nRemove \"login.keyring\" and \"user.keystore\" from ''/home/{username}/.local/share/keyrings/''. After removing the files, simply log out and log in again. Obviously, this will remove your saved keys.\n\n== See also ==\n* [https://wiki.gnome.org/action/show/Projects/GnomeKeyring  GNOME wiki]"
                    }
                ]
            },
            "6789": {
                "pageid": 6789,
                "ns": 0,
                "title": "ECryptfs",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "{{Lowercase title}}\n[[Category:Disk encryption]]\n[[fr:Encryption avec eCryptfs]]\n[[it:ECryptfs]]\n[[ja:ECryptfs]]\n[[ru:ECryptfs]]\nThis article describes basic usage of [https://launchpad.net/ecryptfs eCryptfs]. It guides you through the process of creating a private and secure encrypted directory within your home directory to store sensitive files and private data.\n\nIn implementation eCryptfs differs from [[dm-crypt]], which provides a ''block device encryption layer'', while eCryptfs is an actual file-system &ndash; a [[wikipedia:Cryptographic_filesystems|stacked cryptographic file system]]. For comparison of the two you can refer to the [[Disk encryption#Comparison table]]. One distinguished feature is that the encryption is stacked on an existing filesystem; eCryptfs can be mounted onto any single existing directory and does not require a separate partition (or size pre-allocation). \n\n== Basics ==\n\nAs mentioned in the summary eCryptfs does not require special on-disk storage allocation effort, such as a separate partition or pre-allocated space. Instead, you can mount eCryptfs on top of any single directory to protect it. That includes, for example, a user's entire home directory or single dedicated directories within it. All cryptographic metadata is stored in the headers of files, so encrypted data can be easily moved, stored for backup and recovered. There are other advantages, but there are also drawbacks, for instance eCryptfs is not suitable for encrypting complete partitions which also means you cannot protect swap space with it (but you can, of course, combine it with [[Dm-crypt/Swap encryption]]). If you are just starting to set up disk encryption, swap encryption and other points to consider are covered in [[Disk encryption#Preparation]].\n\nTo familiarize with eCryptfs a few points: \n* As a stacked filesystem, a mounting of an eCryptfs directory refers to mounting a (stacked) encrypted directory to another '''un'''encrypted mount point (directory) at Linux kernel runtime. \n* It is possible to share an encrypted directory between users. However, the encryption is linked to one passphrase so this must be shared as well. It is also possible to share a directory with differently encrypted files (different passphrases). \n* Several eCryptfs terms are used throughout the documentation: \n** The encrypted directory is referred to as the '''lower''' and the unencrypted as the '''upper''' directory throughout the eCryptfs documentation and this article. While not relevant for this article, the \"overlay\" filesystem introduced with Linux 3.18 uses (and [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/overlayfs.txt explains]) the same upper/lower nomenclature for the stacking of filesystems. \n** The '''mount''' passphrase (or key) is what gives access to the encrypted files, i.e. unlocks the encryption. eCryptfs uses the term '''wrapped''' passphrase to refer to the cryptographically secured mount passphrase.\n** {{ic|FEFEK}} refers to a '''F'''ile's '''E'''ncryption key '''E'''ncryption '''Key''' (see [https://www.kernel.org/doc/Documentation/security/keys-ecryptfs.txt kernel documentation]). \n** {{ic|FNEK}} refers to a '''F'''ile '''N'''ame '''E'''ncryption '''K'''ey, a key to (optionally) encrypt the filenames stored in the encrypted directory.\n\nBefore using eCryptfs, the following disadvantages should be checked for applicability. \n\n=== Deficiencies ===\n\n* Ease of use  \n:The {{Pkg|ecryptfs-utils}} package provides several different ways of setting up eCryptfs. The high-level [[#Ubuntu tools]] are the easiest to use, but they hard-code the lower directory path and other settings, limiting their usefulness. The package also includes low-level tools which are fully configurable, but they are somewhat more difficult to use compared to alternatives like [[EncFS]].\n\n* File name length\n:File names longer than 143 characters cannot be encrypted (with the {{ic|FNEK}} option).[https://bugs.launchpad.net/ecryptfs/+bug/344878] This can break some programs in your home directory (for example [[wikipedia:Symfony|Symfony]] caching).\n\n* Network storage mounts\n:eCryptfs has long-standing [https://bugs.launchpad.net/ecryptfs/+bug/277578 bugs] when used on top of NFS and possibly other networked filesystems, for example, [[#Mounting may fail on a remote host when connecting via Mosh]]. It is always possible to use eCryptfs on a local directory and then copy the encrypted files from the local directory to a network host. However, if you want to set up eCryptfs directly on top of an NFS mount, with no local copy of the files, eCryptfs may crash or behave incorrectly. If in doubt, [[EncFS]] may be a better choice in this case.\n\n* Sparse files\n:[[wikipedia:Sparse_file|Sparse files]] written to eCryptfs will produce larger, non-sparse encrypted files in the lower directory. For example, in an eCryptfs directory running {{ic|truncate -s 1G file.img}} creates a 1GB encrypted file on the underlying filesystem, with the corresponding resource (disk space, data throughput) requirements. If the same file were created on an unencrypted filesystem or a filesystem using [[Disk_encryption#Block device encryption|block device encryption]], it would only take a few kilobytes.\n\n:This should be considered before encrypting large portions of the directory structure, though in most cases the disadvantages will be minor. If you need to use large sparse files, you can work around this issue by putting the sparse files in an unencrypted directory or using block device encryption for them.\n\n== Setup & mounting ==\n\nBefore starting, check the eCryptfs documentation. It is distributed with a very good and complete set of [http://ecryptfs.org/documentation.html manual pages].\n\neCryptfs has been included in Linux since version 2.6.19. Start by loading the {{ic|ecryptfs}} module:\n # modprobe ecryptfs\n\nTo actually mount an eCryptfs filesystem, you need to use userspace tools provided by the package {{pkg|ecryptfs-utils}} available in the [[Official repositories]]. Unfortunately, due to the poor design of these tools, you must choose between three ways of setting up eCryptfs with different tradeoffs:\n\n# Use the high-level [[#Ubuntu tools]], which set things up automatically but require the lower directory to be {{ic|~/.Private/}}, and allow only one encrypted filesystem per user.\n# Use [[#ecryptfs-simple|ecryptfs-simple]], available from AUR, which is an easy way to mount eCryptfs filesystems using any lower directory and upper directory.\n# [[#Manual setup]], which involves separate steps for loading the passphrase and mounting eCryptfs, but allows complete control over the directories and encryption settings.\n\n=== Ubuntu tools ===\n\nMost of the user-friendly convenience tools installed by the {{Pkg|ecryptfs-utils}} package assume a very specific eCryptfs setup, namely the one that is officially used by Ubuntu (where it can be selected as an option during distro installation). Unfortunately, these choices are not just default options but are actually hard-coded in the tools. If this set-up does not suit your needs, then you can not use the convenience tools and will have to follow the steps at [[#Manual setup]] instead.\n\nThe set-up used by these tools is as follows:\n\n* each user can have '''only one encrypted directory''' that is managed by these tools:\n** either full {{ic|$HOME}} directory encryption, or \n** a single encrypted data directory (by default {{ic|~/Private/}}, but this can be customized).\n* the '''lower directory''' for each user is always {{ic|~/.Private/}}<br><small>(in the case of full home dir encryption, this will be a symlink to the actual location at {{ic|/home/.ecryptfs/$USER/.Private/}})</small>\n* the '''encryption options''' used are:\n** ''cipher:'' AES\n** ''key length:'' 16 bytes (128 bits)\n** ''key management scheme:'' passphrase\n** ''plaintext passthrough:'' enabled\n* the '''configuration / control info''' for the encrypted directory is stored in a bunch of files at {{ic|~/.ecryptfs/}}:<br><small>(in the case of full home dir encryption, this will be a symlink to the actual location at {{ic|/home/.ecryptfs/$USER/.ecryptfs/}})</small>\n** {{ic|Private.mnt}} ''[plain text file]'' - contains the path where the upper directory should be mounted (e.g. {{ic|/home/lucy}} or {{ic|/home/lucy/Private}})\n** {{ic|Private.sig}} ''[plain text file]'' - contains the signature used to identify the mount passphrase in the kernel keyring\n** {{ic|wrapped-passphrase}} ''[binary file]'' - the mount passphrase, encrypted with the login passphrase\n** {{ic|auto-mount}}, {{ic|auto-umount}} ''[empty files]'' - if they exist, the {{ic|pam_ecryptfs.so}} module will (assuming it is loaded) automatically mount/unmount this encrypted directory when the user logs in/out\n\n==== Encrypting a data directory ====\nFor a full {{ic|$HOME}} directory encryption see [[#Encrypting a home directory]]\n\nBefore the data directory encryption is setup, decide whether it should later be mounted manually or automatically with the user log-in. \n\nTo encrypt a single data directory as a user and mount it manually later, run:\n $ ecryptfs-setup-private --nopwcheck --noautomount \n\nand follow the instructions. The option {{ic|--nopwcheck}} enables you to choose a passphrase different to the user login passphrase and the option {{ic|--noautomount}} is self-explanatory. So, if you want to setup the encrypted directory automatically on log-in later, just ''leave out'' both options right away. \n\nThe script will automatically create the {{ic|~/.Private/}} and {{ic|~/.ecryptfs/}} directory structures as described in the box above. It will also ask for two passphrases:\n\n;'''login passphrase''': This is the password you will have to enter each time you want to mount the encrypted directory. If you want auto-mounting on login to work, it has to be the same password you use to login to your user account. \n\n;'''mount passphrase''': This is used to derive the actual file encryption master key. Thus, you should not enter a custom one unless you know what you are doing - instead press Enter to let it auto-generate a secure random one. It will be encrypted using the login passphrase and stored in this encrypted form in {{ic|~/.ecryptfs/wrapped-passphrase}}. Later it will automatically be decrypted (\"unwrapped\") again in RAM when needed, so you never have to enter it manually. Make sure this file does not get lost, otherwise you can never access your encrypted folder again! You may want to run {{ic|ecryptfs-unwrap-passphrase}} to see the mount passphrase in unencrypted form, write it down on a piece of paper, and keep it in a safe (or similar), so you can use it to recover your encrypted data in case the ''wrapped-passphrase'' file is accidentally lost/corrupted or in case you forget the login passphrase.\n\nThe mount point (\"upper directory\") for the encrypted folder will be at {{ic|~/Private}} by default, however you can manually change this right after the setup command has finished running, by doing:\n\n $ mv ~/Private /path/to/new/folder\n $ echo /path/to/new/folder > ~/.ecryptfs/Private.mnt\n\nTo actually use your encrypted folder, you will have to mount it - see [[#Mounting]] below.\n\n==== Encrypting a home directory ====\n\nThe wrapper script {{ic|ecryptfs-migrate-home}} will set up an encrypted home directory for a user and take care of migrating any existing files they have in their not yet encrypted home directory.\n\nTo run it, the user in question must be logged out and own no processes. The best way to achieve this is to log the user out, log into a console as the root user, and check that {{ic|ps -U ''username''}} returns no output.  You also need to ensure that you have {{pkg|rsync}}, {{pkg|lsof}}, and {{pkg|which}} installed. Once the prerequisites have been met, run:\n\n # modprobe ecryptfs\n # ecryptfs-migrate-home -u ''username''\n\nand follow the instructions. After the wrapper script is complete, follow the instructions for auto-mounting - see [[#Auto-mounting]] below. It is imperative that the user logs in ''before'' the next reboot, to complete the process.\n\nOnce everything is working, the unencrypted backup of the users home directory, which is saved to {{ic|/home/''username''.''random_characters''}}, can and should be deleted.\n\n==== Mounting ====\n\n===== Manually =====\n\nExecuting the wrapper \n $ ecryptfs-mount-private \nand entering the passphrase is all needed to mount the encrypted directory to the ''upper directory'' {{ic|~/Private}}, described in [[#Ubuntu tools]].\n\nLikewise, executing\n $ ecryptfs-umount-private\nwill unmount it again. \n\n{{Tip|If it is not required to access the private data permanently during a user session, maybe define an [[alias]] to speed the manual step up.}}\n\nThe tools include another script that can be very handy to access an encrypted {{ic|.Private}} data or home directory. Executing  {{ic|ecryptfs-recover-private}} as root will search the system (or an optional specific path) for the directory, interactively query the passphrase for it and mount the directory. It can, for example, be used from a live-CD or different system to access the encrypted data in case of a recovery. Note that if booting from an Arch Linux ISO you must first install the {{pkg|ecryptfs-utils}} to it. Further, it will only be able to mount {{ic|.Private}} directories created with the Ubuntu tools.\n\n===== Auto-mounting =====\n\nThe default way to auto-mount an encrypted directory is via [[Pam_mount|PAM]]. See {{man|8|pam_ecryptfs}} and - for more details - 'PAM MODULE' in:\n /usr/share/doc/ecryptfs-utils/README\n\nFor auto-mounting it is required that the passphrase to access the encrypted directory is synchronised with the user log-in. \n\nThe following steps set it up: \n\n1. Check if {{ic|~/.ecryptfs/auto-mount}}, {{ic|~/.ecryptfs/auto-umount}} and {{ic|~/.ecryptfs/wrapped-passphrase}} exist (these are automatically created by ''ecryptfs-setup-private'').\n\n2. Add ''ecryptfs'' to the pam-stack exactly as following to allow transparent unwrapping of the passphrase on login:\n\nOpen {{ic|/etc/pam.d/system-auth}} and ''after'' the line containing {{ic|auth required pam_unix.so}} add:\n auth    required    pam_ecryptfs.so unwrap\nNext, ''above'' the line containing {{ic|password required pam_unix.so}} insert:\n password    optional    pam_ecryptfs.so\nAnd finally, ''after'' the line {{ic|session required pam_unix.so}} add:\n session    optional    pam_ecryptfs.so unwrap\n\n3. Re-login and check output of ''mount'' which should now contain a mountpoint, e.g.:\n /home/$USER/.Private on /home/$USER/Private type ecryptfs (...)\nfor the user's encrypted directory. It should be perfectly readable at {{ic|~$HOME/Private/}}. \n\nThe latter should be automatically unmounted and made unavailable when the user logs off. \n\n{{Note|The above changes to {{ic|system-auth}} enable auto-mounting for normal login. If you switch users instead, using {{ic|su -}} or {{ic|su -l}}, you need to apply similar changes also to {{ic|/etc/pam.d/su-l}}.}}\n\n{{Warning|1=Unfortunately the automatic unmounting is susceptible to [https://bbs.archlinux.org/viewtopic.php?id=194509 break] with systemd and bugs are filed against it.[https://bugs.freedesktop.org/show_bug.cgi?id=72759] [https://nwrickert2.wordpress.com/2013/12/16/systemd-user-manager-ecryptfs-and-opensuse-13-1/] [https://bugs.launchpad.net/ubuntu/+source/ecryptfs-utils/+bug/313812/comments/43] [http://lists.alioth.debian.org/pipermail/pkg-systemd-maintainers/2014-October/004088.html] \nIf you experience this problem, you can test it by commenting out {{ic|-session   optional   pam_systemd.so}} in {{ic|/etc/pam.d/system-login}}. However, this is no solution because commenting out will break other systemd functionalities.}}\n\n=== ecryptfs-simple ===\n\nUse [http://xyne.archlinux.ca/projects/ecryptfs-simple/ ecryptfs-simple] if you just want to use eCryptfs to mount arbitrary directories the way you can with [[EncFS]]. ecryptfs-simple does not require root privileges or entries in {{ic|/etc/fstab}}, nor is it limited to hard-coded directories such as {{ic|~/.Private}}. The package is available to be [[install]]ed as {{AUR|ecryptfs-simple}} and from [http://xyne.archlinux.ca/repos/ Xyne's repos].\n\nAs the name implies, usage is simple:\n # simple mounting\n ecryptfs-simple /path/to/foo /path/to/bar\n\n # automatic mounting: prompts for options on the first mount of a directory then reloads them next time\n ecryptfs-simple -a /path/to/foo /path/to/bar\n\n # unmounting by source directory\n ecryptfs-simple -u /path/to/foo\n\n # unmounting by mountpoint\n ecryptfs-simple -u /path/to/bar\n\n=== Manual setup ===\n\nThe following details instructions to set up eCryptfs encrypted directories manually. This involves two steps. First, the passphrase is processed and loaded into the kernel keyring. Second, the filesystem is actually mounted using the key from the keyring.\n\nThere are two ways to add the passphrase to the kernel keyring in the first step. The simpler option is {{ic|ecryptfs-add-passphrase}}, which uses a single passphrase to encrypt the files. The disadvantage is that you cannot change the passphrase later. It works like this:\n $ ecryptfs-add-passphrase\n Passphrase: \n Inserted auth tok with sig [78c6f0645fe62da0] into the user session keyring\nYou can also pipe a passphrase into {{ic|ecryptfs-add-passphrase -}}. Keep in mind that if you leave your passphrase in a file, it will usually defeat the purpose of using encryption.\n\nAs an alternative to a plain passphrase, you can use a \"wrapped passphrase\", where the files are encrypted using a randomly generated key, which is itself encrypted with your passphrase and stored in a file. In this case, you can change your passphrase by unwrapping the key file with your old passphrase and rewrapping it using your new passphrase. \n\nIn the following we [https://stackoverflow.com/a/3980713 prompt] for the wrapping passphrase and do a generation similar to the [http://bazaar.launchpad.net/~ecryptfs/ecryptfs/trunk/view/head:/src/utils/ecryptfs-setup-private#L96 source] and then use ''ecryptfs-wrap-passphrase'' to wrap it with the given password to {{ic|~/.ecryptfs/wrapped-passphrase}}:\n $ ( stty -echo; printf \"Passphrase: \" 1>&2; read PASSWORD; stty echo; echo $PASSWORD; ) | xargs printf \"%s\\n%s\" $(od -x -N 100 --width=30 /dev/random | head -n 1 | sed \"s/^0000000//\" | sed \"s/\\s*//g\") | ecryptfs-wrap-passphrase /home/''username''/.ecryptfs/wrapped-passphrase\nDo not use a passphrase with more than 64 characters as this will result in an error later when using {{ic|ecryptfs-insert-wrapped-passphrase-into-keyring}}.\n\nNext, we can enter our passphrase to load the key into the keyring:\n $ ( stty -echo; printf \"Passphrase: \" 1>&2; read PASSWORD; stty echo; echo $PASSWORD; ) | ecryptfs-insert-wrapped-passphrase-into-keyring /home/''username''/.ecryptfs/wrapped-passphrase -\n Inserted auth tok with sig [7c5d3dd8a1b49db0] into the user session keyring\n\nIn either case, when you successfully add the passphrase to the kernel keyring, you will get a \"key signature\" like {{ic|78c6f0645fe62da0}} which you will need in the next step.\n\nThere are two different ways of manually mounting eCryptfs, described in the following sections. The first way, using {{ic|mount.ecryptfs_private}}, can be run as a regular user and involves setting up some configuration files. This method does not allow you to change the encryption settings, such as key size. The second way is to use a raw {{ic|mount}} command, which gives you complete control over all settings, but requires you to either run it as root, or add an entry to {{ic|/etc/fstab}} which lets a user mount eCryptfs.\n\n{{Tip|The following examples use an encrypted directory ({{ic|.secret}}) different to the default, hard-coded {{ic|.Private}} in the Ubuntu tools. This is on purpose to avoid problems of erroneous [[#Auto-mounting]] when the system has PAM setup for it, as well as problems with other tools using the hard-coded defaults.}} \n\n==== With configuration files ====\n\nThis method involves running {{ic|mount.ecryptfs_private}} from the {{Pkg|ecryptfs-utils}} package, after first loading your passphrase. This binary requires no root privileges to work by default.\n\nFirst choose a name for your configuration files in {{ic|~/.ecryptfs}} and decide on the lower and upper directories. In this example we use {{ic|secret}} for the configuration files, put in encrypted data in {{ic|~/.secret}}, and mount the decrypted files at {{ic|~/secret}}. Create the required directories:\n $ mkdir ~/.secret ~/secret ~/.ecryptfs\n\nNow specify the directories in {{ic|~/.ecryptfs/secret.conf}}, using full paths. Its format looks like the one in {{ic|/etc/fstab}} without the mount options:\n $ echo \"$HOME/.secret $HOME/secret ecryptfs\" > ~/.ecryptfs/secret.conf\n\nWrite the key signature you got from {{ic|ecryptfs-add-passphrase}} or {{ic|ecryptfs-insert-wrapped-passphrase-into-keyring}} (see above) into {{ic|~/.ecryptfs/secret.sig}}:\n $ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig\n\nIf you also want to enable filename encryption, add a second passphrase to the keyring (or reuse the first passphrase) and '''append''' its key signature to {{ic|~/.ecryptfs/secret.sig}}:\n  $ echo 326a6d3e2a5d444a >> ~/.ecryptfs/secret.sig\n\nFinally, mount {{ic|~/.secret}} on {{ic|~/secret}}:\n $ mount.ecryptfs_private secret\n\nWhen you are done, unmount it:\n $ umount.ecryptfs_private secret\n\n==== Raw mount command ====\n\nBy running the actual {{ic|mount}} command manually, you get complete control over the encryption options. The disadvantage is that you need to either run {{ic|mount}} as root, or add an entry to {{ic|/etc/fstab}} for each eCryptfs directory so users can mount them.\n\nFirst create your private directories. In this example, we use the same ones as the previous section:\n $ mkdir -m 700 ~/.secret\n $ mkdir -m 500 ~/secret\n\nTo summarize:\n* Actual encrypted data will be stored in the lower {{ic|~/.secret}} directory \n* While mounted, decrypted data will be available in {{ic|~/secret}} directory \n** While not mounted nothing can be written to this directory\n** While mounted it has the same permissions as the lower directory\n\nNow, supposed you have created the [[#Manual setup|wrapped keyphrase]] above, you need to insert the encryption key once to the root user's keyring: \n # ( stty -echo; printf \"Passphrase: \" 1>&2; read PASSWORD; stty echo; echo $PASSWORD; ) | ecryptfs-insert-wrapped-passphrase-into-keyring /home/''username''/.ecryptfs/wrapped-passphrase -\n Inserted auth tok with sig [7c5d3dd8a1b49db0] into the user session keyring\n\nso that the followng mount command succeeds: \n # mount -i -t ecryptfs ~/.secret ~/secret -o ecryptfs_sig=7c5d3dd8a1b49db0,ecryptfs_fnek_sig=7c5d3dd8a1b49db0,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_unlink_sigs\n* {{ic|ecryptfs_sig}} sets the data passphrase key signature.\n* {{ic|ecryptfs_fnek_sig}} sets the filename passphrase key signature; you can omit this option if you do not want to encrypt filenames.\n* {{ic|ecryptfs_key_bytes}} can be 16, 24, or 32 to change the encryption key size.\n* {{ic|ecryptfs_unlink_sigs}} will remove the passphrase(s) from the keyring when you unmount, so you have to add the passphrase(s) back again in order to re-mount the filesystem.\n* There are a few other options listed in the {{ic|ecryptfs}} man page.\n\n{{Tip|There is a {{ic|mount.ecryptfs}} tool, which you can run as root to enter the mount settings interactively. Once you have used it to mount eCryptfs, you can check {{ic|/etc/mtab}} to find out what options it used.}}\n\nOnce you have chosen the right mount options, you can add an entry to {{ic|/etc/fstab}} so regular users can mount eCryptfs on these directories. Copy the mount options to a new {{ic|/etc/fstab}} entry and add the options {{ic|user}} and {{ic|noauto}}. The full entry will look similar to (bold entries added): \n\n{{hc|/etc/fstab|2=/home/''username''/.secret /home/''username''/secret ecryptfs '''noauto''','''user''',ecryptfs_sig=7c5d3dd8a1b49db0,ecryptfs_fnek_sig=7c5d3dd8a1b49db0,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_unlink_sigs '''0 0'''}}\n\n* The {{ic|noauto}} option is important, because otherwise systemd will error trying to mount the entry directly on boot.\n* The {{ic|user}} option enables to mount the directory as a user.\n** The user mount will default to option {{ic|noexec}}. If you want to have at least executable files in your private directory, you can add {{ic|exec}} to the fstab options.\n\nThe setup is now complete and the directory should be mountable by the user. \n\n===== Mounting =====\n\nTo mount the encrypted directory as the user, the passphrase must be unwrapped and made available in the user's keyring. Following above section example: \n $ ecryptfs-insert-wrapped-passphrase-into-keyring /home/''username''/.ecryptfs/wrapped-passphrase\n Passphrase: \n Inserted auth tok with sig [7c5d3dd8a1b49db0] into the user session keyring \n\nNow the directory can be mounted without the mount helper questions:  \n $ mount -i /home/''username''/secret\n\nand files be placed into the {{ic|secret}} directory. The above two steps are necessary every time to mount the directory manually. \n\nTo unmount it again: \n\n $ umount /home/''username''/secret\n\nTo finalize, the preliminary passphrase to wrap the encryption passphrase may be changed: \n $ ecryptfs-rewrap-passphrase /home/''username''/.ecryptfs/wrapped-passphrase\n Old wrapping passphrase: \n New wrapping passphrase: \n New wrapping passphrase (again):\n\nThe un-mounting should also clear the keyring, to check the user's keyring or clear it manually:  \n $ keyctl list @u\n $ keyctl clear @u\n\n{{Note|One should remember that {{ic|/etc/fstab}} is for system-wide partitions only and should not generally be used for user-specific mounts}}\n\n===== Auto-mounting =====\n\nDifferent methods can be employed to automount the previously defined user-mount in {{ic|/etc/fstab}} on login. As a first general step, follow point (1) and (2) of [[#Auto-mounting]]. \n\nThen, if you login via console, a simple way is to specify the [[#Mounting_2|user-interactive]] ''mount'' and ''umount'' in the user's shell configuration files, for example [[Bash#Configuration files]]. \n\n{{Accuracy|<br>- the section should be more generic than it is now<br>\n- the described method does not work for users, for encountered problems:|section=#Automounting}}\n\nAnother method is to automount the eCryptfs directory on user login using [[pam_mount]]. To configure this method, add the following lines to {{ic|/etc/security/pam_mount.conf.xml}}:\n \n <luserconf name=\".pam_mount.conf.xml\" />\n <mntoptions require=\"\" /> <!-- Default required mount options are ; this clears them -->\n <lclmount>mount -i %(VOLUME) \"%(before=\\\"-o\\\" OPTIONS)\"</lclmount> <!--  -->\n\nPlease prefer writing manually these lines instead of simply copy/pasting them (especially the lclmount line), otherwise you might get some corrupted characters.\nExplanation:\n* the first line indicates where the user-based configuration file is located (here {{ic|~/.pam_mount.conf.xml}})\n* the second line overwrites the default required mount options which are unnecessary (\"nosuid,nodev\")\n* the last line indicates which mount command to run (eCryptfs needs the {{Ic|-i}} switch).\n\nThen set the volume definition, preferably to {{ic|~/.pam_mount.conf.xml}}:\n <pam_mount>\n     <volume noroot=\"1\" fstype=\"ecryptfs\" path=\"/home/user/.secret/\" mountpoint=\"/home/user/secret/\"/>\n </pam_mount>\n\n\"noroot\" is needed because the encryption key will be added to the user's keyring.\n\nFinally, edit {{ic|/etc/pam.d/login}} as described in the [[pam_mount]] article.\n\n====== Optional step ======\n\nTo avoid wasting time needlessly unwrapping the passphrase you can create a script that will check ''pmvarrun'' to see the number of open sessions:\n #!/bin/sh\n #\n #    /usr/local/bin/doecryptfs\n \n exit $(/usr/sbin/pmvarrun -u$PAM_USER -o0)\n\nWith the following line added before the eCryptfs unwrap module in your PAM stack:\n auth    [success=ignore default=1]    pam_exec.so     quiet /usr/local/bin/doecryptfs\n auth    required                      pam_ecryptfs.so unwrap\nThe article suggests adding these to {{ic|/etc/pam.d/login}}, but the changes will need to be added to all other places you login, such as {{ic|/etc/pam.d/kde}}.\n\n== Usage ==\n\n{{Expansion|Content that still may to be covered:\n- point to the above \"Setup & Mounting\" section for how to mount and unmount [this section here will cover all other (i.e. setup-independent) usage info]<br>\n- reference ecryptfs tools not used/mentioned in the prior sections (e.g. with a short link to the online manpages and mention of the other tools usage, as it seems useful (not covered yet are, e.g. ecryptfs-stat, ecryptfs-find, ecryptfs-rewrite-file.) <br>\n- mention the options to share an encrypted folder between users and to place non-encrypted files or folders in the encrypted container (\"pass-through\")\n(references for the points: [https://wiki.archlinux.org/index.php?title&61;Talk:ECryptfs&oldid&61;347981] and (maybe) [https://wiki.archlinux.org/index.php?title&61;ECryptfs&oldid&61;291214])\n|section=Major_restructuring/rewrite}}\n\n=== Symlinking into the encrypted directory ===\n\nBesides using your private directory as storage for sensitive files, and private data, you can also use it to protect application data. [[Firefox]] for example has an internal password manager, but the browsing history and cache can also be sensitive. Protecting it is easy:\n  $ mv ~/.mozilla ~/Private/mozilla\n  $ ln -s ~/Private/mozilla ~/.mozilla\n\n=== Removal of encryption ===\n\nThere are no special steps involved, if you want to remove your private directory. Make sure it is un-mounted and delete the respective lower directory (e.g. {{ic|~/.Private}}), along with all the encrypted files. After also removing the related encryption signatures and configuration in {{ic|~/.ecryptfs}}, all is gone. \n\nIf you were using the [[#Ubuntu tools]] to setup a single directory encryption, you can directly follow the steps detailed by: \n\n $ ecryptfs-setup-private --undo\n\nand follow the instructions.\n\n=== Backup ===\n\nIf you want to move a file out of the private directory just move it to the new destination while {{ic|~/Private}} is mounted. \n\nWith eCryptfs the cryptographic metadata is stored in the header of the files. Setup variants explained in this article separate the directory with encrypted data from the mount point. The unencrypted mount point is fully transparent and available for a backup. Obviously this has to be considered for automated backups, if one has to avoid leaking sensitive unencrypted data into a backup. \n\nYou can do backups, or incremental backups, of the encrypted (e.g. {{ic|~/.Private}}) directory, treating it like any other directory. \n\nFurther points to note: \n\n* If you used the Ubuntu tools for [[#Encrypting a home directory]], be aware the location of the lower directory with the encrypted files is ''outside'' the regular user's {{ic|$HOME}} at {{ic|/home/.ecryptfs/$USER/.Private}}. \n\n* It should be ensured to include the eCryptfs setup files (located in {{ic|~/.ecryptfs}} usually) into the regular or a separate backup.\n\n* If you use special filesystem mount options, for example {{ic|ecryptfs_xattr}}, do extra checks on restore integrity.\n\n== Known issues ==\n\n=== Mounting may fail on a remote host when connecting via Mosh ===\n\nThis is a [https://github.com/mobile-shell/mosh/issues/529 known issue] of [https://mosh.org/ Mosh] server, which does not keep the eCryptfs {{ic|/home}} directory mounted.\n\n== See also ==\n\n* [http://ecryptfs.org/documentation.html eCryptfs] - Manpages and project home \n* [https://defuse.ca/audits/ecryptfs.htm Security audit] of eCryptfs by Taylor Hornby (January 22, 2014).\n* [http://sysphere.org/~anrxc/j/articles/ecryptfs/index.html eCryptfs and $HOME] by Adrian C. (anrxc) - Article with installation instructions and discussion of eCryptfs usage \n* [http://www.chromium.org/chromium-os/chromiumos-design-docs/protecting-cached-user-data Chromium data protection] (November 2009) - Design document detailing encryption options for Chromium OS, including explanation on its eCryptfs usage\n* [http://ecryptfs.sourceforge.net/ecryptfs.pdf eCryptfs design] by Michael Halcrow (May 2005) - Original design document detailing and discussing eCryptfs"
                    }
                ]
            },
            "7187": {
                "pageid": 7187,
                "ns": 0,
                "title": "Firefox/Profile on RAM",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Web browser]]\n[[de:Firefox-Profile in Ramdisk auslagern]]\n[[ja:Firefox Ramdisk]]\n[[ru:Firefox (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)/Profile on RAM]]\nAssuming that there is memory to spare, placing [[Firefox]]'s cache or complete profile to RAM offers significant advantages. Even though opting for the partial route is an improvement by itself, the latter can make Firefox even more responsive compared to its stock configuration. Benefits include, among others:\n*reduced drive read/writes;\n*heightened responsive feel;\n*many operations within Firefox, such as quick search and history queries, are nearly instantaneous.\n\nTo do so we can make use of a [[tmpfs]].\n\nBecause data placed therein cannot survive a shutdown, a script responsible for syncing back to drive prior to system shutdown is necessary if persistence is desired (which is likely in the case of profile relocation). On the other hand, only relocating the cache is a quick, less inclusive solution that will slightly speed up user experience while emptying Firefox cache on every reboot.\n\n{{note|Cache is stored '''separately''' from Firefox default profiles' folder ({{ic|/home/$USER/.mozilla/firefox/}}): it is found by default in {{ic|/home/$USER/.cache/mozilla/firefox/<profile>}}. This is similar to what Chromium and other browsers do. Therefore, sections [[#Place profile in RAM using tools]] and [[#Place profile in RAM manually]] '''don't deal''' with cache relocating and syncing but only with profile adjustments. See the note at [[Profile-sync-daemon#Design goals and benefits of psd]] for more details. [[Anything-sync-daemon]] may be used to achieve the same thing as Option 2 for cache folders.}}\n\n==Relocate cache to RAM only ==\n\nSee [[Firefox/Tweaks#Turn off the disk cache]].\n\n== Place profile in RAM using tools ==\nRelocate the browser profile to [[tmpfs]] so as to globally improve browser's responsiveness. Another benefit is a reduction in drive I/O operations, of which [[Improving_performance#Show_disk_writes|SSDs benefit the most]].\n\nUse an active management script for maximal reliability and ease of use.  Several are available from the AUR.\n\n*{{AUR|profile-sync-daemon}} - refer to the [[Profile-sync-daemon]] wiki article for additional info on it;\n*{{AUR|firefox-sync}} - sufficient for a user with a single profile; uses a script and systemd service similar to those below.\n\n==Place profile in RAM manually ==\n===Before you start===\nBefore potentially compromising Firefox's profile, be sure to make a backup for quick restoration. Replace {{Ic|xyz.default}} as appropriate and use {{Ic|tar}} to make a backup:\n $ tar zcvfp ~/firefox_profile_backup.tar.gz ~/.mozilla/firefox/''xyz.default''\n\n===The script===\n<small>''Adapted from [http://www.verot.net/firefox_tmpfs.htm verot.net's Speed up Firefox with tmpfs]''</small>\n\nThe script will first move Firefox's profile to a new static location, make a sub-directory in {{ic|/dev/shm}}, softlink to it and later populate it with the contents of the profile. As before, replace the bold sections to suit. The only value that absolutely needs to be altered is, again, {{Ic|xyz.default}}.\n\nBe sure that [[rsync]] is installed and save the script to {{ic|~/.local/bin/firefox-sync}}, for example:\n{{hc|firefox-sync|2=\n#!/bin/sh\n\nstatic=''static-$1''\nlink=''$1''\nvolatile=''/dev/shm/firefox-$1-$USER''\n\nIFS=\nset -efu\n<nowiki>\ncd ~/.mozilla/firefox\n\nif [ ! -r $volatile ]; then\n\tmkdir -m0700 $volatile\nfi\n\nif [ \"$(readlink $link)\" != \"$volatile\" ]; then\n\tmv $link $static\n\tln -s $volatile $link\nfi\n\nif [ -e $link/.unpacked ]; then\n\trsync -av --delete --exclude .unpacked ./$link/ ./$static/\nelse\n\trsync -av ./$static/ ./$link/\n\ttouch $link/.unpacked\nfi\n</nowiki>\n}}\n\nClose Firefox, make the script executable and test it:\n $ killall firefox firefox-bin\n $ chmod +x ~/.local/bin/firefox-sync\n $ ls ~/.mozilla/firefox/\n $ ~/.local/bin/firefox-sync <firefox-profile>\n\nRun Firefox again to gauge the results. The second time the script runs, it will then preserve the RAM profile by copying it back to disk.\n\n===Automation===\nSeeing that forgetting to sync the profile can lead to disastrous results, automating the process seems like a logical course of action.\n\n====systemd====\n\nSave the following script as {{ic|~/.config/systemd/user/firefox-profile@.service}}\n\nthen use \n\n{{bc|\nsystemctl --user daemon-reload\nsystemctl --user enable firefox-profile@<profile>.service\nsystemctl --user start firefox-profile@<profile>.service \n}} \n\n{{bc|<nowiki>\n [Unit]\n Description=Firefox profile memory cache\n \n [Install]\n WantedBy=default.target\n \n [Service]\n Type=oneshot\n RemainAfterExit=yes\n ExecStart=/home/matthew/.local/bin/firefox-sync %i\n ExecStop=/home/matthew/.local/bin/firefox-sync %i\n</nowiki>}}\n\n====cron job====\nManipulate the user's [[cron]] table using {{Ic|crontab}}:\n $ crontab -e\n\nAdd a line to start the script every 30 minutes,\n */30 * * * * ''~/.local/bin/firefox-sync''\nor add the following to do so every 2 hours:\n 0 */2 * * * ''~/.local/bin/firefox-sync''\n\n====Sync at login/logout====\nAssuming [[bash]] is being used, add the script to the login/logout files:\n $ echo '<i>~/.local/bin/firefox-sync</i>' | tee -a ~/.bash_logout ~/.bash_login >/dev/null\n{{Note| You may wish to use {{ic|~/.bash_profile}} instead of {{ic|~/.bash_login}} as bash will only read the first of these if both exist and are readable.}}\n\n==See also==\n* [[tmpfs]]"
                    }
                ]
            },
            "7966": {
                "pageid": 7966,
                "ns": 0,
                "title": "Man page",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "{{Lowercase title}}\n[[Category:Command-line]]\n[[ar:Man page]]\n[[es:Man page]]\n[[id:Man page]]\n[[ja:Man \u30da\u30fc\u30b8]]\n[[ko:Man page]]\n[[pt:Man page]]\n[[ru:Man page]]\n[[zh-hans:Man page]]\n{{Related articles start}}\n{{Related|Color output in console#man}}\n{{Related articles end}}\n[[Wikipedia:Man_page|man pages]]\u2014abbreviation for \"manual pages\"\u2014are the form of documentation that is available on almost all UNIX-like operating systems, including Arch Linux. The command used to display them is {{Ic|man}}.\n\nIn spite of their scope, man pages are designed to be self-contained documents, consequentially limiting themselves to referring to other man pages when discussing related subjects. This is in sharp contrast with the hyperlink-aware [[info manual|Info documents]], GNU's attempt at replacing the traditional man page format.\n\n== Installation ==\n\n{{Expansion|1=Add localized man page packages.[https://www.archlinux.org/packages/?q=man-pages]}}\n\n{{Pkg|man-db}} implements ''man'' on Arch Linux, and [[Core utilities#Essentials|less]] is the default pager used with ''man''.\n\n{{Pkg|man-pages}} provides the Linux man pages.\n\n== Accessing man pages ==\n\nTo read a man page, simply enter:\n\n $ man ''page_name''\n\nManuals are sorted into several [[Wikipedia:Man_page#Manual_sections|sections]]. For a full listing see the section entitled \"Sections of the manual pages\" in {{man|7|man-pages}}.\n\nMan pages are usually referred to by their name, followed by their section number in parentheses. Often there are multiple man pages of the same name, such as {{man|1|man}} and {{man|7|man}}. In this case, give man the section number followed by the name of the man page, for example:\n\n $ man 5 passwd\n\nto read the man page on {{Ic|/etc/passwd}}, rather than the {{Ic|passwd}} utility.\n\n== Format ==\n\nMan pages all follow a fairly standard format, which helps in navigating them. See the section entitled \"Sections within a manual page\" in {{man|7|man-pages}}.\n\n== Searching manuals ==\n\n{{Style|Unnecessarily verbose.}}\n\nEven though the {{Ic|man}} utility allows users to display man pages, and search their contents via ''less'', a problem arises when one knows not the exact name of the desired manual page in the first place! Fortunately, the {{Ic|-k}} or {{Ic|--apropos}} options can be used to search the manual page descriptions for instances of a given keyword.\n\n=== Building the manual cache with mandb ===\n\nThe search feature is provided by a dedicated cache, otherwise all searches would give the ''nothing appropriate'' result. By default, maintenance of that cache is handled by {{Ic|man-db.service}} which gets periodically triggered by {{Ic|man-db.timer}}. You can manually (re)generate the cache or update it by running:\n\n # mandb\n\n=== Searching for expressions in manuals ===\n\nFor example, to search for man pages related to \"password\":\n\n $ man -k password\n\nor:\n\n $ man --apropos password\n\nThis is equivalent to calling the {{ic|apropos}} command:\n\n $ apropos password\n\nThe given keyword is interpreted as a regular expression by default.\n\nIf you want to do a more in-depth search by matching the keywords found in the whole articles, you can use the {{ic|-K}} option:\n\n $ man -K password\n\n=== Getting one-line descriptions with whatis ===\n\nOne-line descriptions of man pages in the man-db cache can be displayed using the {{Ic|whatis}} command. For example, for a brief description of the man page sections about {{ic|ls}}, type:\n\n{{hc|$ whatis ls|\nls (1p)              - list directory contents\nls (1)               - list directory contents\n}}\n\n== Page width ==\nThe man page width is controlled by the {{Ic|MANWIDTH}} environment variable.\n\nIf the number of columns in the terminal is too small (e.g. the window width is narrow), the line breaks will be wrong. This can be very disturbing for reading. You can fix this by setting the MANWIDTH on {{Ic|man}} invocation. With {{Ic|Bash}}, that would be:\n\n{{Hc|~/.bashrc|<nowiki>\nman() {\n    local width=$(tput cols)\n    [ $width -gt $MANWIDTH ] && width=$MANWIDTH\n    env MANWIDTH=$width \\\n    man \"$@\"\n}\n</nowiki>}}\n\n== Reading local man pages ==\n\nInstead of the standard interface, using browsers such as {{Pkg|lynx}} and [[Firefox]] to view man pages allows users to reap info pages' main benefit of hyperlinked text. Alternatives include the following:\n\n=== Viewer applications ===\n\n{{Move|#Installation|All man page viewers should be listed together.}}\n\n* {{App|GNOME Help|Help viewer for [[GNOME]]. It can show man pages via {{ic|yelp man:<name>}} or the undocumented {{ic|CTRL+L}} keybinding from an existing window.|https://wiki.gnome.org/Apps/Yelp|{{Pkg|yelp}}}}\n* {{App|KHelpCenter|Application to show [[KDE]] Applications' documentation. Man pages are in ''UNIX manual pages'' or by running {{ic|khelpcenter man:<name>}}.|https://userbase.kde.org/KHelpCenter|{{Pkg|khelpcenter}}}}\n* {{App|[[Wikipedia:Konqueror|Konqueror]]|KDE file manager and web browser. It can show man pages via {{ic|man:<name>}}.|https://konqueror.org/|{{Pkg|konqueror}}}}\n* {{App|xman|Provides a categorized look at man pages.|https://xorg.freedesktop.org/|{{pkg|xorg-xman}}}}\n\n=== Conversion to HTML ===\n\n==== mandoc ====\n\nInstall the {{AUR|mandoc}} package. To convert a page, for example {{ic|free(1)}}:\n\n $ mandoc -Thtml -Ostyle=style.css /usr/share/man/man1/free.1.gz > free.html\n\nNow open the file called {{ic|free.html}} in your favourite browser.\n\n==== man2html ====\n\nFirst, install {{Pkg|man2html}} from the official repositories.\n\nNow, convert a man page:\n\n $ man free | man2html -compress -cgiurl man$section/$title.$section$subsection.html > ~/man/free.html\n\nAnother use for {{Ic|man2html}} is exporting to raw, printer-friendly text:\n\n $ man free | man2html -bare > ~/free.txt\n\n==== man -H ====\n\nThe GNU implementation of man in the Arch repositories also has the ability to do this on its own:\n\n $ man -H free\n\nThis will read your {{ic|BROWSER}} [[environment variable]] to determine the browser. You can override this by passing the binary to the {{ic|-H}} option.\n\n==== roffit ====\n\nFirst install {{AUR|roffit}} from [[AUR]].\n\nTo convert a man page:\n\n $ gunzip -c /usr/share/man/man1/free.1.gz | roffit > free.html\n\n=== Conversion to PDF ===\n\nman pages have always been printable: they are written in troff, which is fundamentally a typesetting language. If you have {{Pkg|ghostscript}} installed, you can convert a man page to PDF using {{ic|man -t <manpage> {{!}} ps2pdf - <pdf>}}.\n\nCaveats: Fonts are generally limited to Times at hardcoded sizes. There are no hyperlinks. Some man pages were specifically designed for terminal viewing, and won't look right in PS or PDF form.\n\n== Online man pages ==\n\nThere are several online databases of man pages, including:\n* [http://man7.org/linux/man-pages/index.html man7.org]. Upstream for Arch Linux's {{pkg|man-pages}}.\n* [https://jlk.fjfi.cvut.cz/arch/manpages/ Arch Linux man pages].  Used for links from the wiki.\n* [https://manned.org/ manned.org] \u2014 collection from various Linux distributions, BSD, etc., with multiple package versions\n* [https://linux.die.net/man/ linux.die.net]\n* [https://man.cx/ man.cx]\n* [https://manpages.debian.org/ Debian man pages]\n* [http://manpages.ubuntu.com/ Ubuntu man pages]\n* [https://leaf.dragonflybsd.org/cgi/web-man DragonFlyBSD man pages]\n* [https://www.freebsd.org/cgi/man.cgi FreeBSD man pages]\n* [http://netbsd.gw.com/cgi-bin/man-cgi NetBSD man pages]\n* [https://man.openbsd.org OpenBSD man pages]\n* [https://developer.apple.com/documentation/Darwin/Reference/ManPages/index.html Mac OS X man pages]{{Dead link|2019|01|17}}\n* [http://man.cat-v.org/plan_9/ Plan 9 Manual \u2014 Volume 1]\n* [http://man.cat-v.org/inferno/ Inferno Manual \u2014 Volume 1]\n* [http://sfdoccentral.symantec.com/sf/5.0MP3/linux/manpages/index.html Storage Foundation man pages]\n* [https://www.unix.com/man-page/OpenSolaris/1/man/ The UNIX and Linux forums man page repository]\n\n{{Tip|You can use the {{ic|!archman}} DuckDuckGo [https://duckduckgo.com/bang.html !Bang] to search through the [https://jlk.fjfi.cvut.cz/arch/manpages/ Arch Linux man pages] directly.}}\n{{Warning|Some distributions provide patched or outdated man pages that differ from those provided by Arch. Exercise caution when using online man pages.}}\n\n==Noteworthy man pages==\n\nHere follows a non-exhaustive list of noteworthy pages that might help you understand a lot of things more in-depth. Some of them might serve as a good reference (like the ASCII table).\n\n* {{man|7|ascii}}\n* {{man|7|boot}}\n* {{man|7|charsets}}\n* {{man|1|chmod}}\n* {{man|7|credentials}}\n* {{man|5|fstab}}\n* {{man|7|hier}}\n* {{man|1|systemd}}\n* {{man|1p|locale}}, {{man|5|locale}}, {{man|7|locale}}\n* {{man|3|printf}}\n* {{man|5|proc}}\n* {{man|7|regex}}\n* {{man|7|signal}}\n* {{man|5|term}}, {{man|7|term}}\n* {{man|5|termcap}}\n* {{man|5|terminfo}}\n* {{man|7|utf-8}}\n\nMore generally, have a look at [http://man7.org/linux/man-pages/dir_section_7.html category 7 (miscellaneous) pages]:\n\n $ man -s 7 -k \".*\" \n\nArch Linux specific pages:\n\n* {{man|7|archlinux}}\n* {{man|8|mkinitcpio}}\n* {{man|8|pacman}}\n* {{man|8|pacman-key}}\n* {{man|5|pacman.conf}}\n\n== See also ==\n\n* [https://wiki.gentoo.org/wiki/Man_page man page - Gentoo wiki article]\n* [https://linuxtidbits.wordpress.com/2013/08/21/wtfm-write-the-fine-manual-with-pod2man-text-converter/ Write The Fine Manual with pod2man]"
                    }
                ]
            },
            "9002": {
                "pageid": 9002,
                "ns": 0,
                "title": "Chromium",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Web browser]]\n[[Category:Google]]\n[[de:Chromium]]\n[[es:Chromium]]\n[[fr:chromium]]\n[[it:Chromium]]\n[[ja:Chromium]]\n[[ru:Chromium]]\n[[zh-hans:Chromium]]\n{{Related articles start}}\n{{Related|Chromium/Tips and tricks}}\n{{Related|Browser plugins}}\n{{Related|Firefox}}\n{{Related|Opera}}\n{{Related articles end}}\n\n[[Wikipedia:Chromium (web browser)|Chromium]] is an open-source graphical web browser based on the [[Wikipedia:Blink (web engine)|Blink]] rendering engine. It is the basis for the proprietary Google Chrome browser.\n\nGoogle Chrome has following notable built-in features over Chromium:\n\n* [[Wikipedia:Flash player|Flash player]], also available via {{Pkg|pepper-flash}}.\n* Widevine [[Wikipedia:Encrypted Media Extensions|EME]] for e.g. Netflix, also available via {{AUR|chromium-widevine}}.\n* [[Wikipedia:Native client|Native client]] (NaCl). Support for native client (NaCl) has been dropped from Chromium packages since version 54, see {{Bug|51511}}.\n\nSee these two articles [https://chromium.googlesource.com/chromium/src/+/master/docs/chromium_browser_vs_google_chrome.md] [https://www.howtogeek.com/202825/what%E2%80%99s-the-difference-between-chromium-and-chrome/] for an explanation of the differences between Chromium and Chrome.\n\nSee [[List of applications/Internet#Blink-based]] for other browsers based on Chromium.\n\n== Installation ==\n\nThere are several packages available to [[install]] Chromium with:\n\n* {{Pkg|chromium}} &ndash; stable release.\n* {{AUR|chromium-dev}} &ndash; development release.\n* {{AUR|chromium-snapshot-bin}} &ndash; nightly build.\n* {{AUR|chromium-vaapi}} &ndash; patched stable release with [[#Hardware_video_acceleration|VA-API]].\n* {{AUR|chromium-vaapi-bin}} &ndash; patched stable release with [[#Hardware_video_acceleration|VA-API]], pre-compiled.\n* {{AUR|chromium-ozone}} &ndash; stable release compiled with wayland support via ozone\n\nGoogle Chrome packages:\n\n* {{AUR|google-chrome}} &ndash; stable release.\n* {{AUR|google-chrome-beta}} &ndash; beta release.\n* {{AUR|google-chrome-dev}} &ndash; development release.\n\n== Configuration ==\n\n=== Default applications ===\n\nTo set Chromium as the default browser and to change which applications Chromium launches when opening downloaded files, see [[default applications]].\n\n=== Certificates ===\n\nChromium uses [[Network Security Services]] for certificate management. Certificates can be managed in {{ic|chrome://settings/certificates}}.\n\n=== Widevine Content Decryption Module plugin ===\n\nWidevine is Google's Encrypted Media Extensions (EME) Content Decryption Module (CDM). It is used to watch premium video content such as Netflix. It is automatically installed when using Google Chrome.\n\nTo install it for Chromium, [[install]] the {{AUR|chromium-widevine}} package. Make sure ''Allow sites to play protected content'' is checked in {{ic|chrome://settings/content/protectedContent}}.\n\n=== Force GPU acceleration ===\n\n{{Warning|Disabling the rendering blacklist may cause unstable behavior, including crashes of the host. See the bug reports in {{ic|chrome://gpu}} for details.}}\n\nBy default Chromium on Linux doesn't use any GPU acceleration. To force GPU acceleration, [[append]] the following flags to [[/Tips and tricks#Making flags persistent|persistent configuration]]:\n\n{{hc|~/.config/chromium-flags.conf|\n--ignore-gpu-blacklist\n--enable-gpu-rasterization\n--enable-native-gpu-memory-buffers\n--enable-zero-copy\n}}\n\nAdditionally the flag {{ic|--disable-gpu-driver-bug-workarounds}} may need to be passed to prevent GPU workaround from being used. Flags in {{ic|chrome://gpu}} should state \"Hardware accelerated\" when configured and available.\n\n=== Hardware video acceleration ===\n\nAccelerated video decoding using [[VA-API]] can be used with community made patches [https://bugs.chromium.org/p/chromium/issues/detail?id=463440#c65], packages are available in [[AUR]] as {{aur|chromium-vaapi}} or {{aur|chromium-vaapi-bin}}.\n\n{{Warning|Wayland support is not enabled in above packages yet. XWayland is [https://github.com/intel/libva/issues/79 broken] on {{Pkg|libva-intel-driver}}.}}\n\nBe sure to install correct VA-API driver for your video card and verify VA-API has been enabled and working correctly, see [[Hardware video acceleration#Verifying VA-API]].\n\nTo enable video acceleration, [[append]] the {{ic|--ignore-gpu-blacklist}} flag to [[/Tips and tricks#Making flags persistent|persistent configuration]]\n\n{{Note|Additionally [[#Force GPU acceleration]] and set {{ic|--disable-gpu-driver-bug-workarounds}} to remove video freezes (especially when watching in fullscreen).\n\nIf you keep seeing some issues during playback, try to set also {{ic|1=--use-gl=egl}} option.\n}}\n\nTo check if it's working play a video which is using a codec supported by your VA-API driver (vainfo tell you which codecs are supported) go to chrome://media-internals/ and check video_decoder :\n* Hardware acceleration: MojoVideoDecoder, GpuVideoDecoder\n* Software acceleration: VpxVideoDecoder, FFmpegVideoDecoder (some say it's Hardware acceleration?)\nAlso chrome://gpu should read Video Decode: Hardware accelerated\n\n=== Flash Player plugin ===\n\nFlash Player is automatically installed when using Google Chrome.\n\nTo install it for Chromium, [[install]] the {{Pkg|pepper-flash}} package.\n\nMake sure Flash is allowed to run in {{ic|chrome://settings/content/flash}}.\n\n=== PDF viewer plugin ===\n\nChromium and Google Chrome are bundled with the ''Chromium PDF Viewer'' plugin. If you don't want to use this plugin, check ''Open PDFs using a different application'' in {{ic|chrome://settings/content/pdfDocuments}}.\n\n== Tips and tricks ==\n\nSee the main article: [[Chromium/Tips and tricks]].\n\n== Troubleshooting ==\n\n=== Fonts ===\n\n{{Note|Chromium does not fully integrate with fontconfig/GTK/Pango/X/etc. due to its sandbox. For more information, see the [https://dev.chromium.org/developers/linux-technical-faq Linux Technical FAQ].}}\n\n==== Font rendering issues in PDF plugin ====\n\nTo fix the font rendering in some PDFs one has to install the {{Pkg|ttf-liberation}} package, otherwise the substituted font causes text to run into other text. This was [https://code.google.com/p/chromium/issues/detail?id=369991 reported on the chromium bug tracker] by an Arch user.\n\n==== Font rendering issues of UTF characters ====\n\nUTF characters may render as boxes (e.g. simplified Chinese characters). Installing {{Pkg|ttf-liberation}} will allow for the characters to be rendered as expected.\n\n==== Tab font size is too large ====\n\nChromium will use the GTK settings as described in [[GTK#Configuration]]. When configured, Chromium will use the {{ic|gtk-font-name}} setting for tabs (which may mismatch window font size). To override these settings, use {{ic|1=--force-device-scale-factor=1.0}}.\n\n=== WebGL ===\n\nThere is the possibility that your graphics card has been blacklisted by Chromium. See [[#Force GPU acceleration]].\n\nIf you are using Chromium with [[Bumblebee]], WebGL might crash due to GPU sandboxing. In this case, you can disable GPU sandboxing with {{ic|optirun chromium --disable-gpu-sandbox}}.\n\nVisit {{ic|chrome://gpu/}} for debugging information about WebGL support.\n\nChromium can save incorrect data about your GPU in your user profile (e.g. if you use switch between an Nvidia card using Optimus and Intel, it will show the Nvidia card in {{ic|chrome://gpu}} even when you're not using it or primusrun/optirun). Running using a different user directory, e.g, {{ic|1=chromium --user-data-dir=$(mktemp -d)}} may solve this issue. For a persistent solution you can reset the GPU information by deleting {{ic|~/.config/chromium/Local\\ State}}.\n\n=== Incorrect HiDPI rendering ===\n\nChromium will automatically scale for a [[HiDPI]] display, however this may cause an incorrect renderend GUI.\n\nThe flag {{ic|1=--force-device-scale-factor=1}} may be used to overrule the automatic scaling factor.\n\nOn Wayland, the {{AUR|chromium-ozone}} package will automatically scale based on the configured scale of each monitor.\n\n=== Password prompt on every start with GNOME Keyring ===\n\nSee [[GNOME/Keyring#Passwords are not remembered]].\n\n=== Chromecasts in the network are not discovered ===\n\nYou will need to enable the Media Router Component Extension in {{ic|chrome://flags/#load-media-router-component-extension}}.\n\n=== Losing cookies and passwords when switching between desktop environments ===\n\nIf you see the message {{ic|Failed to decrypt token for service AccountId-*}} in the terminal when you start Chromium, it might try to use the wrong password storage backend. This might happen when you switch between Desktop Environments.\n\nSee [[Chromium/Tips and tricks#Force a password store]].\n\n=== Hang on startup when Google Sync enabled ===\n\nTry launching Chrome with {{ic|1=--password-store=basic}} or another appropriate password store.\n\nSee [[Chromium/Tips and tricks#Force a password store]].\n\n== See also ==\n\n* [https://www.chromium.org/ Chromium homepage]\n* [https://googlechromereleases.blogspot.com Google Chrome release notes]\n* [https://chrome.google.com/webstore/category/home Chrome web store]\n* [[Wikipedia:Chromium (web browser)#Differences from Google Chrome|Differences between Chromium and Google Chrome]]\n* [http://peter.sh/experiments/chromium-command-line-switches/ List of Chromium command-line switches]"
                    }
                ]
            },
            "9287": {
                "pageid": 9287,
                "ns": 0,
                "title": "Thunderbird",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Email clients]]\n[[Category:Mozilla]]\n[[de:Thunderbird]]\n[[fr:Thunderbird]]\n[[it:Thunderbird]]\n[[ja:Thunderbird]]\n{{Related articles start}}\n{{Related|Thunderbird/Enigmail}}\n{{Related|Firefox}}\n{{Related articles end}}\n\n[https://www.thunderbird.net/en-US/ Thunderbird] is an open source email, news, and chat client previously developed by the Mozilla Foundation.\n\n== Installation ==\n\n[[Install]] the {{Pkg|thunderbird}} package, with a [https://www.archlinux.org/packages/?q=thunderbird-i18n language pack] if required.\n\nOther versions include:\n\n* {{App | Thunderbird Beta | Cutting edge features with relatively-good stability. | https://www.thunderbird.net/channel/ | {{AUR|thunderbird-beta-bin}}}}\n* {{App | Thunderbird Nightly | Experience the newest innovations with nightly releases (for those that want to work with breakages). | https://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-comm-central/ | {{AUR|thunderbird-nightly}}}}\n\nA version overview, both past and future, can be read on [[MozillaWiki:Releases]].\n\n== Securing ==\n\n* Thunderbird sends your system's internal IP address to the configured SMTP server as an argument to the HELO/ELHO SMTP command. This value can be overridden by setting {{ic|mail.smtpserver.default.hello_argument}} to, for example, {{ic|localhost}}. Setting this value may increase the spam score of messages you send. See [http://kb.mozillazine.org/Replace_IP_address_with_name_in_headers] and [http://kb.mozillazine.org/Mail_and_news_settings].\n\n* To hide Thunderbird's [https://developer.mozilla.org/en-US/docs/Web/HTTP/Gecko_user_agent_string_reference#Linux User Agent], create a new empty {{ic|general.useragent.override}} string entry in the [[#Config Editor]].\n\n* Thunderbird disables email images by default but enables HTML rendering which may expose IP address and location. To disable this click ''View > Message Body As > Plain Text''.\n\n* JavaScript is disabled for message content but not for RSS news feeds. To disable set {{ic|javascript.enabled}} to {{ic|false}} in the [[#Config Editor]].\n\n== Extensions ==\n\n* {{App|[[Thunderbird/Enigmail|Enigmail]]|Extension for writing and receiving email signed and/or encrypted with the OpenPGP standard.|https://www.enigmail.net|{{Pkg|thunderbird-extension-enigmail}}, {{AUR|thunderbird-extension-enigmail-git}}}}\n* {{App|Birdtray|Birdtray is a system tray new mail notification for Thunderbird 60+ which does not require extensions. Run Thunderbird with a system tray icon.|https://github.com/gyunaev/birdtray|{{AUR|birdtray}}}}\n* {{App|FireTray (Ximi1970 fork)|Adds a customizable system tray icon for Thunderbird. Ximi1970 fork works with Thunderbird 60+.|https://github.com/Ximi1970/FireTray|}}\n* {{App|[[Wikipedia:Lightning_(software)|Lightning]]|A calendar extension that brings [[Wikipedia:Mozilla Sunbird|Sunbird]]'s functionality to Thunderbird, including CalDAV support. Lightning now ships with Thunderbird, but due to differing release schedules it may have issues in Thunderbird testing releases.  See [https://support.mozilla.org/en-US/questions/1211583 Mozilla support forum post].  Also see [https://developer.mozilla.org/en-US/docs/Mozilla/Calendar/Calendar_Versions Lightning Release Schedule].|https://www.thunderbird.net/en-US/calendar/|}}\n* {{App|SOGo Connector| Lets you sync address books via CardDAV|https://sogo.nu/download.html#/frontends|{{AUR|thunderbird-sogo-connector-bin}}}}\n* {{App|Cardbook|A new addressbook for Thunderbird based on the CARDDav and VCARD standards.|[https://addons.thunderbird.net/thunderbird/addon/cardbook/ Cardbook AMO]|}}\n\n== Tips and tricks ==\n\n=== Config Editor ===\n\nThunderbird can be extensively configured by clicking ''Menu > Preferences > Preferences > Advanced > General > Config Editor''.\n\n=== Set the default browser ===\n\n{{Note|Since version 24 the {{ic|network.protocol-handler.app.*}} keys have no effect and will not be able to set the default browser.}}\n\nThunderbird uses the default browser as defined by the [[XDG MIME Applications]]. This is commonly modified by [[desktop environment]]s (for example [[GNOME]]'s Control Center: ''Details > Default Applications > Web'').\n\nThis can be overridden with {{ic|network.protocol-handler.warn-external}} in the [[#Config Editor]]\n\nIf the following is all set to {{ic|false}} (default), set them to {{ic|true}} and Thunderbird will ask you which application to use when you click on a link (remember to also check ''\"Remember my choice for .. links\"'').\n\n network.protocol-handler.warn-external.ftp\n network.protocol-handler.warn-external.http\n network.protocol-handler.warn-external.https\n\n=== Plain Text mode and font uniformity ===\n\nPlain Text mode lets you view all your emails without HTML rendering and is available in ''View > Message Body As''. This defaults to the [[Wikipedia:Monospace_(Unicode)|Monospace]] font but the size is still inherited from original system fontconfig settings. The following example will overwrite this with Ubuntu Mono of 10 pixels (available in: {{Pkg|ttf-ubuntu-font-family}}).\n\nRemember to run {{ic|fc-cache -fv}} to update system font cache. See [[Font configuration]] for more information.\n\n{{hc|~/.config/fontconfig/fonts.conf|<nowiki>\n<?xml version=\"1.0\"?>\n<!DOCTYPE fontconfig SYSTEM \"fonts.dtd\">\n<fontconfig>\n  <match target=\"pattern\">\n    <test qual=\"any\" name=\"family\"><string>monospace</string></test>\n    <edit name=\"family\" mode=\"assign\" binding=\"same\"><string>Ubuntu Mono</string></edit>\n    <!-- For Thunderbird, lowering default font size to 10 for uniformity -->\n    <edit name=\"pixelsize\" mode=\"assign\"><int>10</int></edit>\n  </match>\n</fontconfig>\n</nowiki>}}\n\n=== Webmail with Thunderbird ===\n\n:''See upstream Wiki: [http://kb.mozillazine.org/Using_webmail_with_your_email_client Using webmail with your email client].''\n\n=== Migrate profile to another system ===\n\n{{Tip|The [https://addons.thunderbird.net/thunderbird/addon/importexporttools-ng/ ImportExportTools NG] add-on offers an option to export and import a profile folder.}}\n\nBefore you start with Importing or Exporting tasks, backup your complete {{ic|~/.thunderbird}} profile:\n\n $ cp -R ~/.thunderbird /to/backup/folder/\n\nWith migration you just copy your current Thunderbird profile to another PC or a new Thunderbird installation:\n\n1. Install Thunderbird on the target PC\n\n2. Start Thunderbird without doing anything and quit it.\n\n3. Go to your Backup folder of your old Thunderbird installation\n\n4. Enter the backup profile folder:\n\n $ cd /to/backup/folder/.thunderbird/<oldrandomnumber>.default/\n\n5. Copy its content into the target profile folder {{ic|~/.thunderbird/<newrandomnumber>.default/}}\n\n $ cp -R /to/backup/folder/.thunderbird/<oldrandomnumber>.default/* ~/.thunderbird/<newrandomnumber>.default/\n\n=== Export and Import ===\n\nBefore you start with Importing or Exporting tasks, backup your complete {{ic|~/.thunderbird}} profile:\n\n $ cp -R ~/.thunderbird /to/backup/folder/\n\nIf your accounts are broken or you want to join two different Thunderbird installations, you can install [https://addons.thunderbird.net/thunderbird/addon/importexporttools-ng/ ImportExportTools NG] add-on for both Thunderbird installations and following this just export and import all your data to the new installation.\n\n=== Change the default sorting order ===\nThunderbird (up to at least 31.4.0-1) sorts mail by date with the oldest on top without any threading. While this can be changed per folder, it is easier to set a sane default instead as described [https://superuser.com/questions/13518/change-the-default-sorting-order-in-thunderbird here].\n\nSet these preferences in the [[#Config Editor]]:\n\n mailnews.default_sort_order = 2 (descending)\n mailnews.default_view_flags = 1 (Threaded view)\n\n=== Maildir support ===\nThe default message store format is mbox. To enable the use of Maildir, see [[MozillaWiki:Thunderbird/Maildir]]. You basically have to set the following preference in the [[#Config Editor]]:\n\n mail.serverDefaultStoreContractID = @mozilla.org/msgstore/maildirstore;1\n\nSome limitations up to at least 31.4.0-1: only the \"tmp\" and \"cur\" directories are supported. The \"new\" directory is completely ignored. The read state of mails are stored in a separate \".msf\" file, so initially all local mail using Maildir will be marked as unread even when located in the \"cur\" directory.\n\n=== Spell checking ===\n\nInstall {{Pkg|hunspell}} and a [https://www.archlinux.org/packages/?q=hunspell+dict hunspell language dictionary] and restart Thunderbird.\n\nSee the Firefox article for [[Firefox#Firefox does not remember default spell check language|how to set the default spell checking language]].\n\n=== Native notifications ===\n\nMake sure that {{ic|mail.biff.use_system_alert}} in the [[#Config Editor]] is set to \"true\" (default). This option means that extensions (such as Gnome Integration) are not needed for these newer versions of Thunderbird.\n\nYou might also need to install {{Pkg|libnotify}}\n\n=== Theming tweaks ===\n\nThunderbird should conform to [[GTK#Themes]] as defined on your system.  However, two tweaks are desirable for full consistency.  These are most beneficial for dark themes.\n\n# To view the body of emails with colors following your theme:\n## Go to ''Menu > Preferences > Preferences''\n## Select the ''Display'' tab\n## Click the ''Colors'' button\n## Check ''Use system colors''\n## Set the option for ''Override the colors specified by the content with my selection above'' to ''Always'' or ''Only with High Contrast themes''\n# To view Lightning calendar with colors following your theme:\n## Go to ''Menu > Preferences > Preferences''\n## Select the ''Calendar'' tab\n## Check ''Optimize colors for accessibility''\n\nFurther customization can be attained by creating and editing a {{ic|userchrome.css}}.  See [[Firefox/Tweaks#General user interface CSS settings]] and [http://kb.mozillazine.org/UserChrome.css Mozillazine's userchrome page].\n\n== Troubleshooting ==\n\n=== LDAP Segfault ===\n\nAn [https://bugzilla.mozilla.org/show_bug.cgi?id=292127 LDAP clash (Bugzilla#292127)] arises on systems configured to use it to fetch user information. A possible [https://bugzilla.mozilla.org/show_bug.cgi?id=292127#c7 workaround] consists of renaming the conflicting bundled LDAP library.\n\n=== Error: Incoming server already exists ===\n\nIt seems Thunderbird (v24) still has that bug which pops up with \"Incoming server already exists\" if you want to reinstall a previously deleted account with the same account data afterwards. Unfortunately, if you get this error you can now only clean reinstall Thunderbird: \n\n1. Make a backup of your current profile:\n\n $ cp -R ~/.thunderbird /to/backup/folder/\n\n2. Export all your Accounts, Calendar and Feeds via an add-on like it's written in ''Export section'' of this Wiki.\n\n3. Close Thunderbird\n\n4. Remove all your data by deleting your current Thunderbird folder {{ic|rm -R ~/.thunderbird/}}.\n\n5. Start Thunderbird\n\n6. Create your mail accounts, feeds and calendars (empty).\n\n7. Install the [https://addons.thunderbird.net/thunderbird/addon/importexporttools-ng/ ImportExportTools NG] add-on\n\n8. Import all your data.\n\n=== Thunderbird UI freezes when receiving a new message ===\n\nIf Thunderbird is configured to show an alert when a new message arrives, or at launch, the lack of a notification daemon may freeze the interface (white screen) for many seconds. You can solve this issue by disabling alerts or installing a [[Desktop_notifications#Notification_servers|notification server]].\n\n=== LC_TIME environment variable not respected ===\n\nThunderbird should use the {{ic|LC_TIME}} environment variable for localization, but it might not do so in all contexts. Some problems can be mitigated by setting ''Menu'' > ''Preferences'' > ''Preferences'' > ''Advanced'' > ''Date and Time Formatting'' to ''Regional settings locale'', a setting which was introduced in Thunderbird 56. However, there is a [https://bugzilla.mozilla.org/show_bug.cgi?id=1426907 bug report] for this issue.\n\n=== ''Authentication failure while connecting to server imap.gmail.com'' error when using OAuth2 with G Suite account ===\n\nSometimes Thunderbird fails to log in to G Suite with ''Authentication failure while connecting to server imap.gmail.com'' error. It can be fixed with setting {{ic|general.useragent.compatMode.firefox}} setting to {{ic|true}} in [[#Config Editor]] and then passing authentication stage again."
                    }
                ]
            },
            "9629": {
                "pageid": 9629,
                "ns": 0,
                "title": "Firefox (\u7b80\u4f53\u4e2d\u6587)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Web browser (\u7b80\u4f53\u4e2d\u6587)]]\n[[ar:Firefox]]\n[[cs:Firefox]]\n[[de:Firefox]]\n[[en:Firefox]]\n[[es:Firefox]]\n[[fr:Firefox]]\n[[it:Firefox]]\n[[ja:Firefox]]\n[[ko:Firefox]]\n[[ru:Firefox]]\n{{Related articles start (\u7b80\u4f53\u4e2d\u6587)}}\n{{Related2|Browser Plugins (\u7b80\u4f53\u4e2d\u6587)|\u6d4f\u89c8\u5668\u63d2\u4ef6}}\n{{Related|Firefox/Tweaks}}\n{{Related|Firefox/Profile on RAM}}\n{{Related|Firefox/Privacy}}\n{{Related2|Chromium (\u7b80\u4f53\u4e2d\u6587)|Chromium}}\n{{Related|Opera}}\n{{Related articles end}}\n{{TranslationStatus (\u7b80\u4f53\u4e2d\u6587)|Firefox|2018-09-03|537397}}\n[https://www.mozilla.org/firefox Firefox]\uff08\u706b\u72d0\uff09\u662f[https://www.mozilla.org Mozilla]\uff08\u8c0b\u667a\u7f51\u7edc\uff09\u51fa\u54c1\u7684\u4e00\u6b3e\u56fe\u5f62\u754c\u9762\u7f51\u7edc\u6d4f\u89c8\u5668\u3002\n\n== \u5b89\u88c5 ==\n[[\u5b89\u88c5]] \u8f6f\u4ef6\u5305 {{Pkg|firefox}}.\u4e2d\u6587\u754c\u9762\u8bf7\u5b89\u88c5\u7b80\u4f53\u4e2d\u6587\u8bed\u8a00\u5305 {{pkg|firefox-i18n-zh-cn}}\u3002\n\n\u5176\u5b83\u53d8\u79cd\uff1a\n\n* {{App|Firefox Developer Edition|\u5f00\u53d1\u8005\u7248\u672c|https://www.mozilla.org/firefox/developer/|{{Pkg|firefox-developer-edition}}}}\n* {{App|Firefox Extended Support Release|\u957f\u671f\u652f\u6301\u7248\u672c|https://www.mozilla.org/firefox/organizations/|{{AUR|firefox-esr}} or {{AUR|firefox-esr-bin}}}}\n* {{App|Firefox Beta|\u524d\u6cbf\u7248\u672c|https://www.mozilla.org/firefox/channel/desktop/#beta|{{AUR|firefox-beta}} or {{AUR|firefox-beta-bin}}}}\n* {{App|Firefox Nightly|\u6bcf\u65e5\u6784\u5efa\u7684\u6d4b\u8bd5\u7248\u672c([https://developer.mozilla.org/Firefox/Experimental_features experimental features])|https://www.mozilla.org/firefox/channel/desktop/#nightly|{{AUR|firefox-nightly}}}}  \n* {{App|Firefox KDE|OpenSUSE \u6253\u8fc7\u8865\u4e01\u7684\u3001\u5177\u6709\u66f4\u597d\u7684 KDE \u96c6\u6210\u7684 Firefox \u7248\u672c\u3002|https://build.opensuse.org/package/show/mozilla:Factory/MozillaFirefox|{{AUR|firefox-kde-opensuse}}}}\n\n* \u9664\u4e86\u4e0d\u540c\u7684\u7f16\u8bd1\u6e20\u9053\uff0c\u6709\u4e9b\u7279\u6b8a\u7684\u5206\u652f\u7248\u672c\u63d0\u4f9b\u4e86\u4e00\u4e9b\u7279\u6b8a\u529f\u80fd\uff0c\u53c2\u8003 [[List of applications#Gecko-based]].\n\n== \u914d\u7f6e ==\n\nFirefox\u6709\u8bb8\u591a\u53ef\u7528\u7684\u914d\u7f6e\u9009\u9879\u3002\u8981\u68c0\u67e5\u5b83\u4eec\uff0c\u8bf7\u5728Firefox\u5730\u5740\u680f\u4e2d\u8f93\u5165\uff1a\n\n  about\uff1aconfig\n\n\u4e00\u65e6\u8bbe\u7f6e\uff0c\u8fd9\u4e9b\u5c31\u4f1a\u5f71\u54cd\u7528\u6237\u7684\u5f53\u524d\u914d\u7f6e\u6587\u4ef6\uff0c\u5e76\u53ef\u80fd\u901a\u8fc7Firefox Sync\u8de8\u8bbe\u5907\u540c\u6b65\u3002\u8bf7\u6ce8\u610f\uff0c\u53ea\u6709{{ic|about:config}}\u6761\u76ee\u7684\u4e00\u90e8\u5206\u88ab\u8fd9\u4e2a\u65b9\u6cd5\u540c\u6b65\uff0c\u5e76\u4e14\u53ef\u4ee5\u901a\u8fc7\u5728{{ic|about:config}}\u4e2d\u641c\u7d22services.sync.prefs\u627e\u5230\u786e\u5207\u7684\u5b50\u96c6\u3002\u53ef\u4ee5\u901a\u8fc7\u521b\u5efa\u65b0\u7684\u5e03\u5c14\u6761\u76ee\u6765\u540c\u6b65\u5176\u4ed6\u504f\u597d\u8bbe\u7f6e\u548c\u7b2c\u4e09\u65b9\u504f\u597d\u8bbe\u7f6e\uff0c\u5e76\u5728{{ic|services.sync.prefs.sync}}\u524d\u6dfb\u52a0config\u503c\u3002\u540c\u6b65NoScript\u6269\u5c55\u540d\u7684\u767d\u540d\u5355\uff1a\n  services.sync.prefs.sync.capability.policy.maonoscript.sites\n\n\u5fc5\u987b\u5c06{{ic|boolean noscript.sync.enabled}}\u8bbe\u7f6e\u4e3a{{ic|true}}\u624d\u80fd\u901a\u8fc7Firefox Sync\u540c\u6b65NoScript\u7684\u5176\u4ed6\u504f\u597d\u8bbe\u7f6e\u3002\n\nFirefox\u8fd8\u5141\u8bb8\u901a\u8fc7{{ic|user.js}}\u6587\u4ef6\u914d\u7f6e\u4e00\u4e2a\u914d\u7f6e\u6587\u4ef6\uff1a{{ic|user.js}}\u4fdd\u5b58\u5728\u914d\u7f6e\u6587\u4ef6\u6587\u4ef6\u5939\u4e2d\uff0c\u901a\u5e38\u662f{{ic|~/.mozilla/firefox/xxxxxxx.default/}}\u3002\n\u4e0a\u8ff0\u65b9\u6cd5\u7684\u4e00\u4e2a\u7f3a\u70b9\u662f\u4e0d\u80fd\u5728\u7cfb\u7edf\u8303\u56f4\u5185\u5e94\u7528\u3002\u6b64\u5916\uff0c\u7531\u4e8e\u914d\u7f6e\u6587\u4ef6\u76ee\u5f55\u662f\u5728\u9996\u6b21\u542f\u52a8\u6d4f\u89c8\u5668\u4e4b\u540e\u521b\u5efa\u7684\uff0c\u56e0\u6b64\u8fd9\u4e0d\u9002\u7528\u4e8e\u9884\u914d\u7f6e\u3002\u4e0d\u8fc7\uff0c\u4f60\u53ef\u4ee5\u8ba9 Firefox\u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u5e76\u5728\u5173\u95ed\u5b83\u4e4b\u540e\uff0c\u5c06\u5df2\u7ecf\u521b\u5efa\u7684\u914d\u7f6e\u6587\u4ef6\u6587\u4ef6\u5939\u7684\u5185\u5bb9\u590d\u5236\u8fdb\u53bb\u3002\n\n\u6709\u65f6\u53ef\u80fd\u9700\u8981\u9501\u5b9a\u67d0\u4e9b\u8bbe\u7f6e\uff0c\u8fd9\u662f\u4e00\u9879\u5728\u5b9a\u5236\u7684Firefox\u7684\u5e7f\u6cdb\u90e8\u7f72\u4e2d\u975e\u5e38\u6709\u7528\u7684\u529f\u80fd\u3002\u8981\u521b\u5efa\u7cfb\u7edf\u8303\u56f4\u914d\u7f6e\uff0c\u8bf7\u6309\u7167\u201c\u9501\u5b9a\u201d\u9996\u9009\u9879\u4e2d\u5217\u51fa\u7684\u6b65\u9aa4\u64cd\u4f5c\uff1a\n\n1.\u521b\u5efa/usr/lib/firefox/defaults/pref/local-settings.js\uff1a\n\n  pref\uff08\u201cgeneral.config.obscure_value\u201d\uff0c0\uff09;\n  pref\uff08\u201cgeneral.config.filename\u201d\uff0c\u201cmozilla.cfg\u201d\uff09;\n\n2.\u521b\u5efa/usr/lib/firefox/mozilla.cfg\uff08\u8fd9\u5b58\u50a8\u5b9e\u9645\u914d\u7f6e\uff09\uff1a\n\n\u8bf7\u6ce8\u610f\uff0c\u7b2c\u4e00\u884c\u5fc5\u987b\u5305\u542b//\u3002\u8be5\u6587\u4ef6\u7684\u8bed\u6cd5\u4e0euser.js\u7684\u8bed\u6cd5\u5f88\u76f8\u4f3c\u3002\n\n== \u9644\u52a0\u7ec4\u4ef6 ==\n''\u53c2\u89c1\uff1a [[Browser plugins (\u7b80\u4f53\u4e2d\u6587)|\u6d4f\u89c8\u5668\u63d2\u4ef6]]''\n\nFirefox \u5e7f\u4e3a\u4eba\u77e5\u7684\u4e00\u70b9\u662f\u5b83\u7684\u5927\u91cf\u7684\u9644\u52a0\u7ec4\u4ef6\uff0c\u53ef\u4ee5\u7528\u6765\u6dfb\u52a0\u65b0\u529f\u80fd\u6216\u66f4\u6539 Firefox \u4e2d\u5df2\u6709\u529f\u80fd\u3002\u4f60\u53ef\u4ee5\u5728 Firefox \u4e2d\u7684\u201c\u9644\u52a0\u7ec4\u4ef6\u7ba1\u7406\u5668\u201d\u4e2d\u67e5\u627e\u65b0\u9644\u52a0\u7ec4\u4ef6\u6216\u7ba1\u7406\u5df2\u5b89\u88c5\u7684\u9644\u52a0\u7ec4\u4ef6\u3002 \n\n\u8981\u67e5\u770b\u63d2\u4ef6\u4f7f\u7528\u60c5\u51b5\uff0c\u5728Firefox\u5730\u5740\u680f\u8f93\u5165\uff1a\n about:plugins\n\u6216\u8005\u4f7f\u7528''\u5de5\u5177''\u83dc\u5355\u4e2d\u7684''\u9644\u52a0\u7ec4\u4ef6''\uff0c\u9009\u62e9''\u63d2\u4ef6''\u6807\u7b7e\u3002\n\n=== \u589e\u52a0\u641c\u7d22\u5f15\u64ce ===\n\n\u5230\u4e0b\u9762\u7f51\u5740\u9009\u62e9\u641c\u7d22\u5f15\u64ce\u5e76\u5b89\u88c5\uff1a\n* https://addons.mozilla.org/firefox/search-tools/\n* [http://mycroft.mozdev.org/ http://mycroft.mozdev.org/]\n\n[https://firefox.maltekraus.de/extensions/add-to-search-bar add-to-searchbar] \u6269\u5c55\u53ef\u4ee5\u901a\u8fc7\u7f51\u5740\u76f4\u63a5\u52a0\u5165\u641c\u7d22\u5f15\u64ce\u3002\n\n==== arch-firefox-search ====\n{{AUR|arch-firefox-search}}\u4e3aFirefox\u641c\u7d22\u6846\u6dfb\u52a0Arch\u76f8\u5173\u5185\u5bb9\u7684\u641c\u7d22\u5f15\u64ce\uff08AUR\u3001wiki\u3001\u8bba\u575b\u2026\u2026)\uff1a\n # pacman -S arch-firefox-search\n\n=== Gnome Keyring \u6574\u5408 ===\n\u8981\u6574\u5408  Firefox \u4e0e [[GNOME Keyring]]\uff0c\u5b89\u88c5 Javascript \u5b9e\u73b0\u7684 {{AUR|mozilla-extension-gnome-keyring-git}}\u3002\u8981\u8ba9 firefox-gnome-keyring \u4f7f\u7528\u4f60\u7684\u767b\u5f55 keychain\uff0c\u5728 about:config \u4e2d\u8bbe\u7f6e extensions.gnome-keyring.keyringName \u4e3a \"login\" (\u4e0d\u542b\u5f15\u53f7)\u3002\u6ce8\u610f \"login\" \u7684\u9996\u5b57\u6bcd\u5e94\u4e3a\u5c0f\u5199\u3002\n\n=== KDE \u6574\u5408 ===\n{{\u8b66\u544a|1=\u7531\u4e8eGTK3\u66f4\u65b0\u52303.20.x\uff0c\u6709\u4e00\u4e9b\u4e3b\u9898\u4e0d\u80fd\u6b63\u5e38\u4f7f\u7528\uff08\u5305\u62ecBreeze\uff0c\u63a8\u8350\u7684\u4e00\u4e2aKDE\u548cGTK\u95f4\u7684\u6574\u5408\u4e3b\u9898\uff09\u3002 \u5176\u4e2d\u7684\u4e00\u4e9b\u95ee\u9898\u662f\u6eda\u52a8\u6761\u4e0d\u53ef\u89c1\uff0c\u4e0d\u9009\u4e2d\u7684\u6587\u672c\u9ad8\u4eae\u663e\u793a\uff0c\u9690\u85cf\u7684\u590d\u9009\u6846\u7b49\u7b49\u3002 \u82e5\u8981\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff0c\u5b89\u88c5kde-gtk-config\u540e\uff0c\u8fdb\u5165\u7cfb\u7edf\u8bbe\u7f6e - >\u5e94\u7528\u7a0b\u5e8f\u6837\u5f0f - > GNOME\u5e94\u7528\u7a0b\u5e8f\u6837\u5f0f\uff08GTK\uff09\uff0c\u7136\u540e\u5728\u9009\u62e9GTK3\u4e3b\u9898\u4e0b\u62c9\u83dc\u5355\u4e2d\u9009\u62e9\u9ed8\u8ba4\u4e3b\u9898\u3002 \u6709\u5173\u4e0a\u8ff0\u517c\u5bb9\u6027\u95ee\u9898\u7684\u66f4\u591a\u4fe1\u606f\uff0c\u8bf7\u8bbf\u95eeArch Forums\u4e2d\u7684\u6709\u5173GTK3 3.20 \u66f4\u65b0\u7684\u5e16\u5b50\u3002}}\n\n* \u5728 Firefox \u4e2d\u4f7f\u7528 GTK \u5916\u89c2\u3002\u5b89\u88c5 {{Pkg|breeze-gtk}} \u548c {{Pkg|kde-gtk-config}}\u3002\u7136\u540e\u8fdb\u5165\u7cfb\u7edf\u8bbe\u7f6e -> \u7a0b\u5e8f\u5916\u89c2 -> GTK\uff0cGTK2/GTK3 \u4e3b\u9898\u9009\u62e9\u4e3a Breeze\uff0c\u52fe\u9009\u663e\u793a GTK \u6309\u94ae\u7684\u56fe\u6807\u3002\n\n* \u4f7f\u7528 KDE's KParts \u5d4c\u5165\u6587\u4ef6\u67e5\u770b\u5668\uff0c\u53ef\u4ee5\u5b89\u88c5 {{Pkg|kpartsplugin}}{{Broken package link|{{aur-mirror|kpartsplugin}}}}\u3002\n\n* \u53ef\u4ee5\u4f7f\u7528 AUR \u4e2d\u7684 {{AUR|firefox-kde-opensuse}} Firefox \u53d8\u79cd\u6765\u96c6\u6210 KDE \u7684\u6587\u4ef6\u5173\u8054\u7cfb\u7edf\u548c\u6587\u4ef6\u5bf9\u8bdd\u6846\u3002\n\n* \u6709\u4e9b\u63d2\u4ef6\u4e5f\u63d0\u4f9b\u4e86\u5176\u5b83\u6574\u5408\uff0c\u6bd4\u5982\u96c6\u6210 [https://addons.mozilla.org/firefox/addon/kde-wallet-password-integratio/ KWallet], [https://addons.mozilla.org/firefox/addon/unityfox-revived/ Unityfox Revived], \u548c [https://addons.mozilla.org/firefox/addon/plasmanotify/ Plasma \u901a\u77e5].\n\n=== \u62fc\u5199\u68c0\u67e5\u5b57\u5178 ===\n\u9009\u62e9\u4efb\u610f\u6587\u672c\uff0c\u53f3\u952e\u4e3a\u8be5\u8bed\u8a00\u6dfb\u52a0\u5b57\u5178\uff0c\u91cd\u542f\u6d4f\u89c8\u5668\u5373\u53ef\u3002\n\n\u6216\u8005\u4ece [[official repositories|\u5b98\u65b9\u8f6f\u4ef6\u4ed3\u5e93]]\u5b89\u88c5\u8f6f\u4ef6\u5305{{Pkg|hunspell}}\u548c\u5176\u5b83\u8bed\u8a00\u4f8b\u5982 {{Pkg|hunspell-fr}} (\u6cd5\u8bed) or {{Pkg|hunspell-he}} (\u5e0c\u4f2f\u6765\u8bed)\u3002\n\n\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cFirefox \u4f1a\u5728 {{ic|/usr/lib/firefox/dictionaries}} \u751f\u6210\u6307\u5411\u5230 hunspell \u5b57\u5178\u7684\u8f6f\u94fe\u63a5\u3002\u5982\u679c\u4f60\u4e0d\u60f3\u4f7f\u7528\u6240\u6709\u8bed\u8a00\u7684\u5b57\u5178\uff0c\u53ef\u4ee5\u5220\u6389\u4e00\u90e8\u5206\u3002\u6ce8\u610f\uff0cFirefox \u5347\u7ea7\u53ef\u80fd\u4f1a\u8fd8\u539f\u8fd9\u4e9b\u8f6f\u94fe\u63a5\u3002\n\n=== \u591a\u5a92\u4f53\u64ad\u653e ===\nFirefox\u4f1a\u5c1d\u8bd5\u4f7f\u7528[[FFmpeg]]\u64ad\u653eHTML5\u7684{{ic|<audio>}}\u548c{{ic|<video>}}\u6807\u7b7e\u5185\u7684\u591a\u5a92\u4f53\u5185\u5bb9\uff0c\u9700\u8981\u5148\u5b89\u88c5{{Pkg|ffmpeg}}\u3002\n\n\u91cd\u542fFirefox\u3002\u4f60\u53ef\u4ee5\u5230[http://www.youtube.com/html5 Youtube HTML5\u9875\u9762]\u6216\u8005[http://www.quirksmode.org/html5/tests/video.html \u8fd9\u4e2a\u7f51\u9875]\u6765\u9a8c\u8bc1\u8f6f\u4ef6\u5305\u6b63\u786e\u5b89\u88c5\u5e76\u542f\u7528\u4e86\u3002\n\n\u66f4\u591a\u914d\u7f6e\u4fe1\u606f\u8bf7\u53c2\u9605 [[Firefox tweaks#Enable additional media codecs]]\u3002\n\nStarting with version 54, Firefox uses [[PulseAudio]] for audio playback and capture. For sound to work, you need to install the {{Pkg|pulseaudio}} package.\n\nIn case, for whatever reason, [[PulseAudio]] is not an option for you, you can use [[Advanced Linux Sound Architecture#PulseAudio compatibility|apulse]] instead. To make this work, it is necessary to exclude {{ic|/dev/snd/}} from Firefox' sandboxing by adding it to the comma-separated list in {{ic|about:config}}:\n\n security.sandbox.content.write_path_whitelist\n\n{{Note|The trailing slash on {{ic|/dev/snd/}} is important, otherwise apulse will report \"Permission denied\" errors.}}\n\nIf you are using Firefox 58 or above and have no audio even when using apulse, try adding {{ic|16}} to {{ic|security.sandbox.content.syscall_whitelist}} in {{ic|about:config}}\n\n==== Open-with extension ====\n\n# Install [https://addons.mozilla.org/firefox/addon/open-with/ Open-with] add-on.\n# Open {{ic|about:openwith}}, select ''Add...''\n# In the dialog select a video streaming capable player (e.g. [[mpv|/usr/bin/mpv]]).\n# (Optional step) Add needed arguments to the player (e.g. you may want {{ic|--force-window --ytdl}} for ''mpv'')\n# (Optional step) Choose how to display the dialogs using the left panel.\n# Right click on links or visit pages containing videos. If the site is supported, the player will open as expected.\n\nThe same procedure can be used to associate video downloaders such as ''youtube-dl''.\n\n== \u5c0f\u6280\u5de7 ==\n\n=== \u7f51\u9875\u622a\u56fe ===\n\n\u8981\u4f7f\u7528 Firefox \u8fdb\u884c\u7f51\u9875\u622a\u56fe\uff0c\u4f7f\u7528 {{ic|Shift+F2}} \u6253\u5f00\u5f00\u53d1\u8005\u63a7\u5236\u53f0\u3002\u7136\u540e\u8f93\u5165\uff1a\n\n screenshot ''filename''\n\n\u5176\u4e2d ''filename'' \u662f\u53ef\u9009\u7684\u3002\n\n\u8981\u5bf9\u6574\u4e2a\u9875\u9762\u8fdb\u884c\u622a\u56fe\u800c\u4e0d\u4ec5\u4ec5\u662f\u5f53\u524d\u5c4f\u5e55\uff0c\u4f7f\u7528 {{ic|--fullpage}} \u9009\u9879\uff1a\n\n screenshot --fullpage ''filename''\n\n=== \u83b7\u53d6cookie\u4fe1\u606f ===\n\n\u4f7f\u7528\u5feb\u6377\u952eShift+F9\u6253\u5f00\u5f00\u53d1\u8005\u5de5\u5177\uff0c\u5728Storage\u4e0b\u9762\u7684Cookies\u9009\u9879\u4e2d\u6709\u5f53\u524d\u7f51\u9875\u7684cookie\u8be6\u7ec6\u4fe1\u606f\uff0c\u6bd4\u5982\uff1aigneous\uff0cipb_member_id\uff0cipb_pass_hash\u7b49\u3002\n\n\u5982\u679cCookies\u91cc\u9762\u7a7a\u7684\u5c31\u8bf4\u660e\u8fd9\u4e2a\u7f51\u9875\u6ca1\u6709\u4f7f\u7528cookie\u3002\n\n== \u7591\u96be\u89e3\u7b54 ==\n\n=== Firefox \u542f\u52a8\u65f6\u95f4\u592a\u957f ===\n\n\u5982\u679c Firefox \u542f\u52a8\u65f6\u95f4\u6bd4\u5176\u5b83\u6d4f\u89c8\u5668\u66f4\u957f\uff0c\u8fd9\u53ef\u80fd\u662f\u56e0\u4e3a {{ic|/etc/hosts}} \u91cc\u6ca1\u6709\u8bbe\u7f6e localhost\u3002\u67e5\u770b [[Network configuration#Local network hostname resolution]] \u4e86\u89e3\u600e\u4e48\u8bbe\u7f6e\u3002\n\n=== \u5b57\u4f53\u95ee\u9898 ===\n\n\u67e5\u770b [[Font configuration]].\n\n=== \u8bbe\u7f6e email \u5ba2\u6237\u7aef ===\n\u4e00\u822c\u5730\uff0cFirefox \u4f1a\u4f7f\u7528\u50cf Gmail \u6216 Yahoo Mail \u8fd9\u6837\u7684 Web \u7a0b\u5e8f\u6253\u5f00 {{ic|mailto}} \u94fe\u63a5\u3002\u8981\u4f7f Firefox \u7528\u4f60\u7684email \u5ba2\u6237\u7aef\u6253\u5f00 {{ic|mailto}} \u94fe\u63a5\uff0c\u627e\u5230 ''\u9009\u9879 > \u5e94\u7528\u7a0b\u5e8f'' \u5e76\u5c06 {{ ic|mailto }} \u5bf9\u5e94\u7684''\u52a8\u4f5c''\u4fee\u6539\u4e3a\u4f60\u7684 email \u5ba2\u6237\u7aef\u7684\u51c6\u786e\u8def\u5f84\uff0c\u5982 {{ic|/usr/bin/kmail}}\u3002\n\n{{ic|mailto}}\u94fe\u63a5\u7531{{ic|x-scheme-handler/mailto}} mime\u7c7b\u578b\u5904\u7406\uff0c\u53ef\u4ee5\u4f7f\u7528{{ic|xdg-mime}}\u8f7b\u677e\u914d\u7f6e\u3002 \u6709\u5173\u8be6\u7ec6\u4fe1\u606f\u548c\u5907\u9009\u65b9\u6cd5\uff0c\u8bf7\u53c2\u9605\u300e\u9ed8\u8ba4\u5e94\u7528\u7a0b\u5e8f\u300f\n\n=== Firefox \u81ea\u52a8\u521b\u5efa ~/Desktop\uff0c\u4f46\u6211\u4e0d\u9700\u8981 ===\nFirefox \u9ed8\u8ba4\u4f7f\u7528 {{ic|~/Desktop}} \u4f5c\u4e3a\u4e0a\u4f20\u548c\u4e0b\u8f7d\u76ee\u5f55\u3002\u6309 [[XDG user directories]] \u4e2d\u7684\u8bf4\u660e\u4fee\u6539 {{ic|XDG_DESKTOP_DIR}}.\n\n=== \u7981\u6b62\u63d2\u4ef6\u5f39\u7a97 ===\n\u6709\u4e9b\u63d2\u4ef6\uff0c\u5982Flash\uff0c\u4f1a\u5ffd\u7565\u6d4f\u89c8\u5668\u8bbe\u7f6e\uff0c\u5f39\u51fa\u7a97\u53e3\u3002\u8981\u963b\u6b62\u8fd9\u79cd\u5f39\u7a97\uff1a\n# \u6253\u5f00 about:config\u3002\n# \u53f3\u952e\u6dfb\u52a0\u65b0\u7684\u6574\u6570\u9879\u76ee\u3002\n# \u547d\u540d\u4e3a privacy.popups.disable_from_plugins\u3002\n# \u8bbe\u7f6e\u4e3a2\u3002\n\n\u53ef\u7528\u503c\u5982\u4e0b\uff1a\n* 0: \u5141\u8bb8\u6240\u6709\u63d2\u4ef6\u5f39\u7a97\u3002\n* 1: \u5141\u8bb8\u5f39\u7a97\uff0c\u4f46\u9650\u5236\u5728dom.popup_maximum\u6570\u503c\u5185\u3002\n* 2: \u7981\u6b62\u63d2\u4ef6\u5f39\u7a97\u3002\n* 3: \u7981\u6b62\u63d2\u4ef6\u5f39\u7a97\uff0c\u5373\u4f7f\u662f\u53ef\u4fe1\u7ad9\u70b9\u3002\n\n=== \u4e2d\u952e\u70b9\u51fb\u95ee\u9898 ===\n ! \u6b64 URL \u65e0\u6548\uff0c\u65e0\u6cd5\u8f7d\u5165\uff0c\n\u8bb8\u591a\u4eba\u4f7f\u7528\u4e2d\u952e\u70b9\u51fb\u65f6\u4f1a\u83ab\u540d\u8df3\u8f6c\u5230\u67d0\u9875\u9762\uff0c\u6216\u8005\u51fa\u73b0\u4e0a\u8ff0\u9519\u8bef\u3002\n\n\u95ee\u9898\u7684\u539f\u56e0\u662f\uff0c\u8bb8\u591a\u7c7bUNIX\u64cd\u4f5c\u7cfb\u7edf\u8bbe\u7f6e\u9f20\u6807\u4e2d\u952e\u6267\u884c\u7c98\u8d34\u64cd\u4f5c\u3002\u8fd9\u4e0eFirefox\u7684\u529f\u80fd\u51b2\u7a81\u4e86\uff08\u5728\u65b0\u7a97\u53e3\u6253\u5f00\u94fe\u63a5\uff09\u3002\u53ef\u4ee5\u5173\u95edFirefox\u7684\u8fd9\u9879\u529f\u80fd\uff1a\n\n\u5728\u6d4f\u89c8\u5668\u5730\u5740\u680f\u8f93\u5165\uff1a\n about:config\n\u6253\u5f00\u5e76\u627e\u5230'''middlemouse.contentLoadURL'''\u9879\uff0c\u8bbe\u7f6e\u4e3afalse\u3002\n\n\u6b64\u5916\uff0c\u5982\u679c\u8981\u6253\u5f00\u4e2d\u952e\u70b9\u51fb\u51fa\u73b0\u6eda\u8f6e\u7684\u529f\u80fd\uff08Windows\u9ed8\u8ba4\u542f\u7528\uff09\uff0c\u8bbe\u7f6e'''general.autoScroll'''\u4e3atrue\u3002\n\n=== Backspace \u952e\u65e0\u6cd5\u5b9e\u73b0\u201c\u540e\u9000\u201d\u529f\u80fd ===\n\u6839\u636e[http://ubuntu.wordpress.com/2006/12/21/fix-firefox-backspace-to-take-you-to-the-previous-page/ \u6b64\u6587]\uff0c\u4e3a\u4e86\u4fee\u6b63\u4e00\u4e2abug\uff0c\u5173\u95ed\u4e86\u6b64\u529f\u80fd\u3002\u5f00\u542f\u65b9\u6cd5\u5982\u4e0b\uff1a\n\n\u5728\u6d4f\u89c8\u5668\u5730\u5740\u680f\u8f93\u5165\uff1a\n about:config\n\u6253\u5f00\u5e76\u627e\u5230'''browser.backspace_action'''\u9879\uff0c\u8bbe\u7f6e\u4e3a0\u3002\n\n=== \u65e0\u6cd5\u8bb0\u5f55\u767b\u5f55\u4fe1\u606f ===\n\u6709\u53ef\u80fd\u662f[http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile Firefox profile]\u6587\u4ef6\u5939\u4e2d\u7684{{Ic|cookies.sqlite}}\u635f\u574f\u4e86\u3002\u5173\u95ed\u6d4f\u89c8\u5668\u540e\u5220\u9664cookie.sqlite\u5373\u53ef\uff1a\n\n\u6253\u5f00\u7ec8\u7aef\u8f93\u5165\uff1a\n $ cd ~/.mozilla/firefox/xxxxxxxx.default/\n $ rm -f cookies.sqlite\n{{\u6ce8\u610f|xxxxxxxx \u8868\u793a\u968f\u673a\u751f\u6210\u76848\u4e2a\u5b57\u7b26}}\n\n\u91cd\u542fFirefox\u68c0\u67e5\u95ee\u9898\u662f\u5426\u89e3\u51b3\u3002\n\n=== \u5173\u95edFirefox\u65f6\u4e0d\u8be2\u95ee\u662f\u5426\u4fdd\u5b58\u6807\u7b7e ===\n\u6839\u636e[http://support.mozilla.com/en-US/questions/767751 Mozilla Support]\uff1a\n\n# \u6253\u5f00'''about:config'''\u3002\n# \u4fee\u6539'''browser.warnOnQuit'''\u4e3a'''true'''\u3002\n# \u4fee\u6539'''browser.showQuitWarning'''\u4e3a'''true'''.\n\n=== \u4eceMarketplace\u5b89\u88c5\u684c\u9762\u5e94\u7528\u5931\u8d25\u4e14\u65e0\u9519\u8bef\u63d0\u793a ===\n\n\u5b89\u88c5\u4f1a\u9759\u9ed8\u5931\u8d25\u5982\u679c\u6ca1\u6709{{ic|~/.local/share/applications}}\u6587\u4ef6\u5939\u3002\n\n=== Firefox \u9519\u8bef\u5730\u8ba4\u4e3a\u63d2\u4ef6\u8fc7\u65f6 ===\n\n\u5173\u95edFirefox\u65f6\uff0c\u540e\u8005\u4f1a\u5c06\u5f53\u524d\u7684\u65f6\u95f4\u6233\u548c\u63d2\u4ef6\u7248\u672c\u4fdd\u5b58\u5728\u914d\u7f6e\u6587\u4ef6\u6587\u4ef6\u5939\u4e2d\u7684pluginreg.dat\u4e2d\uff0c\u901a\u5e38\u5728 {{ic|~/.mozilla/firefox/some name.default/}} \u4e2d\u3002\n\n\u5982\u679cFirefox\u5728\u8fd0\u884c\u65f6\u5347\u7ea7\u4e86\u63d2\u4ef6\uff0c\u5219\u4f1a\u5728\u8be5\u6587\u4ef6\u4e2d\u5305\u542b\u9519\u8bef\u7684\u4fe1\u606f\u3002 \u5f53\u4f60\u4e0b\u4e00\u6b21\u91cd\u542f Firefox \u65f6\uff0c\u4f1a\u62a5\u544a\u4e00\u4e2a\u9519\u8bef\u300eFirefox\u5df2\u7ecf\u963b\u6b62\u4e86\u8fc7\u65f6\u7684\u63d2\u4ef6\u201c\u63d2\u4ef6\u540d\u79f0\u201d\u5728\u8fd0\u884c\u300f\u3002\u8fd9\u4e2a\u95ee\u9898\u901a\u5e38\u51fa\u73b0\u5728\u5b98\u65b9\u7684Adobe Flash Player\u63d2\u4ef6\u4e0a\uff0c\u800cFirefox\u5728\u8fd0\u884c\u65f6\u5df2\u7ecf\u5347\u7ea7\u3002\n\n\u89e3\u51b3\u65b9\u6848\u662f\u4ece\u60a8\u7684\u914d\u7f6e\u6587\u4ef6\u4e2d\u5220\u9664\u6587\u4ef6pluginreg.dat\u3002\u4e8b\u5b9e\u4e0a\uff0cFirefox\u4e0d\u4f1a\u7531\u4e8e\u4e22\u5931\u7684\u6587\u4ef6\u800c\u505c\u6b62\u8fd0\u884c\uff0c\u56e0\u4e3a\u4e0b\u6b21Firefox\u5173\u95ed\u65f6\uff0c\u5b83\u5c06\u88ab\u91cd\u65b0\u521b\u5efa\u3002\n[https://bugzilla.mozilla.org/show_bug.cgi?id=1109795#c16]\n\n=== \u5728\u4e00\u4e9b\u7f51\u9875\u4e2d\uff0cJavascript \u4e0a\u4e0b\u6587\u83dc\u5355\u4e0d\u663e\u793a ===\n\n\u5728 {{ic|about:config}} \u53d6\u6d88 {{ic|dom.w3c_touch_events.enabled}} \u8bbe\u7f6e.\n\n=== Firefox \u4e0d\u4fdd\u5b58\u9ed8\u8ba4\u7684\u62fc\u5199\u68c0\u67e5\u8bed\u8a00 ===\n\n\u9ed8\u8ba4\u7684\u62fc\u5199\u68c0\u67e5\u8bed\u8a00\u53ef\u4ee5\u7528\u4e0b\u9762\u7684\u65b9\u5f0f\u8bbe\u7f6e\uff1a\n\n# \u5728\u5730\u5740\u680f\u4e2d\u6253\u5f00 {{ic|about:config}}.\n# \u628a {{ic|spellchecker.dictionary}} \u8bbe\u7f6e\u4e3a\u4f60\u7684\u8bed\u8a00\uff0c\u4f8b\u5982 {{ic|en_GB}}.\n# \u6ce8\u610f\u5bf9\u4e8e Firefox \u5b89\u88c5\u7684\u8bcd\u5178\u63d2\u4ef6\u6765\u8bf4\uff0c\u7b26\u53f7\u662f {{ic|en-GB}}\uff0c\u800c\u5bf9\u4e8e {{Pkg|hunspell}} \u8bcd\u5178\u6765\u8bf4\uff0c\u7b26\u53f7\u662f {{ic|en_GB}}.\n\n\u5f53\u4f60\u53ea\u6709 {{Pkg|hunspell}} \u8bcd\u5178\u65f6, Firefox \u53ef\u80fd\u4e0d\u4f1a\u4fdd\u5b58\u4f60\u9ed8\u8ba4\u7684\u8bcd\u5178\u8bed\u8a00\u8bbe\u7f6e\u3002\u8981\u89e3\u51b3\u8fd9\u4e2a\u95ee\u9898\uff0c\u4f60\u53ef\u4ee5\u6dfb\u52a0\u81f3\u5c11\u4e00\u4e2a [https://addons.mozilla.org/firefox/language-tools/ \u8bcd\u5178] \u63d2\u4ef6. \u6ce8\u610f\u73b0\u5728\u9644\u52a0\u7ec4\u4ef6\u4e2d\u4e5f\u4f1a\u6709\u8bcd\u5178\u680f.\n\n'''StackExchange''' \u4e0a\u7684\u76f8\u5173\u95ee\u9898: [http://stackoverflow.com/questions/26936792/change-firefox-spell-check-default-language/29446115], [http://stackoverflow.com/questions/21542515/change-default-language-on-firefox/29446353], [http://askubuntu.com/questions/184300/how-can-i-change-firefoxs-default-dictionary/576877]\n\n\u76f8\u5173\u7684\u6f0f\u6d1e\u62a5\u544a: [https://bugzilla.mozilla.org/show_bug.cgi?id=776028 Bugzilla 776028], [https://bugs.launchpad.net/ubuntu/+source/firefox/+bug/1026869 Ubuntu bug 1026869]\n\n=== \u4e00\u4e9b MathML \u7b26\u53f7\u6d88\u5931\u4e86 ===\n\n\u4f60\u9700\u8981\u4e00\u4e9b\u6570\u5b66\u5b57\u4f53\uff0c\u6bd4\u5982 Latin Modern Math \u548c STIX (\u67e5\u770b\u8fd9\u4e2a MDN \u9875\u9762: [https://developer.mozilla.org/en-US/docs/Mozilla/MathML_Project/Fonts#Linux]) \u4ee5\u6b63\u786e\u7684\u663e\u793a MathML.\n\n\u5728 Arch Linux \u4e2d\uff0c{{Pkg|texlive-core}} \u548c {{Pkg|texlive-fontsextra}} \u63d0\u4f9b\u4e86\u8fd9\u4e9b\u5b57\u4f53\uff0c\u4f46\u662f\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u8bbe\u7f6e\u5b57\u4f53\u5374\u65e0\u6cd5\u4f7f\u7528\u5b83\u4eec. \u8be6\u60c5\u53c2\u89c1 [[TeX Live#Fonts]]{{Broken section link}}. \u4f60\u4e5f\u53ef\u4ee5\u5c1d\u8bd5 [[Fonts#Math|Math fonts]].\n\n=== \u5168\u5c4f\u6a21\u5f0f\u4e0b\u89c6\u9891\u65ad\u88c2 ===\n\n\u5982\u679c\u4f60\u4f7f\u7528 Xorg Intel \u6216\u8005 Nouveau \u9a71\u52a8\u5e76\u4e14\u611f\u89c9\u5168\u5c4f\u6a21\u5f0f\u4e0b\u89c6\u9891\u6709\u6495\u88c2\u611f\uff0c\u8bd5\u8bd5 [[Firefox tweaks#Enable OpenGL Off-Main-Thread Compositing (OMTC)]].\n\n=== Firefox ESR 52 looks bad ===\n\nFirefox 52 [https://bugzilla.mozilla.org/show_bug.cgi?id=1264079 \u4e0d\u518d\u652f\u6301] GTK+ >=3.20\uff0c\u663e\u793a\u53ef\u80fd\u4e0d\u6b63\u5e38\uff0c\u4e00\u79cd\u529e\u6cd5\u662f\u7f16\u8bd1\u4f7f\u7528 GTK2 \u7684 Firefox\u3002 \u652f\u6301, \u53c2\u89c1 {{AUR|firefox-esr-gtk2}}{{Broken package link|package not found}}. \n\n=== Firefox WebRTC module cannot detect a microphone ===\n\nWebRTC applications for instance [https://mozilla.github.io/webrtc-landing/gum_test.html Firefox WebRTC getUserMedia test page] say that microphone cannot be found. Issue is reproducible for both ALSA or Pulseaudio setup. Firefox debug logs show the following error:\n\n{{hc|1=$ NSPR_LOG_MODULES=MediaManager:5,GetUserMedia:5 firefox|2=\n...\n[Unnamed thread 0x7fd7c0654340]: D/GetUserMedia  VoEHardware:GetRecordingDeviceName: Failed 1\n}}\n\nYou can try setting {{ic|media.navigator.audio.full_duplex}} property to {{ic|false}} at {{ic|about:config}} Firefox page and restart Firefox.\n\nThis can also help if you are using the PulseAudio [[PulseAudio/Troubleshooting#Enable Echo/Noise-Cancellation|module-echo-cancel]], and Firefox does not recognise the virtual echo canceling source.\n\n== \u53c2\u89c1 ==\n* [http://www.mozilla.org/firefox/ \u5b98\u65b9\u7f51\u7ad9]\n* [http://www.mozilla.org/ Mozilla \u57fa\u91d1\u4f1a]\n* [https://wiki.mozilla.org/Firefox Firefox Wiki]\n* [https://addons.mozilla.org/ Firefox \u6269\u5c55\u7ec4\u4ef6]\n* [https://addons.mozilla.org/zh-CN/firefox/themes/ Firefox \u4e3b\u9898]"
                    }
                ]
            },
            "9802": {
                "pageid": 9802,
                "ns": 0,
                "title": "OpenSSH (Espa\u00f1ol)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Secure Shell (Espa\u00f1ol)]]\n[[Category:Servers (Espa\u00f1ol)]]\n[[Category:OpenBSD (Espa\u00f1ol)]]\n[[de:SSH]]\n[[en:OpenSSH]]\n[[fa:SSH]]\n[[fr:ssh]]\n[[ja:Secure Shell]]\n[[pt:Secure Shell]]\n[[ru:OpenSSH]]\n[[zh-hans:Secure Shell]]\n{{TranslationStatus (Espa\u00f1ol)|OpenSSH|2018-01-05|352767}}\n{{Related articles start (Espa\u00f1ol)}}\n{{Related|SSH keys (Espa\u00f1ol)}}\n{{Related|Pam abl}}\n{{Related|fail2ban}}\n{{Related|sshguard (Espa\u00f1ol)}}\n{{Related|SSHFS (Espa\u00f1ol)}}\n{{Related|Syslog-ng}}\n{{Related|SFTP chroot}}\n{{Related articles end}}\n\n'''S'''ecure '''Sh'''ell o '''SSH''' es un protocolo de red que permite el intercambio de datos sobre un canal seguro entre dos computadoras. SSH usa t\u00e9cnicas de cifrado que hacen que la informaci\u00f3n que viaja por el medio de comunicaci\u00f3n vaya de manera no legible y ninguna tercera persona pueda descubrir el usuario y contrase\u00f1a de la conexi\u00f3n ni lo que se escribe durante toda la sesi\u00f3n. SSH usa criptograf\u00eda de clave p\u00fablica para autenticar el equipo remoto y permitir al mismo autenticar al usuario si es necesario.\n\nSSH se suele utilizar para iniciar una sesi\u00f3n en una m\u00e1quina remota, donde poder ejecutar \u00f3rdenes, pero tambi\u00e9n permite la tunelizaci\u00f3n, el reenv\u00edo de puertos TCP de forma arbitraria y de conexiones X11; tambi\u00e9n se pueden realizar transferencias de archivos usando protocolos SFTP o SCP asociados.\n\nUn servidor SSH, por defecto, escucha el puerto TCP 22. Un programa cliente de SSH es utilizado, generalmente, para establecer conexiones a un demonio ''sshd'' que acepta conexiones remotas. Ambos se encuentran com\u00fanmente en los sistemas operativos m\u00e1s modernos, incluyendo Mac OS X, Linux, Solaris y OpenVMS. Existen versiones propietarias, freeware y open-source de varios niveles de complejidad y exhaustividad.\n\n(Source: [[Wikipedia:es:Secure Shell]])\n\n== OpenSSH ==\n\nOpenSSH (OpenBSD Secure Shell) es un conjunto de programas de computadora que proveen una sesi\u00f3n de comunicaci\u00f3n encriptada en una red inform\u00e1tica que utiliza el protocolo SSH. Fue creado como una alternativa de c\u00f3digo abierto al software propietario ofrecido por SSH Communications Security. OpenSSH es desarrollado como parte del proyecto OpenBSD, que est\u00e1 a cargo de Theo de Raadt.\n\nOpenSSH es confundido a veces con OpenSSL por la similitud de nombre, sin embargo, los proyectos tienen objetivos distintos y est\u00e1n desarrollados por equipos diferentes.\n\n=== Instalaci\u00f3n ===\n\n[[Help:Reading_(Espa\u00f1ol)#Instalaci\u00f3n de paquetes|Instale]] {{Pkg|openssh}} desde los [[official repositories (Espa\u00f1ol)|repositorios oficiales]].\n\n=== Cliente ===\n\nPara conectarse a un servidor, ejecuta:\n\n $ ssh -p ''puerto'' ''usuario''@''direcci\u00f3n-servidor''\n\nSi el servidor solo acepta verificaci\u00f3n con claves p\u00fablicas, siga las instrucciones en [[SSH_keys_(Espa\u00f1ol)|claves SSH]].\n\n==== Configuraci\u00f3n ====\n\nEl archivo de configuraci\u00f3n del cliente SSH se puede encontrar y editar en {{ic|~/.ssh/config}}.\n\nEl cliente se puede configurar para guardar servidores y opciones comunes. Todas las opciones se pueden declarar globalmente o se pueden restringir a un servidor especifico. Por ejemplo:\n\n{{hc|~/.ssh/config|# opciones globales\nUser ''usuario''\n\n# opciones especificas por servidor\nHost miServidor\n    HostName ''direci\u00f3n-servidor''\n    Port     ''puerto''}}\n\nCon dicha configuraci\u00f3n, los siguientes comando son equivalentes:\n\n $ ssh -p ''puerto'' ''usuario''@''direcci\u00f3n-servidor''\n $ ssh miServidor\n\nVea {{man|5|ssh_config}} para m\u00e1s informaci\u00f3n.\n\nAlgunas opciones no tienen parametros equivalentes en al ejecutar un comando directamente, pero se puede especificar opciones en en comando con el parametro {{ic|-o}}. Por ejemplo {{ic|1=-oKexAlgorithms=+diffie-hellman-group1-sha1}}.\n\n=== Servidor ===\n\n==== Configuraci\u00f3n ====\n\nEl archivo de configuraci\u00f3n del demonio SSH se puede encontrar y editar en {{ic|/etc/ssh/ssh'''d'''_config}}.\n\nPara permitir el acceso s\u00f3lo a algunos usuarios a\u00f1adir esta l\u00ednea:\n AllowUsers    user1 user2\n\nPara permitir el acceso s\u00f3lo a algunos grupos:\n AllowGroups group1 group2\n\nPara agregar un agradable mensaje de bienvenida edite el archivo {{ic|/etc/issue}} y cambie la l\u00ednea Banner para que luzca as\u00ed:\n Banner /etc/issue\n\nClaves de acceso del servidor ser\u00e1n generadas autom\u00e1ticamente por los [[#Gesti\u00f3n del Demonio|archivos de servicio]] de ''sshd''. Si se desea usar una clave especifica, previamente creada, se puede configurar manualmente:\n\n HostKey /etc/ssh/ssh_host_rsa_key\n\nSi el servidor va a estar expuesto a la WAN, es recomendado cambiar el puerto por defecto 22 a algo aleatorio y superior:\n\n Port 39901\n\n{{Sugerencia|\n*Es posible que desee cambiar el puerto por defecto de 22 a cualquier puerto superior (ver [[Wikipedia:es:Seguridad_por_oscuridad|seguridad por oscuridad]]). A pesar de que el puerto ssh que est\u00e1 siendo ejecutado puede ser detectado utilizando un port-scanner o esc\u00e1ner de puertos como {{Pkg|nmap}}, cambiarlo reducir\u00e1 el n\u00famero de entradas en el log causados por intentos de autentificaci\u00f3n autom\u00e1ticos. Para ayudar a seleccionar un puerto, revise la [[Wikipedia:es:Anexo:N\u00fameros_de_puerto|lista de n\u00fameros de puerto TCP y UDP]]. Tambi\u00e9n puede encontrar informaci\u00f3n de los puertos a nivel local en {{ic|/etc/services}}. Seleccione un puerto alternativo que '''no''' est\u00e9 ya asignado a un servicio com\u00fan para evitar conflictos.\n* Desactivar completamente los inicios de sesi\u00f3n con contrase\u00f1a aumentar\u00e1 en gran medida el nivel seguridad, consulte [[#Forzamiento de autenticaci\u00f3n con claves p\u00fablicas]] para m\u00e1s informaci\u00f3n.\n}}\n\n==== Gesti\u00f3n del Demonio ====\n\n{{Pkg|openssh}} viene con dos archivos de unidades de [[Systemd_(Espa\u00f1ol)|systemd]]:\n\n#{{ic|sshd.service}}, el cual mantendra el demonio de SSH permanentemente activo y bifurcara para cada conexi\u00f3n entrante. [https://projects.archlinux.org/svntogit/packages.git/tree/trunk/sshd.service?h=packages/openssh#n16] Es especialmente interesante para sistemas con bastante trafico de SSH. [https://projects.archlinux.org/svntogit/packages.git/tree/trunk/sshd.service?h=packages/openssh&id=4cadf5dff444e4b7265f8918652f4e6dff733812#n15] \n#{{ic|sshd.socket}} + {{ic|sshd@.service}}, el cual inicia una instancia de SSH en demanda. Usando esta configuracion implica que ''systemd'' escucha el en socket de SSH y solo inicia el demonio cuando hay una conexi\u00f3n entrante. Es el m\u00e9todo recomendado para ejecutar {{ic|sshd}} en casi todos los casos. [https://projects.archlinux.org/svntogit/packages.git/tree/trunk/sshd.service?h=packages/openssh&id=4cadf5dff444e4b7265f8918652f4e6dff733812#n18][http://lists.freedesktop.org/archives/systemd-devel/2011-January/001107.html][http://0pointer.de/blog/projects/inetd.html]\n\nSe puede [[Systemd_(Espa\u00f1ol)#Utilizar las unidades|activar]] y [[Systemd_(Espa\u00f1ol)#Utilizar las unidades|activar inicio autom\u00e1tico]] de {{ic|sshd.service}} '''o de''' {{ic|sshd.socket}} para empezar a usar el demonio.\n\nUsando el servicio de socket, se necesita [[Systemd_(Espa\u00f1ol)#Modificar_los_archivos_de_unidad_suministrados|editar]] el archivo de unidad si se desea utilizar un puerto diferente al puerto por defecto 22:\n\n{{hc|# systemctl edit sshd.socket|<nowiki>\n[Socket]\nListenStream=\nListenStream=12345\n</nowiki>}}\n\n{{Advertencia|\n* Usar la opci\u00f3n {{ic|sshd.socket}} niega la opci\u00f3n {{ic|ListenAddress}}, asi que aceptara conexiones desde todas la direcciones IP. Para tener el efecto de la opcion {{ic|ListenAddress}}, se debe especificar la direcci\u00f3n IP ''y'' el puerto en {{ic|ListenStream}} (v.g. {{ic|1=ListenStream=192.168.1.100:22}}). Adem\u00e1s se debe agregar {{ic|FreeBind&#61;true}} bajo {{ic|[Socket]}} o de lo contrario definir una direcci\u00f3n IP tendr\u00e1 el mismo efecto de definir {{ic|ListenAddress}}: el socket no iniciara si la red no est\u00e1 lista.\n* Systemd inicia los procesos de manera as\u00edncrona. Si se amarra el demonio SSH a una direcci\u00f3n IP espec\u00edfica {{ic|ListenAddress 192.168.1.100}} puede ser que no cargue al arranque porque por defecto el archivo sshd.service no depende de que se hayan habilitado las interfaces de red. Cuando se amarre a una direcci\u00f3n IP, es necesario agregar {{ic|After&#61;network.target}} a un archivo personalizado de sshd.service. Ver [[Systemd (Espa\u00f1ol)#Modificar los archivos de unidad suministrados]].\n}}\n\n{{Sugerencia|Cuando se utiliza la activaci\u00f3n del socket, ni {{ic|sshd.socket}} ni {{ic|sshd.service}} permiten supervisar los intentos de conexi\u00f3n en el registro, pero si lo puede ver al ejecutar {{ic|# journalctl /usr/bin/sshd}}.}}\n\n==== Protecci\u00f3n ====\n\nPermitir el acceso remoto al sistema a trav\u00e9s de SSH es bueno para fines administrativos, pero puede representar una amenaza para la seguridad de su servidor. A menudo es el blanco de ataques de fuerza bruta, por lo que el acceso SSH necesita ser limitado adecuadamente para evitar que terceros accedan a su servidor.\n* Utilice nombres de cuenta y contrase\u00f1as no est\u00e1ndar .\n* Permita solo conexiones SSH entrantes desde ubicaciones de confianza.\n* Utilice [[fail2ban]] o [[sshguard]] para controlar los ataques de fuerza bruta, y banear las IP que se correspondan con las de los ataques de fuerza bruta.\n\n===== Forzamiento de autenticaci\u00f3n con claves p\u00fablicas =====\n\nSi un cliente no se puede autenticar mediante clave p\u00fablica, por defecto el servidor de SSH intentar\u00e1 autenticar con contrase\u00f1a, permitiendo as\u00ed que un usuario malicioso intente ganar acceso con [[#Protecci\u00f3n contra ataques de fuerza bruta|ataques de fuerza bruta]] en la contrase\u00f1a. Uno de los m\u00e9todos m\u00e1s efectivos para proteger el sistema contra esta clase de ataques es desactivando el inicio de sesi\u00f3n con contrase\u00f1a completamente, forzando as\u00ed el uso de [[SSH_keys_(Espa\u00f1ol)|claves SSH]]. Esto se puede lograr modificando la siguiente opci\u00f3n en el archivo {{ic|sshd_config}}:\n\n PasswordAuthentication no\n\n{{Advertencia|Antes de efectuar este ajuste, aseg\u00farese de que todas las cuentas que requieren acceso SSH, tienen configurada la autenticaci\u00f3n de la clave p\u00fablica en los correspondientes archivos {{ic|authorized_keys}}. Vea [[SSH keys (Espa\u00f1ol)#Copiar llaves a un servidor remoto]] para m\u00e1s informaci\u00f3n.\n}}\n\n===== Autenticaci\u00f3n de dos factores y claves p\u00fablicas =====\n\nDesde la versi\u00f3n 6.2 de OpenSSH, se puede agregar su propia utilidad para autenticar usando la opci\u00f3n {{ic|AuthenticationMethods}}. Esta opci\u00f3n da la posibilidad de usar sus claves p\u00fablicas o autenticaci\u00f3n de dos factores.\n\nVea [[Google_Authenticator_(Espa\u00f1ol)|Autenticador de Google]] para configurar el autenticador de Google.\n\nPara usar [[PAM (Espa\u00f1ol)|PAM]] son OpenSSH, edite las siguientes lineas:\n\n{{hc|/etc/ssh/sshd_config|\nChallengeResponseAuthentication yes\nAuthenticationMethods publickey keyboard-interactive:pam\n}}\n\nDespu\u00e9s puede iniciar sesi\u00f3n ya sea con clave p\u00fablica '''o''' con la autenticaci\u00f3n del usuario, tal como es requerido en la configuraci\u00f3n de PAM.\n\nSi, por otra parte se quiere autenticar el usuario con la clave p\u00fablica y la autenticaci\u00f3n especificada en la configuraci\u00f3n de PAM, use una coma en lugar de un espacio para separar los {{ic|AuthenticationMethods}}.\n\n{{hc|/etc/ssh/sshd_config|\nChallengeResponseAuthentication yes\nAuthenticationMethods publickey''','''keyboard-interactive:pam\n}}\n\nCuando se requiere autenticaci\u00f3n de clave p\u00fablica '''y''' PAM, es deseable desactivar el requisito de contrase\u00f1a:\n\n{{hc|/etc/pam.d/sshd|\n# Desactive inicio de sesi\u00f3n root remoto\nauth      required  pam_securetty.so\n# Requerido por el authenticator de google\nauth      required  pam_google_authenticator.so\n# Desactive inicio de sesi\u00f3n con contrase\u00f1a\n#auth      include   system-remote-login\naccount   include   system-remote-login\npassword  include   system-remote-login\nsession   include   system-remote-login\n}}\n\n===== Protecci\u00f3n contra ataques de fuerza bruta =====\n\nEl concepto de [[Wikipedia:es:Ataque_de_fuerza_bruta|ataques de fuerza bruta]] es simple: es un mecanismo por el que alguien trata continuamente de iniciar sesi\u00f3n en una p\u00e1gina web o un servidor para acceder a un prompt como SSH utilizando un elevado n\u00famero de combinaciones de nombre de usuario y contrase\u00f1a aleatorios.\n\n====== Usango ufw ======\n\nVea [[ufw#Rate limiting with ufw]].\n\n====== Usando iptables ======\n\nSi su sistema ya esta usando iptables, se puede proteger f\u00e1cilmente contra los ataques de fuerza bruta usando la siguientes reglas\n\n{{Nota|En este ejemplo el puerto de SSH fue cambiado al puerto TCP 42660.\n}}\n\nAntes de usar las siguientes reglas es necesario crear una nueva regla que registra y descarta demasiados intentos de conexi\u00f3n:\n\n # iptables -N LOG_AND_DROP\n\nLa primera regla va a ser aplicada a paquetes que se\u00f1aalan el comienzo de nuevas conexiones con destino el puert TCP 42660.\n\n # iptables -A INPUT -p tcp -m tcp --dport 42660 -m state --state NEW -m recent --set --name DEFAULT --rsource\n\nEsta regla le permite a iptables buscar por paquetes que coinciden con los par\u00e1metros de la regla anterior, y que provienen de servidores que ya est\u00e1n en la lista de vigilancia.\n\n # iptables -A INPUT -p tcp -m tcp --dport 42660 -m state --state NEW -m recent --update --seconds 90 --hitcount 4 --name DEFAULT --rsource -j LOG_AND_DROP\n\nAhora iptables decide que hacer con trafico con destino al puerto TCP 42660 que no coincide con la regla anterior.\n\n # iptables -A INPUT -p tcp -m tcp --dport 42660 -j ACCEPT\n\nSe adjunta esta regla a la tabla de registro y descarte, y se usa el operador {{ic|-j}} (jump), para pasar la informaci\u00f3n del paquete al registro.\n\n # iptables -A LOG_AND_DROP -j LOG --log-prefix \"iptables deny: \" --log-level 7\n\nDespu\u00e9s que el paquete es registrado por la primera regla, el resto de paquetes sera descartado.\n\n # iptables -A LOG_AND_DROP -j DROP\n\n====== Utilidades para prevenir ataques de fuerza bruta ======\n\nSe pueden prevenir los ataques de fuerza bruta usando un script automatizado que bloquea a cualquiera que intenta usar fuerza bruta, por ejemplo [[fail2ban]] o [[Sshguard_(Espa\u00f1ol)|sshguard]].\n\n* Solo permite conexiones SSH entrantes de ubicaciones de confianza.\n* Use [[fail2ban]] o [[Sshguard_(Espa\u00f1ol)|sshguard]] para bloquear direcciones IP que fallan en la autenticaci\u00f3n con contrase\u00f1a demasiadas veces.\n* Use [https://github.com/jtniehof/pam_shield pam_shield] para bloquear direcciones IP que intentan iniciar sesi\u00f3n demasiadas veces en un periodo de tiempo determinado. En comparaci\u00f3n con [[fail2ban]] o [[Sshguard_(Espa\u00f1ol)|sshguard]], este programa no toma en cuenta si el intento de inicio de sesi\u00f3n fue exitoso o no.\n\n===== Limitar el inicio de sesi\u00f3n como root =====\n\nEn general, se considera una mala pr\u00e1ctica permitir que el usuario root inicie sesi\u00f3n sin restricciones a trav\u00e9s de SSH. Hay dos m\u00e9todos por los cuales el acceso de root a SSH puede ser restringido para mayor seguridad.\n\n====== Denegar ======\n\nSudo proporciona los derechos de root de forma selectiva para las acciones que requieran de estos derechos, sin necesidad de autenticarse con la cuenta de root. Esto permite el bloqueo de la cuenta root para acceder a trav\u00e9s de SSH y funciona como una medida de seguridad frente a los potenciales ataques de fuerza bruta, ya que ahora un atacante debe adivinar, adem\u00e1s del nombre de la cuenta, la contrase\u00f1a.\n\nSSH se puede configurar para negar las conexiones remotas con el usuario root, editando la secci\u00f3n \u00abAuthentication\u00bb en {{ic|/etc/ssh/sshd_config}}. Basta con cambiar {{ic|#PermitRootLogin yes}} a {{ic|no}} y descomentar la l\u00ednea:\n\n{{hc|/etc/ssh/sshd_config|\nPermitRootLogin no\n...\n}}\n\nA continuaci\u00f3n, reiniciar el demonio de SSH:\n  # systemctl restart sshd\n\nAhora va a ser incapaz de conectarse por SSH como root, pero todav\u00eda ser\u00e1 capaz de iniciar sesi\u00f3n con su usuario normal y utilizar [[su (Espa\u00f1ol)]] o [[sudo (Espa\u00f1ol)]] para hacer la administraci\u00f3n del sistema.\n\n====== Restringir ======\n\nAlgunas tareas automatizadas realizadas a distancia, como copia de seguridad de todo el sistema, requieren el acceso de root completo. Para permitir que esto se haga de una manera segura, en lugar de desactivar el inicio de sesi\u00f3n de root a trav\u00e9s de SSH, es posible permitir las conexiones de root solo para ciertas \u00f3rdenes seleccionadas. Esto se puede lograr editando {{ic|~root/.ssh/authorized_keys}}, y anteponiendo la clave deseada, por ejemplo, como sigue:\n\n command=\"/usr/lib/rsync/rrsync -ro /\" ssh-rsa \u2026\n\nEsto permitir\u00e1 cualquier inicio de sesi\u00f3n con esta clave espec\u00edfica, solo para ejecutar la orden especificada entre las comillas.\n\nEl aumento de la superficie de ataque creado por exponer el nombre de usuario root al iniciar la sesi\u00f3n, se puede compensar a\u00f1adiendo lo siguiente a {{ic|sshd_config}}:\n\n PermitRootLogin forced-commands-only\n\nEste ajuste no solo restringir\u00e1 las \u00f3rdenes que puede ejecutar root a trav\u00e9s de SSH, sino que tambi\u00e9n desactiva el uso de contrase\u00f1as, forzando el uso de la autenticaci\u00f3n de la clave p\u00fablica para la cuenta root.\n\nHay una alternativa un poco menos restrictiva, que permitir\u00e1 ejecutar cualquier orden por root, pero hace los ataques de fuerza bruta no factibles mediante la exigencia de la autenticaci\u00f3n de la clave p\u00fablica. Para esta opci\u00f3n, establezca:\n\n PermitRootLogin without-password\n\n\n==== VirtualBox ====\n\n{{Merge|VirtualBox#Accessing a guest server|This section does not really belong here, merging into [[VirtualBox]] will give the reader more context.}}\n\nPara comunicarse entre hu\u00e9sped y anfitri\u00f3n de VirtualBox, el puerto del servidor debe ser reenviado en Settings > Network. Al conectarse desde el cliente/anfitri\u00f3n, conecte a la direcci\u00f3n IP de la m\u00e1quina del cliente/anfitri\u00f3n, en oposici\u00f3n a la conexi\u00f3n de la otra m\u00e1quina. Esto es porque la conexi\u00f3n se realizar\u00e1 a trav\u00e9s de un adaptador virtual.\n\n== Otros servidores y clientes SSH ==\n\nAparte de OpenSSH, hay otros muchos [[Wikipedia:Comparison of SSH clients|clientes]] y [[Wikipedia:Comparison of SSH servers|servidores]] SSH disponibles.\n\n=== Dropbear ===\n\n[[Wikipedia:Dropbear (software)|Dropbear]] es un cliente SSH-2  y un servidor. El paquete {{Pkg|dropbear}} est\u00e1 disponible en [[Arch User Repository (Espa\u00f1ol)|AUR]].\n\nEl cliente ssh en l\u00ednea de \u00f3rdenes se llama dbclient.\n\n=== SSH alternativa: Mobile Shell - responsive, survives disconnects ===\n\nDel [http://mosh.mit.edu/ sitio web] de Mosh:\n\nAplicaci\u00f3n de terminal remoto que permite la itinerancia, soporta conectividad intermitente y proporciona echo local inteligente y la edici\u00f3n de l\u00ednea de keystrokes del usuario. Mosh es un reemplazo para SSH. Es m\u00e1s robusto y sensible, sobre todo a trav\u00e9s de Wi-Fi, m\u00f3vil y enlaces de larga distancia.\n\n[[Help:Reading_(Espa\u00f1ol)#Instalaci.C3.B3n_de_paquetes|Instale]] {{Pkg|mosh}} desde los [[official repositories (Espa\u00f1ol)|repositorios oficiales]] o la \u00faltima revisi\u00f3n {{AUR|mosh-git}} desde [[AUR (Espa\u00f1ol)|AUR]].\n\n==Trucos y sugerencias==\n\n===T\u00faneles SOCKS cifrados===\n\nEste tipo de conexi\u00f3n es muy \u00fatil para usuarios de equipos port\u00e1tiles conectados a varias conexiones inal\u00e1mbricas no seguras. Lo \u00fanico que necesitas es un servidor SSH corriendo en alg\u00fan lugar seguro, como tu casa o tu trabajo. Puede ser \u00fatil usar un servicio de DNS din\u00e1mico como [http://www.dyndns.org/ DynDNS] para no tener que recordar la direcci\u00f3n IP a la que desea conectarse.\n\n====Paso 1: Iniciar la conexi\u00f3n====\n\nLo \u00fanico que tienes que hacer es ejecutar este comando en tu terminal favorita para iniciar la conexi\u00f3n:\n\n $ ssh -ND 4711 ''user''@''host''\n\ndonde {{Ic|''user''}} es tu nombre de usuario en el servidor SSH que se est\u00e1 ejecutando en el {{Ic|''host''}}. Preguntar\u00e1 por tu contrase\u00f1a, y luego \u00a1estar\u00e1s conectado! El par\u00e1metro {{Ic|N}} desactiva el prompt interactivo, y el {{Ic|D}} especifica el puerto local en el cual escuchar (puedes elegir el numero de puerto que quieras). El par\u00e1metro {{Ic|T}} desactiva la asignaci\u00f3n pseudo-tty.\n\nLe puede interesar a\u00f1adir el par\u00e1metro ''verbose'' ({{Ic|-v}}), ya que la salida le permite comprobar que est\u00e1 realmente conectado.\n\n====Paso 2: Configurar tu navegador (u otros programas)====\n\nEl paso anterior es in\u00fatil si no configura el navegador web (u otros programas) para su uso con el t\u00fanel que acaba de crear. Debido a que la versi\u00f3n actual de SSH soporta SOCKS4 y SOCKS5, se puede usar cualquiera de ellos.\n\n* Para Firefox: ''Editar &rarr; Preferencias &rarr; Avanzadas &rarr; Red &rarr; Conexi\u00f3n &rarr; Configuraci\u00f3n'':\n: Marca la casilla ''\"Configuraci\u00f3n manual de proxy\"'' , y escribe {{ic|localhost}} en el campo ''\"servidor SOCKS\"'' , y luego escribe tu n\u00famero de puerto en el siguiente campo de texto ({{ic|4711}} en el siguiente ejemplo).\n\nFirefox no hace autom\u00e1ticamente las peticiones DNS a trav\u00e9s del t\u00fanel socks. Este potencial problema de privacidad puede ser mitigado por los siguientes pasos:\n\n# Escriba \u00ababout:config\u00bb en la barra de navegaci\u00f3n de Firefox.\n# Busque por \u00abnetwork.proxy.socks_remote_dns\u00bb\n# Ajuste el valor a \u00abtrue\u00bb.\n# Reinicie el navegador.\n\n* Para Chromium: Se pueden setear las configuraciones de SOCKS como variables de entorno o como opciones en l\u00ednea de comandos. Es recomendable agregar una de las siguientes funciones a {{ic|.bashrc}}:\n function secure_chromium() {\n     port=4711\n     export SOCKS_SERVER=localhost:$port\n     export SOCKS_VERSION=5\n     chromium &\n     exit\n }\no\n function secure_chromium {\n     port=4343\n     chromium --proxy-server=\"socks://localhost:$port\" &\n     exit\n }\n\nAhora solo queda abrir una terminal y escribir:\n $ secure_chromium\n\nListo. \u00a1Disfruta tu t\u00fanel seguro!\n\n=== Redireccionar X11 ===\n\n''X11 forwarding'' es un mecanismo que permite a las interfaces gr\u00e1ficas de los programas de X11, que se ejecutan en un sistema remoto, mostrarse en una m\u00e1quina cliente local. Para reenviar X11 al equipo remoto, este no necesita tener un sistema completo X11 instalado, sin embargo, necesita, al menos, tener ''xauth'' instalado. ''xauth'' es una utilidad que mantiene las configuraciones de {{ic|Xauthority}} utilizadas por el servidor y el cliente para la autenticaci\u00f3n de la sesi\u00f3n de X11 ([http://xmodulo.com/2012/11/how-to-enable-x11-forwarding-using-ssh.html fuente]).\n\n{{Advertencia|Redirigir X11 tiene importantes implicaciones de seguridad que aconsejan la lectura de, al menos, las secciones pertinentes de {{ic|ssh}}, {{ic|sshd_config}} y {{ic|ssh_config}} de las p\u00e1ginas del manual. Vea tambi\u00e9n [https://security.stackexchange.com/questions/14815/security-concerns-with-x11-forwarding esta breve nota].}}\n\n==== Configuraci\u00f3n ====\n\nEn el sistema remoto:\n\n*[[Help:Reading_(Espa\u00f1ol)#Instalaci.C3.B3n_de_paquetes|Instale]] {{Pkg|xorg-xauth}} y {{Pkg|xorg-xhost}} desde los [[official repositories (Espa\u00f1ol)|repositorios oficiales]]\n*en {{ic|/etc/ssh/ssh'''d'''_config}}:\n**verifique que las opciones {{ic|AllowTcpForwarding}} y {{ic|X11UseLocalhost}} est\u00e1n ajustadas a ''yes'', y que {{ic|X11DisplayOffset}} est\u00e1 ajustado a ''10'' (esos son los valores por defecto si no se han cambiado, ver {{man|5|sshd_config}})\n**ajuste {{ic|X11Forwarding}} a ''yes''\n* a continuaci\u00f3n, [[Systemd_(Espa\u00f1ol)#Utilizar las unidades|reinicie]] el [[#Gesti\u00f3n del Demonio|demonio ''sshd'']]. \n\nEn el sistema cliente, active la opci\u00f3n {{ic|ForwardX11}},  bien especificando el par\u00e1metro {{ic|-X}} en la l\u00ednea de \u00f3rdenes para las conexiones ocasionales, bien ajustando {{ic|ForwardX11}} a ''yes'' en el [[#Cliente|archivo de configuraci\u00f3n del cliente de openSSH]].\n\n{{Sugerencia|Puede activar la opci\u00f3n {{ic|ForwardX11Trusted}} ({{ic|-Y}} en la l\u00ednea de \u00f3rdenes) si la interfaz gr\u00e1fica est\u00e1 llegando mal o recibe errores; esto evitar\u00e1 que las redirecciones de X11 vengan sujetas a los controles de la [http://www.x.org/wiki/Development/Documentation/Security/ extensi\u00f3n de SEGURIDAD de X11]. Aseg\u00farese de haber entendido [[#Redireccionar X11|la advertencia]] del comienzo de esta secci\u00f3n, si lo hace.}}\n\n==== Utilizaci\u00f3n ====\n\nInicie sesi\u00f3n en el equipo remoto como de costumbre, especificando el par\u00e1metro {{ic|-X}} si ''ForwardX11'' no se ha activado en el archivo de configuraci\u00f3n del cliente:\n $ ssh -X ''user@host''\n\nSi recibe errores tratando de ejecutar aplicaciones gr\u00e1ficas, pruebe ''ForwardX11Trusted'' en su lugar:\n $ ssh -Y ''user@host''\n\nAhora puede iniciar cualquier programa X en el servidor remoto, la salida ser\u00e1 enviada a su sesi\u00f3n local:\n $ xclock\n\nSi recibe errores como \u00abCannot open display\u00bb, pruebe la siguiente orden como usuario no root:\n $ xhost +\n\nLa orden anterior permitir\u00e1 a cualquiera transmitir aplicaciones X11. Para limitar el reenv\u00edo a un tipo de equipo particular:\n $ xhost +hostname\n\ndonde hostname es el nombre del equipo en particular al que desea remitirse. Ver {{man|1|xhost}} para m\u00e1s detalles.\n\nTenga cuidado con algunas aplicaciones, ya que hacen un chequeo para ejecutar una instancia en la m\u00e1quina local. [[Firefox]] es un ejemplo: o bien cierre la instancia de Firefox en ejecuci\u00f3n o utilice el siguiente par\u00e1metro de inicio para poner en marcha una instancia remota en el equipo local:\n $ firefox -no-remote\n\nSi recibe \u00abX11 forwarding request failed on channel 0\u00bb cuando se conecta (y el archivo {{ic|/var/log/errors.log}} del servidor  muestra \u00abFailed to allocate internet-domain X11 display socket\u00bb), aseg\u00farese de que el paquete {{Pkg|xorg-xauth}} est\u00e1 instalado. Si su instalaci\u00f3n no funciona, pruebe cualquiera de los dos opciones siguientes:\n\n* active la opci\u00f3n {{ic|AddressFamily any}} en {{ic|ssh'''d'''_config}} en el ''server'', o\n* ajuste la opci\u00f3n {{ic|AddressFamily}} en {{ic|ssh'''d'''_config}} en el ''server'' a inet.\nSi establece \u00abinet\u00bb puede arreglar los problemas con los clientes de Ubuntu en IPv4.\n\nPara ejecutar aplicaciones X como otro usuario en el servidor SSH, necesita la l\u00ednea de autenticaci\u00f3n {{ic|xauth add}} tomada desde {{ic|xauth list}} de la sesi\u00f3n SSH del usuario conectado.\n\n=== Redireccionar otros puertos ===\n\nAdem\u00e1s del soporte integrado de SSH para redirigir X11, dicho soporte se puede usar tambi\u00e9n para asegurar el canal de cualquier conexi\u00f3n TCP, mediante su re direcci\u00f3n local o remota.\n\nEl reenv\u00edo local abre un puerto en la m\u00e1quina local, a la que se redirigir\u00e1n las conexiones para el equipo remoto y de ah\u00ed a un destino determinado. Muy a menudo, el destino de reenv\u00edo ser\u00e1 el mismo que el del equipo remoto, proporcionando as\u00ed un shell seguro y, por ejemplo, una conexi\u00f3n VNC segura, a la misma m\u00e1quina. El reenv\u00edo local se lleva a cabo por medio del par\u00e1metro {{Ic|-L}} y la especificaci\u00f3n de reenv\u00edo se acompa\u00f1a en forma de {{Ic|<tunnel port>:<destination address>:<destination port>}}.\n\nAs\u00ed:\n\n $ ssh -L 1000:mail.google.com:25 192.168.0.100\n\nutilizar\u00e1 SSH para iniciar sesi\u00f3n y abrir un shell en 192.168.0.100, y tambi\u00e9n crear\u00e1 un t\u00fanel desde el puerto TCP 1000 de la m\u00e1quina local a mail.google.com en el puerto 25. Una vez establecidas, las conexiones a localhost:1000 conectar\u00e1n al puerto SMTP de Gmail. Para Google, parecer\u00e1 que dichas conexiones (aunque no necesariamente los datos transmitidos por la conexi\u00f3n) se originaron en 192.168.0.100, y tales datos estar\u00e1n seguros entre el equipo local y 192.168.0.100, pero no una vez en 192.168.0.100, a menos que se tomen otras medidas.\n\nDel mismo modo:\n\n $ ssh -L 2000:192.168.0.100:6001 192.168.0.100\n\npermitir\u00e1 conexiones a localhost:2000 que se enviar\u00e1n de forma transparente al equipo remoto en el puerto 6001. El ejemplo anterior es \u00fatil para conexiones VNC mediante la utilidad de vncserver \u2014parte del paquete tightvnc\u2014 que, aunque muy \u00fatil, es expl\u00edcita acerca de su falta de seguridad.\n\nEl reenv\u00edo remoto permite al equipo remoto conectarse a un equipo de forma arbitraria a trav\u00e9s del t\u00fanel SSH y la m\u00e1quina local, proporcionando un cambio funcional de redirecciones locales, y es \u00fatil para situaciones en las que, por ejemplo, el equipo remoto ha limitado conectividad debido a los cortafuegos. Se activa con el par\u00e1metro {{Ic|-R}} y utiliza la especificaci\u00f3n de reenv\u00edo en forma de {{Ic|<tunnel port>:<destination address>:<destination port>}}.\n\nAs\u00ed:\n\n $ ssh -R 3000:irc.freenode.net:6667 192.168.0.200\n\nabrir\u00e1 una shell en 192.168.0.200, y las conexiones desde 192.168.0.200 a s\u00ed mismo en el puerto 3000 (hablando en terminolog\u00eda remota, localhost:3000) ser\u00e1n enviadas a trav\u00e9s del t\u00fanel de la m\u00e1quina local y luego a irc.freenode.net en el puerto 6667, por lo tanto, en este ejemplo, lo que permite es el uso de programas de IRC en el equipo remoto, incluso si el puerto 6667 est\u00e9 bloqueado por \u00e9l, como es lo normal.\n\nTanto el reenv\u00edo local como el remoto se pueden utilizar para ofrecer una \u00abpuerta de enlace\u00bb segura, lo que permite que otros equipos se aprovechen de un t\u00fanel SSH, sin ejecutar SSH o el demonio SSH, proporcionando una direcci\u00f3n de enlace para el inicio del t\u00fanel como parte de la especificaci\u00f3n de reenv\u00edo, por ejemplo {{Ic|<tunnel address>:<tunnel port>:<destination address>:<destination port>}}. La especificaci\u00f3n {{Ic|<tunnel address>}} puede ser cualquier direcci\u00f3n de la m\u00e1quina en el inicio del t\u00fanel, {{Ic|localhost}}, (o en blanco) {{Ic|*}}, que, respectivamente, permiten conexiones a trav\u00e9s de la direcci\u00f3n indicada, a trav\u00e9s de la interfaz loopback, o a trav\u00e9s de cualquier interfaz. De forma predeterminada, el reenv\u00edo se limita a las conexiones desde la m\u00e1quina en el \u00abprincipio\u00bb del t\u00fanel, es decir, la especificaci\u00f3n {{Ic|<tunnel address>}} viene asignada a {{Ic|localhost}}. El reenv\u00edo local no requiere ninguna configuraci\u00f3n adicional, sin embargo, el reenv\u00edo remoto est\u00e1 limitado por la configuraci\u00f3n del demonio SSH del servidor remoto. Vea la opci\u00f3n {{Ic|GatewayPorts}} en {{Ic|sshd_config(5)}} para m\u00e1s informaci\u00f3n.\n\n=== Multiplexaci\u00f3n ===\n\nEl demonio SSH normalmente escucha en el puerto 22. Sin embargo, es una pr\u00e1ctica com\u00fan para muchos puntos de acceso p\u00fablico a Internet bloquear todo el tr\u00e1fico que no pase por los puertos HTTP/S normales (80 y 443, respectivamente), por lo que, efectivamente, bloquean las conexiones SSH. La soluci\u00f3n inmediata para esto es tener listado adicionalmente{{ic|sshd}} en uno de los puertos de la lista blanca:\n\n{{hc|/etc/ssh/sshd_config|\nPort 22\nPort 443\n}}\n\nSin embargo, es probable que el puerto 443 ya est\u00e9 en uso por un servidor web que sirve contenidos HTTPS, en cuyo caso es posible utilizar un multiplexor, como {{Pkg|sslh}}, que escucha en el puerto multiplexado y puede inteligentemente reenviar paquetes a muchos servicios.\n\n=== Acelerando SSH ===\n\nSe puede hacer que todas las sesiones al mismo equipo utilicen una conexi\u00f3n \u00fanica, lo que acelerar\u00e1 enormemente los inicios de sesi\u00f3n posteriores, a\u00f1adiendo estas l\u00edneas bajo el equipo (host) adecuado en {{ic|/etc/ssh/ssh_config}}:\n Host examplehost.com\n   ControlMaster auto\n   ControlPersist yes\n   ControlPath ~/.ssh/socket-%r@%h:%p\n\nVea la p\u00e1gina del manual {{ic|ssh_config(5)}} para obtener una descripci\u00f3n completa de estas opciones.\n\nOtra opci\u00f3n para mejorar la velocidad es habilitar la compresi\u00f3n con el sufijo  {{ic|-C}}. Una soluci\u00f3n permanente es agregar esta l\u00ednea debajo del host correcto en {{ic|/etc/ssh/ssh_config}}:\n Compression yes\n{{Advertencia|{{man|1|ssh}} establece que \u00ab''La compresi\u00f3n es deseable en las l\u00edneas de m\u00f3dem y otras conexiones lentas, pero ralentizar\u00e1 las cosas en redes r\u00e1pidas''\u00bb. Este consejo podr\u00eda ser contraproducente en funci\u00f3n de su configuraci\u00f3n de red.}}\n\nEl tiempo de inicio de sesi\u00f3n puede ser acortado usando el sufijo {{ic|-4}},que saltea la b\u00fasqueda IPv6. Esto puede hacerse permanente a\u00f1adiendo esta l\u00ednea bajo el host correcto en {{ic|/etc/ssh/ssh_config}}:\n AddressFamily inet\n\nCambiar los algoritmos de cifrado usados por SSH para demandar menos cpu puede mejorar la velocidad. En este sentido, las mejores opciones son arcfour y blowfish-cbc.\n\n{{Advertencia|Por favor, no haga esto a menos que sepa lo que est\u00e1 haciendo; arcfour tiene una serie de debilidades conocidas.}}\n\nPara utilizar sistemas de cifrado alternativos, ejecute SSH con el par\u00e1metro {{ic|-c}}:\n $ ssh -c arcfour,blowfish-cbc user@server-address\n\nPara usar el cifrado permanentemente, a\u00f1ada esta l\u00ednea bajo el equipo adecuado en {{ic|/etc/ssh/ssh_config}}:\n Ciphers arcfour,blowfish-cbc\n\n=== Montando un Sistema de archivos Remoto con SSHFS ===\n\nPor favor, consulte el art\u00edculo [[SSHFS (Espa\u00f1ol)|Sshfs]] para utilizar sshfs a fin de montar un sistema remoto \u2014accesible a trav\u00e9s de SSH\u2014 en una carpeta local, de modo que sea capaz de hacer cualquier operaci\u00f3n en los archivos montados con cualquier herramienta (copiar, renombrar, editar con vim, etc.). Utilizar sshfs en lugar de shfs es, en general, preferible, como una nueva versi\u00f3n de shfs, ya que esta \u00faltima no ha sido liberada desde 2004.\n\n=== Mantener la sesi\u00f3n activa ===\n\nTu sesion ssh sera autom\u00e1ticamente desconectada si \u00e9sta se encuentra inactiva. Para mantener activa la conexi\u00f3n agrega esto a {{ic|~/.ssh/config}} o a {{ic|/etc/ssh/ssh_config}} en el cliente.\n\n ServerAliveInterval 120\n\nEsto enviar\u00e1 la se\u00f1al \u00abkeep alive\u00bb al servidor cada 120 segundos.\n\nPor el contrario, para mantener activas las conexiones entrantes, puede establecer:\n \n ClientAliveInterval 120\n\n(o alg\u00fan otro n\u00famero mayor que 0) en el archivo {{ic|/etc/ssh/sshd_config}} del servidor.\n\n=== Guardar los datos de conexi\u00f3n en la configuraci\u00f3n de SSH ===\n\nCada vez que desee conectarse a un servidor ssh, por lo general, tiene que escribir, al menos, su direcci\u00f3n y el nombre de usuario. Para ahorrarse tener que reescribirlo, puede guardar los datos de los servidores a los que se conecta regularmente, utilizando el archivo personal {{ic|~/.ssh/config}} o el global del sistema {{ic|/etc/ssh/ssh_config}}, como se muestra en el siguiente ejemplo:\n\n{{hc|~/.ssh/config|\nHost myserver\n    HostName 123.123.123.123\n    Port 12345\n    User bob\nHost other_server\n    HostName test.something.org\n    User alice\n    CheckHostIP no\n    Cipher blowfish\n}}\n\nAhora solo queda conectarse al servidor utilizando el nombre especificado:\n\n $ ssh myserver\n\nPara ver una lista completa de las opciones posibles, eche un vistazo a la p\u00e1gina del manual de ssh_config en el sistema o a la [http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config ssh_config documentaci\u00f3n] en el sitio web oficial.\n\n=== Autossh - reiniciar autom\u00e1ticamente las sesiones y t\u00fanes de SSH ===\n\nCuando una sesi\u00f3n o t\u00fanel no pueden mantenerse activos, por ejemplo debido a las malas condiciones de la red que provoca desconexiones del cliente, puede utilizar [http://www.harding.motd.ca/autossh/ Autossh] para reiniciar autom\u00e1ticamente. Autossh se puede instalar desde los [[official repositories (Espa\u00f1ol)|repositorios oficiales]]. \n\nEjemplos de uso:\n $ autossh -M 0 -o \"ServerAliveInterval 45\" -o \"ServerAliveCountMax 2\" username@example.com\nCombinado con [[SSHFS (Espa\u00f1ol)|sshfs]]:\n $ sshfs -o reconnect,compression=yes,transform_symlinks,ServerAliveInterval=45,ServerAliveCountMax=2,ssh_command='autossh -M 0' username@example.com: /mnt/example \nConexi\u00f3n a trav\u00e9s de un conjunto SOCKS-proxy por [[Proxy_settings (Espa\u00f1ol)|Proxy_settings]]:\n $ autossh -M 0 -o \"ServerAliveInterval 45\" -o \"ServerAliveCountMax 2\" -NCD 8080 username@example.com \nCon el opci\u00f3n {{ic|-f}}, autossh puede hacer que se ejecute como un proceso en segundo plano. Ejecutarlo de esta manera, sin embargo, significa que la frase de contrase\u00f1a no se podr\u00e1 introducir de forma interactiva.\n\nLa sesi\u00f3n finalizar\u00e1 una vez que se escribe {{ic|exit}} en la sesi\u00f3n, o el proceso autossh recibe una se\u00f1al SIGTERM, SIGINT of SIGKILL.\n\n==== Ejecutar Autossh autom\u00e1ticamente en el arranque mediante systemd ====\n\nSi desea iniciar autom\u00e1ticamente autossh, ahora es f\u00e1cil conseguirlo haciendo que systemd maneje esto. Por ejemplo, puede crear un archivo de unidad systemd como este:\n\n [Unit]\n Description=AutoSSH service for port 2222\n After=network.target\n \n [Service]\n Environment=\"AUTOSSH_GATETIME=0\"\n ExecStart=/usr/bin/autossh -M 0 -NL 2222:localhost:2222 -o TCPKeepAlive=yes foo@bar.com\n \n [Install]\n WantedBy=multi-user.target\n\nAqu\u00ed {{ic|1=AUTOSSH_GATETIME=0}} es una variable de entorno que especifica cu\u00e1nto tiempo ssh debe estar activo antes de que autossh considere la conexi\u00f3n exitosa, ponerlo a 0 hace que autossh ignore el primer fallo de ejecuci\u00f3n de ssh. Esto puede ser \u00fatil cuando se ejecuta autossh en el arranque. Otras variables de entorno est\u00e1n disponibles en la p\u00e1gina del manual. Por supuesto, se puede hacer esta unidad m\u00e1s compleja si es necesario (consulte la documentaci\u00f3n de systemd para m\u00e1s detalles), y, obviamente, puede utilizar sus propias opciones para autossh, pero tenga en cuenta que el par\u00e1metro {{ic|-f}} implica {{ic|1=AUTOSSH_GATETIME=0}} quen no funciona con systemd.\n\nLuego coloque esto en, por ejemplo, /etc/systemd/system/autossh.service. Posteriormente, puede activar sus t\u00faneles autossh con, por ejemplo:\n\n $ systemctl start autossh\n(o como llame al archivo de servicios)\n\nSi esto funciona bien para su caso, puede hacer esto permanente ejecutando:\n\n $ systemctl enable autossh\n\nEso hace que autossh se inicie autom\u00e1ticamente en el arranque.\n\nTambi\u00e9n es f\u00e1cil mantener varios procesos autossh, para mantener activos varios t\u00faneles. Solo tiene que crear varios archivos .service con diferentes nombres.\n\n== Cambiar el n\u00famero de puerto de SSH con la activaci\u00f3n del socket (sshd.socket) ==\n\nCree el archivo {{ic|/etc/systemd/system/sshd.socket.d/port.conf}} con:\n\n [Socket]\n # Desactivar puerto por defecto\n ListenStream=\n # Establecer nuevo puerto\n ListenStream=12345\n\nsystemd escuchar\u00e1 autom\u00e1ticamente en el nuevo puerto despu\u00e9s de su recarga:\n\n systemctl daemon-reload\n\n== Soluci\u00f3n de problemas ==\n\n=== Lista de comprobaci\u00f3n ===\n\nEsta es una primera aproximaci\u00f3n a la soluci\u00f3n de problemas con una lista de comprobaci\u00f3n. Se recomienda revisar estos puntos antes de mirar m\u00e1s lejos:\n\n1. La carpeta {{ic|~/.ssh}} del cliente y del servidor y su contenido deben ser accesibles por sus usuarios:\n\n   $ chmod 700 /home/USER/.ssh\n   $ chmod 600 /home/USER/.ssh/*\n\n2. Compruebe que todos los archivos de la carpeta {{ic|~/.ssh}} del cliente y del servidor son propiedad de sus usuario:\n\n   $ chown -R USER: ~/.ssh\n\n3. Compruebe que, por ejemplo, la clave p\u00fablica {{ic |id_rsa.pub}} del cliente est\u00e1 en el archivo {{ic|authorized_keys}} del servidor .\n\n4. Compruebe que no se limit\u00f3 el acceso a SSH a trav\u00e9s de {{ic|AllowUsers}} en {{ic|/etc/ssh/sshd_config}} (separadas por espacios).\n\n==== Limpiar claves desactualizadas (opcional) ====\n\n5. Elimine claves antiguas/no v\u00e1lidas del archivo {{ic|/.ssh/authorized_keys}} del servidor.\n\n6. Elimine claves antiguas/no v\u00e1lidas privadas y p\u00fablicas dentro de la carpeta {{ic|~/.ssh}} de los clientes.\n\n==== Recomendaciones ====\n\n7. Mantenga el menor n\u00famero de claves posibles del archivo {{ic |~/.ssh/authorized_keys}} del cliente en el servidor.\n\n=== La conexi\u00f3n SSH queda colgada despu\u00e9s de apagar/reiniciar  ===\n\nLa conexi\u00f3n SSH se bloquea despu\u00e9s de apagar o reiniciar si systemd detiene la conexi\u00f3n de red antes que sshd. Para solucionar este problema, comente y cambie la declaraci\u00f3n {{ic|After}}:\n{{hc|/usr/lib/systemd/system/systemd-user-sessions.service|2=\n#After=remote-fs.target\nAfter=network.target}}\n\n=== Conexi\u00f3n denegada o problemas con timeout ===\n\n==== \u00bfEst\u00e1 su router haciendo reenv\u00edo de puertos?  ====\n\nSALTAR ESTE PASO SI NO EST\u00c1 DETR\u00c1S DE UNA NAT DE M\u00d3DEM/ROUTER (por ejemplo, un VPS o en otro caso un equipo con direcciones p\u00fablicas). La mayor\u00eda de los hogares y peque\u00f1as empresas tendr\u00e1n un m\u00f3dem/router con NAT.\n\nLo primero es asegurarse de que el router sabe que reenv\u00eda cualquier conexi\u00f3n ssh entrante a su m\u00e1quina. Su IP externa es dada a usted por su proveedor de Internet, y se asocia con cualquier petici\u00f3n que sale de su router. Por lo tanto, el router tiene que saber que cualquier conexi\u00f3n ssh entrante a su IP externa necesita ser reenviada a su m\u00e1quina donde se ejecuta sshd.\n\nEncuentre su direcci\u00f3n de red interna.\n\n ip a\n\nEncuentre la interfaz de su dispositivo y busque el campo inet. Luego acceda a la interfaz web de configuraci\u00f3n del router, utilizando la IP del router (encontrar\u00e1 esto en la web). Informe a su router para re-dirigirlo a su IP inet. Vaya a [http://portforward.com/] para m\u00e1s instrucciones sobre c\u00f3mo hacerlo para su router en particular.\n\n==== \u00bfEst\u00e1 SSH corriendo y escuchando? ====\n\n $ ss -tnlp\n\nSi la orden anterior no muestra que el puerto SSH est\u00e1 abierto, SSH no se est\u00e1 ejecutando. Compruebe {{ic|/var/log/messages}} para conocer errores, etc.\n\n==== \u00bfExisten reglas de firewall que bloqueen la conexi\u00f3n?  ====\n\n[[Iptables (Espa\u00f1ol)|Iptables]] puede bloquear conexiones en el puerto {{ic|22}}. Compruebe esto con:\n{{bc|# iptables -nvL}}\ny busque las posibles reglas que bloqueen paquetes en la cadena {{ic|INPUT}}. Entonces, si es necesario, desbloquee el puerto con una orden como:\n{{bc|\n# iptables -I INPUT 1 -p tcp --dport 22 -j ACCEPT\n}}\nPara obtener m\u00e1s ayuda sobre c\u00f3mo para configurar cortafuegos, consulte [[Firewalls (Espa\u00f1ol)]].\n\n==== \u00bfEst\u00e1 el tr\u00e1fico llegando a su ordenador? ====\n\nRealice un vuelco de la informaci\u00f3n del tr\u00e1fico sobre el equipo que est\u00e1 teniendo problemas con:\n\n # tcpdump -lnn -i any port ssh and tcp-syn\n\nEsto deber\u00eda mostrar alguna informaci\u00f3n b\u00e1sica, y luego espere a que todo el tr\u00e1fico que deber\u00eda producirse se muestre. Pruebe su conexi\u00f3n ahora. Si no ve ninguna salida cuando se intenta conectar, entonces algo fuera de su ordenador est\u00e1 bloqueando el tr\u00e1fico (por ejemplo, cortafuegos f\u00edsicos, NAT del router, etc.).\n\n==== \u00bfSu ISP o un tercero est\u00e1 bloqueando el puerto por defecto? ====\n\n{{Nota|Pruebe este paso si '''sabe''' que no est\u00e1 ejecutando ning\u00fan cortafuegos y sabe que ha configurado el router para DMZ o ha redirigido el puerto a su equipo y a\u00fan no funciona. Aqu\u00ed encontrar\u00e1 los pasos de diagn\u00f3stico y una posible soluci\u00f3n.}}\n\nEn algunos casos, su proveedor de Internet podr\u00eda bloquear el puerto predeterminado (puerto 22 SSH), as\u00ed que lo que est\u00e1 intentando (apertura de puertos, endurecimiento del apilamiento, defensa contra ataques de saturaci\u00f3n, etc.) es est\u00e9ril. Para confirmar esto, cree un servidor en todas las interfaces (0.0.0.0) y con\u00e9ctelo de forma remota.\n\nSi recibe un mensaje de error similar a este:\n ssh: connect to host www.inet.hr port 22: Connection refused\n\nEso significa que el puerto '''no''' est\u00e1 bloqueado por el ISP, pero el servidor no ejecuta SSH en ese puerto (vea [[wikipedia:es:Seguridad_por_oscuridad|seguridad por oscuridad]]).\n\nSin embargo, si se recibe un mensaje de error similar a este:\n ssh: connect to host 111.222.333.444 port 22: Operation timed out \n\nEso significa que algo est\u00e1 rechazando el tr\u00e1fico TCP en el puerto 22. B\u00e1sicamente ese puerto est\u00e1 siendo vigilado, ya sea por el cortafuegos o por la intervenci\u00f3n de terceras partes (como un ISP que bloquea y/o rechaza el tr\u00e1fico entrante en el puerto 22). Si se sabe que no est\u00e1 ejecutando ning\u00fan cortafuegos en su ordenador, y est\u00e1 seguro que ning\u00fan Gremlins est\u00e1n creciendo en su router y switches, entonces, el ISP est\u00e1 bloqueando el tr\u00e1fico.\n\nPara hacer doble verificaci\u00f3n, puede ejecutar Wireshark en el servidor y escuchar el tr\u00e1fico en el puerto 22. Dado que Wireshark es una utilidad que esnifa paquetes de dos niveles, y TCP/UDP tiene 3 niveles y as\u00ed sucesivamente (ver [[wikipedia:es:Familia_de_protocolos_de_Internet|pila de red de IP]]), si no recibe nada mientras se conecta de forma remota, lo m\u00e1s probable es que un tercero est\u00e9 bloqueando el tr\u00e1fico en ese puerto para su servidor.\n\n===== Diagn\u00f3stico con Wireshark =====\n\n[[Help:Reading_(Espa\u00f1ol)#Instalaci.C3.B3n_de_paquetes|Instale]] Wireshark con el paquete {{Pkg|wireshark-cli}} disponible en los [[official repositories (Espa\u00f1ol)|repositorios oficiales]].\n\nY luego ejec\u00fatelo utilizando,\n tshark -f \"tcp port 22\" -i NET_IF\n\ndonde NET_IF es la interfaz de red para una conexi\u00f3n WAN (ver {{ic|ip a}} para comprobar). Si no se est\u00e1 recibiendo ning\u00fan paquete al intentar conectarse de forma remota, puede estar muy seguro de que su ISP est\u00e1 bloqueando el tr\u00e1fico entrante en el puerto 22.\n\n===== Posible soluci\u00f3n =====\n\nLa soluci\u00f3n es utilizar alg\u00fan otro puerto que el ISP no est\u00e9 bloqueando. Abra el archivo {{ic|/etc/ssh/sshd_config}} y config\u00farelo para utilizar diferentes puertos. Por ejemplo, a\u00f1ada:\n\n Port 22\n Port 1234\n\nAseg\u00farese tambi\u00e9n de que otras l\u00edneas de configuraci\u00f3n del \u00abpuerto\u00bb  en el archivo est\u00e1n comentadas. Solo comentar \u00abPort 22\u00bb y poner \u00abPort 1234\u00bb no va a resolver el problema, porque entonces sshd solo escuchar\u00e1 el puerto 1234. Utilice ambas l\u00edneas para ejecutar el servidor SSH en ambos puertos.\n\nReinicie el servidor {{ic|systemctl restart sshd.service}} y todo estar\u00e1 listo. Todav\u00eda tiene que configurar su cliente(s) para poder usar el otro puerto, en lugar del puerto predeterminado. Existen numerosas soluciones a ese problema, pero nosotros cubrimos dos de ellas aqu\u00ed.\n\n==== Leer del socket fallido: connection reset by peer ====\n\nLas versiones recientes de openssh a veces fallan con el mensaje de error anterior, debido a un error que implica la criptograf\u00eda de curva el\u00edptica. En este caso, a\u00f1ada la siguiente l\u00ednea a {{ic|~/.ssh/config}}:\n\n HostKeyAlgorithms ssh-rsa-cert-v01@openssh.com,ssh-dss-cert-v01@openssh.com,ssh-rsa-cert-v00@openssh.com,ssh-dss-cert-v00@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa,ssh-dss\n\nCon openssh 5.9, la soluci\u00f3n anterior no funciona. En su lugar, ponga las siguientes l\u00edneas en {{ic|~/.ssh/config}}:\n\n Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,3des-cbc \n MACs hmac-md5,hmac-sha1,hmac-ripemd160\n\nVer tambi\u00e9n [http://www.gossamer-threads.com/lists/openssh/dev/51339 discussion] en el foro openssh bug.\n\n=== \u00ab[your shell]: No such file or directory\u00bb / ssh_exchange_identification problem ===\n\nUna posible causa de esto es la necesidad de ciertos clientes SSH de encontrar una ruta absoluta (una devuelta por {{Ic|whereis -b [your shell]}}, por instancia) en {{Ic|$SHELL}}, incluso si el binario de la shell se encuentra en una de las entradas {{Ic|$PATH}}.\n\n===Mensaje de error \u00abTerminal unknown\u00bb o  \u00abError opening terminal\u00bb===\n\nCon ssh es posible recibir errores como \u00abTerminal unknown\u00bb despu\u00e9s de iniciar sesi\u00f3n. Iniciar aplicaciones ncurses como nano fallan con el mensaje \u00abError opening terminal\u00bb. Hay dos m\u00e9todos para solucionar este problema, uno r\u00e1pido, mediante la variable $TERM, y otro m\u00e1s detallado usando el archivo terminfo.\n\n==== Soluci\u00f3n estableciendo la variable $TERM====\n\nDespu\u00e9s de conectar con el servidor remoto establezca la variable $TERM para \u00abxterm\u00bb con la siguiente orden:\n\n{{ic|TERM&#61;xterm}}\n\nEste m\u00e9todo es una soluci\u00f3n provisional y debe ser utilizado en servidores ssh al que se conecta raramente, ya que puede tener efectos secundarios no deseados. Tambi\u00e9n tiene que repetir la orden despu\u00e9s de cada conexi\u00f3n, o bien configurando ~.bashrc .\n\n====Soluci\u00f3n usando el archivo terminfo====\n\nUna soluci\u00f3n con m\u00e1s dedicaci\u00f3n consiste en transferir el archivo terminfo del terminal en el equipo cliente al servidor ssh. En este ejemplo explicamos c\u00f3mo configurar el archivo terminfo para el terminal \u00abrxvt-unicode-256color\u00bb.\nCree el directorio que contendr\u00e1 los archivos terminfo en el servidor ssh, mientras se est\u00e1 conectado al servidor, con la orden:\n\n{{ic| mkdir -p ~/.terminfo/r/}}\n\nAhora copie el archivo terminfo de su terminal en el nuevo directorio. Reemplace {{ic|rxvt-unicode-256color}} con el terminal de su cliente en la siguiente orden y {{ic|ssh-server}} con el usuario y direcci\u00f3n del servidor correspondiente.\n\n{{ic|$ scp  /usr/share/terminfo/r/''rxvt-unicode-256color'' ssh-server:~/.terminfo/r/}}\n\nDespu\u00e9s de salir y entrar en el servidor ssh el problema debe haber sido corregido.\n\n== V\u00e9ase tambi\u00e9n ==\n\n*[http://www.soloport.com/iptables.html A Cure for the Common SSH Login Attack]\n*[http://www.la-samhna.de/library/brutessh.html Defending against brute force ssh attacks]\n*[http://www.ibm.com/developerworks/library/l-keyc/index.html OpenSSH key management, Part 1] and [http://www.ibm.com/developerworks/library/l-keyc2 Part 2] on IBM developerWorks"
                    }
                ]
            },
            "9971": {
                "pageid": 9971,
                "ns": 0,
                "title": "Network Security Services",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Transport Layer Security]]\n[[Category:Mozilla]]\n[[ja:Network Security Services]]\n[[ru:Network Security Services]]\n[[Wikipedia:Network Security Services|Network Security Services]] ('''NSS''') is a set of libraries designed to support cross-platform development of security-enabled client and server applications.\n\nApplications built with NSS can support [[Wikipedia:SSL|SSL]] v2 and v3, [[TLS]], [[Wikipedia:PKCS|PKCS]] #5, #7, [[Wikipedia:PKCS 11|PKCS #11]], [[Wikipedia:PKCS 12|PKCS #12]], [[Wikipedia:S/MIME|S/MIME]], [[Wikipedia:X.509|X.509]] v3 certificates, and other security standards.\n\nNSS is required by many packages, including, for example, [[Chromium]] and [[Firefox]].\n\n== Installation ==\n\n[[Install]] the {{Pkg|nss}} package.\n\n== Usage ==\n\nUse ''certutil'' utility provided with NSS to manage your certificates.\n\n=== List certificate DB ===\n\nTo get list of all certificates:\n $ certutil -d sql:$HOME/.pki/nssdb -L\n\nTo get details about certificate:\n $ certutil -d sql:$HOME/.pki/nssdb -L -n ''certificate_nickname''\n\n=== Generate an RSA private key ===\n\n $ certutil -G -d ''database_directory'' -g ''keysize'' -n ''nickname''\n\n=== Generate a certificate signing request ===\n\n $ certutil -S -s ''subject'' -n ''nickname'' -x -t C,C,C -o ''file''\n\n=== Generate a self-signed certificate ===\n\n $ certutil -S -s ''subject'' -n ''nickname'' -x -t C,C,C -o ''file''\n\n=== Import certificate ===\n\nTo add a certificate specify the {{ic|-A}} option:\n $ certutil -d sql:$HOME/.pki/nssdb -A -t \"''TRUSTARGS''\" -n ''certificate_nickname'' -i ''/path/to/cert/filename''\n\nThe {{ic|TRUSTARGS}} are three strings of zero or more alphabetic characters, separated by commas, for example: {{ic|\"TCu,Cu,Tuw\"}}. They define how the certificate should be trusted for SSL, email, and object signing, and are explained in the [http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html#1034193 certutil docs] or [https://blogs.oracle.com/meena/entry/notes_about_trust_flags Meena's blog post] on trust flags.\n\nTo add a personal certificate and private key for SSL client authentication use the command:\n $ pk12util -d sql:$HOME/.pki/nssdb -i ''/path/to/PKCS12/cert/filename.p12''\n\nThis will import a personal certificate and private key stored in a PKCS #12 file. The {{ic|TRUSTARGS}} of the personal certificate will be set to {{ic|\"u,u,u\"}}.\n\n=== Edit certificate ===\n\nCall ''certutil'' with {{ic|-M}} option to edit the certificate. For example, to edit the {{ic|TRUSTARGS}}:\n $ certutil -d sql:$HOME/.pki/nssdb -M -t \"''TRUSTARGS''\" -n ''certificate_nickname''\n\n=== Delete certificate ===\n\nUse {{ic|-D}} option to remove the certificate:\n $ certutil -d sql:$HOME/.pki/nssdb -D -n ''certificate_nickname''\n\n== See also ==\n\n* [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS Network Security Services - Mozilla]\n* [https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/tools/NSS_Tools_certutil#Using_the_Certificate_Database_Tool Using the Certificate Database Tool - Mozilla]\n* [https://chromium.googlesource.com/chromium/src/+/master/docs/linux_cert_management.md Linux Cert Management - Chromium]\n* [https://blogs.oracle.com/meena/about-trust-flags-of-certificates-in-nss-database-that-can-be-modified-by-certutil Managing Certificate Trust flags in NSS Database - Meena Vyas, Oracle]"
                    }
                ]
            },
            "10020": {
                "pageid": 10020,
                "ns": 0,
                "title": "ICC profiles",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Multimedia]]\n[[ja:ICC \u30d7\u30ed\u30d5\u30a1\u30a4\u30eb]]\n[[ru:ICC profiles]]\nAs it pertains to general desktop use, an [[Wikipedia:ICC profile|ICC profile]] is a binary file which contains precise data regarding the color attributes of an input, or output device. Single, or multiple profiles can be applied across a system and its devices to produce consistent and repeatable results for graphic and document editing and publishing. ICC profiles are typically calibrated with a [[Wikipedia:Tristimulus colorimeter|(tristimulus) colorimeter]], or a spectrophotometer when absolute color accuracy is required.\n\n== Utilities ==\n\n* {{App|ArgyllCMS|ICC compatible color management system. It supports accurate ICC profile creation for scanners, cameras and film recorders, and calibration and profiling of displays and RGB & CMYK printers.|https://argyllcms.com/|{{Pkg|argyllcms}}}}\n* {{App|ColorHug|The Hughski ColorHug Colorimeter is a low cost open-source hardware sensor used to calibrate screens. This package includes the client tools which allows the user to upgrade the firmware on the sensor or to query the sensor from command line scripts.|https://github.com/hughski/colorhug-client|{{Pkg|colorhug-client}}}}\n* {{App|DisplayCAL|Display calibration and profiling solution with a focus on accuracy and versatility. At its core it relies on ArgyllCMS color management system, to take measurements, create calibrations and profiles, and for a variety of other advanced color related tasks.|https://displaycal.net/|{{Pkg|displaycal}}}}\n* {{App|GNOME Color Manager|Set of graphical utilities for color management to be used in the GNOME desktop.|https://gitlab.gnome.org/GNOME/gnome-color-manager|{{Pkg|gnome-color-manager}}}}\n* {{App|xcalib|Lightweight monitor calibration loader which can load an ICC monitor profile to be shared across desktop applications.|https://github.com/OpenICC/xcalib|{{AUR|xcalib}}}}\n\n== Profile generation ==\n\nColor management is a workflow of hardware calibration, software profiling and embedding the profile into the picture or video. It's all based on using an [[Wikipedia:ICC profile|ICC profile]].\n\n=== Colorimeter or spectrometer ===\n\nIt is highly recommended to use a colorimeter or spectrometer device for hardware-assisted display, printer and scanner calibration. For home use there are several affordable colorimeters available. Some are well- or even better-supported under Linux than on other operating systems. Frequently recommended devices are [http://www.xrite.com/colormunki-display X-Rite ColorMunki Display], [http://spyder.datacolor.com/portfolio-view/spyder5express/ DataColor Spyder5 Express] and the open source hardware [http://www.hughski.com/ ColorHug]. You can find more Linux-supported devices listed in the [http://www.argyllcms.com/doc/instruments.html AgyllCMS documentation].\n\n=== Argyll CMS ===\n\nThe [http://www.argyllcms.com/ Argyll Color Management System] is a complete suite of command-line profile creation and loading tools listed under {{Pkg|argyllcms}}. \n\nReview the official [http://www.argyllcms.com/doc/ArgyllDoc.html Argyll CMS documentation] for details on how to profile selected devices.\n\n=== Monitor calibration and profiling with additional calibration hardware ===\n\nThere is a GUI frontend for ArgyllCMS called [http://displaycal.net DisplayCal], available as {{Pkg|displaycal}}. In most common cases you will want to use its default settings. It is a common way to calibrate to a daylight color of 6500K and gamma 2,2. Read the DispalGui documentation for more. Many tutorials are available on the net.\n\n=== Scanner calibration ===\n\nFollow the scanner part of the [https://blog.simon-dreher.de/color-management.html scanner calibration] tutorial.\n\n=== Printer calibration ===\n\nSee {{man|8|cups-calibrate}}.\n\n===  File transfer ===\n\nProfile generation on a Windows or macOS system is one of the easiest and most widely recommended methods to obtain a ICC monitor profile. Since ICC color profiles are written to an open specification, they are compatible across operating systems. Transferring profiles from one OS to another can be used as a workaround for the lack of support for certain spectrophotometers or colorimeters under Linux: one can simply produce a profile on a different OS and then use it in a Linux workflow. Note that the system on which the profile is generated must host the exact same video card and monitor for which the profile is to be used. Once generation of an ICC profile, or a series of profiles is complete on a Windows system, copy the file(s) from the default path:\n\n C:\\WINDOWS\\System32\\spool\\drivers\\color\n\nmacOS generally stores saved ICC profiles in one of two locations:\n\n /Library/ColorSync/Profiles\n /Users/USER_NAME/Library/ColorSync/Profile\n\nOnce the appropriate {{Ic|.icc/.icm}} files have been copied, install the device profiles to your desired system. Common installation device profiles directories on Linux include:\n\n /usr/share/color/icc\n /usr/local/share/color/icc\n /home/USER_NAME/.color/icc\n\n{{Note|Ensure that the calibrated contrast, brightness and RGB settings of the monitor do not change between the time of calibration and the loading of the ICC profile. Use this method only if you are absolutely certain that neither Linux nor the other OS does anything behind your back (in video drivers or vendor utilities) that alters the signal actually sent to the display, or the way the display interprets the signal. Watch out for \"Broadcast RGB\" or similar settings. One concrete example where profiling in Windows and Linux yields [https://bugzilla.kernel.org/show_bug.cgi?id&#61;70721 significantly different results] is the Lenovo Ideapad Yoga 2 Pro laptop, because these OSes program the flat panel controller in very different ways.|}}\n\n=== Gnome Color Manager ===\n\nOn Gnome, an ICC profile can easily be created by using {{pkg|gnome-color-manager}}. Under Gnome, this is accessible via the Control Center and is pretty straightforward to use. You'll need a colorimeter device to use this feature.\n\n==== Manually ====\n\nEnsure ''gnome-settings-daemon'' is started, and run:\n\n $ colormgr get-devices \n\nLook for the {{ic|Device ID}} line of your monitor. If this is e.g. {{ic|xrandr-Lenovo Group Limited}}, start calibration with the command:\n\n gcm-calibrate --device \"''xrandr-Lenovo Group Limited''\"\n\n=== LPROF ICC Profiler ===\n\n[http://lprof.sourceforge.net/ LPROF] is an ICC profiler with a graphical user interface listed under {{AUR|lprof}} in the [[AUR]]. \n\n{{Note|The following walkthrough has been modified from the ArchWiki article [[Using LPROF to profile monitors]].}}\n\n==== Monitor calibration ====\n\n===== Contrast/Brightness =====\n\nAdjust the lighting in the room to what you will be using when working. Even if your screen is coated with an anti-reflective coating, you should avoid light falling directly on it. Let your monitor warm up for at least an hour for the image to get stabilized. If your calibration device has an ambient diffuser, adjust your room brightness to reach the recommended target lux point.\n\n# Set the monitor contrast to maximum, or 100%. \n# Next, display a pure black over entire screen by creating a small, black PNG image (all pixels have RGB = 0, 0, 0) and opening it up in a picture viewer that is capable of displaying an image in fullscreen mode without any controls.\n# Reduce the vertical size of the monitor screen (not the PNG image displayed by a picture viewer but the whole of what's displayed on the screen) to 60% to 70% of the full height. What is revealed above and below the picture is called a ''non-scanned area'', and since that area is not receiving any voltage, it is the blackest of black your monitor is capable of displaying. \n# Locate the brightness control (usually a sun, circle with rays projecting from it's edges) and lower the value until the black ''image'' matches the non-scanned area.\n\n===== Color temperature =====\n\nAs we said in the introduction, setting color temperature must occur at noon. If you only have fixed factory default color temperature, you do not really need to wait for the sunny day to come. Just set it to 6500K.\n\nPlace your monitor so that you can see outside the window ''and'' your screen at the same time. For this step, you also need to create a white square image (RGB = 255, 255, 255), roughly 10 by 10 centimeters (4 by 3 inches). Using the same Gwenview technique as with brightness/contrast, display the white square on a pure black background.\n\n# First, prepare your eyes by staring at the outside world for a while. Let them adjust to the daylight viewing condition for a few minutes.\n# Glance at the monitor, and the white square for a few second (it has to be short, because eyes will readjust quickly).\n# If the square seems yellowish, you need higher color temperature, or if it has a blueish cast, the temperature needs to be lowered.\n# Keep glancing, looking out the window, and adjusting the white temperature, until the square looks pure white\n\nTake your time with the steps described above. It is essential to get it right.\n\n==== Monitor profiling without additional calibration hardware ====\n\nStart lprof. You will be presented by a fairly large window with multiple tabs on the right. \n\n# Click on the ''Monitor Profiler'' tab. Then click on the large ''Enter monitor values >>'' button.\n# White point should be set to ''6500K (daylight)''.\n# Primaries should be set to either ''SMPTE RP145-1994'', or ''EBU Tech.3213-E'' or ''P22'', or whatever appropriate values for your monitor. If you come across correct values for your monitor, enter those by selecting ''User Defined'' from the drop-down. If in doubt, you may use ''P22'' for all monitors with Trinitron CRTs (in this case, ''Trinitron'' is not related to Sony Trinitron mointors and TVs), and ''SMPTE RP145-1994'' for other CRTs.\n# Click the ''Set Gamma and Black Point'' button.\n# You will now see a full-screen view of two charts with some controls at the bottom.\n# Uncheck the ''Link channels'' check-box and adjust individual Red, Green, and Blue gamma by either moving the slider left or right, or by entering and changing values in the three boxes to the left. The goal is to make the chart on the left (the smaller square one) flat. When you are satisfied with how it looks, check the ''Link channels'' check-box and adjust the gamma again.\n# When you are done, click ''OK''. Click ''OK'' again.\n\nWhen you are finished entering monitor values, you might want to enter some information about the monitor. This is not mandatory, but it is always nice to know what profile is for what.\n\n# Click ''Profile identification'' button.\n# Fill in the data.\n# Click ''OK'' to finish.\n\nAfter you are all done, click on the '...' button next to ''Output Profile File'' box. Enter the name of your profile: ''somemonitor.icc''. Click ''Create Profile'' button, and you are done.\n\n=== ThinkPads ===\n\nSee [http://www.thinkwiki.org/wiki/Colour_profile color profiles] for IBM/Lenovo [[Wikipedia:ThinkPad|ThinkPad]] notebook [http://www-307.ibm.com/pc/support/site.wss/migr-62923.html monitor profile] ([http://www-307.ibm.com/pc/support/site.wss/migr-44320.html generic]) support.\n\n== Loading ICC profiles ==\n\nICC profiles are loaded either by the session daemon or by a dedicated ICC loader. Both Gnome and KDE have daemons capable of loading ICC profiles from {{pkg|colord}}. If you use colord in combination with either {{pkg|gnome-settings-daemon}} or {{Pkg|colord-kde}}, the profile will be loaded automatically. If you're not using either Gnome or KDE, you may install an independent daemon, [https://github.com/agalakhov/xiccd xiccd], which does the same but does not depend on your desktop environment. Do not start two ICC-capable daemons (e.g. gnome-settings-daemon and {{AUR|xiccd}}) at the same time.\n\nIf you're not using any ICC-capable session daemon, make sure you use only one ICC loader - either xcalib, dispwin, dispcalGUI-apply-profiles or others. Otherwise, you can easily end up with an uncontrolled environment. (The most recently run loader sets the calibration, and the earlier loaded calibration is overwritten.)\n\nBefore using a particular ICC loader, you should understand that some tools set only the calibration curves (e.g. xcalib), some tools set only the display profile to X.org _ICC_PROFILE atom (e.g. xicc), and other tools do both tasks at once (e.g. dispwin, dispcalGUI-apply-profiles).\n\n=== xiccd ===\n\n* {{AUR|xiccd}}is a simple bridge between colord and X. It allows non-Gnome and non-KDE desktop environment to load and apply icc profiles. \n\n\nInstall xiccd. Make sure colord installed and autorun the colord.service at every system startup(systemd).\n\n\nexecute {{ic|xiccd}} in a terminal as a backend and ignore the verbose messages.\n<pre>$ xiccd</pre>\nThis will enumerate displays and register them for colormgr(colord).\n\n\nexecute {{ic|colormgr}} in an another terminal. Mark your {{ic|device id}} there shows.\n<pre>$ colormgr get-devices</pre>\n\n\nCopy your icc profiles to the directory.\n<pre># cp icc_profile /usr/share/color/icc/colord/</pre>\n\n\nMark the {{ic|profile id}} which you added and want to use.\n<pre>$ colormgr get-profiles</pre>\n\n\nAdd your profile to the display device.\n<pre># colormgr device-add-profile device_id profile_id</pre>\n\n\nMake the profile as the default to the display device.\n<pre># colormgr device-make-profile-default device_id profile_id</pre>\n\n\nMake the xiccd autorun at system startup.\n<pre># vim /etc/xdg/autostart/xiccd.desktop</pre>\n<pre>[Desktop Entry]\nEncoding=UTF-8\nName=xiccd\nGenericName=X color management daemon\nComment=Applies color management profiles to your session\nExec=xiccd\nTerminal=false\nType=Application\nCategories=OnlyShowIn=XFCE;MATE;LXDE;\n</pre>\n\n\nClose all terminals, and reboot the system to check whether the icc profile applying well.\n<pre>$ colormgr get-devices</pre>\n\n\n=== xcalib ===\n\n* [http://xcalib.sourceforge.net/ xcalib] is a lightweight monitor calibration loader which can load an ICC monitor profile to be shared across desktop applications. {{AUR|xcalib}} is part of the Arch User Repository (AUR).\n\n==== Xinitrc example ====\n\nLoad profile {{ic|P221W-sRGB.icc}} in {{Ic|/usr/share/color/icc}} on display host:0 when X server starts\n<pre>#!/bin/bash\n\n/usr/bin/xcalib -d :0 /usr/share/color/icc/P221W-sRGB.icc</pre>\n\n==== JWM {{ic|<StartupCommand>}} example ====\n\nLoad profile {{ic|P221W-Native.icc}} in {{Ic|/usr/local/share/color/icc}} on display host:0 when JWM starts\n  {{ic|<StartupCommand>}}xcalib -d :0 /usr/local/share/color/icc/P221W-Native.icc{{ic|</StartupCommand>}}\n\n=== dispwin ===\n* [http://www.argyllcms.com/doc/dispwin.html dispwin] is a part of {{Pkg|argyllcms}}.\n\n==== Xinitrc example ====\n\nLoad profile {{ic|906w-6500K.icc}} in {{Ic|/home/arch/.color/icc}} on display 0 when X server starts\n<pre>#!/bin/bash\n\n/usr/bin/dispwin -d0 /home/arch/.color/icc/906w-6500K.icc</pre>\n\n==== JWM {{ic|<StartupCommand>}} example ====\n\nLoad Argyll calibration file {{ic|906w-7000K.cal}} in {{Ic|/usr/local/share/color/icc}} on display 1 when JWM starts\n  {{ic|<StartupCommand>}}dispwin -d1 /usr/local/share/color/icc/906w-7000K.cal{{ic|</StartupCommand>}}\n\nYou can easily use one of these loaders to apply the color profile in early boot stage when starting a display manager, e.g. using [https://wiki.ubuntu.com/LightDM#Adding_System_Hooks LightDM startup script]. This allows to load a single icc profile file. This won't work with loading several profile files when using a multi monitopr setup.\n\n== Applications that support ICC profiles ==\n\n* [http://www.xsane.org/doc/sane-xsane-color-management-doc.html Xsane] can use ICC profiles for color-corrected scanning.\n* [[CUPS]] can use ICC profiles for color-corrected printing using [https://www.freedesktop.org/software/colord/faq.html#cups Colord], but the actual implementation and usability is [https://lists.cups.org/pipermail/cups/2016-December/056399.html unclear].\n* [[GIMP]] can use ICC profiles for display of the image being edited. The use of the installed ICC profile has to be explicitly enabled in the settings dialog, though.\n* [[mpv]] can take an ICC profile into account when playing a video. The command line argument is: <code>--icc-profile=/path/to/profile.icc</code> or <code>--icc-profile-auto</code>. Only <code>--vo=opengl</code> does color management; other VO drivers will silently ignore the ICC profile options.\n* [[Firefox]], by default, uses the system-wide ICC profile only when displaying images that are already tagged with an ICC profile. To assume that untagged images use sRGB and apply color correction also to them, set the {{ic|gfx.color_management.mode}} preference to 1. Firefox can also use an ICC profile using the configuration option {{ic|gfx.color_management.display_profile}}.\n* Both Eye of Gnome ({{Pkg|eog}}) and Eye of MATE ({{Pkg|eom}}) automatically use the system-installed ICC profile.\n\n== See also ==\n\n* [[Using LPROF to profile monitors]] - Additional details on how to profile monitors\n* [[Wikipedia:Linux color management]]\n* [http://www.argyllcms.com/ Argyll Color Management System] - Official Site\n* [http://lprof.sourceforge.net/help/lprof-help.html LPROF Main Help Window] - Details on profiling printers and scanners\n* [http://displaycal.net/#concept DisplayCal: Basic concept of display calibration and profiling]\n* [https://encrypted.pcode.nl/blog/2013/11/24/display-color-profiling-on-linux/ Display color profiling on Linux (XFCE)]\n* [https://linuxtidbits.wordpress.com/2013/04/20/handling-display-calibration/ Monitor Hardware Calibration]"
                    }
                ]
            },
            "10282": {
                "pageid": 10282,
                "ns": 0,
                "title": "KDE (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:KDE (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]]\n[[Category:\u0420\u0443\u0441\u0441\u043a\u0438\u0439]]\n[[ar:KDE]]\n[[cs:KDE]]\n[[de:Plasma]]\n[[en:KDE]]\n[[es:KDE]]\n[[fa:KDE]]\n[[fr:KDE]]\n[[it:KDE]]\n[[ja:KDE]]\n[[pl:KDE]]\n[[pt:KDE]]\n[[zh-hans:KDE]]\n[[zh-hant:KDE]]\n{{Related articles start (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)}}\n{{Related|\u0421\u0440\u0435\u0434\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430}}\n{{Related|\u042d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440}}\n{{Related|\u041e\u043a\u043e\u043d\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440}}\n{{Related|Qt (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)}}\n{{Related|SDDM (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)}}\n{{Related|Dolphin}}\n{{Related|KDE Wallet}}\n{{Related|KDevelop}}\n{{Related|Trinity}}\n{{Related|Uniform Look for Qt and GTK Applications}}\n{{Related articles end}}\n{{TranslationStatus (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|KDE|2 \u0434\u0435\u043a\u0430\u0431\u0440\u044f 2019|590840}}\nKDE \u2014 \u043f\u0440\u043e\u0435\u043a\u0442, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 [[Desktop environment (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u0441\u0440\u0435\u0434\u044b \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430]] (KDE Plasma), \u043d\u0430\u0431\u043e\u0440\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432 (KDE Frameworks), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0431\u043e\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (KDE Applications).\n\nKDE \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u0438\u043a\u0438-\u0440\u0435\u0441\u0443\u0440\u0441 [https://userbase.kde.org/ UserBase]. \u0417\u0434\u0435\u0441\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u0438 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 KDE.\n\n== \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 ==\n\n=== KDE Plasma ===\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c, \u043a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c KDE Plasma, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432 \u0432\u0430\u0448\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u0441\u0435\u0440\u0432\u0435\u0440 [[Xorg (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|Xorg]].}}\n\n[[\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u043c\u0435\u0442\u0430-\u043f\u0430\u043a\u0435\u0442 {{Pkg|plasma-meta}} \u0438\u043b\u0438 \u0433\u0440\u0443\u043f\u043f\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 {{Grp|plasma}}. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f\u0445 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u044e [[\u0413\u0440\u0443\u043f\u043f\u0430 \u043f\u0430\u043a\u0435\u0442\u043e\u0432]].\n\n\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u0438\u0441\u0442\u0438\u0447\u043d\u0430\u044f Plasma (\u0441 \u043c\u0435\u043d\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439), [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u043f\u0430\u043a\u0435\u0442 {{Pkg|plasma-desktop}}.\n\n\u0414\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 [[Wayland (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|Wayland]] \u0442\u0430\u043a\u0436\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 {{Pkg|plasma-wayland-session}}.\n\n=== \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f KDE ===\n\n\u0427\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f KDE (KDE Applications), \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0433\u0440\u0443\u043f\u043f\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 {{Grp|kde-applications}} \u0438\u043b\u0438 \u043c\u0435\u0442\u0430-\u043f\u0430\u043a\u0435\u0442 {{Pkg|kde-applications-meta}}. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f KDE, \u0430 \u043d\u0435 [[\u0441\u0440\u0435\u0434\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430]] KDE Plasma.\n\n=== \u041d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 ===\n\n\u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 KDE Plasma \u0438 KDE Applications \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u044e [[\u041e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438#kde-unstable]].\n\n== \u0417\u0430\u043f\u0443\u0441\u043a Plasma ==\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e KDE Plasma \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f [[Wayland (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]], \u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0438 \u0435\u0441\u0442\u044c \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0445 \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u044e [https://community.kde.org/Plasma/Wayland_Showstoppers Wayland Showstoppers] \u0438 [https://phabricator.kde.org/project/board/99/ \u0434\u043e\u0441\u043a\u0443 Plasma on Wayland] \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 [[Xorg (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b.}}\n\nKDE Plasma \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e [[Display manager (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u044d\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430]] \u0438\u043b\u0438 \u043a\u043e\u043d\u0441\u043e\u043b\u0438.\n\n=== \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 ===\n\n* \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 ''Plasma'' \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0430\u043d\u0441\u0430 \u0432 [[Xorg (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]].\n* [[\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] {{Pkg|plasma-wayland-session}} \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 ''Plasma (Wayland)'' \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0430\u043d\u0441\u0430 \u0432 [[Wayland (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]].\n\n=== \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043d\u0441\u043e\u043b\u044c ===\n\n* \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 KDE Plasma \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e [[xinitrc (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|xinit/startx]], \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u0442\u0440\u043e\u043a\u0443 {{ic|exec startplasma-x11}} \u0432 \u0444\u0430\u0439\u043b {{ic|.xinitrc}}. \u0422\u0430\u043a\u0436\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c [[Xorg (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u044c\u0442\u0435\u0441\u044c \u0441\u043e \u0441\u0442\u0430\u0442\u044c\u0451\u0439 [[xinitrc (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u0410\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a X \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443]].\n\n* \u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0430\u043d\u0441\u0430 KDE Plasma \u0441 [[Wayland (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 {{ic|1=XDG_SESSION_TYPE=wayland dbus-run-session startplasma-wayland}}.[https://community.kde.org/KWin/Wayland#Start_a_Plasma_session_on_Wayland]\n\n== \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 ==\n\n\u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 KDE \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0435 {{ic|~/.config/}}. \u041e\u0434\u043d\u0430\u043a\u043e, KDE \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 '''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b''', \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 {{ic|systemsettings5}}.\n\n=== \u041f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f ===\n\n==== \u0420\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b Plasma ====\n\n===== \u0422\u0435\u043c\u044b =====\n\n[https://store.kde.org/browse/cat/104/ \u0422\u0435\u043c\u044b KDE Plasma] \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0432\u0438\u0434 \u043f\u0430\u043d\u0435\u043b\u0435\u0439 \u0438 \u043f\u043b\u0430\u0437\u043c\u043e\u0438\u0434\u043e\u0432. \u0414\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430, \u043c\u043d\u043e\u0433\u0438\u0435 \u0442\u0435\u043c\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 [[Official repositories (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445]] \u0438 [https://aur.archlinux.org/packages.php?K=plasma+theme AUR].\n\n\u0422\u0430\u043a\u0436\u0435 \u0442\u0435\u043c\u044b KDE Plasma \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u041e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 > \u0422\u0435\u043c\u0430 \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f Plasma > \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0442\u0435\u043c\u044b \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430...''.\n\n[https://store.kde.org/ KDE-Store] \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0435\u0449\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u043f\u0446\u0438\u0439 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 KDE Plasma, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u0435\u043c\u044b \u0434\u043b\u044f [[SDDM (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0438.\n\n====== \u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 Qt \u0438 GTK ======\n\n{{Tip (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0435\u0434\u0438\u043d\u043e\u043c \u0432\u043d\u0435\u0448\u043d\u0435\u043c \u0432\u0438\u0434\u0435 \u0442\u0435\u043c \u043d\u0430 GTK \u0438 Qt, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0442\u0435\u0441\u044c \u0441\u043e \u0441\u0442\u0430\u0442\u044c\u0451\u0439 [[Uniform look for Qt and GTK applications]].}}\n\n; Qt4\n\n\u0422\u0435\u043c\u0430 Breeze \u0431\u043e\u043b\u0435\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0434\u043b\u044f Qt4, \u0442\u0430\u043a \u043a\u0430\u043a \u0435\u0451 \u043d\u0435\u043b\u044c\u0437\u044f \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0431\u0435\u0437 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 KDE 4, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b \u0438\u0437 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f ''extra'' \u0432 \u0430\u0432\u0433\u0443\u0441\u0442\u0435 2018 ({{Bug|59784}}). \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 {{Pkg|breeze-gtk}} \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c GTK \u043a\u0430\u043a \u0441\u0442\u0438\u043b\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0432 {{ic|qtconfig-qt4}}.\n\n; GTK\n\n\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c\u0430\u044f \u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 GTK \u2013 {{Pkg|breeze-gtk}}. \u0414\u0430\u043d\u043d\u044b\u0435 \u0442\u0435\u043c\u044b \u0438\u043c\u0438\u0442\u0438\u0440\u0443\u044e\u0442 \u0434\u0438\u0437\u0430\u0439\u043d Breeze, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0439\u0441\u044f \u0432 KDE Plasma. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 {{Pkg|kde-gtk-config}} (\u0447\u0430\u0441\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u044b \u043f\u0430\u043a\u0435\u0442\u043e\u0432 {{grp|plasma}}) \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 {{ic|Breeze}} \u0438\u043b\u0438 {{ic|Breeze-Dark}} \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 GTK2-/GTK3-\u0442\u0435\u043c\u044b \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u041e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 > \u0421\u0442\u0438\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c GNOME/GTK+''.\n\n\u0412 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0438 \u0432 GTK-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 \u0438\u043c\u0435\u044e\u0442 \u0431\u0435\u043b\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0431\u0435\u043b\u043e\u043c \u0444\u043e\u043d\u0435, \u0447\u0442\u043e \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0443\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442 \u0438\u0445 \u0447\u0442\u0435\u043d\u0438\u0435. \u0427\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0446\u0432\u0435\u0442\u0430 \u0432 GTK2-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445, \u043d\u0430\u0439\u0434\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b \u0434\u043b\u044f \u043f\u043e\u0434\u0441\u043a\u0430\u0437\u043e\u043a (\"tooltips\") \u0432 \u0444\u0430\u0439\u043b\u0435 {{ic|.gtkrc-2.0}} \u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0435\u0433\u043e. \u0414\u043b\u044f GTK3-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0435 \u0434\u0432\u0430 \u0444\u0430\u0439\u043b\u0430: {{ic|gtk.css}} \u0438 {{ic|settings.ini}}.\n\n\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 GTK2-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, {{AUR|vuescan-bin}}) \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u043b\u043e\u0445\u043e \u0441\u043c\u043e\u0442\u0440\u044f\u0442\u0441\u044f \u0438\u0437-\u0437\u0430 \u043d\u0435\u0432\u0438\u0434\u0438\u043c\u044b\u0445 \u0444\u043b\u0430\u0436\u043a\u043e\u0432 \u0441 \u0442\u0435\u043c\u043e\u0439 Breeze \u0438\u043b\u0438 Adwaita \u0432 KDE Plasma. \u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0442\u0435\u043c\u0443 Numix-Frost-Light \u0438\u0437 \u043f\u0430\u043a\u0435\u0442\u0430 {{AUR|numix-frost-themes}} \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b'' > ''\u041e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439'' > ''\u0421\u0442\u0438\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c GNOME/GTK+'' > ''\u0421\u0442\u0438\u043b\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c GTK2''. Numix-Frost-Light \u0442\u0430\u043a\u0436\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 Breeze.\n\n===== \u0410\u0432\u0430\u0442\u0430\u0440 =====\n\nPlasma \u0438 [[SDDM (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|SDDM]] \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 PNG-\u0444\u0430\u0439\u043b {{ic|~/.face.icon}} \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u0432\u0430\u0442\u0430\u0440\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0435\u0433\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e  \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430, \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u0423\u0447\u0451\u0442\u043d\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c > \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438'' (\u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c]] \u043f\u0430\u043a\u0435\u0442 {{Pkg|user-manager}}). \u0418\u043a\u043e\u043d\u043a\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 {{ic|/usr/share/sddm/faces/}}.\n\n===== \u0412\u0438\u0434\u0436\u0435\u0442\u044b =====\n\n\u041f\u043b\u0430\u0437\u043c\u043e\u0438\u0434\u044b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u0438\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0435) \u0434\u043b\u044f KDE Plasma, \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430.\n\n\u0421\u0430\u043c\u044b\u0439 \u043b\u0451\u0433\u043a\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0435 \u043f\u043b\u0430\u0437\u043c\u043e\u0438\u0434\u044b \u2013 \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043d\u043e\u0435 \u043c\u0435\u043d\u044e \u043f\u0430\u043d\u0435\u043b\u0438 \u0438\u043b\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 \u0438 \u0432\u044b\u0431\u0440\u0430\u0442\u044c ''\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u0438\u0434\u0436\u0435\u0442\u044b > \u041f\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0438\u0434\u0436\u0435\u0442\u043e\u0432... > \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0432\u0438\u0434\u0436\u0435\u0442\u044b Plasma...''. \u0417\u0434\u0435\u0441\u044c \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c, \u0443\u0434\u0430\u043b\u044f\u0442\u044c \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0432\u0438\u0434\u0436\u0435\u0442\u044b, \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 [https://store.kde.org/ store.kde.org].\n\n\u0422\u0430\u043a\u0436\u0435 \u043c\u043d\u043e\u0433\u0438\u0435 \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u0435 \u043f\u043b\u0430\u0437\u043c\u043e\u0438\u0434\u044b \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 [https://aur.archlinux.org/packages.php?K=plasmoid AUR].\n\n===== \u0417\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0430\u043f\u043f\u043b\u0435\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c \u0442\u0440\u0435\u0435 =====\n\n[[\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] {{Pkg|plasma-pa}} \u0438\u043b\u0438 {{Pkg|kmix}} (\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Kmix \u0438\u0437 \u041c\u0435\u043d\u044e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439). \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e {{Pkg|plasma-pa}} \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u0430\u043a\u0435\u0442\u043e\u043c {{Grp|plasma}} \u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|1=\u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c [https://bugs.kde.org/show_bug.cgi?id=313579#c28 \u0448\u0430\u0433 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0438 \u0437\u0432\u0443\u043a\u0430], \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 {{ic|1=VolumePercentageStep=''\u0448\u0430\u0433''}} \u0432 \u0440\u0430\u0437\u0434\u0435\u043b {{ic|[Global]}} \u0444\u0430\u0439\u043b\u0430 {{ic|~/.config/kmixrc}}, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0432 \u0436\u0435\u043b\u0430\u0435\u043c\u044b\u0439 \u0448\u0430\u0433 (\u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e).}}\n\n===== \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043d\u0438 \u043f\u0430\u043d\u0435\u043b\u0438 =====\n\n\u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0430\u043d\u0435\u043b\u044c KDE Plasma \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0432\u0435\u0440\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u043a\u043e\u043d, \u0435\u0451 \u0442\u0435\u043d\u044c \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0430\u0434\u0430\u0435\u0442 \u043d\u0430 \u043d\u0438\u0445. [https://bbs.archlinux.org/viewtopic.php?pid=1228394#p1228394] \u0414\u043b\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0431\u0435\u0437 \u0432\u043b\u0438\u044f\u043d\u0438\u044f \u043d\u0430 \u043a\u0430\u043a\u0438\u0435-\u043b\u0438\u0431\u043e \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0435\u043d\u0438, [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] {{Pkg|xorg-xprop}} \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:\n\n $ xprop -remove _KDE_NET_WM_SHADOW\n\n\u0437\u0430\u0442\u0435\u043c \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u043e\u043c \u043c\u044b\u0448\u0438 \u043d\u0430 \u043f\u0430\u043d\u0435\u043b\u044c. [https://forum.kde.org/viewtopic.php?f=285&t=121592] \u0414\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 {{Pkg|xorg-xwininfo}} \u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u043a\u0440\u0438\u043f\u0442:\n\n{{hc|/usr/local/bin/kde-no-shadow|<nowiki>\n#!/bin/bash\nfor WID in $(xwininfo -root -tree | sed '/\"Plasma\": (\"plasmashell\" \"plasmashell\")/!d; s/^  *\\([^ ]*\\) .*/\\1/g'); do\n   xprop -id $WID -remove _KDE_NET_WM_SHADOW\ndone\n</nowiki>}}\n\n\u0417\u0430\u0434\u0430\u0439\u0442\u0435 \u043f\u0440\u0430\u0432\u0430 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u0430:\n\n # chmod 755 /usr/local/bin/kde-no-shadow\n\n\u0421\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043d\u043e\u043f\u043a\u0438 ''\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0439'' \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b'' > ''\u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435'' > ''\u0410\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a'':\n\n $ kcmshell5 autostart\n\n==== \u0414\u0435\u043a\u043e\u0440\u0430\u0446\u0438\u0438 \u043e\u043a\u043e\u043d ====\n\n[https://store.kde.org/browse/cat/114/ \u0414\u0435\u043a\u043e\u0440\u0430\u0446\u0438\u0438 \u043e\u043a\u043e\u043d] \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u041e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 > \u041e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u0435 \u043e\u043a\u043e\u043d''.\n\n\u0417\u0434\u0435\u0441\u044c \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0442\u0435\u043c\u044b \u043e\u0444\u043e\u0440\u043c\u043b\u0435\u043d\u0438\u044f. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0432 [https://aur.archlinux.org/packages.php?K=kde+window+decoration AUR].\n\n==== \u0422\u0435\u043c\u044b \u0437\u043d\u0430\u0447\u043a\u043e\u0432 ====\n\n\u0422\u0435\u043c\u044b \u0437\u043d\u0430\u0447\u043a\u043e\u0432 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u0417\u043d\u0430\u0447\u043a\u0438''.\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u0412\u0441\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 \u0434\u043b\u044f Linux \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 \u0444\u043e\u0440\u043c\u0430\u0442 \u0437\u043d\u0430\u0447\u043a\u043e\u0432, \u043d\u043e \u0432 \u0441\u0440\u0435\u0434\u0430\u0445 \u0432\u0440\u043e\u0434\u0435 [[GNOME (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u043d\u044c\u0448\u0435 \u0437\u043d\u0430\u0447\u043a\u043e\u0432 (\u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u0432 \u043c\u0435\u043d\u044e \u0438 \u043f\u0430\u043d\u0435\u043b\u044f\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432). \u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u0432 \u0442\u0435\u043c\u0430\u0445 \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0441\u0440\u0435\u0434, \u043a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0437\u043d\u0430\u0447\u043a\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 Plasma \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445 KDE, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0442\u0435\u043c\u044b \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0435 \u0441 Plasma.}}\n\n{{Tip (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u0412 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0435\u043c\u044b \u0437\u043d\u0430\u0447\u043a\u043e\u0432 \u043d\u0435 \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u0438\u0445 \u043e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u0442\u0435\u043c\u044b, \u0432\u0430\u043c \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u043a\u043e\u0432. \u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0438\u0445 \u043e\u0442 Breeze, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 {{ic|breeze}} \u0432 \u043c\u0430\u0441\u0441\u0438\u0432 {{ic|1=Inherits=}} \u0432 \u0444\u0430\u0439\u043b\u0435 {{ic|/usr/share/icon/''theme-name''/index.theme}}. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: {{ic|1=Inherits=breeze,hicolor}}. \u0414\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0442\u044c \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0442\u0435\u043c\u044b \u0437\u043d\u0430\u0447\u043a\u043e\u0432. \u041a\u0430\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c [[Pacman hooks]] \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u0442\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439.}}\n\n==== \u042d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u043c\u0435\u0441\u0442\u0430 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 ====\n\n\u0420\u0430\u0431\u043e\u0447\u0430\u044f \u0441\u0440\u0435\u0434\u0430 Plasma Netbook \u0431\u044b\u043b\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u0430 \u0438\u0437 Plasma 5, \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u043d\u0430 [https://forum.kde.org/viewtopic.php?f=289&t=126631&p=335947&hilit=plasma+netbook#p335899 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0444\u043e\u0440\u0443\u043c\u0435]. \u041d\u043e \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u044d\u0442\u043e, \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u043e\u0445\u043e\u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0432 \u0444\u0430\u0439\u043b {{ic|~/.config/kwinrc}}, \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0441\u0442\u0440\u043e\u043a\u0443 {{ic|1=BorderlessMaximizedWindows=true}} \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 {{ic|[Windows]}}.\n\n==== \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u044d\u0441\u043a\u0438\u0437\u043e\u0432 \u0444\u0430\u0439\u043b\u043e\u0432 ====\n\n\u0414\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0441\u043a\u0438\u0437\u043e\u0432 \u043c\u0435\u0434\u0438\u0430\u0444\u0430\u0439\u043b\u043e\u0432, \u0438\u0445 \u043f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0432 Dolphin \u0438\u043b\u0438 \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u0442\u043e\u043b\u0435, [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u043f\u0430\u043a\u0435\u0442\u044b {{Pkg|kdegraphics-thumbnailers}} \u0438 {{Pkg|ffmpegthumbs}}.\n\n\u0417\u0430\u0442\u0435\u043c \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 \u044d\u0441\u043a\u0438\u0437\u043e\u0432 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u043c \u0441\u0442\u043e\u043b\u0435: \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u041f\u041a\u041c \u043d\u0430 \u043e\u0431\u043e\u044f\u0445 \u0438 \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 ''\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0441\u0442\u043e\u043b...'' > ''\u0417\u043d\u0430\u0447\u043a\u0438'' > ''\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430...''.\n\n\u0412 ''Dolphin'' \u0434\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043c\u0435\u043d\u044e ''\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435'' > ''\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c Dolphin...'' > ''\u0413\u043b\u0430\u0432\u043d\u043e\u0435'' > ''\u041c\u0438\u043d\u0438\u0430\u0442\u044e\u0440\u044b''.\n\n=== \u041f\u0435\u0447\u0430\u0442\u044c ===\n\n{{Tip (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 [[CUPS (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438. \u041f\u0440\u0438\u043d\u0442\u0435\u0440\u044b, \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0435 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 KDE.}}\n\n\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u043d\u0442\u0435\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u041f\u0440\u0438\u043d\u0442\u0435\u0440\u044b''. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u043f\u0430\u043a\u0435\u0442\u044b {{Pkg|print-manager}} \u0438 {{Pkg|cups}}. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0435 CUPS \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 [[CUPS (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430]].\n\n=== \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Samba/Windows ===\n\n\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 [[Samba]] (\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0441 \u043f\u0430\u043a\u0435\u0442\u043e\u043c {{Pkg|samba}}), \u0435\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0441\u043b\u0443\u0436\u0431\u0430\u043c Windows. \n\n\u0414\u043b\u044f \u043e\u0431\u043c\u0435\u043d\u0430 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 Dolphin \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043f\u0430\u043a\u0435\u0442 {{Pkg|kdenetwork-filesharing}} \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043e\u0431\u0449\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 (userhares), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a ({{ic|smb.conf}}). \u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043f\u043e \u0435\u0433\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u044b \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 [[Samba (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043e\u0431\u0449\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043e\u0442 \u0438\u043c\u0435\u043d\u0438 \u043e\u0431\u044b\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f]]. \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u043e\u0431\u043c\u0435\u043d \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0432 Dolphin \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 Samba.\n\n{{Tip (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 {{ic|*}} (\u0437\u0432\u0451\u0437\u0434\u043e\u0447\u043a\u0443) \u0432 \u0438\u043c\u0435\u043d\u0438 \u0438 \u043f\u0430\u0440\u043e\u043b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043e\u0431\u0449\u0435\u043c\u0443 \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0443 Windows \u0431\u0435\u0437 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u0432 \u0434\u0438\u0430\u043b\u043e\u0433\u0435 Dolphin.}}\n\n\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0445 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u0432 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 [[GTK+ (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 GVfs \u0442\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c, \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0430 Samba \u0432 Dolphin (\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e KIO) \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u0442 \u0444\u0430\u0439\u043b \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u0435\u0440\u0435\u0434 \u0435\u0433\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435\u043c \u0432 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c (\u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u2014 [[VLC]]). \u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u044b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 GTK, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, {{Pkg|thunar}} \u0441 {{Pkg|gvfs}} \u0438 {{Pkg|gvfs-smb}} (\u0438 {{Pkg|gnome-keyring}} \u0434\u043b\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445).\n\n\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e [[File systems (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u041c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b|\u0441\u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c]] \u043e\u0431\u0449\u0438\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 Samba \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e {{Pkg|cifs-utils}}. \u0422\u0430\u043a, \u0434\u043b\u044f Plasma \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u043e\u0439 \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043e\u0431\u044b\u0447\u043d\u043e. \u0414\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 [[Samba (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u0420\u0443\u0447\u043d\u043e\u0435 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435]] \u0438 [[Samba (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435]].\n\n\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a Samba \u0438\u0437 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c {{AUR|samba-mounter-git}}, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0442\u0443 \u0436\u0435 \u0441\u0430\u043c\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u043d\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0443\u044e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b'' > ''Network Drivers''. \u0422\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435, \u0434\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u0435\u0442 \u043b\u043e\u043c\u0430\u0442\u044c\u0441\u044f \u0441 \u0432\u044b\u0445\u043e\u0434\u043e\u043c \u043d\u043e\u0432\u044b\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 KDE Plasma.\n\n=== \u041a\u043e\u043c\u043d\u0430\u0442\u044b KDE ===\n\n[https://userbase.kde.org/Plasma#Activities \u041a\u043e\u043c\u043d\u0430\u0442\u044b KDE] (''Desktop Activities'') \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430, \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438.\n\n=== \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u043d\u0435\u0440\u0433\u043e\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435\u043c ===\n\n[[\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] {{Pkg|powerdevil}} \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0441\u043b\u0443\u0436\u0431\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u043d\u0435\u0440\u0433\u043e\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435\u043c Plasma. \u0414\u0430\u043d\u043d\u0430\u044f \u0441\u043b\u0443\u0436\u0431\u0430 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u044d\u043d\u0435\u0440\u0433\u043e\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f, \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0435 \u044f\u0440\u043a\u043e\u0441\u0442\u0438 \u044d\u043a\u0440\u0430\u043d\u0430 (\u0435\u0441\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f) \u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0430\u043a\u043a\u0443\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432.\n\n\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043f\u0430\u043a\u0435\u0442\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 [[NetworkManager]] \u0438 [[Bluez]], \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f {{AUR|powerdevil-light}}. \n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)| \n* Powerdevil \u043c\u043e\u0436\u0435\u0442 \u043d\u0435 [[Power management#Power managers|\u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c]] \u0432\u0441\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 logind (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 \u043a\u0440\u044b\u0448\u043a\u0438 \u043d\u043e\u0443\u0442\u0431\u0443\u043a\u0430). \u0412 \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0430\u043c\u043e\u0433\u043e logind \u2014 \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 [[Power management#Power management with systemd]].\n* \u0422\u0430\u043a\u0436\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0432\u044b\u0448\u0435, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u043d\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c ''LidSwitchIgnoreInhibited'' \u0432 logind, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0440\u0430\u0432\u043d\u044f\u0435\u0442\u0441\u044f ''yes''. [https://bbs.archlinux.org/viewtopic.php?pid&#61;1649022#p1649022]}}\n\n=== \u0410\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 ===\n\nKDE Plasma \u043c\u043e\u0436\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u043b\u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a, \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u0417\u0430\u043f\u0443\u0441\u043a \u0438 \u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u0435 > \u0410\u0432\u0442\u043e\u0437\u0430\u043f\u0443\u0441\u043a''. \u0414\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u0444\u0430\u0439\u043b ''.desktop'', \u0434\u043b\u044f \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u2014 [[Wikipedia:ru:\u0421\u0438\u043c\u0432\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430|\u0441\u0438\u043c\u0432\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0441\u0441\u044b\u043b\u043a\u0430]].\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\n* \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c KDE Plasma.\n* \u0421\u043a\u0440\u0438\u043f\u0442\u044b \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f [[Help:Reading (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u0421\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c|\u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c\u0438]].}}\n\n* \u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u0435 [[\u044f\u0440\u043b\u044b\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439]] (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u0430\u0439\u043b\u044b ''.desktop'') \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 [[XDG Autostart]].\n\n* \u0420\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u0438\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u0432 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0439:\n\n:; {{ic|~/.config/plasma-workspace/env/}}: \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c KDE Plasma.\n:; {{ic|~/.config/autostart-scripts/}}: \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.\n:; {{ic|~/.config/plasma-workspace/shutdown/}}: \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b.\n\n=== Phonon ===\n\n\u0418\u0437 [[Wikipedia:ru:Phonon|\u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438]]:\n\n:Phonon \u2014 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u043e\u0442 KDE, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 API \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0430-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. Phonon \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0445 \u0440\u0435\u0430\u043b\u044c\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443.\n\nPhonon \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0441\u0440\u0435\u0434\u0435 KDE, \u043a\u0430\u043a \u0434\u043b\u044f \u0430\u0443\u0434\u0438\u043e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439), \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u0432\u0438\u0434\u0435\u043e (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0432\u0438\u0434\u0435\u043e-\u043c\u0438\u043d\u0438\u0430\u0442\u044e\u0440 \u0432 [[Dolphin]]).\n\n==== \u041a\u0430\u043a\u043e\u0439 \u0431\u0435\u043a\u0435\u043d\u0434 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c? ====\n\n\u041d\u0430 \u0432\u044b\u0431\u043e\u0440 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0431\u0435\u043a\u0435\u043d\u0434\u044b, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 [[GStreamer]]  \u0438 [[VLC]], \u043a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u043c\u0435\u0435\u0442 \u0432\u0435\u0440\u0441\u0438\u044e \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Qt 4 \u0438 Qt 5 ({{AUR|phonon-qt4-gstreamer}}, {{Pkg|phonon-qt5-gstreamer}} \u2013 {{AUR|phonon-qt4-vlc}}, {{Pkg|phonon-qt5-vlc}}).\n\n\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0431\u0435\u043a\u0435\u043d\u0434 \u043d\u0430 VLC \u0438\u043c\u0435\u0435\u0442 [https://www.phoronix.com/scan.php?page=news_item&px=MTUwNDM \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442], \u043d\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u044b Linux (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Kubuntu \u0438 Fedora-KDE) \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c GStreamer, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0437\u0430\u043f\u0430\u0442\u0435\u043d\u0442\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043a\u043e\u0434\u0435\u043a\u0438 MPEG. \u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0443 \u043e\u0431\u043e\u0438\u0445 \u0431\u0435\u043a\u0435\u043d\u0434\u043e\u0432 \u043d\u0435\u043c\u043d\u043e\u0433\u043e [https://community.kde.org/Phonon/FeatureMatrix \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438]. \n\n\u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0431\u0435\u043a\u0435\u043d\u0434\u0430 \u043d\u0430 Gstreamer \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 [[Codecs (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u043a\u043e\u0434\u0435\u043a\u043e\u0432]]:\n* {{Pkg|gst-libav}} \u2014 \u043a\u043e\u0434\u0435\u043a\u0438 Libav.\n* {{Pkg|gst-plugins-good}} \u2014 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 PulseAudio \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0434\u0435\u043a\u0438.\n* {{Pkg|gst-plugins-ugly}} \u2014 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0434\u0435\u043a\u0438.\n* {{Pkg|gst-plugins-bad}} \u2014 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u0434\u0435\u043a\u0438.\n\n\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0431\u044b\u043b\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u044b \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0431\u0435\u043a\u0435\u043d\u0434\u044b, \u043d\u043e \u043e\u043d\u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438 \u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u044b \u0431\u044b\u043b\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b \u0438\u0437 AUR.\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|1=<br>\n* \u041c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0435\u043a\u0435\u043d\u0434\u043e\u0432 \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u0445 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''phononsettings''.\n* \u0421\u043e\u0433\u043b\u0430\u0441\u043d\u043e [https://forum.kde.org/viewtopic.php?f=250&t=126476&p=335080 \u0444\u043e\u0440\u0443\u043c\u0443 KDE], \u0443 \u0431\u0435\u043a\u0435\u043d\u0434\u0430 \u043d\u0430 VLC \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 [[wikipedia:ru:ReplayGain|ReplayGain]].\n* \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0435\u043a\u0435\u043d\u0434\u0430 \u043d\u0430 VLC \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c\u0441\u044f \u0441\u0431\u043e\u0438 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043a\u043e\u0433\u0434\u0430 Plasma \u0445\u043e\u0447\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u0441\u043e \u0437\u0432\u0443\u043a\u043e\u043c (\u0442\u0430\u043a\u0436\u0435 \u0438 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445) [https://forum.kde.org/viewtopic.php?f=289&t=135956]. \u0414\u0430\u043d\u043d\u0443\u044e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0448\u0438\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043a\u0435\u0448\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 VLC:\n{{bc|# /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins}}\n}}\n\n== \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f ==\n\n\u041f\u0440\u043e\u0435\u043a\u0442 KDE \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 KDE Plasma, \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 {{Grp|kde-applications}}. \u0422\u0430\u043a\u0436\u0435 \u0432 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438 [[:Category:KDE (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0441\u0442\u0430\u0442\u044c\u0438, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c KDE.\n\n\u041a\u0440\u043e\u043c\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0432 KDE Applications, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0442\u0430\u043a\u0436\u0435 \u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435, \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044e\u0449\u0438\u0435 KDE Plasma. \u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043d\u0438\u0445 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0438\u0436\u0435.\n\n=== \u0421\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 ===\n\n==== \u0421\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u0435 \u043a\u043b\u0430\u0432\u0438\u0448 \u0434\u043b\u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 X-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 ====\n\n\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0432\u0432\u043e\u0434\u0430 > \u041a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u0430 > \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e (\u0432\u043a\u043b\u0430\u0434\u043a\u0430)'' \u0438 \u043e\u0442\u043c\u0435\u0442\u044c\u0442\u0435 \u0444\u043b\u0430\u0436\u043e\u043a ''\"\u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448 \u0434\u043b\u044f \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0431\u043e\u0442\u044b X-\u0441\u0435\u0440\u0432\u0435\u0440\u0430\"''.\n\n==== KCM ====\n\n\u041c\u043e\u0434\u0443\u043b\u0438 KCM ('''KC'''onfig '''M'''odule) \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b''. \u0422\u0430\u043a\u0436\u0435 \u043e\u043d\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b ''kcmshell5''\n\n* {{App|sddm-kcm|\u041c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 [[SDDM (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]].|https://cgit.kde.org/sddm-kcm.git|{{Pkg|sddm-kcm}}}}\n* {{App|kde-gtk-config|\u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f GTK2 \u0438 GTK3 \u0434\u043b\u044f KDE.|https://cgit.kde.org/kde-gtk-config.git|{{Pkg|kde-gtk-config}}}}\n* {{App|System policies|\u041d\u0430\u0431\u043e\u0440 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430\u043c \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 [[Polkit (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|PolicyKit]].|https://cgit.kde.org/polkit-kde-kcmodules-1.git|{{AUR|kcm-polkit-kde-git}}}}\n* {{App|wacom tablet|\u0413\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f Wacom Linux Drivers.|https://www.linux-apps.com/p/1127862/|{{Pkg|kcm-wacomtablet}}}}\n* {{App|Kcmsystemd|\u041c\u043e\u0434\u0443\u043b\u044c \u0434\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 systemd.|https://github.com/rthomsen/kcmsystemd|{{AUR|systemd-kcm}}}}\n\n\u0411\u043e\u043b\u044c\u0448\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 KCM \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435 [https://www.linux-apps.com/search?projectSearchText=KCM linux-apps.com].\n\n=== \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a ===\n\n\u0412 KDE Plasma \u0435\u0441\u0442\u044c [[Wikipedia:ru:\u041b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a|\u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0438\u043a]] \u2014 [[Baloo]], \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0438\u0441\u043a\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b.\n\n=== \u0412\u0435\u0431-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b ===\n\n\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u0435\u0431-\u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 Plasma:\n\n* {{App|[[Wikipedia:ru:Konqueror|Konqueror]]|\u0427\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 KDE. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0434\u0432\u0430 \u0434\u0432\u0438\u0436\u043a\u0430 \u2014 KHTML \u0438 Qt WebEngine, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 [[Chromium (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]].|https://konqueror.org/|{{Pkg|konqueror}}}}\n* {{App|[[Wikipedia:ru:Falkon|Falkon]]|\u0412\u0435\u0431-\u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Qt \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u0432 \u0441\u0435\u0431\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Plasma. Falkon (\u0440\u0430\u043d\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043a\u0430\u043a Qupzilla) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0434\u0432\u0438\u0436\u043e\u043a Qt WebEngine.|https://userbase.kde.org/Falkon/|{{Pkg|falkon}}}}\n* {{App|[[Chromium]]|Chromium \u0438 \u0435\u0433\u043e \u043f\u0440\u043e\u043f\u0440\u0438\u0435\u0442\u0430\u0440\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 Google Chrome \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b \u0432 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Plasma. \u041e\u043d\u0438 [[KDE Wallet#KDE Wallet for Chrome and Chromium|\u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c]] KWallet \u0438 \u0434\u0438\u0430\u043b\u043e\u0433\u0438 Plasma \u0434\u043b\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432.|https://www.chromium.org/|{{Pkg|chromium}}}}\n* {{App|[[Firefox]]|Firefox \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0434\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Plasma. \u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 [[Firefox#KDE/GNOME integration]] \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.|https://mozilla.org/firefox|{{Pkg|firefox}}}}\n\n{{Tip (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 Plasma 5.13 \u043c\u043e\u0436\u043d\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c [[Firefox (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0438\u043b\u0438 [[Chrome]] \u0441 Plasma \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439: \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435\u043c \u043c\u0435\u0434\u0438\u0430\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c \u0438\u0437 \u0442\u0440\u0435\u044f Plasma, \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430\u0445 \u0438 \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0432\u043a\u043b\u0430\u0434\u043e\u043a \u0447\u0435\u0440\u0435\u0437 KRunner. [[\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] {{pkg|plasma-browser-integration}} \u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0434\u043b\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430. \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Chrome/Chromium \u0443\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0430, \u0434\u043b\u044f Firefox \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 [[Firefox#KDE/GNOME integration]].}}\n\n=== PIM ===\n\nKDE \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0432\u043e\u0439 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f [[Wikipedia:Personal information management|\u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439]] (PIM), \u0447\u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u044b\u043c\u0438 \u043f\u0438\u0441\u044c\u043c\u0430\u043c\u0438, \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430\u043c\u0438, \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044f\u043c\u0438 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0427\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 PIM-\u043f\u0430\u043a\u0435\u0442\u044b, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0433\u0440\u0443\u043f\u043f\u043e\u0439 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 {{Grp|kdepim}} \u0438\u043b\u0438 \u043c\u0435\u0442\u0430-\u043f\u0430\u043a\u0435\u0442\u043e\u043c {{Pkg|kdepim-meta}}.\n\n==== Akonadi ====\n\nAkonadi \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u0435\u0448\u0430 \u0434\u043b\u044f PIM-\u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435, \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u0438\u0445 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438. \u0421\u044e\u0434\u0430 \u0432\u0445\u043e\u0434\u044f\u0442: \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u043f\u043e\u0447\u0442\u0430, \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b, \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0438, \u0441\u043e\u0431\u044b\u0442\u0438\u044f, \u0436\u0443\u0440\u043d\u0430\u043b\u044b, \u0431\u0443\u0434\u0438\u043b\u044c\u043d\u0438\u043a\u0438, \u0437\u0430\u043c\u0435\u0442\u043a\u0438 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0424\u043e\u0440\u043c\u0430\u0442 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0441\u0430\u043c\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 vCard).\n\n[[\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u043f\u0430\u043a\u0435\u0442 {{Pkg|akonadi}}. \u0414\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 {{Pkg|kdepim-addons}}.\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c [[MariaDB]] \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u0434\u043b\u044f \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 {{Pkg|mariadb}} \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u043f\u0430\u043a\u0435\u0442\u0430 {{Pkg|akonadi}}:\n\n # pacman -S akonadi --assume-installed mariadb\n\n\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 {{Bug|32878}}.\n}}\n\n===== MySQL =====\n\n\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Akonadi \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 {{ic|/usr/bin/mysqld}} (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044d\u0442\u043e [[MariaDB]], \u0441\u043c. \u0441\u0442\u0430\u0442\u044c\u044e [[MySQL]] \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u0445) \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 MySQL \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 {{ic|~/.local/share/akonadi/db_data/}}.\n\n====== \u041e\u0431\u0449\u0435\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 MySQL ======\n\nAkonadi \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u0449\u0435\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 [[MySQL (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445.[https://techbase.kde.org/KDE_PIM/Akonadi#Can_Akonadi_use_a_normal_MySQL_server_running_on_my_system.3F]\n\n{{Expansion|\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438.}}\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QMYSQL\n\n[QMYSQL]\nHost=\nName=akonadi_''\u0438\u043c\u044f_\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f''\nOptions=\"UNIX_SOCKET=/run/mysqld/mysqld.sock\"\nStartServer=false\n}}\n\n===== PostgreSQL =====\n\nAkonadi \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043a\u0430\u043a \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043e\u0431\u0449\u0435\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0433\u043e \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 [[PostgreSQL (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, {{ic|postgresql.service}}), \u0442\u0430\u043a \u0438 \u0437\u0430\u043f\u0443\u0441\u043a PostgreSQL \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 {{ic|~/.local/share/akonadi/db_data/}}.\n\n====== \u042d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 PostgreSQL \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f ======\n\n[[\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u043f\u0430\u043a\u0435\u0442\u044b {{Pkg|postgresql}} \u0438 {{Pkg|postgresql-old-upgrade}}.\n\n\u041e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Akonadi \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QPSQL\n}}\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\n* \u0421\u0435\u043a\u0446\u0438\u044f {{ic|[QPSQL]}} \u0438 \u0435\u0451 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Akonadi.\n* \u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 {{ic|~/.local/share/akonadi/db_data/}}.\n}}\n\n\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Akonadi \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 {{ic|akonadictl start}} \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441: {{ic|akonadictl status}}.\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\n* \u041d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 {{Pkg|akonadi}} 19.08.0-1 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL {{ic|~/.local/share/akonadi/db_data/}} \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u0440\u0443\u043f\u043d\u043e\u0433\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f PostgreSQL.\n* \u0411\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 {{Pkg|akonadi}} \u0442\u0440\u0435\u0431\u0443\u044e\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u043e\u0441\u043b\u0435 \u043a\u0440\u0443\u043f\u043d\u044b\u0445 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 PostgreSQL. \u0421\u043b\u0435\u0434\u0443\u0439\u0442\u0435 [https://userbase.kde.org/Akonadi/Postgres_update \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 KDE UserBase Wiki], \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 PostgreSQL \u0432 {{ic|~/.local/share/akonadi/db_data/}}, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u0443\u044e Akonadi. \u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0437\u0430\u0434\u0430\u043d\u044b \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u043f\u0443\u0442\u0438 \u043a \u0431\u0438\u043d\u0430\u0440\u043d\u044b\u043c \u0444\u0430\u0439\u043b\u0430\u043c PostgreSQL, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 {{Pkg|postgresql}} \u0438 {{Pkg|postgresql-old-upgrade}}, \u0441\u043c. [[PostgreSQL#Upgrading PostgreSQL]].}}\n\n====== \u041e\u0431\u0449\u0435\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 PostgreSQL ======\n\n\u0414\u0430\u043d\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 [[PostgreSQL (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]].\n\n\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f PostgreSQL:\n\n [postgres]$ createuser ''\u0438\u043c\u044f_\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f''\n\n\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f Akonadi:\n\n [postgres]$ createdb -O ''\u0438\u043c\u044f_\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f'' --locale=en_US.UTF-8 -T template0 akonadi-''\u0438\u043c\u044f_\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f''\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u0442\u0435 Akonadi, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u043e\u0431\u0449\u0435\u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 PostgreSQL:\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QPSQL\n\n[QPSQL]\nHost=/run/postgresql\nName=akonadi-''\u0438\u043c\u044f_\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f''\nStartServer=false\n}}\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u043e\u0440\u0442, \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u043f\u0430\u0440\u043e\u043b\u044c \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043e\u043f\u0446\u0438\u0439 {{ic|1=Port=}}, {{ic|1=User=}}, {{ic|1=Password=}} \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 {{ic|[QPSQL]}}.}}\n\n\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Akonadi \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 {{ic|akonadictl start}} \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0435\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441: {{ic|akonadictl status}}.\n\n===== SQLite =====\n\n\u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f [[SQLite]] \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0439\u0442\u0435 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Akonadi \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:\n\n{{hc|~/.config/akonadi/akonadiserverrc|2=\n[%General]\nDriver=QSQLITE3\n}}\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\n* \u0421\u0435\u043a\u0446\u0438\u044f {{ic|[QSQLITE3]}} \u0438 \u0435\u0451 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Akonadi.\n* \u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 {{ic|~/.local/share/akonadi/akonadi.db}}.\n}}\n\n===== \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Akonadi =====\n\n\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0440\u0430\u0437\u0434\u0435\u043b [https://userbase.kde.org/Akonadi#Disabling_the_Akonadi_subsystem Disabling the Akonadi subsystem] \u0432 KDE UserBase.\n\n=== KDE Telepathy ===\n\n[https://community.kde.org/KTp KDE Telepathy] \u2014 \u043f\u0440\u043e\u0435\u043a\u0442, \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u043b\u0443\u0447\u0448\u0435\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u043c\u0435\u043d\u0430 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u043c\u0438 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u0441 \u0440\u0430\u0431\u043e\u0447\u0438\u043c \u0441\u0442\u043e\u043b\u043e\u043c KDE, \u043f\u0440\u0438\u0448\u0435\u0434\u0448\u0438\u0439 \u043d\u0430 \u0441\u043c\u0435\u043d\u0443 Kopete. \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0431\u0435\u043a\u0435\u043d\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a Telepathy.\n\n\u0427\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u044b Telepathy, [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u0433\u0440\u0443\u043f\u043f\u0443 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 {{Grp|telepathy}}. \u041a\u043b\u0438\u0435\u043d\u0442 Telepathy \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0441 \u043f\u0430\u043a\u0435\u0442\u043e\u043c {{Pkg|telepathy-kde-meta}}, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u0430\u043a\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0432 \u0441\u0435\u0431\u044f \u0432\u0441\u0435 \u043f\u0430\u043a\u0435\u0442\u044b \u0438\u0437 \u0433\u0440\u0443\u043f\u043f\u044b {{Grp|telepathy-kde}}.\n\n==== \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Telegram \u0441 KDE Telepathy ====\n\n\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b [[Telegram (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0441 \u043f\u0430\u043a\u0435\u0442\u043e\u043c {{pkg|telepathy-haze}}, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 {{aur|telegram-purple}} \u0438\u043b\u0438 {{aur|telegram-purple-git}} \u0438 {{aur|telepathy-morse-git}}. \u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u2014 \u044d\u0442\u043e \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430, \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0439 \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 Telegram (\u0443\u0447\u0438\u0442\u044b\u0432\u0430\u044f \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0441\u0442\u0440\u0430\u043d\u044b {{ic|+''xx''}}, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, {{ic|+49}} \u0434\u043b\u044f \u0413\u0435\u0440\u043c\u0430\u043d\u0438\u0438).\n\n\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u043e\u0432\u0430\u0442\u043e\u0439: \u0435\u0441\u043b\u0438 \u043f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 KDE Telepathy \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u043d\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f (\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u043c \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u043d\u043e\u043c\u0435\u0440\u0435), \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u0435\u0433\u043e \u043c\u0435\u0436\u0434\u0443 \u043e\u0434\u0438\u043d\u0430\u0440\u043d\u044b\u0445 \u043a\u0430\u0432\u044b\u0447\u0435\u043a, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e, \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0443\u0431\u0435\u0440\u0438\u0442\u0435 \u044d\u0442\u0438 \u043a\u0430\u0432\u044b\u0447\u043a\u0438 \u0438\u0437 \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 ({{ic|~/.local/share/telepathy/mission-control/accounts.cfg}}) \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 (\u0432 \u0438\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043e\u0448\u0438\u0431\u043a\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438).\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u0424\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043a\u043e\u0433\u0434\u0430 KDE Telepathy \u043d\u0435 \u0437\u0430\u043f\u0443\u0449\u0435\u043d. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u0441\u0435\u0430\u043d\u0441\u0435 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u043c \u043e\u0442 KDE Plasma. \u0412 \u0438\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0432\u0430\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435\u043c.}}\n\n=== KDE Connect ===\n\n[https://community.kde.org/KDEConnect KDE Connect] \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0440\u044f\u0434 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f [[Android]]-\u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430 \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443 \u0441 Linux:\n\n* \u041f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b\u044b \u0438 \u0441\u0441\u044b\u043b\u043a\u0438 \u0441 KDE Plasma \u0432 \u043b\u044e\u0431\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (\u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442).\n* \u042d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u0442\u0430\u0447\u043f\u0430\u0434\u0430: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u044d\u043a\u0440\u0430\u043d \u0432\u0430\u0448\u0435\u0433\u043e \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430 \u043a\u0430\u043a \u0442\u0430\u0447\u043f\u0430\u0434 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430.\n* \u0421\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439 (Android 4.3+): \u043f\u043e\u043b\u0443\u0447\u0430\u0439\u0442\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0441 \u0432\u0430\u0448\u0435\u0433\u043e Android-\u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430 \u0432 KDE Plasma.\n* \u041e\u0431\u0449\u0438\u0439 \u0431\u0443\u0444\u0435\u0440 \u043e\u0431\u043c\u0435\u043d\u0430: \u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0439\u0442\u0435 \u0441 KDE Plasma \u0432 Android (\u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442).\n* \u0423\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u0435\u0434\u0438\u0430\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c: \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0432\u0430\u0448 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0434\u0438\u0430\u043f\u043b\u0435\u0435\u0440\u0430\u043c\u0438 \u0432 Linux.\n* \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e Wi-Fi: \u043d\u0435\u0442 \u043d\u0443\u0436\u0434\u044b \u0432 \u043f\u0440\u043e\u0432\u043e\u0434\u0430\u0445 \u0438\u043b\u0438 Bluetooth.\n* \u0428\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0435 RSA: \u0432\u0430\u0448\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438.\n\n\u0412\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c KDE Connect \u043a\u0430\u043a \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0435 (\u043f\u0430\u043a\u0435\u0442 {{Pkg|kdeconnect}}), \u0442\u0430\u043a \u0438 \u043d\u0430 Android-\u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0435 (\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u0437 [https://play.google.com/store/apps/details?id=org.kde.kdeconnect_tp Google Play] \u0438\u043b\u0438 [https://f-droid.org/packages/org.kde.kdeconnect_tp/ F-Droid]). \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0442\u0430\u043a\u0436\u0435 [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c]] \u043f\u0430\u043a\u0435\u0442 {{Pkg|sshfs}} \u0438 \u0434\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0424\u0421 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.\n\nKDE Connect \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u0441\u0440\u0435\u0434\u0430\u043c\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430. \u0414\u043b\u044f \u0442\u0435\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 AppIndicators (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Unity) [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u0442\u0430\u043a\u0436\u0435 \u043f\u0430\u043a\u0435\u0442 {{AUR|indicator-kdeconnect}}. \u0414\u043b\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 GNOME, \u043b\u0443\u0447\u0448\u0435\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0441\u0442\u0438\u0447\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 {{AUR|gnome-shell-extension-gsconnect}} \u0432\u043c\u0435\u0441\u0442\u043e {{Pkg|kdeconnect}}.\n\n\u0415\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 [[\u043c\u0435\u0436\u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u044d\u043a\u0440\u0430\u043d]], \u0432\u0430\u043c \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u0440\u044b\u0442\u044c TCP- \u0438 UDP-\u043f\u043e\u0440\u0442\u044b \u043e\u0442 {{ic|1714}} \u0434\u043e {{ic|1764}}. \u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 https://community.kde.org/KDEConnect#Troubleshooting.\n\n== \u0421\u043e\u0432\u0435\u0442\u044b \u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 ==\n\n=== \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u043e\u043a\u043e\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 ===\n\nPlasma \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u0430\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043e\u043a\u043e\u043d\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0432 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u044b''. [https://github.com/KDE/plasma-desktop/commit/2f83a4434a888cd17b03af1f9925cbb054256ade] \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 [[Environment variables (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f]] {{ic|KDEWM}} \u043f\u0435\u0440\u0435\u0434 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c Plasma. [https://wiki.haskell.org/Xmonad/Using_xmonad_in_KDE] \u0421\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432 \u0441\u043a\u0440\u0438\u043f\u0442 {{ic|set_window_manager.sh}} \u0432 {{ic|~/.config/plasma-workspace/env}} \u0438 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u044f \u0442\u0430\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e {{ic|KDEWM}}. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u043a\u043e\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 [[i3 (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0441\u043a\u0440\u0438\u043f\u0442 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:\n\n{{hc|~/.config/plasma-workspace/env/set_window_manager.sh|2=\nexport KDEWM=/usr/bin/i3\n}}\n\n\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u0441\u043a\u0440\u0438\u043f\u0442 \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c:\n\n{{bc|$ chmod +x ~/.config/plasma-workspace/env/set_window_manager.sh}}\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0442\u044c \u0434\u0438\u0430\u043b\u043e\u0433\u0430\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0432 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0434\u043b\u044f \u0438\u0445 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432 \u043e\u043a\u043e\u043d\u043d\u043e\u043c \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0435 i3. \u0421\u043c. \u0440\u0430\u0437\u0434\u0435\u043b [[I3 (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0435 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0435 \u0441 \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u043c\u0438 \u0434\u0438\u0430\u043b\u043e\u0433\u0430\u043c\u0438]] \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.}}\n\n==== \u0421\u0435\u0430\u043d\u0441 KDE/Openbox ====\n\n\u041f\u0430\u043a\u0435\u0442 {{Pkg|openbox}} \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u0435\u0430\u043d\u0441 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f KDE Plasma \u0441 [[Openbox (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]]. \u0427\u0442\u043e\u0431\u044b \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 ''KDE/Openbox'' \u0438\u0437 \u043c\u0435\u043d\u044e [[Display manager (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u044d\u043a\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430]].\n\n\u0414\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0430\u043d\u0441\u0430 \u0432\u0440\u0443\u0447\u043d\u0443\u044e, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u0432\u0430\u0448 \u0444\u0430\u0439\u043b [[xinitrc (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]]:\n\n{{hc|~/.xinitrc|\nexec openbox-kde-session\n}}\n\n==== \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u044b\u0445 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432 ====\n\n\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u043c\u0435\u043d\u044b Kwin \u043d\u0430 [[\u043e\u043a\u043e\u043d\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440]] \u0431\u0435\u0437 [[Xorg (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u041a\u043e\u043c\u043f\u043e\u0437\u0438\u0442|\u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430]] (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, [[Openbox (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]]), \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u044b\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u044b \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 (\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c \u0438 \u0442.\u043f.) \u043f\u0440\u043e\u043f\u0430\u0434\u0443\u0442. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, [[Xcompmgr (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0438\u043b\u0438 [[Compton (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]].\n\n=== \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u043a\u0440\u0430\u043d\u0430 / \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u043e\u0432 ===\n\n\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u044d\u043a\u0440\u0430\u043d\u0430 \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u043e\u0432 \u0432 Plasma [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u043f\u0430\u043a\u0435\u0442 {{Pkg|kscreen}}, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u044f\u0432\u044f\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u042d\u043a\u0440\u0430\u043d''.\n\n=== KWin-lowlatency ===\n\n[https://github.com/tildearrow/kwin-lowlatency KWin-lowlatency] \u2014 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0437\u0430\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f \u0432 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0435 KWin. \u0414\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u043f\u0430\u043a\u0435\u0442 {{AUR|kwin-lowlatency}}.\n\n=== \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 ICC-\u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439 ===\n\n\u0414\u043b\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 [[ICC profiles (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)||ICC-\u043f\u0440\u043e\u0444\u0438\u043b\u0435\u0439]] \u0432 Plasma [[\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435]] \u043f\u0430\u043a\u0435\u0442 {{Pkg|colord-kde}}, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0446\u0438\u0438 \u0432 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u0426\u0432\u0435\u0442\u043e\u0432\u0430\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0446\u0438\u044f''.\n\nICC-\u043f\u0440\u043e\u0444\u0438\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0438\u043c\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 ''\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0444\u0438\u043b\u044c''.\n\n=== \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044f \u041c\u0435\u043d\u044e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043a\u043b\u0430\u0432\u0438\u0448\u0435\u0439 Super (Windows) ===\n\n\u0414\u043b\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:\n\n $ kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta \"\"\n\n=== \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u043a\u043b\u0430\u0434\u043e\u043a \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0432 \u043c\u0435\u043d\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 ===\n\nKDE Plasma \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0438 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u0432 \u043c\u0435\u043d\u044e \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0435\u0441\u043b\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0430 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u0432 \u0441 Plasma (Plasma Browser Integration).\n\n\u0414\u043b\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438:\n\n $ mkdir ~/.local/share/kservices5\n $ sed 's/EnabledByDefault=true$/EnabledByDefault=false/' /usr/share/kservices5/plasma-runner-bookmarks.desktop > ~/.local/share/kservices5/plasma-runner-bookmarks.desktop\n\n== \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c ==\n\n=== \u0428\u0440\u0438\u0444\u0442\u044b ===\n\n==== \u0428\u0440\u0438\u0444\u0442\u044b \u0432 KDE Plasma \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u043f\u043b\u043e\u0445\u043e ====\n\n\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0448\u0440\u0438\u0444\u0442\u044b {{Pkg|ttf-dejavu}} \u0438 {{Pkg|ttf-liberation}}. \u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u0439\u0434\u0438\u0442\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0438 \u043d\u0435 \u043c\u0435\u043d\u044f\u0439\u0442\u0435 \u043d\u0438\u0447\u0435\u0433\u043e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u0428\u0440\u0438\u0444\u0442\u044b''. \u0415\u0441\u043b\u0438 \u0432\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435 {{Pkg|qt5ct}}, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Qt5 Configuration Tool \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 \u0432 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u044b''.\n\n\u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u043d\u043e\u0441\u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b [[Fonts (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0448\u0440\u0438\u0444\u0442\u043e\u0432]], \u0438\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b'' \u043c\u043e\u0436\u0435\u0442 \u043d\u0430 \u043d\u0438\u0445 \u0432\u043b\u0438\u044f\u0442\u044c. \u041a\u043e\u0433\u0434\u0430 \u0432\u044b \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0435 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u0428\u0440\u0438\u0444\u0442\u044b'', \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 ({{ic|fonts.conf}}) \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0438\u0441\u0430\u043d.\n\n\u042d\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0442\u0438\u0442\u044c, \u043d\u043e \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0448\u0440\u0438\u0444\u0442\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c, \u0437\u0430\u0434\u0430\u0432 \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043a\u0430\u043a \u0438 \u0432 \u0432\u0430\u0448\u0435\u043c \u0444\u0430\u0439\u043b\u0435 {{ic|fonts.conf}} (\u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u043b\u0438, \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f\u0445, \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430). \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0443 Font Preferences \u0432 \u0441\u0440\u0435\u0434\u0435 [[GNOME (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0442\u0430\u043a\u043e\u0435 \u0436\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435.\n\n==== \u041e\u0433\u0440\u043e\u043c\u043d\u044b\u0435 \u0438\u043b\u0438 \u043d\u0435\u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0431\u0443\u043a\u0432\u044b ====\n\n\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 DPI \u0440\u0430\u0432\u043d\u043e\u0435 {{ic|'''96'''}} \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u0428\u0440\u0438\u0444\u0442\u044b''.\n\n\u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u043e, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 DPI \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Xorg, \u043a\u0430\u043a \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 [[Xorg (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 DPI \u0432\u0440\u0443\u0447\u043d\u0443\u044e]].\n\n=== \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 ===\n\n\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432 KDE Plasma \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c \u0438\u0437-\u0437\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0444\u0430\u0439\u043b\u0430\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a.\n\n==== \u0421\u0442\u0440\u0430\u043d\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 Plasma ====\n\n\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0432 KDE Plasma \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u043d\u044b \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u044b\u043c\u0438 ''\u0432\u0438\u0434\u0436\u0435\u0442\u0430\u043c\u0438'' (''\u043f\u043b\u0430\u0437\u043c\u043e\u0438\u0434\u0430\u043c\u0438'') \u0438\u043b\u0438 ''\u0442\u0435\u043c\u0430\u043c\u0438 Plasma''. \u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c, \u043d\u0430\u0439\u0434\u0438\u0442\u0435, \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043f\u043b\u0430\u0437\u043c\u043e\u0438\u0434\u044b \u0438 \u0442\u0435\u043c\u044b \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u043b\u0438 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0438\u0445 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c. \n\n\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0435\u0442\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0437\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u0435\u043c/\u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435\u043c Plasma, \u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043e\u043d\u0438 \u0432\u044b\u0437\u0432\u0430\u043d\u044b \u043e\u0448\u0438\u0431\u043a\u043e\u0439 \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0432\u0438\u0434\u0436\u0435\u0442\u043e\u0432. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u043a\u0430\u043a\u0438\u0435 \u0438\u0437 \u043d\u0438\u0445 \u0431\u044b\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b (\u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0439), \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0434\u043e \u0438\u0441\u0447\u0435\u0437\u043d\u043e\u0432\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0432\u0438\u0434\u0436\u0435\u0442 \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0442\u0447\u0451\u0442 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435 \u043d\u0430 [https://bugs.kde.org/ \u0431\u0430\u0433-\u0442\u0440\u0435\u043a\u0435\u0440\u0435 KDE] '''\u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0432\u0438\u0434\u0436\u0435\u0442'''. \u0412 \u0438\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u0432\u0438\u0434\u0436\u0435\u0442 \u043d\u0430 [https://store.kde.org/ KDE Store] \u0438 \u0443\u0432\u0435\u0434\u043e\u043c\u0438\u0442\u044c \u0435\u0433\u043e \u0430\u0432\u0442\u043e\u0440\u0430 \u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0435 (\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044f \u0434\u0435\u0442\u0430\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0430\u043a \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443).\n\n\u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0438 \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c ''\u0432\u0441\u0435'' \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 {{ic|~/.config}} \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:\n\n $ for j in plasma*; do mv -- \"$j\" \"${j%}.bak\"; done\n\n\u0414\u0430\u043d\u043d\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u0443\u0435\u0442 '''\u0432\u0441\u0435''' \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 Plasma \u0432\u0430\u0448\u0435\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 ''*.bak'' (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, {{ic|plasmarc.bak}}) \u0438 \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043f\u0435\u0440\u0435\u0437\u0430\u0439\u0434\u0451\u0442\u0435 \u0432 Plasma, \u0432\u044b \u0441\u043d\u043e\u0432\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0414\u043b\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0443\u0431\u0440\u0430\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 ''.bak''. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c \u0444\u0430\u0439\u043b\u044b ''*.bak'', \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0435\u0440\u0435\u0438\u043c\u0435\u043d\u0443\u0439\u0442\u0435, \u043f\u0435\u0440\u0435\u043c\u0435\u0441\u0442\u0438\u0442\u0435 \u0438\u043b\u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0438\u0445. \u0422\u0430\u043a\u0436\u0435 \u043a\u0440\u0430\u0439\u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0431\u0435\u043a\u0430\u043f\u044b, \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u044e [[Synchronization and backup programs (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u0445.\n\n==== \u041e\u0447\u0438\u0441\u0442\u043a\u0430 \u043a\u044d\u0448\u0430 \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c ====\n\n\u0422\u0430\u043a\u0436\u0435 [https://bbs.archlinux.org/viewtopic.php?id=135301 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b] \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u043d\u044b \u0441\u0442\u0430\u0440\u044b\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0432 \u043a\u044d\u0448\u0435. \u0418\u043d\u043e\u0433\u0434\u0430, \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f, \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0432\u044b\u0437\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0435, \u043c\u0430\u043b\u043e \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u043e\u0435 \u0438 \u0442\u0440\u0443\u0434\u043d\u043e\u0435 \u0432 \u043e\u0442\u043b\u0430\u0434\u043a\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 \u0438\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c KDE. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u044b\u0435 \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0438, \u0437\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c Ark \u0438\u0437\u0432\u043b\u0435\u0447\u044c \u0430\u0440\u0445\u0438\u0432 \u0438\u043b\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c Amarok \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0432\u0430\u0448\u0443 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044e \u043c\u0443\u0437\u044b\u043a\u0438. \u0422\u0430\u043a\u0436\u0435 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u0440\u0435\u0448\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u0441 \u043f\u043b\u043e\u0445\u0438\u043c \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u0432\u0438\u0434\u043e\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c KDE \u0438\u043b\u0438 Qt \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f.\n\n\u041f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043a\u044d\u0448 \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:\n\n $ rm ~/.config/Trolltech.conf\n $ kbuildsycoca5 --noincremental\n\n\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0443\u0434\u0430\u043b\u0438\u0442\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 {{ic|~/.cache}}. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u043e\u0447\u0438\u0441\u0442\u0438\u0442 \u0438 \u043a\u044d\u0448 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c:\n \n $ rm -rf ~/.cache/*\n\n==== \u041d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f, \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u044b\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0433\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u0438 ====\n\n\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0443\u043d\u043a\u0442\u043e\u0432 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0442\u0440\u0435\u044f (\u0432\u0438\u0434\u0436\u0435\u0442\u0430 \"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u043b\u043e\u0442\u043e\u043a\"), \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \"\u0413\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u044c\", \"\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044c\" \u0438\u043b\u0438 \"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\", \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u044d\u0442\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430. \u0422\u0430\u043a, \u043f\u0440\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \"\u0413\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u0438\" \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043d\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043a\u043b\u0430\u0432\u0438\u0448\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0433\u0440\u043e\u043c\u043a\u043e\u0441\u0442\u0438, \"\u041f\u0440\u043e\u0438\u0433\u0440\u044b\u0432\u0430\u0442\u0435\u043b\u044f\" \u2014 \u043c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0439\u043d\u044b\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438 (\u043f\u0435\u0440\u0435\u043c\u043e\u0442\u043a\u0430, \u0441\u0442\u043e\u043f, \u043f\u0430\u0443\u0437\u0430), \"\u0421\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439\" \u2014 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439.\n\n==== KCM \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0435 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0441 SDDM ====\n\nKCM \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0443\u0440\u0441\u043e\u0440\u043e\u0432 \u0438\u0437 {{ic|~/.config/kcminputrc}}, \u0431\u0435\u0437 \u044d\u0442\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f. \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u2014 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u041a\u0443\u0440\u0441\u043e\u0440\u044b \u043c\u044b\u0448\u0438'', \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u0435\u043c\u0443\u044e \u0442\u0435\u043c\u0443 \u043a\u0443\u0440\u0441\u043e\u0440\u043e\u0432.\n\n=== \u0413\u0440\u0430\u0444\u0438\u043a\u0430 ===\n\n\u0423\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0434\u043b\u044f \u0432\u0430\u0448\u0435\u0439 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u044b. \u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u044c\u044e [[Xorg (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430]] \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0440\u043e\u0439 \u0432\u0438\u0434\u0435\u043e\u043a\u0430\u0440\u0442\u043e\u0439 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c [[#\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438\u043b\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439]] \u0438\u043b\u0438 [[#\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430]].\n\n==== \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f KWin \u0434\u043b\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0438 \u043e\u0442\u043b\u0430\u0434\u043a\u0438 ====\n\n\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u043f\u043e\u043b\u043d\u0443\u044e \u0441\u0432\u043e\u0434\u043a\u0443 \u043e \u0442\u0435\u043a\u0443\u0449\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 KWin \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u043e\u043c \u0431\u0435\u043a\u0435\u043d\u0434\u0435 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u0445 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 OpenGL. \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u0432 [https://blog.martin-graesslin.com/blog/2012/03/on-getting-help-for-kwin-and-helping-kwin/ \u0434\u0430\u043d\u043d\u043e\u043c \u0431\u043b\u043e\u0433\u0435].\n\n $ qdbus org.kde.KWin /KWin supportInformation\n\n==== \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0438\u043b\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 ====\n\n\u042d\u0444\u0444\u0435\u043a\u0442\u044b \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 Plasma \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0438, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u043d\u0435 \u043a\u0430\u0436\u0434\u0430\u044f \u0438\u0433\u0440\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0445 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442. \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u044d\u0444\u0444\u0435\u043a\u0442\u044b \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0430 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u041f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u0441\u0440\u0435\u0434\u044b > \u042d\u0444\u0444\u0435\u043a\u0442\u044b'' \u0438 \u0432\u043a\u043b\u044e\u0447\u0430\u0442\u044c/\u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0438\u0445 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448 {{ic|Alt+Shift+F12}}.\n\n\u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 KWin \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f/\u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u0414\u0438\u0441\u043f\u0435\u0442\u0447\u0435\u0440 \u043e\u043a\u043e\u043d > \u041e\u0441\u043e\u0431\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043e\u043a\u043e\u043d''. \n\n==== \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u0438 ====\n\n\u0412\u044b \u0443\u0432\u0438\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0433\u043e \u0444\u043e\u043d\u0430 \u0431\u0435\u0437 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0430:\n\n This color scheme uses a transparent background which does not appear to be supported on your desktop\n\n\u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u0432 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u042d\u043a\u0440\u0430\u043d > \u041e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432'', \u043e\u0442\u043c\u0435\u0442\u044c\u0442\u0435 \u0444\u043b\u0430\u0436\u043e\u043a ''\u0412\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u044b \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443'' \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Plasma.\n\n==== \u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430 ====\n\n\u0412 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u042d\u043a\u0440\u0430\u043d > \u041e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432'' \u0441\u043d\u0438\u043c\u0438\u0442\u0435 \u0444\u043b\u0430\u0436\u043e\u043a \u0441 \u043e\u043f\u0446\u0438\u0438 ''\u0412\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u044b \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443'' \u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435 Plasma.\n\n==== \u041c\u0435\u0440\u0446\u0430\u043d\u0438\u0435 \u043e\u043a\u043e\u043d \u0432 \u043f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u043e\u043c \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 ====\n\n\u0412 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u042d\u043a\u0440\u0430\u043d > \u041e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432'' \u0441\u043d\u0438\u043c\u0438\u0442\u0435 \u0444\u043b\u0430\u0436\u043e\u043a \u0441 \u043e\u043f\u0446\u0438\u0438 ''\u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u0436\u0438\u043c \u0441 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0430\u043c\u0438''. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0432\u043b\u0438\u044f\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c.\n\n==== \u0420\u0430\u0437\u0440\u044b\u0432 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 NVIDIA ====\n\n\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 [[NVIDIA/Troubleshooting#Avoid screen tearing in KDE (KWin)]].\n\n==== \u041a\u0443\u0440\u0441\u043e\u0440 \u0438\u043d\u043e\u0433\u0434\u0430 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e ====\n\n\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e {{ic|~/.icons/default}} \u0438 \u0444\u0430\u0439\u043b {{ic|index.theme}} \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0451 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c:\n\n{{hc|/home/''username''/.icons/default/index.theme|2=\n[Icon Theme]\nInherits=breeze_cursors\n}}\n\n\u0422\u0430\u043a\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:\n\n $ ln -s /usr/share/icons/breeze_cursors/cursors ~/.icons/default/cursors\n\n==== \u041d\u0435\u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0435 \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u044d\u043a\u0440\u0430\u043d\u0430 ====\n\n\u0412\u0430\u0448\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 kscreen \u043c\u043e\u0433\u0443\u0442 \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b {{ic|xorg.conf}}. \u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b kscreen \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 {{ic|~/.local/share/kscreen/}} \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435, \u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u043e \u043b\u0438 \u0440\u0435\u0436\u0438\u043c\u0443 (mode) \u043d\u0435\u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0435 \u0432\u0430\u0448\u0438\u043c \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435.\n\n==== \u0420\u0430\u0437\u043c\u044b\u0442\u044b\u0435 \u0438\u043a\u043e\u043d\u043a\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u043c \u0442\u0440\u0435\u0435 ====\n\n\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 appindicator \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u043a\u043e\u043d\u043e\u043a \u0432 \u0442\u0440\u0435\u0439. \u0415\u0441\u043b\u0438 \u043e\u043d\u0438 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u044b\u0442\u044b\u043c\u0438, \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043a\u0435\u0442 {{Pkg|libappindicator-gtk2}}, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c {{Pkg|libappindicator-gtk3}} \u0438\u043b\u0438 {{Pkg|libappindicator-sharp}}.\n\n=== \u0417\u0432\u0443\u043a ===\n\n{{Note (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0443 \u0432\u0430\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043f\u0430\u043a\u0435\u0442 {{Pkg|alsa-utils}}.}}\n\n==== \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0437\u0432\u0443\u043a\u0430 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0436\u0434\u0443\u0449\u0435\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430 ====\n\n\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0432 Plasma \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0437\u0432\u0443\u043a \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0437 \u0436\u0434\u0443\u0449\u0435\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430 \u0438 KMix \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0445 \u0430\u0443\u0434\u0438\u043e\u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043c\u043e\u0447\u044c \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a plasmashell \u0438 pulseaudio:\n\n $ killall plasmashell\n $ systemctl --user restart pulseaudio.service\n $ plasmashell\n\n\u0414\u0440\u0443\u0433\u0438\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a \u0434\u043b\u044f \u0432\u043e\u0437\u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0437\u0432\u0443\u043a.\n\n==== MP3-\u0444\u0430\u0439\u043b\u044b \u043d\u0435 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0441 \u0431\u0435\u043a\u0435\u043d\u0434\u043e\u043c GStreamer \u0432 Phonon ====\n\n\u042d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 libav (\u043f\u0430\u043a\u0435\u0442 {{Pkg|gst-libav}}) \u0434\u043b\u044f GStreamer. \u0415\u0441\u043b\u0438 \u0432\u044b \u0432\u0441\u0435 \u0435\u0449\u0435 \u0438\u0441\u043f\u044b\u0442\u044b\u0432\u0430\u0435\u0442\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433\u043e\u0439 \u0431\u0435\u043a\u0435\u043d\u0434 \u0434\u043b\u044f Phonon, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, {{AUR|phonon-qt4-vlc}} \u0438\u043b\u0438 {{Pkg|phonon-qt5-vlc}}.\n\n\u0422\u0430\u043a\u0436\u0435 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0432\u0430\u043c\u0438 \u0431\u0435\u043a\u0435\u043d\u0434 \u0438\u043c\u0435\u0435\u0442 \u0441\u0430\u043c\u044b\u0439 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 ''\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0438\u0441\u0442\u0435\u043c\u044b > \u041c\u0443\u043b\u044c\u0442\u0438\u043c\u0435\u0434\u0438\u0430 > \u0417\u0432\u0443\u043a \u0438 \u0432\u0438\u0434\u0435\u043e > \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u044f''.\n\n=== \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043f\u0438\u0442\u0430\u043d\u0438\u0435\u043c ===\n\n==== \u041e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0436\u0434\u0443\u0449\u0435\u0433\u043e/\u0441\u043f\u044f\u0449\u0435\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430 ====\n\n\u0415\u0441\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0441\u043f\u044f\u0449\u0438\u0439 \u0438\u043b\u0438 \u0436\u0434\u0443\u0449\u0438\u0439 \u0440\u0435\u0436\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f [[systemd (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]], \u043d\u043e \u0434\u0430\u043d\u043d\u0430\u044f \u043e\u043f\u0446\u0438\u044f \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0432 KDE Plasma, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043f\u0430\u043a\u0435\u0442 {{Pkg|powerdevil}}.\n\n=== KMail ===\n\n==== \u0421\u0431\u0440\u043e\u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a Akonadi \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0441 KMail ====\n\n\u0421\u043c. [https://docs.kde.org/trunk5/en/pim/kmail2/clean-start-after-a-failed-migration.html \u0434\u0430\u043d\u043d\u044b\u0439] \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438\n\n\u0415\u0441\u043b\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u043d\u0443\u044e \u043a\u043e\u043f\u0438\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438:\n\n $ cp -a ~/.local/share/akonadi ~/.local/share/akonadi-old\n $ cp -a ~/.config/akonadi ~/.config/akonadi-old\n\n==== \u041f\u0443\u0441\u0442\u0430\u044f \u043f\u0430\u043f\u043a\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u0432 IMAP-\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 KMail ====\n\n\u0414\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 KMail \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b IMAP, \u043f\u0430\u043f\u043a\u0430 \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f (\u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0434\u0435\u043b\u0430\u044f \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c) \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\u043c\u0438 \u0432 \u043d\u0451\u043c.[https://bugs.kde.org/show_bug.cgi?id=284172]. \u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u044d\u0442\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0434\u043f\u0438\u0441\u043a\u0438 \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 (server-side subscriptions) \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 KMail.\n\n==== \u041e\u0448\u0438\u0431\u043a\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 EWS-\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 KMail ====\n\n\u041f\u0440\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0438 EWS-\u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430 \u0432 KMail \u043c\u043e\u0433\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u0436\u0435 \u0441 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c\u0438 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u044d\u0442\u043e \u0432\u044b\u0437\u0432\u0430\u043d\u043e \u043d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435\u043c \u0441\u0432\u044f\u0437\u0438 [[KWallet]] \u0438 KMail. \u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e qdbus:\n\n $ qdbus org.freedesktop.Akonadi.Resource.akonadi_ews_resource_0 /Settings org.kde.Akonadi.Ews.Wallet.setPassword \"XXX\"\n\n=== \u0421\u0435\u0442\u044c ===\n\n==== \u0417\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f NFS-\u0440\u0430\u0437\u0434\u0435\u043b\u0430 ====\n\n\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 [[Fstab (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)#\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441 systemd|\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441 systemd]] \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0441 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 [[NFS (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u0437\u0430\u0432\u0438\u0441\u0430\u043d\u0438\u044f\u043c, \u0434\u043b\u044f \u0431\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 [https://bugs.kde.org/show_bug.cgi?id=354137 \u043e\u0442\u0447\u0451\u0442 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0435] \u043d\u0430 \u0431\u0430\u0433-\u0442\u0440\u0435\u043a\u0435\u0440\u0435 KDE.\n\n=== \u0421\u043b\u0438\u0448\u043a\u043e\u043c \u0447\u0430\u0441\u0442\u043e\u0435 \u0436\u0443\u0440\u043d\u0430\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 QXcbConnection ===\n\n\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 [[Qt#Disable/Change Qt journal logging behaviour]].\n\n=== \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 KF5/Qt 5 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442 \u0437\u043d\u0430\u0447\u043a\u0438 \u0432 i3/FVWM/awesome ===\n\n\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 [[Qt#Configuration of Qt5 apps under environments other than KDE Plasma]].\n\n=== \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0449\u0438\u043c\u0438\u0441\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u0430\u043c\u0438 KWallet ===\n\n[[KWallet]], \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043f\u0430\u0440\u043e\u043b\u0435\u0439, \u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u0442\u0430\u043a \u043a\u0430\u043a \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0430\u0440\u043e\u043b\u0438 \u043e\u0442 \u0441\u0435\u0442\u0435\u0439 WiFi. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u0434\u0438\u0430\u043b\u043e\u0433\u0438 KWallet \u043c\u043e\u0433\u0443\u0442 \u0441\u0442\u0430\u0442\u044c \u043f\u0440\u0438\u0447\u0438\u043d\u043e\u0439 \u0435\u0433\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.\n\n\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0432\u0430\u0441 \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0430\u044e\u0442 \u0434\u0438\u0430\u043b\u043e\u0433\u0438 \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 KWallet \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0445\u043e\u0442\u044f\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a \u043d\u0435\u043c\u0443 \u0434\u043e\u0441\u0442\u0443\u043f, \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c [[Display manager (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u043c \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430\u043c]] [[SDDM (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0438 [[LightDM (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)]] \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0443\u043c\u0430\u0436\u043d\u0438\u043a \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u2013 c\u043c\u043e\u0442\u0440\u0438\u0442\u0435 [[KDE Wallet#Unlock KDE Wallet automatically on login]]. \u041f\u0435\u0440\u0432\u044b\u0439 \u0431\u0443\u043c\u0430\u0436\u043d\u0438\u043a \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e KWallet (\u0430 \u043d\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c), \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043f\u0440\u0438 \u0432\u0445\u043e\u0434\u0435 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443.\n\n\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u0438 \u0443\u0447\u0451\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0443\u043c\u0430\u0436\u043d\u0438\u043a\u0430 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043c\u043e\u0436\u043d\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043a \u043d\u0435\u043c\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e {{Pkg|kwalletmanager}} \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 KWallet.\n\n\u0415\u0441\u043b\u0438 \u0436\u0435 \u0432\u044b \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442\u0435\u0441\u044c \u043d\u0430\u0441\u0447\u0451\u0442 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u0432\u0432\u043e\u0434\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u0443\u0441\u0442\u044b\u043c\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0431\u0443\u043c\u0430\u0436\u043d\u0438\u043a\u0430 \u0432 KWallet. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0431\u0443\u043c\u0430\u0436\u043d\u0438\u043a\u0443 \u0431\u0435\u0437 \u0435\u0433\u043e \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438.\n\n=== Discover \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f ===\n\n\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u043e\u0439 \u043f\u0430\u043a\u0435\u0442\u0430 {{Pkg|packagekit-qt5}}.\n\n=== \u0412\u044b\u0441\u043e\u043a\u0430\u044f \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 kscreenlocker_greet \u043d\u0430 \u0426\u041f \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u0432 NVIDIA ===\n\n\u041a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 [https://bugs.kde.org/show_bug.cgi?id=347772 KDE Bug 347772], \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 NVIDIA OpenGL \u0438 QML \u043c\u043e\u0433\u0443\u0442 \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c \u0432 Qt 5. \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e {{ic|kscreenlocker_greet}} \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0426\u041f \u043f\u043e\u0441\u043b\u0435 \u0440\u0430\u0437\u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0435\u0441\u0441\u0438\u0438. \u0414\u043b\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0437\u0430\u0434\u0430\u0439\u0442\u0435 [[Environment variables (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f]] {{ic|QSG_RENDERER_LOOP}} \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 {{ic|basic}}.\n\n\u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0437\u0430\u043a\u0440\u043e\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u044d\u043a\u0440\u0430\u043d\u0430 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b {{ic|killall kscreenlocker_greet}}.\n\n=== \"OS error 22\" \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 Akonadi \u043d\u0430 ZFS ===\n\n\u0415\u0441\u043b\u0438 \u0432\u0430\u0448\u0430 \u0434\u043e\u043c\u0430\u0448\u043d\u044f\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043f\u0443\u043b\u0435 [[ZFS]], \u0441\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u0444\u0430\u0439\u043b {{ic|~/.config/akonadi/mysql-local.conf}} \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c:\n\n [mysqld]\n innodb_use_native_aio = 0\n\n\u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 [[MariaDB#OS error 22 when running on ZFS]].\n\n=== \u041d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0430 \u043d\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u043e\u043a\u043e\u043d \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445 ===\n\n\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432\u044b\u0437\u0432\u0430\u043d\u0430 \u0442\u0435\u043c, \u0447\u0442\u043e GTK3 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430\u0442\u0438\u0447\u043d\u043e \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0431\u044b\u0442\u0438\u044f \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0438 \u043c\u044b\u0448\u044c\u044e. \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u0434\u0430\u043d\u0438\u0435 [[Environment variables (\u0420\u0443\u0441\u0441\u043a\u0438\u0439)|\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f]] {{ic|1=GDK_CORE_DEVICE_EVENTS=1}}. \u041e\u0434\u043d\u0430\u043a\u043e \u0442\u0430\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043b\u0430\u0432\u043d\u0443\u044e \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0443 \u043d\u0430 \u0442\u0430\u0447\u043f\u0430\u0434\u0435 \u0438 \u043f\u0440\u043e\u043a\u0440\u0443\u0442\u043a\u0443 \u043d\u0430 \u0441\u0435\u043d\u0441\u043e\u0440\u043d\u043e\u043c \u0434\u0438\u0441\u043f\u043b\u0435\u0435.\n\n=== TeamViewer \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e ===\n\nTeamViewer \u043c\u043e\u0436\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0445 \u043f\u043b\u0430\u0432\u043d\u044b\u0445 \u0430\u043d\u0438\u043c\u0430\u0446\u0438\u044f\u0445 (\u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0441\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u043e\u043a\u043e\u043d). \u0412\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f [[#\u041e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u0437\u0438\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0436\u0438\u043c\u0430]].\n\n== \u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 ==\n\n* [https://www.kde.org/ \u0414\u043e\u043c\u0430\u0448\u043d\u044f\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 KDE]\n* [https://bugs.kde.org/ \u0411\u0430\u0433-\u0442\u0440\u0435\u043a\u0435\u0440 KDE]\n* [https://blog.martin-graesslin.com/blog/kategorien/kde/ \u0411\u043b\u043e\u0433 \u041c\u0430\u0440\u0442\u0438\u043d\u0430 \u0413\u0440\u0435\u0441\u043b\u0438\u043d\u0430]"
                    }
                ]
            },
            "10372": {
                "pageid": 10372,
                "ns": 0,
                "title": "GNOME (\u0421\u0440\u043f\u0441\u043a\u0438)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "[[Category:Desktop environments (\u0421\u0440\u043f\u0441\u043a\u0438)]]\n[[cs:GNOME]]\n[[de:GNOME]]\n[[en:GNOME]]\n[[es:GNOME]]\n[[fr:GNOME]]\n[[it:GNOME]]\n[[ja:GNOME]]\n[[pl:GNOME]]\n[[pt:GNOME]]\n[[ru:GNOME]]\n[[th:GNOME]]\n[[zh-hans:GNOME]]\n[[zh-hant:GNOME]]\n{{Related articles start}}\n{{Related|Desktop environment}}\n{{Related|Display manager}}\n{{Related|Window manager}}\n{{Related|GTK+}}\n{{Related|GDM}}\n{{Related|GNOME Files}}\n{{Related|Gedit}}\n{{Related|GNOME Web}}\n{{Related|GNOME Flashback}}\n{{Related|Cinnamon}}\n{{Related|MATE}}\n{{Related articles end}}\n\nOd [http://www.gnome.org/about/ GNOME: Desktop projekat slobodnog softvera]:\n\n:''GNOME je projekat koji pruza dve stvari: GNOME desktop okruzenje, jedan intuitivan i atraktivan desktop za korisnike, i GNOME razvojnu platformu, prosiriv frejmvork za izgradnju aplikacija koje se integrisu u ostatak desktopa.''\n\n:''GNOME je '''slobodan''', '''koristan''', '''dostupan''', '''internacionalan''', '''pogodan za razvoj aplikacija''', '''organizovan''', '''podrzan''', i '''zajednica'''.''\n\nOvaj clanak pokriva GNOME desktop okruzenje.\n\n==Instalacija==\n===Baza===\nInstalirajte '''xorg''' dependency\n # pacman -S xorg\n\nInstall the \"base\" GNOME desktop\n # pacman -S gnome\n\nOvo je meta paket; koji je '''grupa''' paketa. Bice vam data opcija da instalirate sve ili neke od paketa iz ove grupe. Svi paketi mogu bezbedno da se instaliraju i to se preporucuje, medjutim postoji lista nekih paketa koji mozda nisu potrebni.\n\n*[[epiphany]] je web pretrazivac koji dolazi uz GNOME. Ako planirate da koristite neki drugi pretrazivac, npr. [[Firefox]], onda ovaj paket nije potreban. Preporucuje se da bar probate Epiphany jer je to odlican pretrazivac koji je, nazalost, u senci Firefox-a.\n\n*{{pkg|gnome-backgrounds}} je kolekcija desktop pozadina (wallpaper-i) koje je GNOME zajednica izabrala za vas da koristite. Ako vec znate sta cete koristiti za vasu pozadinu, npr. sliku vase drage osobe, onda ovaj paket nije potreban.\n\n*{{pkg|gnome-terminal}} je GUI terminal; ako vise volite neku drugu terminal aplikaciju poput [[xterm]]-a ili aterm-a onda ovaj paket nije neophodan.\n\n*{{pkg|gnome-screensaver}} je kolekcija skrin sejvera za GNOME desktop. Ako necete koristiti skrin sejver ili cete koristiti GNOME menadzer za stednju energije da ugasite monitor kada nije u upotrebi onda ovaj paket nije potreban.\n\n*{{pkg|gnome-themes-standard}}{{Broken package link|package not found}} je kolekcija desktop tema. Ako cete koristiti neku specificnu temu koju cete preuzeti odvojeno, onda ovaj paket nije potreban.\n\n*'''gnome2-user-docs''' i '''yelp''' su dokumenti za pomoc i citac dokumenata sa pomoc za GNOME desktop. Ako ste tip osobe koja ne cita dokumentaciju ili vise volite da koristite velike help dokumente poznate kao Google, onda nema potrebe da instalirate ove pakete. Ovo nije preporucljivo. (Ironicno, ako ste tip osobe koja ne cita dokumentaciju onda postoje sanse da necete ni ovo procitati.)\n\n===Dodaci===\n\nInstalirajte ostatak GNOME Desktopa (vrlo preporucljivo, pogledajte [[GNOME tips|GNOME saveti]]) sa:\n # pacman -S gnome-extra\n\nKao i pre, ovo je meta paket, i preporucuje se da instalirate sve pakete iz ove grupe, ali postoji i lista nekih koji nisu neophodni. Ako jednostavno zelite da instalirate gnome-extra bez instaliranja Mono aplikacija poput Tomboy-ja, posetite [[Mono]] stranicu za detalje kako da ga zablokirate.\n\n*'''alacarte''' je editor za gnome-menu; ako planirate da koristite meni, preporucuje se da koristite ovaj paket, iako to moze da se uradi rucno.\n\n*'''bug-buddy''' prijavljivanje bagova; ako ne zelite da prijavljujete bagove onda ovaj paket nije neophodan.\n\n*{{pkg|cheese}} koristi vasu web kameru za preuzimanje slika i video snimaka; ako nemate web kameru onda ovaj paket nije neophodan.\n\n*{{AUR|dasher}} je aplikacija za unos teksta koja koristi kursor umesto tastature. Ako vi i svi ostali koji ce koristiti taj desktop mogu da koriste tastaturu onda ovaj paket nije neophodan.\n\n*'''deskbar-applet''' je sve-u-jednom traka za pretrazivanje za GNOME desktop. Ako vam ne treba desktop pretrazivanje onda ovaj paket nije neophodan.\n\n*{{pkg|ekiga}}{{Broken package link|package not found}} je VoIP (glas preko IP-a)/Video konferencijska aplikacija. Ako nemate potrebe za VoIP-om ili koristite neku drugu aplikaciju poput Skajpa, onda ovaj paket nije potreban.\n\n*{{pkg|empathy}} je sve-u-jednom klijent za razmenu instant poruka. Ovo zamenjuje Pidgin kao startni program za cetovanje. Obavezno instalirajte odgovarajuce telepathy provajdere. Pogledajte optdepends za {{ic|pacman -Si empathy}} za listu svih provajdera. \n\n*{{pkg|eog}} otvara skoro sve tipove slika; mozete da izaberete neku drugu aplikaciju za ovu svrhu.\n\n*{{pkg|evince}} je jednostavni pregledac za dokumenta (npr. pdf). Ako planirate da koristite neki drugi pregledac, npr. Adobe Reader, onda ovaj paket nije potreban.\n\n*'''[[evolution]]''' je program za upravljanje licnim informacijama (e-mail, kalendar, kontakti, itd...) za GNOME. Ako planirate da koristite neku drugu aplikaciju za ovu svrhu, npr. Thunderbird, ili neku web aplikaciju poput Google ili Yahoo naloga onda ovaj paket nije potreban.\n\n*'''evolution-exchange''' je plugin za Evolution koji dozvoljava Evolution-u da se konektuje na Exchange. Ako ne koristite Exchange ili Evolution onda nemate potrebe za ovim paketom.\n\n*'''evolution-webcal''' je web kalendar plugin za Evolution. Ako ne koristite Evoluton onda nemate potrebe za ovim paketom.\n\n*'''fast-user-switch-applet''' je aplet koji omogucava prelazak sa korisnika na korisnika bez potrebe za odjavljivanjem (log out), tj. omogucava brzo smenjivanje korisnika. Ako postoji samo jedan korisnik na vasem racunaru ili ako volite da koristite ekran za prijavljivanje korisnika onda nema potrebe za ovim paketom.\n\n*{{pkg|file-roller}} je GUI menadzer za arhive koji radi kao winzip/winrar. Ako vise volite da odpakujete arhive preko komandne linije, ovaj paket nije neophodan.\n\n*{{pkg|gcalctool}}{{Broken package link|package not found}} , je pocetna kalkulator aplikacija sa razlicitim izgledima.\n\n*'''gconf-editor''' , editor za sva GNOM podesavanja.\n\n*'''[[GDM|gdm]]''' olaksava startovanje GNOMA pri startovanju racunara. Ako vise volite da vam racunar startuje u tradicionalnu komandnu liniju i zelite da startujete GNOM samo kad vam zatreba, onda vam ovaj paket nije potreban.\n\n*{{pkg|gedit}} je GUI baziran tekst editor. Ako planirate da koristite naki drugi tekst editor - kao sto je posvecenost vecine ljudi njihovim tekst editorima zapravo preraslo u religiju - onda nemate protrebe da instalirate ovaj paket. Gedit je vrlo dobar editor koji pruza korisne funkcije dok u isto vreme zadrzava stvari jednostavnim i pogotovo je dobar za pocetnike u programiranju koji ne zele da se muce sa vim-om, emacs-om ili kdevelop (note: ovo su sve odlicni programi koje vredi nauciti kasnije). Ima dosta korisnih pluginova kao sto je dodavanje/skidanje komentara na kodu, biranje boja i sadrzi takodje i terminal u sebi za brzo testiranje koda. Da bi ste koristili neki od ovih pluginova morate da instalirate zasebno gedit-plugins paket.\n\n*'''gnome-audio''' je kolekcija zvukova za dogadjaje u GNOME. Ako imate vase licne zvukove, ne zelite zvukove ili nemate zvuk uopste, onda ovaj paket nije potreban.\n\n*'''gnome-games''' i '''gnome-games-extra-data''' je kolekcija jednostavnih desktop igara; npr. Nibbles, Sudoku, itd. Ako mislite da su decije igre gubljenje vremena, prostora na hard disku i internet protoka onda ovaj paket nije za vas.\n\n*'''gnome-mag''' je lupa za ekran za ljude sa poremecenim vidom.\n\n*{{pkg|gnome-nettool}} i '''gnome-netstatus''' su kolekcije GUI baziranih mreznih alata. Ako obavljate sve poslove vezane za mrezu preko komandne linije onda vam ne treba ovaj paket.\n\n*{{pkg|gnome-power-manager}} prati stanje baterije i drugih alata za pracenje stanja energije. Namenjeno je prvenstveno za laptop korisnike.\n\n*{{pkg|gnome-system-monitor}} , je aplikacija koja prikazuje informacije o hardveru racunara i upotrebi sistemskih resursa.\n\n*{{pkg|gnome-utils}}{{Broken package link|package not found}} je kolekcija programa za GNOME, ukljucujuci fajl loger, prikazivac logova, alatka za pretragu, recnik, podrska za flopi disk jedinicu i program za pravljenje slika od ekrana. Ovaj paket je preporucljiv za svakog korisnika.\n\n*'''gucharmap''' za gledanje Unicode karaktera.\n\n*'''gok''' je GNOME tastatura na ekranu. Ako korisnici vaseg racunara planiraju da koriste standardnu tastaturu za sve potrebe onda vam ne treba ovaj paket.\n\n*'''hamster-applet''' je aplet za pracenje vremena za GNOM panel. Mozete da posetite [http://projecthamster.wordpress.com/ website] za vise informacija.\n\n*'''libgail-gnome''' je GNOME implementaciona biblioteka za pristupacnost koja se koristi od strane citaca ekrana Orca.\n\n*{{pkg|mousetweaks}} je softver za pristupacnost za korisnike koji su ograniceni u koriscenju misa (npr. mogu da koriste samo jedno dugme).\n\n*{{pkg|orca}} je citac ekrana za GNOME desktop za korisnike sa ostecenim vidom.\n\n*{{pkg|seahorse}} i '''seahorse-plugins''' su paketi za enkriptovanje/deenkriptovanje informacija.\n\n*{{pkg|sound-juicer}} je program za ripovanje CD-ova za GNOME.\n\n*{{pkg|tomboy}}{{Broken package link|package not found}} je jednostavna aplikacija za pravljenje beleski za vas desktop.\n\n*{{pkg|totem}} je oficijalni program za pustanje video fajlova (filmova) za GNOME desktop.\n\n*{{pkg|vinagre}} je VNC klijent za GNOME desktop.\n\n*{{pkg|vino}} je server za udeljani desktop za GNOME. Mozete da ga koristite da delite vas GNOME desktop sesiju sa drugim korisnicima.\n\n*'''zenity''' je alatka za prikazivanje GTK dijaloskih boksova u komandnoj liniji i skriptama za komandnu liniju.\n\nMozda ste primetili GNOME admin alate (''Sistem  &rarr; Administracija'') koji nisu sadrzani u ekstra paketima. Trebace vam {{Ic|gnome-system-tools}} paket koji se instalira na sledeci nacin:\n\n # pacman -S gnome-system-tools\n\nKao sto je vec receno gore, ovi i druge korisne informacije mozete naci na [[GNOME tips|Gnom saveti]] wiki stranici.\n\n{{Note|Upotreba {{Ic|gnome-system-tools}} na starijim GNOME verzijama ce najverovatnije zahtevati da ubacite vaseg korisnika u grupu {{Ic|stb-admin}}, u suprotnom mozete da dobijete poruku ''\"Podesavanje ne moze biti ucitano. Nije vam dozvoljen pristup sistemskim podesavanjima.\"''. Ovo nebi trebalo da je neophodno od verzije 2.28 {{Ic|gnome-system-tools}} jer ta verzija ne zahteva {{Ic|stb-admin}} grupu; ustvari, poboljsanje sa prethodne verzije ce ukloniti ovu grupu.}}\n\nDa bi obicni korisnici koristili sistemske alate, neophodan je {{Ic|gksu}} paket:\n\n # pacman -S gksu\n\nZa podesavanje gksu koristite [[Sudo]] pre nego [[Su]], i ovu komandu:\n\n # gconftool-2 -s /apps/gksu/sudo-mode -t bool true\n\nProverite da li ste vec ispravno podesili [[Sudo]].\n\nInstalirajte {{AUR|gamin}} ako zelite da izmene na fajlovima budu odmah detektovane.\n\nPostoji mogucnost da vec imate instaliran FAM koji je zapostavljen. Ako ga imate instaliranog, uklonite ga kad budete upozoreni prilikom instaliranja gamin-a.\n\n==Daemoni i moduli koji su neophodni za GNOM==\nGNOME desktop zahteva jedan daemon, [[D-Bus]], da bi radio kako treba.\n\nDa startujete D-Bus daemon:\n # /etc/rc.d/dbus start\n\nIli dodajte ove daemone u '''DAEMONS''' niz u {{ic|/etc/[[rc.conf]]}} da bi startovali prilikom butovanja:\n #\n # /etc/rc.conf - Main Configuration for Arch Linux\n #\n .\n .\n # -----------------------------------------------------------------------\n # DAEMONS\n # -----------------------------------------------------------------------\n #\n # Daemons to start at boot-up (in this order)\n #   - prefix a daemon with a ! to disable it\n #   - prefix a daemon with a @ to start it up in the background\n #\n .\n .\n DAEMONS=(syslog-ng '''dbus''' network crond)\n\n'''GVFS''' daje mogucnost nasadjivanja virtualnih fajl sistema (npr. fajl sistemi preko FTP-a ili SMB-a) za upotrebu od strane drugih aplikacija ukljucujuci GNOME fajl mendzer Nautilus. Ovo se radi upotrebom '''FUSE'''-a: virtualni fajl sistem sloj kernel modula za korisnicki prostor.\n\nZa ucitavanje FUSE kernel modula:\n # modprobe fuse\n\nIli dodajte modul u '''MODULES''' niz {{ic|/etc/rc.conf}} da se ucitaju prilikom butovanja, npr.:\n #\n # /etc/rc.conf - Main Configuration for Arch Linux\n #\n .\n .\n # -----------------------------------------------------------------------\n # HARDWARE\n # -----------------------------------------------------------------------\n #\n # MOD_AUTOLOAD: Allow autoloading of modules at boot and when needed\n # MOD_BLACKLIST: Prevent udev from loading these modules\n # MODULES: Modules to load at boot-up. Prefix with a ! to blacklist.\n #\n # NOTE: Use of 'MOD_BLACKLIST' is deprecated. Please use ! in the MODULES array.\n #\n MOD_AUTOLOAD=\"yes\"\n #MOD_BLACKLIST=() #deprecated\n MODULES=('''fuse''' usblp)\n .\n .\n{{Note|FUSE is a kernel module, not a daemon.}}\n\n==Pokretanje GNOM-a==\n\nDodajte sledecu liniju u vas {{ic|~/.xinitrc}} fajl i uverite se da je to zadnja linija i jedina koja pocinje sa ''exec'' (pogledajte [[xinitrc]]):\n exec gnome-session\n\nSada ce GNOM startovati kada unesete sledecu komandu:\n $ startx\n\n==Dodela privilegija pod GNOM-om==\n===Gasenje/restartovanje privilegija===\n\nAko je jedan korisnik ulogovan u GNOM i drugi korisnik se loguje (zamenjeni korisnici), drugi korisnik ne moze da ugasi ili restartuje racunar. Sledeci prozor izlazi, \"Politika sistema sprecava sprecava zaustavljanje sistema kada su drugi korisnici prijavljeni. Korisnik ce biti upitan za super lozinku.\n\nDiskusija:  https://bbs.archlinux.org/viewtopic.php?pid=641993\n\nPopravka ovog je sledeca:\n\n # nano /var/lib/polkit-1/localauthority/50-local.d/shutdown.pkla\n [system shutdown privs]\n Identity=unix-group:users\n Action=org.freedesktop.consolekit.system.stop-multiple-users\n ResultAny=no\n ResultInactive=no\n ResultActive=yes\n\n # nano /var/lib/polkit-1/localauthority/50-local.d/restart.pkla\n [system restart privs]\n Identity=unix-group:users\n Action=org.freedesktop.consolekit.system.restart-multiple-users\n ResultAny=no\n ResultInactive=no\n ResultActive=yes\n\nKonacno, restartujte hal i bilo koji korisnik u 'users' grupi ce imati mogucnost da ugasi ili restartuje sistem bez root lozinke i bez obzira da li su drugi prijavljeni na racunar ili ne.\n \nZa vise detalja pogledajte man stranicu za pklocalauthority.\n\n===Privilegije za skaliranje procesora===\nPogledajte [[Cpufreq#Privilege granting under GNOME|cpufrequtils clanak]].\n\n==GDM (GNOM menadzer ekrana)==\nAko zelite graficko prijavljivanje na sistem, trebace vam [http://www.gnome.org/projects/gdm/ GDM] (koji je takodje deo gnome-extra). Da to ucinite, ukucajte sledecu komandu u komandnoj liniji:\n # pacman -S gdm\n\nDa ucinite graficko prijavljivanje osnovnim metodom za prijavljivanje na sistem, editujte vas {{ic|/etc/inittab}} fajl(preporucljivo). Alternativno mozete da dodate gdm u vasu listu daemona u {{ic|/etc/rc.conf}}. Ove procedure su detaljno objasnjene na [[Display manager]] strani.\n\nAko ste naviknuti da koristite {{ic|~/.xinitrc}} fajl za prosledjivanje argumenata za X server kada se startuje, poput '''xmodmap''' ili '''xsetroot''', mozete da dodate iste komande u [[xprofile]]. Primer:\n\n{{hc|~/.xprofile|2=<nowiki>\n#!/bin/sh\n\n#\n# ~/.xprofile\n#\n# Izvrsava se od strane gdm-a pri prijavljivanju\n#\n\nxmodmap -e \"pointer=1 2 3 6 7 4 5\" #ispravno podesava dugmice na misu\nxsetroot -solid black                #podesava pozadinu na crnu boju\n</nowiki>}}\n\n===Podesavanje===\nNe mozete vise da koristite gdmsetup komandu da podesite GDM, i to od verzije 2.28. Komanda je uklonjena i GDM je standardizovan i integrisan u ostatak Gnoma.\n\nMozete da instalirate gdm2setup iz AUR-a da podesite GDM ili da upotrebite sledece instrukcije.\n\n{{Note|Iako sledece komande koriste sudo, ustvari vam treba da ih izvrsite kao root! (\"su -\" radi)}}\n\nPodesavanje X server dozvolama za pristup\n xhost +SI:localuser:gdm\n\nDa podesite GDM teme upotrebite ovu komandu:\n sudo -u gdm gnome-appearance-properties\n\nZa vise opcija podesavanja, upotrebite ovu komandu:\n sudo -u gdm gconf-editor\n\nI izmenite sledece hijerarhije:\n /apps/gdm/simple-greeter\n /desktop/gnome/interface\n /desktop/gnome/background\n\nAko ove komande budu bezuspesne sa greskom poput \"Cannot open display\" mozete da podignete dva prozora kada GDM startuje dodavanjem u GDM autostart. Da uradite ovo prvo napravite unos (kao root):\n cp -t /usr/share/gdm/autostart/LoginWindow/ /usr/share/applications/gnome-appearance-properties.desktop /usr/share/applications/gconf-editor.desktop\n\nZatim se izlogujte iz vaseg korisnika nazad u GDM. Nakon sto se prozor za prijavljivanje pojavi, dva prozora bi takodje trebala da se pojave. Podesite GDM kako zelite, a zatim zatvorite prozore i ponovo se prijavite. Kada budete gotovi i zelite da se prozor vise ne otvara sa GDM-om, pokrenite ovo (kao root):\n rm /usr/share/gdm/autostart/LoginWindow/gnome-appearance-properties.desktop /usr/share/gdm/autostart/LoginWindow/gconf-editor.desktop\n\n{{Note|Upotrebom prijavljivanje/podesavanje metode mozete da vidite izmene dok ih pravite.}}\n\nZa vise informacija i napredna podesavanja procitajte [http://library.gnome.org/admin/gdm/2.28/configuration.html.en ovo].\n\n===Automatsko prijavljivanje===\n\nDa omogucite automatsko prijavljivanje sa GDM-om, dodajte sledece u {{ic|/etc/gdm/custom.conf}} (zamenite korisnika sa korisnickim imenom koje zelite da se automatski prijavljuje):\n\n{{hc|/etc/gdm/custom.conf|<nowiki>\n# Omogucite automatsko prijavljivanje za korisnika\n[daemon]\nAutomaticLogin=username\nAutomaticLoginEnable=True\n</nowiki>}}\n\nili za automatsko prijavljivanje sa kasnjenjem:\n\n{{hc|/etc/gdm/custom.conf|<nowiki>\n[daemon]\n# for login with delay\nTimedLoginEnable=true\nTimedLogin=username\nTimedLoginDelay=1\n</nowiki>}}\n\n===Prijavljivanje bez sifre (predpredjivanje upozorenja za lozinku u GDM-u):===\nAko zelite da omogucite prijavljivanje bez lozinke na GNOME, onda jednostavno dodajte sledecu liniju u {{ic|/etc/pam.d/gdm}}:\n\n auth sufficient pam_succeed_if.so user ingroup nopasswdlogin\n\n'''Uverite se''' da ova linije ide pravo ispod prve linije koja sadrzi \"pam_unix.so\" u sebi.\n\nZatim, dodajte grupu '''nopasswdlogin''' na vas sistem. To mozete da uradite graficki u System > Administration > Users and Groups. Pogledajte [[Users and groups]] za opise grupa i komande za upravljanje grupama.\n\nSada, kada ste u System > Administration > Users and Groups (komanda: users-admin) i podesite vaseg korisnika za \"Password: not asked at login\" (cekiranjem \"Don't ask for password on login\" opcije), vas korisnik ce biti automatski dodat u \"nopasswdlogin\" grupu i tada cete moci jednostavnim klikom na vase korisnicko ime da se prijavite na sistem, tj. bez neophodne lozinke!\n\n{{Warning|<u>NEMOJTE</u> OVO DA RADITE ZA '''''ROOT''''' NALOG!}}\n\n===Vise===\nNapomenimo da sa verzijom 1.6.1 xorg-server, {{ic|Ctrl+Alt+Backspace}} NECE vise restartovati gdm. Za uputstvo za ponovno osposobljavanje ove opcije, pogledajte [[Xorg#Ctrl-Alt-Backspace doesn't work]]{{Broken section link}}.\n\nZa vise informacija o grafickim prijavljivanjima (DM-ovi), pogledajte [http://endor.clublinux.org/RHCE-21.html ovau odlicnu stranu].\n\n===GDM legat===\nAko zelite da se vratite na stari GDM, koji takodje ima alatku za podesavanje opcija, kompajlirajte i instalirajte {{AUR|gdm-old}} sa AUR-a.\n\n==Ulepsavanje==\nPrema pocetnim podesavanjima, GNOME ne dolazi sa velikim brojem tema i ikona. Mozda cete zeleti da instalirate neke atraktivnije teme za GNOM:\n\nLep gtk endzin za teme (koji sadrzi i teme) je murrine endzin. Instalirajte sa:\n # pacman -S gtk-engine-murrine\n\nAko zelite jos tema, mozete da ih preuzmete sa {{AUR|murrine-themes-collection}}{{Broken package link|{{aur-mirror|murrine-themes-collection}}}} sa AUR-a.\n\nKada ih instalirate, izaberite ih sa System -> Preferences -> Appearance -> Theme tab.\n\nArc Linuks repozitorijumi takodje imaju dodatnih tema i endzina. Instalirajte sledece da biste sami videli:\n\n # pacman -S gtk-engines gtk-aurora-engine gtk-rezlooks-engine\n\nMozete naci jos mnogo tema, ikona i pozadina na [http://www.gnome-look.org GNOME-Look].\n\nAli kako da namestim one zaista kul desktop efekte koje sam gledao na youtube-u? Pogledajte [[Compiz]]. :)\n\n==Mintmeni (Napredni [Alternativni] GNOME meni)==\nInstalirajte paket iz AUR-a {{AUR|mintmenu}} upotrebom [[AUR]] po vasem izboru. Ime paketa:\n\n mintmenu\n\nMintmenu koristi gconf da skladisti svoja podesavanja, ukljucujuci meni ikonu za prikaz. Ako je vasa trenutna vrednost {{ic|/usr/lib/linuxmint/mintMenu/mintMenu.png}}, ovo moze biti zbog prethodne verzije tog paketa koji je uskladistio vrednost u {{ic|/apps/mintMenu/applet_icon}}. Na svezoj instalaciji {{ic|/apps/mintMenu/applet_icon}} vrednost je prema pocetnim podesavanjima {{ic|/usr/share/archlinux/icons/archlinux-icon-tango-16.svg}}.\nVrednost moze da se promeni sa gconf-editor, gconftool-2 ili iz Preferences (Right click on menu -> Preferences -> \"Main Button\" -> \"Button icon:\".\n\n==XDG korisnicki direktorijumi==\nMnoge Linuks distribucije poput Ubuntu ili Linux Mint dolaze prekonfigurisane sa vasim pocetnim korisnickim direktorijumima kao sto su downloads direktorijum, direktorijum za muziku, za dokumenta itd... To takodje dodeljuje tim specijalnim direktorijumima ikone. Da podesite XDG korisnicke direktorijume, izvrsite ovu komandu:\n # pacman -S xdg-user-dirs\n\nStartna podesavanja korisnickog direktorijuma su skladistena u {{ic|/etc/xdg/user-dirs.defaults}}. Mozete da ih editujete i izmenite startna podesavanja za one direktorijume za koje zelite da imate posebne ikone:\n{{Tip|Ne morate da editujete ovaj fajl ako samo zelite da podesite XDG korisnicke direktorijume za jednog korisnika ili ukoliko su vam startna podesavanja prihvatljiva.}} \n # nano /etc/xdg/user-dirs.defaults\n\nIzvrsite ovo kao normalan korisnik da podesite vase direktorijume:\n $ xdg-user-dirs-update\n\nOva komanda pravi direktorijume i podesava ih tako da GNOM zna da gde odrejeni fajlovi treba da idu po difoltu. Direktorijumi takodje imaju specijalne ikone u zavisnosti od toga sta konfiguracioni fajl  govori GNOM-u o pojedinim direktorijumima.\n\nDa kasnije editujete korisnicki konfiguracioni fajl, znajte da se nalazi u {{ic|~/.config/user-dirs.dirs}}. Mozete da ga editujete izvrsavanjem sledece komande ili upotrebom vaseg omiljenog tekst editora:\n $ nano ~/.config/user-dirs.dirs\n\n==Resavanje problema==\n===Generalno resenje===\nProbajte sa svezim podesavanjima tako sto cete ukloniti stara podesavanja:\n $ for d in .gnome* .gconf*; do mv \"$d\" \"$d.old\"; done\n\n===Ukoliko vam sistem pada i GNOM vise ne startuje.===\nMoguce resenje je da obnovite direktorijum za \"sesiju\" u {{ic|~/.gnome2}}. \n\n $ mv ~/.gnome2/session ~/.gnome2/session.old\n\n===GNOM lagovi===\nPogledajte [[FAQ#Q.29 Why is Arch so slow? Programs open slowly or do not run at all!|FAQ stranicu]]{{Broken section link}} za moguca resenja.\n\nAko je gnom logovanje sporo, mozete da probate da onemogucite flopi jedinice u biosu. Ovo ce spreciti \"flopi\" modul da se ucitava i moze da smanji vreme logovanja.\n\n===Ekran postaje crn dok se GNOM ucitava===\nAko je ekran crn prilikom ucitavanja GNOM-a, mozete pokusati sledece.\n\nOtvorite terminal i izvrsite:\n $ gconf-editor\n\nNadjite:\n / &rarr; apps &rarr; gnome-power-manager &rarr; backlight\ni promenite vrednost\n brightness_ac\nod 100 na 0 kliktanjem na njega. Nakon restartovanja sistema problem bi trebalo da nestane.\n\n{{Tip | Ako se problem ponovo vrati, promenite vrednosti za osvetljenje nazad na 100, sto bi moglo da resi problem.}}\n\n===Imena fajlova sa losim karakterima na FAT particijama===\nPodesavanjem ove opcije u gnome-mount, vas Linuks sismtemi ce citati i pisati fajlove sa istim karakterima kao Windows sistemi (vrlo korisno za USB uredjaje):\n gconftool-2 -s /system/storage/default_options/vfat/mount_options --list-type=string -t list [shortname=lower,uid=,utf8]\n\nVec postoji [https://bugzilla.gnome.org/show_bug.cgi?id=487547 bag izvestaj za to].\n\n===gnome-terminal ne podrzava UTF-8 karaktere za mene===\nDodajte ove dve linije u {{ic|/etc/environment}} fajl:\n\n LANG=\"en_US.UTF-8\"\n LC_ALL=\"en_US.UTF-8\"\n\nRestartujte vas sistem i gnome-terminal ce raditi ispravno.\n\n==Spoljasnji linkovi==\n* [http://www.gnome.org/ Oficijalni web sajt]\n* [http://www.gnome.org/learn/ Oficijalna dokumentacija]\n* Teme, ikone i pozadine:\n** [http://art.gnome.org/ Gnom umetnost]\n** [http://www.gnome-look.org/ Gnom izgled]\n* GTK/GNOM programi:\n** [http://www.gnomefiles.org/ Gnom fajlovi]\n** [http://www.gnome.org/projects/ Lista Gnom projekata]"
                    }
                ]
            },
            "10649": {
                "pageid": 10649,
                "ns": 0,
                "title": "Rxvt-unicode (Espa\u00f1ol)",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "{{DISPLAYTITLE:rxvt-unicode (Espa\u00f1ol)}}\n[[Category:Terminal emulators (Espa\u00f1ol)]]\n[[de:urxvt]]\n[[en:Rxvt-unicode]]\n[[fr:urxvt]]\n[[ja:Rxvt-unicode]]\n[[ru:Rxvt-unicode]]\n[[sr:Rxvt-unicode]]\n{{Translateme (Espa\u00f1ol)|traducci\u00f3n est\u00e1 desactualizada}}\n[http://software.schmorp.de/pkg/rxvt-unicode.html rxvt-unicode] es un [[Terminal Emulator|emulador de terminal]] altamente configurable derivado de [[Wikipedia:Rxvt|rxvt]]. Comunmente es conocido como <tt>urxvt</tt>, este emulador puede ser [[Daemon|demonizado]] para ejecutar los clientes en un solo [[Wikipedia:Process (computing)|proceso]] con el fin de minimizar el uso de los recursos del sistema. Desarrollado por Marc Lehmann, algunas de las caracter\u00edsticas m\u00e1s sobresalientes de rxvt-unicode son el soporte de idiomas internacionales a trav\u00e9s de [[Wikipedia:Unicode|Unicode]], asi como la habilidad de mostrar m\u00faltiples tipografias y soporte para extensiones [[Wikipedia:Perl|Perl]].\n\n==Installaci\u00f3n==\n\n{{Pkg|rxvt-unicode}} es parte del repositorio [[Official repositories|official Arch Linux (extra) repositories]]\n\nInstall the latest version of rxvt-unicode:\n # pacman -S rxvt-unicode\n\n==Configuraci\u00f3n==\n\n===Creando ~/.Xresources===\nEl aspecto y las funciones de rxvt-unicode son especificados en el archivo {{ic|.[[Xresources]]}}.\n\nSi usas {{ic|startx}}, a\u00f1ada este a tu {{ic|~/.xinitrc}}:\n xrdb -merge ~/.Xresources\n\n{{Note|Command-line arguments override and take precedence over the resource settings established in this file.}}\n \nCrear si no existe:\n $ touch ~/.Xresources\n\nTodo lo que hay que hacer es introducir los ajustes deseados editanto el archivo.\n\n====Ejemplo ~/.Xresources #1====\n[http://i275.photobucket.com/albums/jj281/adamchrista/Arch%20Linux/Wiki%20Examples/urxvt-man.png rxvt-unicode Example #1 Screenshot]\n<pre>\nURxvt.buffered:         true\nURxvt.background:       black\nURxvt.foreground:       white\nURxvt.cursorColor:      green\nURxvt.underlineColor:   yellow\nURxvt.font:             xft:Terminus:pixelsize=14:antialias=false\nURxvt.boldFont:         xft:Terminus:bold:pixelsize=14:antialias=false\nURxvt.perl-ext-common:  default,tabbed\nURxvt.title:            ArchWiki Example\n</pre>\n\nMira la [http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod pagina de referencia de rxvt-unicode] para ver una lista completa de ajustes disponibles.\n\n====Ejemplo ~/.Xresources #2====\n[http://nsa14.casimages.com/img/2010/05/08/100508043340911093.png rxvt-unicode Example #2 Screenshot]\n\n<pre>\nURxvt.geometry: 400x30 \nURxvt.buffered: true\nURxvt.background: black\nURxvt.foreground: green\nURxvt.cursorColor: yellow\nURxvt.underlineColor: green\nURxvt.font:xft:Bitstream Vera Sans Mono:pixelsize=12:antialias=true\n\n!------------\n!True Transparency\n!------------\n!set to 32-bit for real transparency (compositing required (see xcompmgr)\nurxvt*depth:             32\n!transparent=0000 opaque=ffff\nurxvt*background: rgba:1111/1111/1111/dddd\n!urxvt*background: rgba:1111/1111/1111/0000\n\n\n!------------------\n!False tranparency\n!------------------\n!URxvt.transparent: true\n!URxvt.shading: 50 \n\nUrxvt.secondaryScroll:  true    # Enable Shift-PageUp/Down in screen\n</pre>\n\n==Consejos & Trucos==\n\n===URIs cliqueables===\nPuedes lograr URIs cliqueables en la terminal si tienes Perl instalado. Por ejemplo, para abrir enlaces en [[Firefox]] a\u00f1ade lo siguiente a {{ic|~/.Xresources}}:\n URxvt.perl-ext-common:  default,matcher\n URxvt.urlLauncher:      /usr/bin/firefox\n URxvt.matcher.button:   1 \n\n{{Nota|En caso de usar otro navegador, cambiar {{ic|/usr/bin/firefox}} , por {{ic|/usr/bin/EXPLORADOR}})}}\n\n===Yankable URIs (Sin Mouse)===\nAdem\u00e1s, puede seleccionar y abrir direcciones URL en su navegador web, sin necesidad de utilizar el rat\u00f3n.\n\nInstala el paquete {{Pkg|urxvt-url-select}}{{Broken package link (Espa\u00f1ol)|replaced by {{Pkg|urxvt-perls}}}} y modifica tu {{ic|~.Xresources}} como sea necesario. Un ejemplo es el siguiente:\n URxvt.perl-ext:      default,url-select\n URxvt.keysym.M-u:    perl:url-select:select_next\n URxvt.urlLauncher:   firefox\n URxvt.underlineURLs: true\n\n{{Nota|Esta extensi\u00f3n reemplaza el de las URIs cliqueables mencionada anteriormente.}}\n\n'''Comandos de teclado:'''\n\n{{ic|Alt}} + {{ic|U}} Entrar en modo selecci\u00f3n. La \u00faltima URI en tu pantalla sera seleccionada. Puedes repetir {{ic|Alt}}+{{ic|U}} para seleccionar la URI que sigue hacia arriba.\n\n{{ic|K}} Selecciona la URI por encima\n\n{{ic|J}} Selecciona la URI por debajo\n\n{{ic|Return}} Abre la URI seleccionada en el navegador y sale del modo selecci\u00f3n\n\n{{ic|O}} Abre la URI seleccionada sin salir del modo selecci\u00f3n\n\n{{ic|Y}} Copia (yank) la URI seleccionada y sale del modo selecci\u00f3n\n\n{{ic|Esc}} Cancelar modo selecci\u00f3n\n\n===Copiar y pegar===\nPara los usuarios no familiarizados con el modo de transferencia de datos de [[Xorg]], el intercambio de informaci\u00f3n desde y hacia rxvt-unicode puede convertirse en un dolor de cabeza. \n\n====Clipboard Management====\n* [http://parcellite.sourceforge.net/ Parcellite] es un gestor de portapapeles GTK+ que tambi\u00e9n puede correr en segundo plano como demonio.\n\n* [http://www.nongnu.org/autocutsel/ autocutsel]provee de interfaz en l\u00ednea de comandos y demonio para sincronizar los portapapeles.\n\n* [http://glipper.sourceforge.net/ Glipper] es un applet para el panel de [[GNOME (Espa\u00f1ol)|GNOME]] con antiguas versiones que pueden ser usadas en escritorios no GNOME.\n\n* [http://goodies.xfce.org/projects/panel-plugins/xfce4-clipman-plugin Clipman] (xfce-clipman-plugin) es un gestor de portapapeles grafico para el panel de [[Xfce]] (xfpanel).\n\n====Script de gesti\u00f3n autom\u00e1tica====\nSkottish[https://bbs.archlinux.org/viewtopic.php?pid=506845#p506845] cre\u00f3 un script en Perl que autom\u00e1ticamente copia cualquier seleccion en urxvt al portapapeles. Guarda lo siguiente como {{ic|/usr/lib/urxvt/perl/clipboard}}:\n<pre>\n#! /usr/bin/perl\n\nsub on_sel_grab {\n    my $query=quotemeta $_[0]->selection;\n    $query=~ s/\\n/\\\\n/g;\n    $query=~ s/\\r/\\\\r/g;\n    system( \"echo -en \" . $query . \" | xsel -i -b -p\" );\n}\n</pre>\n\nXyne cre\u00f3 tambien su propia version del script de Skottish's (el cual esta tambien disponible en el AUR {{AUR|urxvt-clipboard}}):\n<pre>\n#! /usr/bin/perl\n\nsub on_sel_grab {\n    my $query = $_[0]->selection;\n    open (my $pipe,'|-','xsel -ibp') or die;\n    print $pipe $query;\n    close $pipe;\n}\n</pre>\n\nNecessita {{Pkg|xsel}} y debe estar habilitado en {{ic|*perl-ext-common}} o {{ic|*perl-ext}} en {{ic|~/.Xresources}}. Por ejemplo:\n URxvt.perl-ext-common: default,clipboard\n\n===Scrollbar===\nLa apariencia de la scrollbar puede ser establecida a trav\u00e9s de la siguiente entrada en {{ic|~/.Xresources}}:\n ! scrollbar style - rxvt (default), plain, next, or xterm\n URxvt*scrollstyle:rxvt\n\nDe las cuales \"plain\" es la m\u00e1s compacta de todas.\n\n===Tabs===\nTo add tabs to urxvt, add the following to your {{ic|~/.Xresources}}:\n URxvt.perl-ext-common:  default,tabbed\n\nTo control tabs use:\n\n{{ic|Shift}}+{{ic|\u2193}} new tab\n\n{{ic|Shift}}+{{ic|\u2190}} go to left tab\n\n{{ic|Shift}}+{{ic|\u2192}} go to right tab\n\n{{ic|Ctrl}}+{{ic|\u2190}} move tab to the left\n\n{{ic|Ctrl}}+{{ic|\u2192}} move tab to the right\n\n{{ic|Ctrl}}+{{ic|D}}: close tab \n\nYou can change the colors of tabs with the following:\n URxvt.tabbed.tabbar-fg: 2\n URxvt.tabbed.tabbar-bg: 0\n URxvt.tabbed.tab-fg:    3\n URxvt.tabbed.tab-bg:    0\n\nColors must be specified using color indexes: 0 to 15 correspond to your {{ic|~/.Xresources}} colors, -1 is the background color and -2 is the foreground color. Colors are declared like this:\n XTerm.color0: #000000\n XTerm.color2: #aece92\n XTerm.color3: #968a38\n\nFor named tabs, see [https://aur.archlinux.org/packages.php?ID=38990 this package in the AUR], (Shift+Up: names a tab).\n\n===Font Declaration Methods===\n URxvt.font:            9x15\nis the same as\n -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1\nand \n URxvt.font:            9x15bold\nis the same as\n URxvt.font:            -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso8859-1\n\nThe complete list of short names for X core fonts can be found in {{ic|/usr/share/fonts/misc/fonts.alias}}. (There are also fonts.alias files in some of the other subdirectories of {{ic|/usr/share/fonts/}}, but as they are packaged separately from the actual fonts, they may list fonts you don't actually have installed.) It is worth noting that these short aliases select for ISO-8859-1 versions of the fonts rather than ISO-10646-1 (Unicode) versions, and 75 DPI rather than 100 DPI versions, so you're probably better off avoiding them and choosing fonts by their full long names instead.\n\n===Improved Kuake-like Behavior in Openbox===\nThis was originally posted on the forum by Xyne<sup>[https://bbs.archlinux.org/viewtopic.php?pid=550380]</sup> and it relies on {{Pkg|xdotool}} which is available in the [[Official repositories]].\n\n====Scriptlets====\nSave this scriptlet from the {{ic|urxvtc}} man page somewhere on your system as {{ic|urxvtc}} (e.g., in {{ic|~/.config/openbox}}):\n<pre>\n#!/bin/sh\nurxvtc \"$@\"\nif [ $? -eq 2 ]; then\n   urxvtd -q -o -f\n   urxvtc \"$@\"\nfi\n</pre>\n\nand save this one as {{ic|urxvtq}}:\n<pre>\n#!/bin/bash\n\nwid=$(xdotool search --classname urxvtq)\nif [ -z \"$wid\" ]; then\n  /path/to/urxvtc -name urxvtq -geometry 80x28\n  wid=$(xdotool search --classname urxvtq | head -1)\n  xdotool windowfocus $wid\n  xdotool key Control_L+l\nelse\n  if [ -z \"$(xdotool search --onlyvisible --classname urxvtq 2>/dev/null)\" ]; then\n    xdotool windowmap $wid\n    xdotool windowfocus $wid\n  else\n    xdotool windowunmap $wid\n  fi\nfi\n</pre>\n\nA previous version of xdotool introduced a bug which disabled recognition of visible windows and thus led some users to use the following scriptlet in place of the previous one. This is no longer necessary as {{Pkg|xdotool}} >= 1.20100416.2809, but it has been left here for future reference.\n<pre>\n#!/bin/bash\n\nwid=$(xprop -name urxvtq | grep 'WM_COMMAND' | awk -F ',' '{print $3}' | awk -F '\"' '{print $2}')\nif [ -z \"$wid\" ]; then\n  /path/to/urxvtc -name urxvtq -geometry 200x28\n  wid=$(xprop -name urxvtq | grep 'WM_COMMAND' | awk -F ',' '{print $3}' | awk -F '\"' '{print $2}')\n  xdotool windowfocus $wid\n  xdotool key Control_L+l\nelse\n  if [ -z \"$(xprop -id $wid | grep 'window state: Normal' 2>/dev/null)\" ]; then\n    xdotool windowmap $wid\n    xdotool windowfocus $wid\n  else\n    xdotool windowunmap $wid\n  fi\nfi\n</pre>\n\nMake sure that you change {{ic|/path/to/urxvtc}} to the actual path to the {{ic|urxvtc}} scriptlet that you saved above. We'll be using {{ic|urxvtc}} to launch both regular instances of {{ic|urxvt}} and the kuake-like instance.\n\n====urxvtq with tabbing====\nIf you want to have tabs in your kuake-like {{ic|urxvtc}} (here called {{ic|urxvtq}}) just replace the third line in your {{ic|urxvtq}}:\n wid=$(xdotool search --name urxvtq)\nwith:\n wid=$(xdotool search --name urxvtq | grep -m 1 \"\" )\n\nTo activate the tab support, you can either replace the fifth line of your {{ic|urxvtq}}:\n /path/to/urxvtc -name urxvtq -geometry 80x28\nwith:\n /path/to/urxvtc -name urxvtq -pe tabbed -geometry 80x28\nor replace this line of your {{ic|.Xresources}}:\n URxvt.perl-ext-common: default,matcher\nwith\n URxvt.perl-ext-common: default,matcher,tabbed\n\n=====Tab control=====\n<SHIFT>-Left: Switch to the tab left of current one\n\n<SHIFT>-Right: Switch to the tab right of current one\n\n<SHIFT>-Down: Create a new tab\n\nYou can also use your mouse to switch the tabs by clicking the wished one and create a new tab by clicking on ''[NEW].\\\\''\n\nTo close a tab just enter 'exit' like you'll close a terminal.\n\n====Openbox configuration====\nNow add the following lines to the {{ic|<applications>}} section of {{ic|~/.config/openbox/rc.xml}}:\n<pre>\n<application name=\"urxvtq\">\n   <decor>no</decor>\n   <position force=\"yes\">\n     <x>center</x>\n     <y>0</y>\n   </position>\n   <desktop>all</desktop>\n   <layer>above</layer>\n   <skip_pager>yes</skip_pager>\n   <skip_taskbar>yes</skip_taskbar>\n   <maximized>Horizontal</maximized>\n</application>\n</pre>\n\nand add these lines to the {{ic|<keyboard>}} section:\n<pre>\n<keybind key=\"W-t\">\n  <action name=\"Execute\">\n    <command>/path/to/urxvtc</command>\n  </action>\n</keybind>\n<keybind key=\"W-grave\">\n  <action name=\"Execute\">\n    <execute>/path/to/urxvtq</execute>\n  </action>\n</keybind>\n</pre>\n\nHere too you need to change the {{ic|/path/to/*}} lines to point to the scripts that you saved above. Save the file and then reconfigure Openbox. You should now be able to launch regular instances of urxvt with the Windows/Super key + \"'''t'''\", and toggle the kuake-like console with Windows/Super+grave ('''`''').\n\n====Further configuration====\nThe advantage of this configuration over the urxvt kuake perl script is that Openbox provides more keybinding options such as modifier keys. The kuake script hijacks an entire physical key regardless of any modifier combination. Review the [http://icculus.org/openbox/index.php/Help:Bindings Openbox bindings documentation] for the full range or possibilities.\n\nThe [http://icculus.org/openbox/index.php/Help:Applications Openbox per-app settings] can be used to further configure the behavior of the kuake-like console (e.g. screen position, layer, etc). You may need to change the \"geometry\" parameter in the {{ic|urxvtq}} scriptlet to adjust the height of the console.\n\n====Related scripts====\n*hbekel has posted a generalized version of the {{ic|urxvtq}} [https://bbs.archlinux.org/viewtopic.php?pid=550380#p550380 here] which can be used to toggle any application using {{ic|xdotool}}.\n\n*http://www.jukie.net/~bart/blog/20070503013555 - A script for opening url's with your keyboard instead of mouse with urxvt.\n\n===Rxvt-unicode as gmrun terminal===\nUnlike some other terminals, urxvt expects the arguments to -e to be given separately, rather than grouped together with quotes. This causes trouble with gmrun, which assumes the opposite behavior. This can be worked around by putting an \"eval\" in front of gmrun's \"Terminal\" variable in .gmrunrc:\n<pre>\nTerminal = eval urxvt\nTermExec = ${Terminal} -e\n</pre>\n(gmrun uses /bin/sh to execute commands, so the \"eval is understood here.) The \"eval\" has the side-effect of \"breaking up\" the argument to -e in the same way $@ does in bash, making the command intelligible to urxvt.\n\n===Improving Performance===\n*Avoid the use of Xft fonts. If Xft fonts must be used, append {{ic|<nowiki>:antialias=false</nowiki>}} to the setting value.<sup>[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Can_I_speed_up_Xft_rendering_somehow]</sup>\n\n*Build rxvt-unicode with disabled support for unnecessary features, {{ic|--disable-xft}} and {{ic|--disable-unicode3}} in particular.<sup>[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Rxvt_unicode_uses_gobs_of_memory_how]</sup>\n\n*Limit the number of {{ic|saveLines}} (option {{ic|-sl}}) in the scrollback buffer to reduce memory usage.<sup>[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod#Isn_t_rxvt_unicode_supposed_to_be_sm]</sup>\n\n*Consider running {{ic|urxvtd}} as a daemon accepting connections from {{ic|urxvtc}} clients.\n\n===Remote Hosts===\nIf you are logging into a remote host, you may encounter problems when running text-mode programs under rxvt-unicode.  This can be fixed by copying {{ic|\n/usr/share/terminfo/r/rxvt-unicode}} from your local machine to your host at {{ic|~/.terminfo/r/rxvt-unicode}}.\n\n===True Transparency===\nTo enable true transparency, make sure you have a WM that supports compositing and a compositing manager installed and enabled, then add the following lines to your {{ic|.Xresources}} changing the rgba values to whatever color you would like:\n URxvt.depth: 32\n URxvt*background: rgba:0000/0000/0000/cccc\n\n==Problems==\n\n===Transparency not working after upgrade to V9.09===\nThe rxvt-unicode devs removed compatibility code for a lot of non standard wallpaper setters with this update. Using a non compatible wallpaper setter will break transparency support. Recommended wallpaper setters:\n* [[feh]]\n* hsetroot\n* esetroot\n\nTo make true transparency work, make sure to comment urxvt*tintColor and urxvt*inheritPixmap.\n\n==External resources==\n*[http://software.schmorp.de/pkg/rxvt-unicode.html rxvt-unicode] - Official site\n*[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod rxvt-unicode FAQ] - Official FAQ\n*[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.1.pod rxvt-unicode Reference] - Official manual page\n*[http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/src/urxvt.pm urxvtperl] - Official Perl extension reference\n*{{man|1|urxvt}}"
                    }
                ]
            },
            "10933": {
                "pageid": 10933,
                "ns": 0,
                "title": "Vimprobable",
                "revisions": [
                    {
                        "contentformat": "text/x-wiki",
                        "contentmodel": "wikitext",
                        "*": "{{DISPLAYTITLE:Vimprobable}}\n[[Category:Web browser]]\n[[ja:Vimprobable]]\n{{Warning|Vimprobable is based on a WebKit port that is today considered insecure and outdated. It's recommended to use [[List of applications/Internet#Web browsers|another browser]] instead. More info [https://blogs.gnome.org/mcatanzaro/2016/02/01/on-webkit-security-updates/ here].}}\n\n[http://www.vimprobable.org/ Vimprobable]{{Dead link|2017|08|28}} is a WWW browser that behaves like the Vimperator plugin available for Mozilla [[Firefox]]. It is based on the WebKit engine (using GTK bindings). It is a fork of the currently abandoned vimpression.\n\n==Install==\nThere are three versions of Vimprobable in the [[AUR]]: {{AUR|vimprobable-git}}, {{AUR|vimprobable2-git}}{{Broken package link|package not found}}, and {{AUR|vimprobable2}} (latest release). Now that Vimprobable2 is at version 1.0, it is considered the primary branch; development of Vimprobable1 will still recieve bugfixes, but active development will be restricted to Vimprobable2. \n\nThe first version can only be customised by editing {{ic|config.h}} before compilation. It is pretty stable and very usable. Version 2, while also stable, is under more active development - it aims at allowing more customisation, for example through {{ic|:set}} and {{ic|:map}} commands.\n\n==Configuration==\nBoth versions require you to make customizations in the {{ic|config.h}} file before recompiling with\n $ makepkg -fi\n\nAdditionally, Vimprobable2 will look for a configuration file called {{ic|$XDG_CONFIG_HOME/vimprobable/vimprobablerc}} that has a number of options that can be configured without any need to recompile. You will need to create this file yourself.\n\nA basic vimprobablerc might contain the following options:\n set homepage=https://bbs.archlinux.org/\n set scrollbars=false\n set fontsize=12\n set monofontsize=10\n set monofont=\"Droid Sans Mono Slashed\"\n\nMore details on configuring Vimprobable2 can be found in the rc man page\n man vimprobablerc\n\nWithin the source directory, you will find two other files that can be customized, {{ic|config.h}} and {{ic|keymap.h}}. As one would expect, the first contains general configuration options, such as appearance and the second allows you to set your own keybindings. Any changes to either of these files require that Vimprobable2 be recompiled before they take effect. \n\n{{Tip|As per the post install instructions, you will need to copy these files from the source directory to customize them.}}\n\nDetails for the default keybindings and options can be found in the man page\n man vimprobable\n\n==Tips==\nSetting a more generic user agent will make accessing some websites more straightforward. In {{ic|$XDG_CONFIG_HOME/vimprobable/vimprobablerc}} add a useragent for a browser that the site will find more acceptable, for example:\n set useragent=\"Vimprobable2 (X11; U; Unix; en-US) AppleWebKit/531.2+ Compatible (Safari)\"\n\nYou can find a list of useragents here: http://www.useragentstring.com/pages/useragentstring.php\n\nYou can specify additional search engines in Vimprobable2's {{ic|config.h}} like so\n\n static Searchengine searchengines[] = {\n { \"b\", \u00a0 \u00a0 \u00a0 \u00a0 \"http://blekko.com/?q=%s\" },\n { \"d\", \u00a0 \u00a0 \u00a0 \u00a0 \"http://duckduckgo.com/?q=%s\" },\n { \"g\", \u00a0 \u00a0 \u00a0 \u00a0 \"http://www.google.com/search?hl=en&source=hp&ie=ISO-8859-l&q=%s\" },\n { \"a\", \u00a0 \u00a0 \u00a0 \u00a0 \"https://wiki.archlinux.org/index.php?title=Special%%3ASearch&search=%s&go=Go\" },\n { \"w\", \u00a0 \u00a0 \u00a0 \u00a0 \"https://secure.wikimedia.org/wikipedia/en/w/index.php?title=Special%%3ASearch&search=%s&go=Go\" },\n }\n\nIf you are running Vimprobable in [https://tools.suckless.org/tabbed/ tabbed], you can direct other applications to open webpages and have them captured in {{ic|tabbed}} by starting Vimprobable with an {{ic|xid}}:\n  $(tabbed -d >/tmp/tabbed.xid); vimprobable2 -e $(</tmp/tabbed.xid)\nand then directing the other applications to use that {{ic|xid}} to launch Vimprobable:\n  exec vimprobable2 -e $(</tmp/tabbed.xid) \"$1\"\n\nWith this script you can create a tabbed session if there is not already a window with tabbed, and then