setxkbmap - set the keyboard using the X Keyboard Extension
setxkbmap [ args ] [ layout [ variant [ option ... ] ] ]
The setxkbmap command maps the keyboard to use the layout determined by the options specified on the command line. An XKB keymap is constructed from a number of components which are compiled only as needed. The source for all of the components can be found in /usr/share/X11/xkb.
-compat name Specifies the name of the compatibility map component used to construct a keyboard layout. -config file Specifies the name of an XKB configuration file which describes the keyboard to be used. -device device Specifies the numeric device id of the input device to be updated with the new keyboard layout. If not specified, the core keyboard device of the X server is updated. -display display Specifies the display to be updated with the new keyboard layout. -geometry name Specifies the name of the geometry component used to construct a keyboard layout. -help Prints a message describing the valid input to setxkbmap. -I directory Adds a directory to the list of directories to be used to search for specified layout or rules files. -keycodes name Specifies the name of the keycodes component used to construct a keyboard layout. -keymap name Specifies the name of the keymap description used to construct a keyboard layout. -layout name Specifies the name of the layout used to determine the components which make up the keyboard description. The -layout option may only be used once. Multiple layouts can be specified as a comma-separated list. -model name Specifies the name of the keyboard model used to determine the components which make up the keyboard description. Only one model may be specified on the command line. -option name Specifies the name of an option to determine the components which make up the keyboard description; multiple options may be specified, one per -option flag. Note that setxkbmap adds options specified in the command line to the options that were set before (as saved in root window properties). If you want to replace all previously specified options, use the -option flag with an empty argument first. -print With this option setxkbmap just prints component names in a format acceptable by xkbcomp (an XKB keymap compiler) and exits. The option can be used for tests instead of a verbose option and in cases when one needs to run both the setxkbmap and the xkbcomp in chain (see below). -query With this option setxkbmap just prints the current rules, model, layout, variant, and options, then exits. -rules file Specifies the name of the rules file used to resolve the requested layout and model to a set of component names. -symbols name Specifies the name of the symbols component used to construct a keyboard layout. -synch Force synchronization for X requests. -types name Specifies the name of the types component used to construct a keyboard layout. -variant name Specifies which variant of the keyboard layout should be used to determine the components which make up the keyboard description. The -variant option may only be used once. Multiple variants can be specified as a comma-separated list and will be matched with the layouts specified with -layout. -verbose|-v [level] Specifies level of verbosity in output messages. Valid levels range from 0 (least verbose) to 10 (most verbose). The default verbosity level is 5. If no level is specified, each -v or -verbose flag raises the level by 1. -version Prints the program's version number.
If you have an Xserver and a client shell running on different computers and some XKB configuration files on those machines are different, you can get problems specifying a keyboard map by model, layout, and options names. This is because setxkbmap converts its arguments to names of XKB configuration files according to files that are on the client-side computer, then sends these file names to the server where xkbcomp has to compose a complete keyboard map using files which the server has. Thus if the sets of files differ in some way, the names that setxkbmap generates can be unacceptable on the server side. You can solve this problem by running the xkbcomp on the client side too. With the -print option setxkbmap just prints the file names in an appropriate format to its stdout and this output can be piped directly to the xkbcomp input. For example, the command setxkbmap us -print | xkbcomp - $DISPLAY makes both steps run on the same (client) machine and loads a keyboard map into the server.
xkbcomp(1), xkeyboard-config(7)
/usr/share/X11/xkb
Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.
Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.
Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.
Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.
The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.
Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.
Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.
Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.