https://wiki.archlinux.org/api.php?action=feedcontributions&user=Wonder&feedformat=atomArchWiki - User contributions [en]2024-03-29T15:21:37ZUser contributionsMediaWiki 1.41.0https://wiki.archlinux.org/index.php?title=Arch_IRC_channels&diff=673713Arch IRC channels2021-05-26T13:53:08Z<p>Wonder: romanian community is now #archlinux-ro</p>
<hr />
<div>[[Category:Internet Relay Chat]]<br />
[[Category:Arch community]]<br />
[[bs:Arch IRC channels]]<br />
[[es:Arch IRC channels]]<br />
[[fr:IRC]]<br />
[[ja:IRC チャンネル]]<br />
[[lt:Arch IRC channels]]<br />
[[pt:Arch IRC channels]]<br />
[[sr:Arch IRC channels]]<br />
[[zh-hans:Arch IRC channels]]<br />
{{Related articles start}}<br />
{{Related|ArchWiki:IRC}}<br />
{{Related|International communities}}<br />
{{Related|phrik}}<br />
{{Related articles end}}<br />
<br />
{{Note|Do not edit this page unless you are a channel op in #archlinux. You are welcome to use the discussion page.}}<br />
<br />
To use [[wikipedia:Internet Relay Chat|Internet Relay Chat]] (IRC), you need an [[IRC client]]. The [[Installation guide|installation live environment]] includes the [[Irssi]] client.<br />
<br />
You are expected to familiarize yourself with our [[Code of conduct]] and [[Code of conduct#irc]] before joining any of the official channels. For a list of commonly used abbreviations, see [[Arch terminology]] and [http://www.ircbeginner.com/ircinfo/abbreviations.html IRC Jargon].<br />
<br />
== Main channels ==<br />
<br />
{{Note|Due to abuse, various gateways and web clients may be banned at times. If you experience trouble use a "''proper''" IRC client or ask one of the operators for a ban exemption ({{ic|+e}}).}}<br />
<br />
This section is about [ircs://irc.libera.chat/archlinux #archlinux], the main Arch Linux support [[wikipedia:Internet Relay Chat|IRC]] channel, and [ircs://irc.libera.chat/archlinux-offtopic #archlinux-offtopic], the main Arch Linux social channel, both available on the [https://libera.chat/ Libera Chat] network. See https://archlinux.org/news/move-of-official-irc-channels-to-liberachat/<br />
<br />
The central topic for '''#archlinux''' is support and general discussion about Arch Linux.<br />
<br />
=== Registration ===<br />
<br />
In order to reduce spam, '''#archlinux''' and '''#archlinux-offtopic''' have the channel mode set to {{ic|+r}} and {{ic|+q $~a}}. This means you have to be identified via {{ic|NickServ}} to be able to join these channels and send messages, respectively. If you are not registered and identified, you will be forwarded to '''#archlinux-unregistered'''.<br />
<br />
To register with NickServ, follow the [https://libera.chat/guides/registration Libera Chat FAQ], as well as {{ic|NickServ HELP}} when connected to ''irc.libera.chat'':<br />
<br />
/query NickServ HELP REGISTER<br />
/query NickServ HELP IDENTIFY<br />
<br />
{{Note|<br />
* If {{ic|/query}} happens to not work in your client, you can try using either {{ic|/quote NickServ ''command''}} or {{ic|/msg NickServ ''command''}}.<br />
* Some IRC clients have a race-condition where they try to autojoin channels before you have been identified with NickServ. You need to enable SASL to solve this. Either look up your IRC client's documentation or look at the Libera Chat [https://libera.chat/guides/sasl SASL page] to find instructions for how to enable it.<br />
* You can get a list of people who can help you by typing {{ic|/msg ChanServ FLAGS #archlinux}}, or join '''#libera''' and ask there.<br />
}}<br />
<br />
=== Channel operators ===<br />
<br />
Arch operators are ops in both '''#archlinux''' and '''#archlinux-offtopic'''. See the list below, or run {{ic|/msg phrik listops}} on Libera Chat.<br />
<br />
If you for some reason need the help of an op, do not be shy to {{ic|/query}} or {{ic|/msg}} us. Here is the list of ops as of 18 Dec 2019:<br />
<br />
* alad<br />
* amcrae<br />
* falconindy<br />
* gehidore / man<br />
* grawity<br />
* heftig<br />
* jelle<br />
* MrElendig / Mion<br />
* Namarrgon<br />
* tigrmesh / tigr<br />
* wonder / ioni<br />
<br />
=== Libera Chat group contacts ===<br />
<br />
Group contacts administer who gets {{ic|archlinux/*}} hostmasks on the network, along with administer the '''#archlinux-*''' namespace on the [https://libera.chat/ Libera Chat] network. Please note only official member of the team gets these hostmasks.<br />
<br />
* wonder / ioni<br />
* fukawi2<br />
* anthraxx<br />
<br />
== Other channels ==<br />
<br />
The size of our community led to the creation of multiple IRC channels. To get a list of all channels on [ircs://irc.libera.chat irc.libera.chat] that contain {{ic|archlinux}} in their name, use the command {{ic|/query alis LIST *archlinux*}}.<br />
<br />
{| class="wikitable sortable"<br />
! scope="col" width="180px" | Channel<br />
! scope="col" width="500px" | Topic<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-aur #archlinux-aur]<br />
| [[AUR]] general discussion<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-aurweb #archlinux-aurweb]<br />
| [https://gitlab.archlinux.org/archlinux/aurweb aurweb] development discussion<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-bugs #archlinux-bugs]<br />
| Bug-centric discussion<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-classroom #archlinux-classroom]<br />
| A project that develops and hosts classes for the Arch Linux community<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-classroom #archlinux-conf]<br />
| ArchConf organization and discussion<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-devops #archlinux-devops]<br />
| Arch Linux internal infrastructure and devops discussions<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-multilib #archlinux-multilib]<br />
| Arch Linux Multilib Project discussion and packaging<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-newbie #archlinux-newbie]<br />
| A space to learn, try new things, and ask for help without fear of ridicule<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-pacman #archlinux-pacman]<br />
| [[Pacman]] development and discussion<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-proaudio #archlinux-proaudio]<br />
| Discussion of [[Professional audio|Arch Linux Pro Audio]]. Users are also in the unofficial #archaudio.<br />
|-<br />
| [ircs://irc.libera.chatt/archlinux-projects #archlinux-projects]<br />
| Projects development and discussion (mkinitcpio, abs, dbscripts, devtools…)<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-releng #archlinux-releng]<br />
| Arch Linux Release Engineering ([[archiso]]) discussion<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-reproducible #archlinux-reproducible]<br />
| Discussion channel for achieving reproducible builds<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-security #archlinux-security]<br />
| Discussion of security issues within Arch packages<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-testing #archlinux-testing]<br />
| Discussion channel regarding the testing repositories<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-wiki #archlinux-wiki]<br />
| Discussion about [[ArchWiki]], its articles and the [https://bbs.archlinux.org/ Arch Linux Forums]<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-women #archlinux-women]<br />
| Project discussion for programs/events to encourage women to contribute to Arch Linux and provide space for women to socialize and meet each other. Mostly in English.<br />
|}<br />
<br />
=== International IRC channels ===<br />
<br />
International discussions are available at the following channels, also located at the [ircs://irc.libera.chat irc.libera.chat] IRC network, unless stated otherwise.<br />
<br />
{| class="wikitable sortable"<br />
! scope="col" width="180px" | Channel<br />
! scope="col" width="500px" | Community<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-br #archlinux-br]<br />
| Brazilian<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-cn #archlinux-cn]<br />
| Chinese; also on [ircs://irc.oftc.net/arch-cn irc.oftc.net#arch-cn]<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-co #archlinux-co]<br />
| Colombian<br />
|-<br />
| [ircs://irc.libera.chat/archlinux.cz #archlinux.cz]<br />
| Czech<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-de #archlinux-de]<br />
| German<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-dk #archlinux-dk]<br />
| Danish<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-es #archlinux-es]<br />
| Spanish<br />
|-<br />
| [ircs://irc.libera.chat/archlinux.fi #archlinux.fi]<br />
| Finnish<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-fr #archlinux-fr]<br />
| French<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-greece #archlinux-greece]<br />
| Greek<br />
|-<br />
| [ircs://irc.libera.chat/archlinux.hu #archlinux.hu]<br />
| Hungarian<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-it #archlinux-it]<br />
| Italian; also on [ircs://irc.azzurra.org/archlinux irc.azzurra.org#archlinux]<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-mx #archlinux-mx]<br />
| Mexican<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-nordics #archlinux-nordics]<br />
| The Nordics: Danish, Finnish, Norwegian and Swedish<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-pl #archlinux-pl]<br />
| Polish<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-pt #archlinux-pt]<br />
| Portuguese<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-ro #archlinux-ro]<br />
| Romanian<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-rs #archlinux-rs]<br />
| Serbian<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-ru #archlinux-ru]<br />
| Russian; also on [irc://irc.mibbit.net/archlinux-ru irc.mibbit.net#archlinux-ru]<br />
|-<br />
| [ircs://irc.libera.chat/archlinux.se #archlinux.se]<br />
| Swedish<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-tg #archlinux-tg]<br />
| Russian<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-tr #archlinux-tr]<br />
| Turkish<br />
|-<br />
| [ircs://irc.libera.chat/archlinux-ua #archlinux-ua]<br />
| Ukrainian<br />
|-<br />
| [ircs://irc.libera.chat/archlinuxvn #archlinuxvn]<br />
| Vietnamese<br />
|}</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Roll_Call&diff=411100DeveloperWiki:Roll Call2015-12-06T18:51:06Z<p>Wonder: </p>
<hr />
<div>[[Category:DeveloperWiki]]<br />
==Developers==<br />
* Aaron Griffin<br />
<br />
* Allan McRae<br />
** Packaging (toolchain)<br />
** Pacman development<br />
<br />
* Anatol Pomozov<br />
* Andreas Radke<br />
** Packaging (Bluetooth, Printing, Xorg, LibreOffice, LTS kernel)<br />
* Andrew Gregory<br />
** Pacman development<br />
* Ángel Velásquez<br />
* Antonio Rojas<br />
** Packaging (KDE, math stuff, orphans)<br />
* Bartłomiej Piotrowski<br />
** Packaging (mostly core and extra)<br />
** Bug tracker admin<br />
** Planet admin<br />
** Helping with rebuilds<br />
* Dan McGee<br />
* Daniel Isenmann<br />
* Dave Reisner<br />
* Eric Bélanger<br />
* Evangelos Foutras<br />
** Packaging (Xfce, LLVM/Clang)<br />
** Rebuild automation (arch-rebuilds)<br />
** Might be inactive for some period in 2016 and/or 2017<br />
* Felix Yan<br />
** Packaging (Python, Perl, Haskell, Nodejs, KDE/Qt, Deepin, Chinese/Japanese l10n, and more)<br />
* Florian Pritz<br />
** Packaging<br />
** Serveradmin<br />
** Mirrors<br />
** Mailinglists<br />
* Gaetan Bisson<br />
** Packaging<br />
* Gerardo Pozzi<br />
* Giovanni Scafora<br />
* Guillaume Alaux<br />
* Ionuț Mircea Bîru<br />
** Currently I'm in charge of paying all our servers and signing.<br />
** I don't do any packaging this days, unless there is a bug in a package that affects or annoys me.<br />
** Group contact for archlinux on freenode.<br />
* Jan de Groot<br />
* Jan Steffens<br />
** Packaging (GNOME, misc other stuff)<br />
* Jürgen Hötzel<br />
* Laurent Carlier<br />
** Packaging (mesa, xorg)<br />
* Lukas Fleischer<br />
* Maxime Gauduin<br />
* Pierre Schmitz<br />
** Packaging<br />
*** PHP<br />
*** See https://www.archlinux.org/packages/?maintainer=pierre<br />
** Maintaining<br />
*** install ISO and bootstrap packages<br />
*** Keyring<br />
*** wiki and bbs software (MediaWiki, FluxBB, custom themes and extensions)<br />
* Ray Rashif<br />
** Packaging (Audio, misc productivity and creativity, others)<br />
** Sporadic inactivity (mostly due to hardware issues needing to work in Windowz with pain)<br />
* Rémy Oudompheng<br />
* Ronald van Haren<br />
* Sébastien Luttringer<br />
* Sven-Hendrik Haase<br />
** Packaging (NVIDIA stuff, multimedia stuff)<br />
* Thomas Bächler<br />
* Thomas Dziedzic<br />
* Tobias Powalowski<br />
* Tom Gundersen<br />
<br />
==Trusted Users==<br />
* Alexander Rødseth<br />
* Alexandre Filgueira<br />
* Anatol Pomozov<br />
* Andrzej Giniewicz<br />
* Antonio Rojas<br />
* Balló György<br />
** Packaging (Cinnamon, GNOME Flashback, LXDE)<br />
* Christian Hesse<br />
* Connor Behan<br />
** Packaging<br />
* Daniel Micay<br />
* Daniel Wallace<br />
** Packaging<br />
* Evgeniy Alekseev<br />
* Fabio Castelli<br />
** Packaging<br />
* Ike Devolder<br />
** Packaging<br />
* Jakob Gruber<br />
** Packaging<br />
* Jaroslav Lichtblau<br />
* Jelle van der Waa<br />
* Jerome Leclanche<br />
** Packaging (LXQt)<br />
* Jiachen Yang<br />
* Johannes Löthberg<br />
* Jonathan Steel<br />
** Packaging<br />
* Kyle Keen<br />
* Laurent Carlier<br />
** Packaging<br />
* Levente Polyak<br />
** Packaging<br />
** Security team<br />
** Reproducible builds<br />
* Lukas Fleischer<br />
* Lukas Jirkovsky<br />
** Packaging<br />
* Martin Wimpress<br />
* Massimiliano Torromeo<br />
** Packaging<br />
* Maxime Gauduin<br />
* Pierre Neidhardt<br />
* Sébastien Luttringer<br />
* Sergej Pupykin<br />
* speps<br />
* Thomas Dziedzic<br />
* Thorsten Töpper<br />
* Timothy Redaelli<br />
* Xyne<br />
* Михаил Страшун<br />
<br />
==Support Staff==<br />
* Alad Wenter<br />
** Wiki administration<br />
* Christian Rebischke<br />
** arch-security mailinglist, searching CVE's in arch packages, writing bug reports<br />
* Doug Newgard<br />
** Bug tracker basic triage, sorting, correction, and assigning<br />
* Eric Waller<br />
* Jakob Wadsager<br />
* Jason Ryan<br />
** Forum Administration and Moderation<br />
** Wiki Administration<br />
* Johannes Löthberg<br />
* Levente Polyak<br />
** See above (TU)<br />
* Remi Gacogne<br />
** Security team<br />
** Reproducible builds<br />
* tigrmesh<br />
* WorMzy Tykashi<br />
** Forum moderation<br />
* Xyne</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Roll_Call&diff=411092DeveloperWiki:Roll Call2015-12-06T17:57:33Z<p>Wonder: </p>
<hr />
<div>[[Category:DeveloperWiki]]<br />
==Developers==<br />
* Aaron Griffin<br />
<br />
* Allan McRae<br />
** Packaging (toolchain)<br />
** Pacman development<br />
<br />
* Anatol Pomozov<br />
* Andreas Radke<br />
* Andrew Gregory<br />
** Pacman development<br />
* Ángel Velásquez<br />
* Antonio Rojas<br />
** Packaging (KDE, math stuff, orphans)<br />
* Bartłomiej Piotrowski<br />
** Packaging (mostly core and extra)<br />
** Bug tracker admin<br />
** Planet admin<br />
** Helping with rebuilds<br />
* Dan McGee<br />
* Daniel Isenmann<br />
* Dave Reisner<br />
* Eric Bélanger<br />
* Evangelos Foutras<br />
** Packaging (Xfce, LLVM/Clang)<br />
** Rebuild automation (arch-rebuilds)<br />
** Might be inactive for some period in 2016 and/or 2017<br />
* Felix Yan<br />
** Packaging (Python, Perl, Haskell, Nodejs, KDE/Qt, Deepin, Chinese/Japanese l10n, and more)<br />
* Florian Pritz<br />
** Packaging<br />
** Serveradmin<br />
** Mirrors<br />
** Mailinglists<br />
* Gaetan Bisson<br />
** Packaging<br />
* Gerardo Pozzi<br />
* Giovanni Scafora<br />
* Guillaume Alaux<br />
* Ionuț Mircea Bîru<br />
** Currently I'm in charge of paying all our servers and signing.<br />
** I don't do any packaging this days, unless there is a bug in a package that affects or annoys me.<br />
* Jan de Groot<br />
* Jan Steffens<br />
** Packaging (GNOME, misc other stuff)<br />
* Jürgen Hötzel<br />
* Laurent Carlier<br />
** Packaging (mesa, xorg)<br />
* Lukas Fleischer<br />
* Maxime Gauduin<br />
* Pierre Schmitz<br />
** Packaging<br />
*** PHP<br />
*** See https://www.archlinux.org/packages/?maintainer=pierre<br />
** Maintaining<br />
*** install ISO and bootstrap packages<br />
*** Keyring<br />
*** wiki and bbs software (MediaWiki, FluxBB, custom themes and extensions)<br />
* Ray Rashif<br />
* Rémy Oudompheng<br />
* Ronald van Haren<br />
* Sébastien Luttringer<br />
* Sven-Hendrik Haase<br />
** Packaging (NVIDIA stuff, multimedia stuff)<br />
* Thomas Bächler<br />
* Thomas Dziedzic<br />
* Tobias Powalowski<br />
* Tom Gundersen<br />
<br />
==Trusted Users==<br />
* Alexander Rødseth<br />
* Alexandre Filgueira<br />
* Anatol Pomozov<br />
* Andrzej Giniewicz<br />
* Antonio Rojas<br />
* Balló György<br />
* Christian Hesse<br />
* Connor Behan<br />
** Packaging<br />
* Daniel Micay<br />
* Daniel Wallace<br />
** Packaging<br />
* Evgeniy Alekseev<br />
* Fabio Castelli<br />
** Packaging<br />
* Ike Devolder<br />
** Packaging<br />
* Jakob Gruber<br />
** Packaging<br />
* Jaroslav Lichtblau<br />
* Jelle van der Waa<br />
* Jerome Leclanche<br />
** Packaging (LXQt)<br />
* Jiachen Yang<br />
* Johannes Löthberg<br />
* Jonathan Steel<br />
** Packaging<br />
* Kyle Keen<br />
* Laurent Carlier<br />
** Packaging<br />
* Levente Polyak<br />
** Packaging<br />
** Security team<br />
** Reproducible builds<br />
* Lukas Fleischer<br />
* Lukas Jirkovsky<br />
** Packaging<br />
* Martin Wimpress<br />
* Massimiliano Torromeo<br />
** Packaging<br />
* Maxime Gauduin<br />
* Pierre Neidhardt<br />
* Ray Rashif<br />
* Sébastien Luttringer<br />
* Sergej Pupykin<br />
* speps<br />
* Thomas Dziedzic<br />
* Thorsten Töpper<br />
* Timothy Redaelli<br />
* Xyne<br />
* Михаил Страшун<br />
<br />
==Support Staff==<br />
* Alad Wenter<br />
** Wiki administration<br />
* Christian Rebischke<br />
** arch-security mailinglist, searching CVE's in arch packages, writing bug reports<br />
* Doug Newgard<br />
** Bug tracker basic triage, sorting, correction, and assigning<br />
* Eric Waller<br />
* Jakob Wadsager<br />
* Jason Ryan<br />
** Forum Administration and Moderation<br />
** Wiki Administration<br />
* Johannes Löthberg<br />
* Levente Polyak<br />
** See above (TU)<br />
* Remi Gacogne<br />
** Security team<br />
** Reproducible builds<br />
* tigrmesh<br />
* WorMzy Tykashi<br />
** Forum moderation<br />
* Xyne</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Build_machines&diff=203485DeveloperWiki:Build machines2012-06-02T19:41:16Z<p>Wonder: </p>
<hr />
<div>[[Category:Arch development]]<br />
== Introduction ==<br />
This article is part of the [[DeveloperWiki]].<br />
<br />
== Server Information ==<br />
<br />
==== Server address ====<br />
* [http://pkgbuild.com http://pkgbuild.com]<br />
<br />
==== Server purpose ====<br />
* PKGBUILD.com is an attempt to create a unified build environment for Arch Linux<br />
<br />
==== Development tools ====<br />
* makechrootpkg - PKGBUILD.com uses a modified version of the standard makechrootpkg implementation that adds queueing and integrated architecture selection. <br />
* chrootupdate - Allows the update of all supported chroots by an otherwise unprivileged user. <br />
* chrootstatus - CLI version of the status indicator on the website.<br />
* unlock - Allows the removal of stale lockfiles by otherwise unprivileged users.<br />
* Users may set the makepkg.conf PACKAGER variable by creating a file called .packager in their home directory. Whatever is included on the first line of that file will replace the default packager (PKGBUILD.com Build Server).<br />
* Everything else falls under the standard devtools suite<br />
<br />
==== Server admin ====<br />
* Ionut Biru (ioni/wonder)<br />
<br />
==== Gaining access ====<br />
If you need access to the build server, please send me an email at ibiru@archlinux.org with [Build Server] in the subject line.</div>Wonderhttps://wiki.archlinux.org/index.php?title=User:Wonder/GNOME&diff=189047User:Wonder/GNOME2012-03-12T12:02:44Z<p>Wonder: move bug</p>
<hr />
<div>=Opened bugs for Gnome 3.4=<br />
==gnome-shell==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671814 bug671814] - Presence functionality is not active when using a GOA account<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=659899 bug659899] - <Super>+<key> erratic with "Custom Shortcuts"<br />
==networkmanager==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671767 bug671767] - IPv6 - lots of host routes added<br />
==gsettings==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671805 bug671805] - default background doesn't exist anymore.<br />
==gnome-keyring==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671826 bug671826] - Login hangs if ~/.pki/nssdb exists<br />
==seahorse==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671846 bug671846] - Renamed items are not updated until reopen</div>Wonderhttps://wiki.archlinux.org/index.php?title=User:Wonder/GNOME&diff=188816User:Wonder/GNOME2012-03-11T21:06:34Z<p>Wonder: </p>
<hr />
<div>=Opened bugs for Gnome 3.4=<br />
==gnome-shell==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671814 bug671814] - Presence functionality is not active when using a GOA account<br />
==networkmanager==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671767 bug671767] - IPv6 - lots of host routes added<br />
==gsettings==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671805 bug671805] - default background doesn't exist anymore.<br />
==gnome-settings-daemon==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671827 bug671827] - Key bindings - <Super> does not work<br />
==gnome-keyring==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671826 bug671826] - Login hangs if ~/.pki/nssdb exists<br />
==seahorse==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671846 bug671846] - Renamed items are not updated until reopen</div>Wonderhttps://wiki.archlinux.org/index.php?title=User:Wonder/GNOME&diff=188790User:Wonder/GNOME2012-03-11T16:19:26Z<p>Wonder: Created page with "=Opened bugs for Gnome 3.4= ==gnome-shell== * [https://bugzilla.gnome.org/show_bug.cgi?id=671814 bug671814] - Presence functionality is not active when using a GOA account ==n..."</p>
<hr />
<div>=Opened bugs for Gnome 3.4=<br />
==gnome-shell==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671814 bug671814] - Presence functionality is not active when using a GOA account<br />
==networkmanager==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671767 bug671767] - IPv6 - lots of host routes added<br />
==gsettings==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671805 bug671805] - default background doesn't exist anymore.<br />
==gnome-settings-daemon==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671827 bug671827] - Key bindings - <Super> does not work<br />
==gnome-keyring==<br />
* [https://bugzilla.gnome.org/show_bug.cgi?id=671826 bug671826] - Login hangs if ~/.pki/nssdb exists</div>Wonderhttps://wiki.archlinux.org/index.php?title=NetworkManager&diff=187070NetworkManager2012-03-01T14:13:55Z<p>Wonder: nothing that is here has any sense. dropping</p>
<hr />
<div>[[Category:Networking (English)]]<br />
{{i18n|NetworkManager}}<br />
[[de:Networkmanager]]<br />
[[fr:NetworkManager]]<br />
{{Article summary start}}<br />
{{Article summary text|Covers installation and configuration of NetworkManager &ndash; a set of co-operative tools that make networking simple and straightforward.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Networking overview}}}}<br />
{{Article summary end}}<br />
<br />
[http://projects.gnome.org/NetworkManager/ NetworkManager] is a program for providing detection and configuration for systems to automatically connect to network. NetworkManager's functionality can be useful for both wireless and wired networks. For wireless networks, NetworkManager prefers known wireless networks and has the ability to switch to the most reliable network. NetworkManager-aware applications can switch from online and offline mode. NetworkManager also prefers wired connections over wireless ones, has support for modem connections and certain types of VPN. NetworkManager was originally developed by RedHat and now is hosted by the [[GNOME]] project.<br />
<br />
== Base install ==<br />
<br />
{{Pkg|NetworkManager}} is available in the {{ic|[extra]}} repository:<br />
# pacman -S networkmanager<br />
<br />
== Graphical Front-ends ==<br />
<br />
To configure and have easy access to NetworkManager most people will want to install an applet. This GUI front-end usually resides in the system tray (or notification area) and allows network selection and configuration of NetworkManager. Various applets exist for different types of desktops.<br />
<br />
=== GNOME ===<br />
<br />
GNOME's applet (formerly gnome-network-manager) is lightweight enough and works across all environments:<br />
<br />
# pacman -S network-manager-applet<br />
<br />
If you want to store authentication details (Wireless/DSL) and enable global connection settings, i.e "available to all users":<br />
<br />
# pacman -S gnome-keyring<br />
<br />
=== KDE4 ===<br />
<br />
The KNetworkManager front-end has been made available in KDE version 4.4 as a plasma widget:<br />
<br />
# pacman -S kdeplasma-applets-networkmanagement<br />
<br />
The GNOME counterpart works just as nicely, or even better (has more features and detects more hardware).<br />
<br />
{{Note|If you are changing from another network managing tool like Wicd, do not forget to set the default 'Network Management Backend' in <br />
System Settings -> Hardware -> Information Sources}}<br />
<br />
If you have both KNetworkManager and nm-applet installed and do not want to start nm-applet when using KDE, add the following line to /etc/xdg/autostart/nm-applet.desktop.<br />
NotShowIn=KDE<br />
<br />
=== KDE3 ===<br />
Though no longer supported, {{AUR|knetworkmanager}} is in the [[AUR]].<br />
<br />
=== Openbox ===<br />
<br />
The GNOME applet with the xfce4-notifyd notification daemon works well:<br />
<br />
# pacman -S network-manager-applet xfce4-notifyd hicolor-icon-theme gnome-icon-theme<br />
<br />
If you want to store authentication details (Wireless/DSL):<br />
<br />
# pacman -S gnome-keyring<br />
<br />
To prevent nm-applet dbus errors, edit ~/.xinitrc and change "exec openbox-session" to<br />
"exec ck-launch-session openbox-session".<br />
{{Note|If networkmanager daemon is in rc.conf, the following settings are obsolete or the applet will be started twice.}}<br />
To have Openbox's autostart start nm-applet properly, you may need to delete the file /etc/xdg/autostart/nm-applet.desktop (You may need to delete this file again after every update to network-manager-applet)<br />
<br />
Then in autostart, start nm-applet with this line:<br />
<br />
(sleep 3 && /usr/bin/nm-applet --sm-disable) &<br />
<br />
=== Other Desktops and Window Managers ===<br />
<br />
It is recommended to use the GNOME applet. You'll also need to be sure that the GNOME hicolor theme is installed to be able to display the applet:<br />
<br />
# pacman -S hicolor-icon-theme gnome-icon-theme<br />
<br />
In order to run nm-applet without a systray, you can use trayer or stalonetray. For example, you can add a "nmgui" script like this one in your path :<br />
<br />
#!/bin/sh<br />
nm-applet > /dev/null 2>/dev/null &<br />
stalonetray > /dev/null 2>/dev/null<br />
killall nm-applet<br />
<br />
When you close the stalonetray window, it closes nm-applet too, so no extra memory is used once you're done with network settings.<br />
<br />
=== Command line ===<br />
<br />
The networkmanager package since version 0.8.1 contains [http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.html nmcli]<br />
<br />
== Configuration ==<br />
<br />
NetworkManager will require some additional steps to be able run properly.<br />
<br />
Verify that your {{ic|/etc/hosts}} is correct before continuing. If you previously tried to connect before doing this step, NetworkManager may have altered it. An example hostname line in {{ic|/etc/hosts}}:<br />
<br />
{{bc|<br />
#<ip-address> <hostname.domain.org> <hostname> <br />
127.0.0.1 localhost.localdomain localhost dell-latitude<br />
}}<br />
<br />
=== Disable current network setup ===<br />
<br />
You'll want to disable your current network setup to be able to properly test NetworkManager. First (if using the Arch Linux network scripts) stop the network:<br />
<br />
/etc/rc.d/network stop<br />
<br />
Bring down your NIC's (Network Interface Controllers, i.e. network cards). For example (using the iproute2 package):<br />
<br />
ip link set down eth0<br />
ip link set down wlan0<br />
<br />
Edit {{ic|/etc/rc.conf}} and where you defined DHCP or a static IP address, comment them out:<br />
{{Note|Following settings are obsolete in the most recent rc.conf.}}<br />
{{bc|<nowiki><br />
#eth0="dhcp" <br />
#wlan0="dhcp" <br />
INTERFACES=(!eth0 !wlan0)<br />
</nowiki>}}<br />
<br />
=== Edit daemons ===<br />
<br />
You must ''remove'' the default '''network''' daemon and add the '''networkmanager''' daemon, after the dbus daemon:<br />
<br />
DAEMONS=( ...'''dbus networkmanager'''... )<br />
<br />
Be sure that the package {{Pkg|dbus}} is installed as NetworkManager will require it. To start other services (daemons) that require a network connection see the next section on how to set them up. Though the NetworkManager daemon has been started here, it will not (by default) connect onto a network until an applet is loaded and the applet specifies to do so. This means that networking services will need to be specified to NetworkManager on when to run.<br />
<br />
=== Set up PolicyKit permissions ===<br />
<br />
To be able to add a network connection, a non-root user must first have an active [[ConsoleKit]] session running. Or they will see errors similar to this:<br />
<br />
** (nm-applet:780): WARNING **: Failed to add new connection: (32) Insufficient privileges.<br />
<br />
Most [[Display Manager]]s will take care of consolekit automatically, but if you use [[SLiM]], follow [[SLiM#PolicyKit]]. If you start windows manager from {{ic|~/.xinitrc}}, make sure consolekit is installed and use <br />
exec ck-launch-session wm<br />
instead of<br />
exec wm<br />
<br />
If your problems still persist try:<br />
exec ck-launch-session dbus-launch wm<br />
This sometimes may still not be enough. You may have to manually start polkit-gnome/'''polkit-gnome-authentication-agent-1''' for network manger to work.<br />
<br />
Additionally, the user must either (1) run a PolicyKit authentication agent, such as the one provided by '''polkit-gnome''', or (2) be in a group explicitly granted permissions by the system administrator.<br />
<br />
# gpasswd -a youruser wheel.<br />
<br />
=== Network Services with NetworkManager Dispatcher===<br />
<br />
There are quite a few network services that you will not want running until NetworkManager brings up an interface. Good examples are '''openntpd''' and network filesystem mounts of various types (e.g. '''netfs'''). NetworkManager has the ability to start these services when you connect to a network (interface up), and stop them when you are no longer using them (interface down).<br />
<br />
To use this feature, scripts can be added to the {{ic|/etc/NetworkManager/dispatcher.d}} directory. These scripts will need to have executable, user permissions. For security, it's good practice to make them owned by '''root:root''' and writable only by the owner.<br />
<br />
The scripts will be run in alphabetical order at connection time (with arguments ''interface up''), and in reverse alphabetical order at disconnect time (''interface down''). To ensure what order they come up in, it is common to use numerical characters prior to the name of the script (e.g. {{ic|10_portmap}} or {{ic|30_netfs}} (which ensures that the portmapper is up before NFS mounts are attempted).<br />
<br />
{{Warning|For security reason. You should disable write access for group and other. For example use 755 mask.<br />
In other case it can refuse to execute script, with error message "nm-dispatcher.action: Script could not be executed: writable by group or other, or set-UID." in /var/log/messages.log }}<br />
{{Warning|if you connect to foreign or public networks, be aware of what services you are starting and what servers you expect to be available for them to connect to. You could make a security hole by starting the wrong services while connected to a public network.}}<br />
<br />
==== Start openntpd ====<br />
The following example starts openntpd when an interface is brought up. Save the file as {{ic|/etc/NetworkManager/dispatcher.d/20_openntpd}} and make it executable.<br />
{{bc|<nowiki><br />
#!/bin/sh<br />
<br />
INTERFACE=$1 # The interface which is brought up or down<br />
STATUS=$2 # The new state of the interface<br />
<br />
case "$STATUS" in<br />
'up') # $INTERFACE is up<br />
exec /etc/rc.d/openntpd start<br />
;;<br />
'down') # $INTERFACE is down<br />
# Check for active interface and down if no one active<br />
if [ ! `nm-tool|grep State|cut -f2 -d' '` = "connected" ]; then<br />
exec /etc/rc.d/openntpd stop<br />
fi<br />
;;<br />
esac<br />
</nowiki>}}<br />
<br />
==== Mount remote folder with sshfs ====<br />
<br />
As the script is run in a very restrictive environment, you have to export SSH_AUTH_SOCK in order to connect to your SSH agent. There are different ways to accomplish this, see [https://bbs.archlinux.org/viewtopic.php?pid=1042030#p1042030 here] for more information. The example below works with gnome-keyring, and will ask you for the password if not unlocked already. In case networkmanager connects automaticaly on login, it is likely gnome-keyring has not yet started and the export will fail (hence the sleep). The UUID to match can be found in /etc/NetworkManager/system-connections/). <br />
<br />
#!/bin/bash<br />
USER=<your sshfs user><br />
if [ $CONNECTION_UUID == <connection UUID> ]; then<br />
case "$2" in<br />
<br />
up)<br />
#sleep 10<br />
export SSH_AUTH_SOCK=$(find /tmp/keyring-*/ -type s -user $USER -group users -name ssh)<br />
su $USER -c "/usr/bin/sshfs user@host:/remote/folder /local/folder/"<br />
;;<br />
<br />
down)<br />
fusermount -u /local/folder<br />
;;<br />
esac<br />
fi<br />
<br />
==== Use dispatcher to connect to a vpn after a network-connection is established ====<br />
<br />
In this example we want to connect automatically to a previously defined vpn-connection after connecting to a specific wifi network. First thing to to is to create the dispatcher-script that defines what to do after we connected to the network. <br />
<br />
'''1)''' Create the dispatcher script in {{ic|/etc/NetworkManager/dispatcher.d/vpn-up}}<br />
<br />
VPN_NAME=<name of vpn connection defined in NetworkManager><br />
ESSID=<wifi network ESSID (not connection name)><br />
if [ "$2" = "up" -o "$2" = "vpn-down" ]; then # -o "$2" = "vpn-down" makes vpn reconnect after vpn connection interrupt<br />
if [ "$(iwgetid | grep ':"'$ESSID'"')" ]; then # check for ESSID match<br />
nmcli con up id $VPN_NAME;<br />
fi<br />
fi<br />
#TODO: be polite and disconnect vpn prior to disconnecting from the network<br />
Remember to make it executable with chmod +x and to make the vpn connection available to all users. <br />
<br />
Trying to connect using this setup will fail and NetworkManager will complain about 'no valid vpn secrets', because of [http://projects.gnome.org/NetworkManager/developers/migrating-to-09/secrets-flags.html the way vpn secrets are stored] which brings us to step 2:<br />
<br />
'''2)''' Edit your vpn connection configuration file to make NetworkManager store the secrets by itself rather than inside a keyring [https://bugzilla.redhat.com/show_bug.cgi?id=710552 that will be inaccessible for root]:<br />
<br />
Open up {{ic|/etc/NetworkManager/system-connections/<name of your vpn connection>}} and change the {{ic|password-flags}} and {{ic|secret-flags}} form {{ic|1}} to {{ic|0}}.<br />
<br />
{{Note|It may now be necessary to re-open the NetworkManager connection editor and re-enter the vpn passwords/secrets.}}<br />
<br />
=== Proxy settings ===<br />
<br />
Network Manager does not directly handle proxy settings, but if you are using GNOME, you could use [http://marin.jb.free.fr/proxydriver/ proxydriver] wich handles proxy settings using Network Manager's informations. Package {{AUR|proxydriver}} is in the [[AUR]].<br />
<br />
In order for proxydriver to be able to change the proxy settings, you would need to execute this command, as part of the GNOME startup process (<br />
System->Preferences->Startup Applications):<br />
<br />
{{bc|<br />
xhost +si:localuser:your_username<br />
}}<br />
<br />
See: [[Proxy settings]]<br />
<br />
== Testing ==<br />
<br />
NetworkManager applets are designed to load upon login so no further configuration should be necessary for most users. If you have already disabled your previous network settings and disconnected from your network, you can now test if NetworkManager will work. First start the daemon:<br />
<br />
/etc/rc.d/networkmanager start<br />
<br />
Some applets will provide you with a .desktop file so that the NetworkManager applet can be loaded through the application menu. If it doesn't, you're going to either have to discover the command to use or logout and login again to start the applet. Once the applet is started, it will likely begin polling network connections with for auto-configuration with a DHCP server.<br />
<br />
To start the GNOME applet in non-xdg-compliant Window Managers like Awesome:<br />
<br />
nm-applet --sm-disable &<br />
<br />
For static IPs you will have to configure NetworkManager to understand them. The process usually involves right-clicking the applet and selecting something like 'Edit Connections'.<br />
<br />
==Troubleshooting==<br />
<br />
Some fixes to common problems.<br />
<br />
=== Network Management Disabled ===<br />
<br />
Sometimes when NM shuts down the pid (state) file does not get removed and you will get a 'Network management disabled' message. If this happens, you'l have to remove it manually:<br />
<br />
rm /var/lib/NetworkManager/NetworkManager.state<br />
<br />
If this happens upon reboot, you can add an action to your {{ic|etc/rc.local}} to have it removed upon bootup:<br />
<br />
{{bc|<nowiki>nmpid=/var/lib/NetworkManager/NetworkManager.state<br />
[ -f $nmpid ] && rm $nmpid</nowiki>}}<br />
<br />
=== NetworkManager prevents DHCPCD from using resolv.conf.head and resolv.conf.tail ===<br />
<br />
Sometimes it's problematic to add static items to resolv.conf when it's constantly rewritten by nm and dhcpcd. You can use networkmanager-dhclient package from AUR but a better solution is to use this simple script:<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
# <br />
# /etc/NetworkManager/dispatcher.d/99-resolv.conf-head_and_tail<br />
# Include /etc/resolv.conf.head and /etc/resolv.conf.tail to /etc/resolv.conf<br />
#<br />
# scripts in the /etc/NetworkManager/dispatcher.d/ directory<br />
# are called alphabetically and are passed two parameters:<br />
# $1 is the interface name, and $2 is “up” or “down” as the<br />
# case may be.<br />
<br />
resolvconf='/etc/resolv.conf';<br />
cat "$resolvconf"{.head,,.tail} 2>/dev/null > "$resolvconf".tmp<br />
mv -f "$resolvconf".tmp "$resolvconf"<br />
</nowiki>}}<br />
<br />
===Preserving changes to resolv.conf===<br />
NetworkManager will attempt to write DNS information from DHCP into {{ic|/etc/resolv.conf}}, overwriting the existing contents. To prevent this, you can set the immutable bit on the file (as root):<br />
# chattr +i /etc/resolv.conf<br />
<br />
To modify the file in the future, first remove the immutable bit:<br />
# chattr -i /etc/resolv.conf<br />
<br />
===DHCP problems===<br />
If you have problems with getting an IP via DHCP, try to add the following to your {{ic|/etc/dhclient.conf}}:<br />
interface "eth0" {<br />
send dhcp-client-identifier 01:aa:bb:cc:dd:ee:ff;<br />
}<br />
Where {{ic|aa:bb:cc:dd:ee:ff}} is the MAC-adress of this NIC.<br />
<br />
For some (incompliant?) routers, you will not be able to connect properly unless you comment the line<br />
require dhcp_server_identifier<br />
in {{ic|/etc/dhcpcd.conf}} (note that this file is distinct from {{ic|dhcpd.conf}}). This shouldn't cause issues unless you have multiple DHCP servers on your network (not typical); see [http://technet.microsoft.com/en-us/library/cc977442.aspx this page] for more information.<br />
<br />
===Missing default route===<br />
On at least one KDE4 system, no default route was created when establishing wireless connections with NetworkManager. Changing the route settings of the wireless connection to remove the default selection "Use only for resources on this connection" solved the issue.<br />
<br />
===3G modem not detected===<br />
If NetworkManager (from v0.7.999) does not detect your 3G modem, but you still can connect using [[wvdial]], try installing <br />
[http://www.archlinux.org/packages/extra/i686/modemmanager/ modemmanager] package using {{ic|pacman -S modemmanager}} and restart NetworkManager daemon with {{ic|/etc/rc.d/networkmanager restart}}. Replug your modem or restart. This utility provides support for hardware not in networkmanager's default database.<br />
<br />
===VPN problems in Networkmanager 0.7.999===<br />
If you get the error message "invalid secrets" when trying to connect to your VPN provider using the PPTP protocol, try installing the git versions instead: [http://aur.archlinux.org/packages.php?ID=22349 networkmanager], [http://aur.archlinux.org/packages.php?ID=26516 nm-applet] and the [http://aur.archlinux.org/packages.php?ID=29178 pptp plugin].<br />
<br />
===Switching off WLAN on laptops===<br />
<br />
Sometimes networkmanager won't work when you disable your Wifi-adapter with a switch on your laptop and try to enable it again afterwards. This is often a problem with rfkill. Install rfkill from the repo:<br />
<br />
# pacman -S rfkill<br />
<br />
and use <br />
<br />
$ watch -n1 rfkill list all<br />
<br />
to check if the driver notifies rfkill about the wireless adapter's status.<br />
If one identifier stays blocked after you switch on the adapter you could try to manually unblock it with (where X is the number of the identifier provided by the above output):<br />
<br />
# rfkill event unblock X<br />
<br />
===Static IP Settings Revert To DHCP===<br />
<br />
Due to an unresolved bug, when changing default connections to static IP, nm-applet may not properly store the configuration change, and will revert to automatic DHCP. A workaround for this issue follows.<br />
<br />
Edit the default connection (eg "Auto eth0") in nm-applet. Change the connection name (eg "my eth0"), uncheck the "Available to all users" checkbox, change your static IP settings as desired, and click Apply. This will save a new connection with the given name.<br />
<br />
Next, you will want to make the default connection not connect automatically. To do so, run<br />
<br />
$ sudo nm-connection-editor # you must use sudo, not su<br />
<br />
In the connection editor, edit the default connection (eg "Auto eth0") and uncheck "Connect automatically". Click Apply and close the connection editor.<br />
<br />
==Tips and tricks==<br />
<br />
===Checking if networking is up inside a cron job or script===<br />
Some cron jobs require networking to be up to succeed. You may wish to avoid running these jobs when the network is down. To accomplish this, add an '''if''' test for networking that queries NetworkManager's '''nm-tool''' and checks the state of networking. The test shown here succeeds if any interface is up, and fails if they are all down. This is convenient for laptops that might be hardwired, might be on wireless, or might be off the network. <br />
if [ `nm-tool|grep State|cut -f2 -d' '` == "connected" ]; then<br />
#Whatever you want to do if the network is online<br />
else<br />
#Whatever you want to do if the network is offline - note, this and the else above are optional<br />
fi<br />
<br />
This useful for a cron.hourly script that runs '''fpupdate''' for the F-Prot virus scanner signature update, as an example. Another way it might be useful, with a little modification, is to differentiate between networks using various parts of the output from '''nm-tool'''; for example, since the active wireless network is denoted with an asterisk, you could grep for the network name and then grep for a literal asterisk.<br />
<br />
===Automatically unlock keyring after login===<br />
==== Gnome ====<br />
# Right click on the NM icon in your panel and select Edit Connections and open the Wireless tab<br />
# Select the connection you want to work with and click the Edit button<br />
# Check the boxes “Connect Automatically” and “Available to all users”<br />
Log out and log back in to complete.<br />
<br />
{{Note|The following method is dated and known not to work on at least one machine!}}<br />
''*In {{ic|/etc/pam.d/gdm}} (or your corresponding daemon in /etc/pam.d), add these lines at the end of the "auth" and "session" blocks if they do not exist already: <br />
auth optional pam_gnome_keyring.so<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
*In {{ic|/etc/pam.d/passwd}}, use this line for the 'password' block:<br />
password optional pam_gnome_keyring.so<br />
<br />
:Next time you log in, you should be asked if you want the password to be unlocked automatically on login.''<br />
<br />
==== KDE ====<br />
{{Note|See http://live.gnome.org/GnomeKeyring/Pam for reference, and if you are using kde / kdm, you can use pam-keyring-tool from the AUR.}}<br />
<br />
*Put a script like the following in ~/.kde4/Autostart:<br />
$!/bin/sh<br />
echo PASSWORD | /usr/bin/pam-keyring-tool --unlock --keyring=default -s<br />
:Similar should work with openbox, lxde, etc.<br />
<br />
==== SLiM login manager ====<br />
<br />
*In {{ic|/etc/pam.d/slim}}, add these lines at the end of the "auth" and "session" blocks if they do not exist already: <br />
auth optional pam_gnome_keyring.so<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
*In {{ic|/etc/pam.d/passwd}}, use this line for the 'password' block:<br />
password optional pam_gnome_keyring.so<br />
<br />
*In {{ic|~/.xinitrc}}, add this at the very top, before launching your window manager and other applications:<br />
## test for an existing bus daemon, just to be safe<br />
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then<br />
## if not found, launch a new one<br />
eval `dbus-launch --sh-syntax --exit-with-session`<br />
echo "D-Bus per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"<br />
fi<br />
<br />
:Next time you log in, you should be asked if you want the password to be unlocked automatically on login.''<br />
<br />
===Ignore specific devices===<br />
Sometimes it may be desired that NetworkManager ignores specific devices and doesn't try to configure addresses and routes for them.<br />
<br />
You can quickly and easily ignore devices by MAC by using the following in /etc/NetworkManager/NetworkManager.conf :<br />
[keyfile]<br />
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4<br />
After you've put this in, restart NetworkManager, and you should be able to configure interfaces without NetworkManager altering what you've set.<br />
<br />
If that isn't appropriate, you could ignore by HAL.<br />
*First you have to find out the Hal UDI (e.g. with lshal):<br />
...<br />
info.product = 'Networking Interface' (string)<br />
info.subsystem = 'net' (string)<br />
info.udi = '/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55' (string)<br />
linux.hotplug_type = 2 (0x2) (int)<br />
linux.subsystem = 'net' (string)<br />
...<br />
<br />
*Add the udi to /etc/NetworkManager/nm-system-settings.conf:<br />
[keyfile]<br />
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55<br />
<br />
:Multiple devices can be specified, delimited by semicolons:<br />
<br />
[keyfile]<br />
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55;/org/freedesktop/Hal/devices/net_00_2c_6d_e2_08_af<br />
<br />
You do not need to restart NetworkManager for the changes to take effect.<br />
<br />
*Ignoring a type of device at boot time.<br />
this script was used to ignore all ethernet devices at boot time of a archiso build, it can be changed to ignore wifi devices etc.<br />
/!\being used on a non-persistant filesystem, the nm-system-settings.conf is default at run time<br />
#!/bin/sh<br />
# author: tim noise <darknoise@drkns.net><br />
COUNT=0<br />
TARGET_FILE="/etc/NetworkManager/nm-system-settings.conf"<br />
for i in `lshal | grep -A6 'Networking Interface' | awk -F "'" '/info.udi = / {print $2}'`; do<br />
if [ $COUNT = 0 ]; then<br />
COUNT=$COUNT+1;<br />
echo "unmanaged-devices=$i" >> $TARGET_FILE<br />
else<br />
echo -n ";$i" >> $TARGET_FILE<br />
fi<br />
done<br />
printf "\n" >> $TARGET_FILE<br />
<br />
===Connect faster===<br />
====Disabling IPv6====<br />
Slow connection or reconnection to the network may be due to superfluous IPv6 queries in NetworkManager. If there is no IPv6 support on the local network, connecting to a network may take longer than normal while Network Manager tries to establish an IPv6 connection that eventually times out. The solution is to disable IPv6 within NetworkManager which will make network connection faster. This has to be done once for every network you connect to.<br />
<br />
*Right-click on the network status icon.<br />
*Click on "Edit Connections".<br />
*Go to the "Wired" or "Wireless" tab, as appropriate.<br />
*Select the name of the network.<br />
*Click on "Edit".<br />
*Go to the "IPv6 Settings" tab.<br />
*In the "Method" dropdown, choose "Ignore".<br />
*Click on "Save".<br />
<br />
==== Speed up DHCP by disabling ARP probing in dhcpcd ====<br />
{{ic|dhcpcd}} contains an implementation of a recommendation of the DHCP standard (RFC2131 section 2.2) to check via ARP if the assigned IP address is really not taken. This seems mostly useless in home networks, so you can '''save about 5 seconds''' on every connect by adding the following line to {{ic|/etc/dhcpcd.conf}}:<br />
<br />
noarp<br />
<br />
This is equivalent to passing --noarp to dhcpcd, and disables the described ARP probing, speeding up connections to networks with DHCP.</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Google_Summer_of_Code&diff=185434DeveloperWiki:Google Summer of Code2012-02-20T18:10:34Z<p>Wonder: </p>
<hr />
<div>[[Category:Arch development (English)]]<br />
The Arch Linux development team is considering to participate this year on Google Summer of Code (GSoC), here is a draft on what areas are we needing improvements. <br />
<br />
The main idea here is to help the development of these tools, improving it, making patches and fixing bugs for now.<br />
<br />
'''Arch Linux has its own projects; please read the entire article before thinking that we are just asking for packagers.'''<br />
<br />
=== Project Ideas ===<br />
<br />
* AIF (Arch Linux Installation Framework)<br />
* [[Netcfg]]<br />
* Automatic package buildfarm<br />
* single authentication database and managing our packaging ssh accounts from archweb<br />
<br />
==== Pacman-related Ideas ====<br />
<br />
* coming soon<br />
* see the [[Pacman_Roadmap]] for details<br />
<br />
=== Potential Mentors ===<br />
<br />
* Pacman mentor (Dan?)<br />
* AIF mentor (Dieter?)<br />
* Netcfg (?)</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Google_Summer_of_Code&diff=185433DeveloperWiki:Google Summer of Code2012-02-20T18:09:16Z<p>Wonder: </p>
<hr />
<div>[[Category:Arch development (English)]]<br />
The Arch Linux development team is considering to participate this year on Google Summer of Code (GSoC), here is a draft on what areas are we needing improvements. <br />
<br />
The main idea here is to help the development of these tools, improving it, making patches and fixing bugs for now.<br />
<br />
'''Arch Linux has its own projects; please read the entire article before thinking that we are just asking for packagers.'''<br />
<br />
=== Project Ideas ===<br />
<br />
* AIF (Arch Linux Installation Framework)<br />
* [[Netcfg]]<br />
* Automatic package buildfarm<br />
* single authentication database.<br />
<br />
==== Pacman-related Ideas ====<br />
<br />
* coming soon<br />
* see the [[Pacman_Roadmap]] for details<br />
<br />
=== Potential Mentors ===<br />
<br />
* Pacman mentor (Dan?)<br />
* AIF mentor (Dieter?)<br />
* Netcfg (?)</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Server_configuration&diff=182732DeveloperWiki:Server configuration2012-02-08T20:13:27Z<p>Wonder: add backup server</p>
<hr />
<div>[[Category:DeveloperWiki]]<br />
This page provides an overview of the Arch servers and their functions. Details can be found in the respective links for each server. We currently have two phyical server machines:<br />
<br />
== Main development server (formerly gerolde) ==<br />
<br />
This is a Dual-Xeon 2.8GHz server with 16GB of memory and a 2x300GB software RAID 1 array. It has been bought with Arch donation money and is currently located at velocity, who also donate the power and bandwidth. It runs a Xen hypervisor with the following hosts:<br />
<br />
=== [[DeveloperWiki:Dom0|dom0.archlinux.org]] ===<br />
<br />
This is the Xen dom0 for the development server. It runs a Debian system with the Debian Xen kernel, as Arch does not maintain a stable Xen kernel. It has no public services. ssh access is limited to a small number of IP addresses and only Thomas, Aaron, Jan and Dale have access to it.<br />
<br />
It bridges the physical ethernet interface with the virtual interfaces of the Xen domU instances and runs an IP-based [[DeveloperWiki:Dom0#firewall|firewall]].<br />
<br />
=== [[DeveloperWiki:Gerolde (dev)|gerolde.archlinux.org]] ===<br />
<br />
This is the main development server. It runs Arch Linux with a modified kernel26 package with pv_ops/Xen support added.<br />
<br />
DNS aliases: rsync.archlinux.org, archlinux.org, mail.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All developers have ssh access to this machine.<br />
* ''rsync''(rsyncd): Public mirrors (whitelisted by IP address) can synchronize the FTP directory. Anyone can synchronize the ABS tree.<br />
* ''smtp''(postfix): SMTP server for the @archlinux.org and @aur.archlinux.org domains<br />
* ''http''(lighttpd): All developers have direct access to the FTP directory via HTTP (static content only) - this is password-protected, users must use the mirrors.<br />
<br />
Developers use this server to maintain the package repositories, the corresponding ''packages'' subversion repository and access the git repositories for their various arch-related projects.<br />
<br />
=== [[DeveloperWiki:Gudrun (web)|gudrun.archlinux.org]] ===<br />
<br />
This is the main web server. It runs Arch Linux with Arch's own kernel. Only developers who maintain web applications have ssh access. The ssh port is only open to gerolde.<br />
<br />
DNS aliases: bbs.archlinux.org, dev.archlinux.org, mailman.archlinux.org, planet.archlinux.org, projects.archlinux.org, repos.archlinux.org, svn.archlinux.org, wiki.archlinux.org, bugs.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''http''(apache): Hosts the following websites:<br />
** www.archlinux.org: Main Arch website - uses python/django and a few static html pages<br />
** mailman.archlinux.org: Mailing list configuration, subscription and archives - uses mailman<br />
** projects.archlinux.org: Access to the git repositories - uses cgit<br />
** planet.archlinux.org: Feeds from Arch-related blogs - uses static html pages<br />
** repos.archlinux.org: Access to the ''packages'' and ''community'' subversion repositories - uses websvn<br />
** bugs.archlinux.org: Bugtracker - uses flyspray(php)<br />
* ''svn''(xinetd/svnserve): Public subversion access<br />
* ''git''(xinetd/git-daemon): Public git access<br />
<br />
=== Resource Allocation ===<br />
Because this box is servicing multiple VMs, the resources allocated to each are not static. Here is how the box is currently divided up:<br />
<br />
* dom0: 512 MB RAM, 4 CPUs, 4GB disk<br />
* gerolde: 9493 MB RAM, 4 CPUs, 193 GB disk<br />
* gudrun: 6145 MB RAM, 4 CPUs, 30 GB disk<br />
<br />
== [[DeveloperWiki:Alderaan|alderaan.archlinux.org]] ==<br />
* ''nginx''<br />
** bbs.archlinux.org: Forums - uses fluxbb(php)<br />
** wiki.archlinux.org: Arch Wiki - uses mediawiki(php)<br />
<br />
== Trusted User server (sigurd) ==<br />
<br />
This is a Pentium D dual core 3.40GHz server with 4GB of memory and a 2x160GB software RAID 1 array. The machine is being donated by SevenL networks. It runs Arch Linux.<br />
<br />
=== [[DeveloperWiki:Sigurd (TU)|sigurd.archlinux.org]] ===<br />
<br />
DNS aliases: aur.archlinux.org, community.archlinux.org, tracker.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All trusted users have ssh access to this machine.<br />
* ''http''(lighttpd): To host several websites (see below)<br />
<br />
<br />
* trusted user development server. <br />
** websites:<br />
*** aur.archlinux.org: The AUR - uses php<br />
*** community.archlinux.org: apparently nothing<br />
<br />
* ''bit torrent''(opentracker): Bit Torrent tracker for the Arch Linux ISO images<br />
<br />
== Releng server (alberich) ==<br />
* hardware: VPS donated by airVM, 125GiB LVM setup, 2GB ram, 1 core E5530 @ 2.40GHz<br />
* software: Arch Linux <br />
<br />
=== [[DeveloperWiki:Alberich|alberich.archlinux.org]] ===<br />
This machine is meant for building installation images and hosting testbuilds and such.<br />
It runs no other services, because releng image building is "tricky stuff" best kept separate<br />
<br />
The machine contains the releng environment, including chroots for each architecture.<br />
<br />
DNS aliases: releng.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All release engineers have ssh access to this machine.<br />
* ''http''(lighttpd): To host releng files (testbuilds, custom repos/packages), no official media<br />
<br />
== Build Server ([[DeveloperWiki:Brynhild|brynhild]]) ==<br />
<br />
This is an Intel® Core™ i7-960 Quadcore (with Hyper-Threading) server with 8GB of memory. The machine is run by Ionut Biru (ioni). It runs Arch Linux.<br />
<br />
=== [[DeveloperWiki:PKGBUILD.com|pkgbuild.com]] ===<br />
DNS: brynhild.archlinux.org, pkgbuild.archlinux.org<br />
<br />
It offers the following services:<br />
* ''ssh'' (openssh): Access to the build server is available to all Trusted Users and Developers on request.<br />
<br />
* Build server.<br />
** Each user is given access to a set of build scripts that simplify the build process for users with poor internet connections or lacking a 64-bit machine.<br />
<br />
== [[DeveloperWiki:Dragon|dragon.archlinux.org]] ==<br />
DNS: dragon.archlinux.org, backup.archlinux.org<br />
<br />
It offers he following services:<br />
* ''ssh'': Access to the server for managing backups<br />
* storage for backups.<br />
<br />
== Other servers ==<br />
<br />
We can always use more of course for our world domination plans! Right now our infrastructure is mostly contained to the above-mentioned servers, but there are a few specialty things running elsewhere.<br />
<br />
=== stats.archlinux.org ===<br />
<br />
This server is hosted on [[User:Toofishes|Dan's]] linode. It runs an instance of munin, which collects various stats from the servers in the archlinux.org domain. If you need access to any of this information and are a developer, get in contact with someone that does [[DeveloperWiki:Internal Projects#Server Administration|server administration]]. If you want an additional server added to the list, just ask.</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Dragon_(backup_machine)&diff=182731DeveloperWiki:Dragon (backup machine)2012-02-08T20:07:50Z<p>Wonder: fix layout</p>
<hr />
<div>[[Category:DeveloperWiki:Server Configuration]]<br />
==Specs==<br />
* Intel Dual E2160<br />
* 4GB Ram<br />
* 2x500GB HDD as Raid1<br />
* 5TB Traffic<br />
* 100Mbit/s Uplink<br />
<br />
==Partition layout==<br />
/dev/sda1 and /dev/sdb1 10 GB -> /dev/md1; contains /<br />
<br />
/dev/sda2 and /dev/sdb2 1 GB -> /dev/md2; swap<br />
<br />
/dev/sda3 and /dev/sdb3 rest of space -> /dev/md3; /home<br />
<br />
==Services==<br />
* ssh<br />
<br />
==Maintainer==<br />
System (sudo): ioni,bluewind<br />
<br />
==Trivia==<br />
* bootloader is [[syslinux]]<br />
<br />
==History==</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Dragon_(backup_machine)&diff=182730DeveloperWiki:Dragon (backup machine)2012-02-08T20:07:15Z<p>Wonder: add backup server</p>
<hr />
<div>[[Category:DeveloperWiki:Server Configuration]]<br />
==Specs==<br />
* Intel Dual E2160<br />
* 4GB Ram<br />
* 2x500GB HDD as Raid1<br />
* 5TB Traffic<br />
* 100Mbit/s Uplink<br />
<br />
==Partition layout==<br />
/dev/sda1 and /dev/sdb1 10 GB -> /dev/md1; contains /<br />
/dev/sda2 and /dev/sdb2 1 GB -> /dev/md2; swap<br />
/dev/sda3 and /dev/sdb3 rest of space -> /dev/md3; /home<br />
<br />
==Services==<br />
* ssh<br />
<br />
==Maintainer==<br />
System (sudo): ioni,bluewind<br />
<br />
==Trivia==<br />
* bootloader is [[syslinux]]<br />
<br />
==History==</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Luna&diff=182729DeveloperWiki:Luna2012-02-08T19:59:51Z<p>Wonder: update layout</p>
<hr />
<div>[[Category:DeveloperWiki:Server Configuration]]<br />
<br />
==Specs==<br />
* i7-920<br />
* 8GB Ram<br />
* 2x750GB HDD as Raid1<br />
* 10TB Traffic<br />
* 100Mbit/s Uplink<br />
<br />
==Partition layout==<br />
/dev/sda1 and /dev/sdb1 all the space -> /dev/md0<br />
<br />
/dev/md0 contains an [[LVM]] (VG0) which contains the following volumes:<br />
<br />
* home /home<br />
* root /<br />
* srv /srv<br />
* log /var/log<br />
* mysql /var/lib/mysql<br />
* swap<br />
<br />
==Services==<br />
* postfix listening on localhost:25 and sendmail for outbound email<br />
* ngnix<br />
* mysql<br />
* bbs and wiki<br />
<br />
==Maintainer==<br />
System (sudo): ioni,dan,bluewind,pierre<br />
===bbs.archlinux.org===<br />
* Maintainer: Pierre<br />
* Upstream: http://fluxbb.org/<br />
* Dependencies: php, mysql<br />
* Public git repo: http://projects.archlinux.org/vhosts/bbs.archlinux.org.git/<br />
<br />
===wiki.archlinux.org===<br />
* Maintainer: Pierre<br />
* Upstream: http://www.mediawiki.org/wiki/MediaWiki<br />
* Dependencies: php, mysql<br />
* Public git repo: http://projects.archlinux.org/vhosts/wiki.archlinux.org.git/<br />
<br />
==Trivia==<br />
* bootloader is [[grub2]]<br />
* network is configured via /etc/rc.d/network_simple<br />
<br />
==History==<br />
* 12.12.11: removed pkgbuild from alderaan<br />
* 12.12.11: moved bbs and wiki to alderaan<br />
* 15.12.11: moved pkgbuild to brynhild</div>Wonderhttps://wiki.archlinux.org/index.php?title=Arch_build_system&diff=180761Arch build system2012-01-27T18:30:46Z<p>Wonder: revise structure</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:Package development (English)]]<br />
[[Category:Package management (English)]]<br />
{{i18n|Arch Build System}}<br />
[[de:Arch Build System]]<br />
[[fr:ABS]]<br />
[[ro:ABS]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|The Arch Build System is a ports-like system for building and packaging software from source code. This article includes a general overview of the ABS followed by detailed usage instructions.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Package management overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|ABS FAQ}}<br />
{{Article summary wiki|Arch Packaging Standards}}<br />
{{Article summary wiki|Creating Packages}}<br />
{{Article summary wiki|Kernel Compilation with ABS}}<br />
{{Article summary end}}<br />
<br />
This article provides an overview of the Arch Build System along with a walkthrough for beginners. It is not a complete reference guide! For a quick and simple introduction to the ABS, see the [[ABS FAQ]]. If you need more information, please reference the man pages.<br />
{{Note|ABS syncs once a day so it may lag behind what is already available in the repositories.}}<br />
== What is the Arch Build System? ==<br />
<br />
The Arch Build System, '''ABS''' for short, is a ''ports-like'' system for building and packaging software from source code. While [[pacman]] is the specialized Arch tool for binary package management (including packages built with the ABS), ABS is a collection of tools for compiling source into installable {{ic|.pkg.tar.gz/.pkg.tar.xz}} packages.<br />
<br />
=== What is a ports-like system? ===<br />
<br />
''Ports'' is a system used by *BSD to automate the process of building software from source code. The system uses a ''port'' to download, unpack, patch, compile, and install the given software. A ''port'' is merely a small directory on the user's computer, named after the corresponding software to be installed, that contains a few files with the instructions for building and installing the software from source. This makes installing software as simple as typing {{ic|make}} or {{ic|make install clean}} within the port's directory.<br />
<br />
=== '''ABS''' is a similar concept ===<br />
<br />
ABS is made up of a directory tree (the ABS tree) residing under {{ic|/var/abs}}. This tree contains many subdirectories, each within a category and each named by their respective package. This tree represents (but does not contain) all ''official Arch software'', retrievable through the SVN system. You may refer to each package-named subdirectory as an 'ABS', much the way one would refer to a 'port'. These ABS (or subdirectories) do not contain the software package nor the source but rather a [[PKGBUILD]] file (and sometimes other files). A PKGBUILD is a simple BASH build script -- a text file containing the compilation and packaging instructions as well as the URL of the appropriate '''source''' tarball to be downloaded. (The most important component of ABS are PKGBUILDs.) By issuing the ABS [[makepkg]] command, the software is first compiled and then ''packaged'' within the build directory before being installed. Now you may use [[pacman]], the Arch Linux package manager, to install, upgrade, and remove your new package.<br />
<br />
=== ABS overview ===<br />
<br />
'ABS' may be used as an umbrella term since it includes and relies on several other components; therefore, though not technically accurate, 'ABS' can refer to the following tools as a complete toolkit:<br />
<br />
; ABS tree: The ABS directory structure; an SVN hierarchy under {{ic|/var/abs/}} on your (local) machine. It contains many subdirectories, named for all available official Arch Linux software from repositories specified in {{ic|/etc/abs.conf}}, but not the packages themselves. The tree is created after installing the {{Pkg|abs}} package with [[pacman]] and subsequently running the {{ic|abs}} script.<br />
<br />
; [[PKGBUILD]]s: A [[Bash]] script that contains the URL of the source code along with the compilation and packaging instructions.<br />
<br />
; [[makepkg]]: ABS shell command tool which reads the PKGBUILDs, automatically downloads and compiles the sources and creates a {{ic|.pkg.tar*}} according to the {{ic|PKGEXT}} array in {{ic|makepkg.conf}}. You may also use makepkg to make your own custom packages from the [[AUR]] or third-party sources. (See the [[Creating Packages]] wiki article.)<br />
<br />
; [[pacman]]: pacman is completely separate, but is necessarily invoked either by makepkg or manually, to install and remove the built packages and for fetching dependencies.<br />
<br />
; [[Arch User Repository|AUR]]: The Arch User Repository is separate from ABS but AUR (unsupported) PKGBUILDs are built using makepkg to compile and package up software. In contrast to the ABS tree on your local machine, the AUR exists as a website interface. It contains many thousands of user-contributed PKGBUILDs for software which is unavailable as an official Arch package. If you need to build a package outside the official Arch tree, chances are it is in the AUR.<br />
<br />
== Why would I want to use ABS? ==<br />
<br />
The Arch Build System is used to:<br />
* Compile or recompile a package, for any reason<br />
* Make and install new packages from source of software for which no packages are yet available (see [[Creating Packages]]) <br />
* Customize existing packages to fit your needs (enabling or disabling options, patching)<br />
* Rebuild your entire system using your compiler flags, "a la FreeBSD" (e.g. with [[pacbuilder]])<br />
* Cleanly build and install your own custom kernel (see [[Kernel Compilation]])<br />
* Get kernel modules working with your custom kernel<br />
* Easily compile and install a newer, older, beta, or development version of an Arch package by editing the version number in the PKGBUILD<br />
<br />
ABS is not necessary to use Arch Linux, but it is useful for automating certain tasks of source compilation.<br />
<br />
== How to use ABS? ==<br />
<br />
Building package using abs contain these steps:<br />
#Install the {{Pkg|abs}} package with [[pacman]]<br />
#Running {{ic|abs}} as root creates the ABS tree by synchronizing with the Arch Linux server<br />
#Copy the build files (usually residing under {{ic|/var/abs/<repo>/<pkgname>}}) to a build directory<br />
#navigate to that directory, edit the PKGBUILD (if desired/necessary) and do '''makepkg'''. <br />
#According to instructions in the PKGBUILD, makepkg will download the appropriate source tarball, unpack it, patch if desired, compile according to {{ic|CFLAGS}} specified in {{ic|makepkg.conf}}, and finally compress the built files into a package with the extension {{ic|.pkg.tar.gz}} or {{ic|.pkg.tar.xz}}. <br />
#Installing is as easy as doing {{ic|pacman -U <.pkg.tar.xz file>}}. Package removal is also handled by pacman.<br />
<br />
=== Install tools ===<br />
<br />
To use the ABS, you first need to install {{Pkg|abs}} from the [[Official Repositories|official repositories]]:<br />
<br />
# pacman -S abs<br />
<br />
This will grab the abs-sync scripts, various build scipts, and [[rsync]] (as a dependency, if you do not already have it).<br />
<br />
Before you can actually build anything, however, you will also need to grab basic compiling tools. These are handily collected in the package group '''base-devel'''. This group can be installed with:<br />
<br />
# pacman -S base-devel<br />
<br />
{{Warning | Remember this before complaining about missing (make) dependencies. The group "base-devel" is assumed already installed when building with makepkg.}}<br />
<br />
=== /etc/abs.conf ===<br />
<br />
As root, edit {{ic|/etc/abs.conf}} to include your desired repositories.<br />
<br />
Remove the {{ic|!}} in front of the appropriate repositories. For example:<br />
REPOS=(core extra community !testing)<br />
<br />
=== ABS tree ===<br />
<br />
The ABS tree is an SVN directory hierarchy located under {{ic|/var/abs}} and looks like this:<br />
<br />
{{bc|<nowiki><br />
| -- core/<br />
| || -- acl/<br />
| || || -- PKGBUILD<br />
| || -- attr/<br />
| || || -- PKGBUILD<br />
| || -- abs/<br />
| || || -- PKGBUILD<br />
| || -- autoconf/<br />
| || || -- PKGBUILD<br />
| || -- ...<br />
| -- extra/<br />
| || -- acpid/<br />
| || || -- PKGBUILD<br />
| || -- apache/<br />
| || || -- PKGBUILD<br />
| || -- ...<br />
| -- community/<br />
| || -- ...<br />
</nowiki>}}<br />
<br />
The ABS tree has exactly the same structure as the package database:<br />
<br />
* First-level: Reposistory name<br />
* Second-level: Package name directories<br />
* Third level: PKGBUILD (contains information needed to build a package) and other related files (patches, other files needed for building the package)<br />
<br />
The source code for the package is not present in the ABS directory. Instead, the '''PKGBUILD''' file contains a URL that will download the source code when the package is built. So the size of abs tree is quite small.<br />
<br />
==== Download ABS tree ====<br />
As root, run:<br />
# abs<br />
<br />
Your ABS tree is now created under {{ic|/var/abs}}. Note the appropriate branches of the ABS tree now exist and correspond to the ones you specified in {{ic|/etc/abs.conf}}. <br />
<br />
The abs command should be run periodically to keep in sync with the official repositories. Individual ABS package files can also be downloaded with:<br />
<br />
# abs <repository>/<package><br />
<br />
=== /etc/makepkg.conf ===<br />
<br />
{{ic|/etc/makepkg.conf}} specifies global environment variables and compiler flags which you may wish to edit if you are using an SMP system, or to specify other desired optimizations. The default settings are for i686 and x86_64 optimizations which will work fine for those architectures on single-CPU systems. (The defaults will work on SMP machines, but will only use one core/CPU when compiling -- see [[makepkg.conf]].)<br />
<br />
==== Set the PACKAGER variable in /etc/makepkg.conf ====<br />
<br />
Setting the PACKAGER variable in {{ic|/etc/makepkg.conf}} is an optional but ''highly recommended'' step. It allows a "flag" to quickly identify which packages have been built and/or installed by YOU, not the official maintainer! This is easily accomplished using '''expac''' available from the community repo:<br />
<br />
===== Showing All Packages (including those from AUR) =====<br />
$ grep myname /etc/makepkg.conf<br />
PACKAGER="myname <myemail@myserver.com><br />
<br />
$ expac "%n %p" | grep "myname" | column -t<br />
archey3 myname<br />
binutils myname<br />
gcc myname<br />
gcc-libs myname<br />
glibc myname<br />
tar myname<br />
<br />
===== Showing Only Packages Containing in Repos =====<br />
<br />
This example only shows packages contained in the repos defined in {{ic|/etc/pacman.conf}}:<br />
<br />
$ . /etc/makepkg.conf; grep -xvFf <(pacman -Qqm) <(expac "%n\t%p" | grep "$PACKAGER$" | cut -f1)<br />
binutils<br />
gcc<br />
gcc-libs<br />
glibc<br />
tar<br />
<br />
=== Create a build directory ===<br />
<br />
It is recommended to create a build directory where the actual compiling will take place; you should never modify the ABS tree by building within it, as data will be lost (overwritten) on each ABS update. It is good practice to use your home directory, though some Arch users prefer to create a 'local' directory under {{ic|/var/abs/}}, owned by a normal user. <br />
<br />
Create your build directory. e.g.:<br />
<br />
$ mkdir -p $HOME/abs<br />
<br />
Copy the ABS from the tree ({{ic|/var/abs/branch/category/pkgname}}) to the build directory, {{ic|/path/to/build/dir}}.<br />
<br />
=== Build package ===<br />
<br />
In our example, we will build the ''slim'' display manager package.<br />
<br />
Copy the slim ABS from the ABS tree to a build directory:<br />
$ cp -r /var/abs/extra/slim/ ~/abs<br />
<br />
Navigate to the build directory:<br />
$ cd ~/abs/slim<br />
<br />
Modify the PKGBUILD to add or remove support for components, to patch or to change package versions, etc. (optional):<br />
$ nano PKGBUILD<br />
<br />
Run makepkg as normal user (with {{ic|-s}} switch to install with automatic dependency handling):<br />
$ makepkg -s<br />
<br />
Install as root:<br />
# pacman -U slim-1.3.0-2-i686.pkg.tar.xz<br />
<br />
That's it. You have just built slim from source and cleanly installed it to your system with pacman. Package removal is also handled by pacman -- ({{ic|pacman -R slim}}).<br />
<br />
The ABS method adds a level of convenience and automation, while still maintaining complete transparency and control of the build and installation functions by including them in the PKGBUILD.<br />
<br />
==== fakeroot ====<br />
Essentially, the same steps are being executed in the traditional method (generally including the {{ic|./configure, make, make install}} steps) but the software is installed into a ''fake root'' environment. (A ''fake root'' is simply a subdirectory within the build directory that functions and behaves as the system's root directory. In conjunction with the '''fakeroot''' program, makepkg creates a fake root directory, and installs the compiled binaries and associated files into it, with '''root''' as owner.) The ''fake root'', or subdirectory tree containing the compiled software, is then compressed into an archive with the extension {{ic|.pkg.tar.xz}}, or a ''package''. When invoked, pacman then extracts the package (installs it) into the system's real root directory ({{ic|/}}).<br />
<br />
== Traditional method of compiling software, without ABS ==<br />
<br />
If you are not familiar with manually compiling software from source, you should know that most packages (but not all) can be built from source in this '''traditional way''':<br />
<br />
* Download source tarball from remote server, using web browser, ftp, wget or alternate method.<br />
<br />
* Decompress the source file:<br />
$ tar -xzf foo-0.99.tar.gz<br />
or<br />
$ tar -xjf foo-0.99.tar.bz2<br />
<br />
* Enter the directory:<br />
$ cd foo-0.99<br />
<br />
* Configure the package. Generally, there is a script called {{ic|configure}} in the source directory that is used to configure the package (add or remove support for things, choose the install destination, etc.) and check that your computer has all the software needed by the package. It can be run by:<br />
$ ./configure [option]<br />
<br />
You should first try the help to better understand how it works:<br />
$ ./configure --help<br />
<br />
If a {{ic|--prefix}} option is not passed to the script, ''most'' scripts will use {{ic|/usr/local}} as the install path, but others will use {{ic|/usr}}. For the sake of consistency, it is generally advised to pass the {{ic|1=--prefix=/usr/local}} option. It is good practice to install personal programs in {{ic|/usr/local}}, and to have the ones being managed by the distro in {{ic|/usr}}. This ensures personal program versions can coexist with those being managed by the distro's package manager -- in Arch's case, [[pacman]].<br />
$ ./configure --prefix=/usr/local<br />
<br />
* Compile the sources:<br />
<br />
$ make<br />
<br />
* Install:<br />
<br />
# make install<br />
<br />
* Removal would be accomplished by entering the source directory and running:<br />
<br />
# make uninstall<br />
<br />
However, you should always read the {{ic|INSTALL}} file to know how the package should be built and installed! '''Not all packages use the {{ic|configure; make; make install}} system!'''<br />
<br />
{{Note | The above traditional method of compiling source tarballs can, of course, still be used on Arch Linux. However, if you are not careful, files may become scattered throughout the filesystem that pacman (or any other package manager) will be unaware of. You should only use this method if you are experienced at manual compilation and system software tracking, as it can lead to future problems on Arch (or any distribution) if using a package manager.}}</div>Wonderhttps://wiki.archlinux.org/index.php?title=NetworkManager&diff=178234NetworkManager2012-01-13T19:11:09Z<p>Wonder: drop stupid workaround. networkmanage >= 0.9 doesn't use gnome-keyring to stop passwords unless is a VPN connection or WPA enterprise</p>
<hr />
<div>[[Category:Networking (English)]]<br />
{{i18n|NetworkManager}}<br />
[[de:Networkmanager]]<br />
[[fr:NetworkManager]]<br />
{{Article summary start}}<br />
{{Article summary text|Covers installation and configuration of NetworkManager &ndash; a set of co-operative tools that make networking simple and straightforward.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Networking overview}}}}<br />
{{Article summary end}}<br />
<br />
[http://projects.gnome.org/NetworkManager/ NetworkManager] is a program for providing detection and configuration for systems to automatically connect to network. NetworkManager's functionality can be useful for both wireless and wired networks. For wireless networks, NetworkManager prefers known wireless networks and has the ability to switch to the most reliable network. NetworkManager-aware applications can switch from online and offline mode. NetworkManager also prefers wired connections over wireless ones, has support for modem connections and certain types of VPN. NetworkManager was originally developed by RedHat and now is hosted by the [[GNOME]] project.<br />
<br />
== Base install ==<br />
<br />
{{Pkg|NetworkManager}} is available in the {{ic|[extra]}} repository:<br />
# pacman -S networkmanager<br />
<br />
== Graphical Front-ends ==<br />
<br />
To configure and have easy access to NetworkManager most people will want to install an applet. This GUI front-end usually resides in the system tray (or notification area) and allows network selection and configuration of NetworkManager. Various applets exist for different types of desktops.<br />
<br />
=== GNOME ===<br />
<br />
GNOME's applet (formerly gnome-network-manager) is lightweight enough and works across all environments:<br />
<br />
# pacman -S network-manager-applet<br />
<br />
If you want to store authentication details (Wireless/DSL) and enable global connection settings, i.e "available to all users":<br />
<br />
# pacman -S gnome-keyring<br />
<br />
=== KDE4 ===<br />
<br />
The KNetworkManager front-end has been made available in KDE version 4.4 as a plasma widget:<br />
<br />
# pacman -S kdeplasma-applets-networkmanagement<br />
<br />
The GNOME counterpart works just as nicely, or even better (has more features and detects more hardware).<br />
<br />
{{Note|If you are changing from another network managing tool like Wicd, do not forget to set the default 'Network Management Backend' in <br />
System Settings -> Hardware -> Information Sources}}<br />
<br />
If you have both KNetworkManager and nm-applet installed and do not want to start nm-applet when using KDE, add the following line to /etc/xdg/autostart/nm-applet.desktop.<br />
NotShowIn=KDE<br />
<br />
=== KDE3 ===<br />
<br />
Though no longer supported, {{AUR|knetworkmanager}} is in the [[AUR]]. Package name:<br />
knetworkmanager<br />
<br />
=== Openbox ===<br />
<br />
The GNOME applet with the xfce4-notifyd notification daemon works well:<br />
<br />
# pacman -S network-manager-applet xfce4-notifyd hicolor-icon-theme gnome-icon-theme<br />
<br />
If you want to store authentication details (Wireless/DSL):<br />
<br />
# pacman -S gnome-keyring<br />
<br />
To prevent nm-applet dbus errors, edit ~/.xinitrc and change "exec openbox-session" to<br />
"exec ck-launch-session openbox-session".<br />
{{Note|If networkmanager daemon is in rc.conf, the following settings are obsolete or the applet will be started twice.}}<br />
To have Openbox's autostart start nm-applet properly, you may need to delete the file /etc/xdg/autostart/nm-applet.desktop (You may need to delete this file again after every update to network-manager-applet)<br />
<br />
Then in autostart, start nm-applet with this line:<br />
<br />
(sleep 3 && /usr/bin/nm-applet --sm-disable) &<br />
<br />
=== Other Desktops and Window Managers ===<br />
<br />
It is recommended to use the GNOME applet. You'll also need to be sure that the GNOME hicolor theme is installed to be able to display the applet:<br />
<br />
# pacman -S hicolor-icon-theme gnome-icon-theme<br />
<br />
In order to run nm-applet without a systray, you can use trayer or stalonetray. For example, you can add a "nmgui" script like this one in your path :<br />
<br />
#!/bin/sh<br />
nm-applet > /dev/null 2>/dev/null &<br />
stalonetray > /dev/null 2>/dev/null<br />
killall nm-applet<br />
<br />
When you close the stalonetray window, it closes nm-applet too, so no extra memory is used once you're done with network settings.<br />
<br />
=== Command line ===<br />
<br />
The networkmanager package since version 0.8.1 contains [http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.html nmcli]<br />
<br />
== Configuration ==<br />
<br />
NetworkManager will require some additional steps to be able run properly.<br />
<br />
Verify that your {{ic|/etc/hosts}} is correct before continuing. If you previously tried to connect before doing this step, NetworkManager may have altered it. An example hostname line in {{ic|/etc/hosts}}:<br />
<br />
{{bc|<br />
#<ip-address> <hostname.domain.org> <hostname> <br />
127.0.0.1 localhost.localdomain localhost dell-latitude<br />
}}<br />
<br />
=== Disable current network setup ===<br />
<br />
You'll want to disable your current network setup to be able to properly test NetworkManager. First (if using the Arch Linux network scripts) stop the network:<br />
<br />
/etc/rc.d/network stop<br />
<br />
Bring down your NIC's (Network Interface Controllers, i.e. network cards). For example (using the iproute2 package):<br />
<br />
ip link set down eth0<br />
ip link set down wlan0<br />
<br />
Edit {{ic|/etc/rc.conf}} and where you defined DHCP or a static IP address, comment them out:<br />
{{Note|Following settings are obsolete in the most recent rc.conf.}}<br />
{{bc|<nowiki><br />
#eth0="dhcp" <br />
#wlan0="dhcp" <br />
INTERFACES=(!eth0 !wlan0)<br />
</nowiki>}}<br />
<br />
=== Edit daemons ===<br />
<br />
You must ''remove'' the default '''network''' daemon and add the '''networkmanager''' daemon, after the dbus daemon:<br />
<br />
DAEMONS=( ...'''dbus networkmanager'''... )<br />
<br />
Be sure that the package {{Pkg|dbus}} is installed as NetworkManager will require it. To start other services (daemons) that require a network connection see the next section on how to set them up. Though the NetworkManager daemon has been started here, it will not (by default) connect onto a network until an applet is loaded and the applet specifies to do so. This means that networking services will need to be specified to NetworkManager on when to run.<br />
<br />
=== Set up PolicyKit permissions ===<br />
<br />
In the default setup, non-root users are not allowed to add network connections. They will see errors similar to this:<br />
<br />
** (nm-applet:780): WARNING **: Failed to add new connection: (32) Insufficient privileges.<br />
<br />
# /etc/rc.d/networkmanager start<br />
<br />
To be able to add a network connection, a non-root user must first have an active [[ConsoleKit]] session running.<br />
<br />
Additionally, the user must either (1) run a PolicyKit authentication agent, such as the one provided by '''polkit-gnome''', or (2) be in a group explicitly granted permissions by the system administrator.<br />
<br />
# gpasswd -a youruser wheel.<br />
<br />
=== Network Services with NetworkManager Dispatcher===<br />
<br />
There are quite a few network services that you will not want running until NetworkManager brings up an interface. Good examples are '''openntpd''' and network filesystem mounts of various types (e.g. '''netfs'''). NetworkManager has the ability to start these services when you connect to a network (interface up), and stop them when you are no longer using them (interface down).<br />
<br />
To use this feature, scripts can be added to the {{ic|/etc/NetworkManager/dispatcher.d}} directory. These scripts will need to have executable, user permissions. For security, it's good practice to make them owned by '''root:root''' and writable only by the owner.<br />
{{Warning|For security reason. You should disable write access for group and other. For example use 755 mask.<br />
In other case it can refuse to execute script, with error message "nm-dispatcher.action: Script could not be executed: writable by group or other, or set-UID." in /var/log/messages.log }}<br />
<br />
The scripts will be run in alphabetical order at connection time (with arguments ''interface up''), and in reverse alphabetical order at disconnect time (''interface down''). To ensure what order they come up in, it is common to use numerical characters prior to the name of the script (e.g. {{ic|10_portmap}} or {{ic|30_netfs}} (which ensures that the portmapper is up before NFS mounts are attempted).<br />
<br />
The following starts openntpd when an interface is brought up. Save the file as {{ic|/etc/NetworkManager/dispatcher.d/20_openntpd}} and make it executable.<br />
{{bc|<nowiki><br />
#!/bin/sh<br />
<br />
INTERFACE=$1 # The interface which is brought up or down<br />
STATUS=$2 # The new state of the interface<br />
<br />
case "$STATUS" in<br />
'up') # $INTERFACE is up<br />
exec /etc/rc.d/openntpd start<br />
;;<br />
'down') # $INTERFACE is down<br />
# Check for active interface and down if no one active<br />
if [ ! `nm-tool|grep State|cut -f2 -d' '` = "connected" ]; then<br />
exec /etc/rc.d/openntpd stop<br />
fi<br />
;;<br />
esac<br />
</nowiki>}}<br />
<br />
{{Warning|if you connect to foreign or public networks, be aware of what services you are starting and what servers you expect to be available for them to connect to. You could make a security hole by starting the wrong services while connected to a public network.}}<br />
<br />
==== Use dispatcher to connect to a vpn after a network-connection is established ====<br />
<br />
In this example we want to connect automatically to a vpn-connection we defined previously with NetworkManager. First thing to to is to create the dispatcher-script that defines what to do after we connected to the network.<br />
<br />
1. Create the dispatcher script in {{ic|/etc/NetworkManager/dispatcher.d/vpn-up}}<br />
<br />
case "$2" in<br />
up)<br />
sudo -u username DISPLAY=:0 /usr/bin/python /etc/NetworkManager/vpn-up.py<br />
;;<br />
esac<br />
<br />
Remember to make it executable with chmod +x and change '''username''' to the right one.<br />
<br />
2. Create the {{ic|/etc/NetworkManager/vpn-up.py}} and change '''network-ESSID''' to the desired one. You'll find the code [http://dpaste.com/hold/203441/ here]{{Linkrot|2011|09|04}}.<br />
<br />
Now NetworkManager should try to connect to your vpn which you had defined in your profile.<br />
<br />
More recent versions of NetworkManager have seen a change in the python interface used in the above script, so it may no longer function. An alternative solution, however, can be found in clever use of nmcli.<br />
<br />
{{bc|<nowiki><br />
#! /bin/bash<br />
<br />
REQUIRED_CONNECTION_NAME=""<br />
VPN_CONNECTION_NAME=""<br />
<br />
<br />
activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")<br />
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")<br />
if [ "${activ_con}" -a ! "${activ_vpn}" ];<br />
then<br />
nmcli con up id "${VPN_CONNECTION_NAME}"<br />
fi<br />
</nowiki>}}<br />
<br />
=== Proxy settings ===<br />
<br />
Network Manager does not directly handle proxy settings, but if you are using GNOME, you could use [http://marin.jb.free.fr/proxydriver/ proxydriver] wich handles proxy settings using Network Manager's informations. Package {{AUR|proxydriver}} is in the [[AUR]].<br />
<br />
In order for proxydriver to be able to change the proxy settings, you would need to execute this command, as part of the GNOME startup process (<br />
System->Preferences->Startup Applications):<br />
<br />
{{bc|<br />
xhost +si:localuser:your_username<br />
}}<br />
<br />
See: [[Proxy settings]]<br />
<br />
== Testing ==<br />
<br />
NetworkManager applets are designed to load upon login so no further configuration should be necessary for most users. If you have already disabled your previous network settings and disconnected from your network, you can now test if NetworkManager will work. First start the daemon:<br />
<br />
/etc/rc.d/networkmanager start<br />
<br />
Some applets will provide you with a .desktop file so that the NetworkManager applet can be loaded through the application menu. If it doesn't, you're going to either have to discover the command to use or logout and login again to start the applet. Once the applet is started, it will likely begin polling network connections with for auto-configuration with a DHCP server.<br />
<br />
To start the GNOME applet in non-xdg-compliant Window Managers like Awesome:<br />
<br />
nm-applet --sm-disable &<br />
<br />
For static IPs you will have to configure NetworkManager to understand them. The process usually involves right-clicking the applet and selecting something like 'Edit Connections'.<br />
<br />
==Troubleshooting==<br />
<br />
Some fixes to common problems.<br />
<br />
===Permission problems===<br />
Make sure consolekit is installed and use <br />
exec ck-launch-session wm<br />
instead of<br />
exec wm<br />
in {{ic|~/.xinitrc}}. Most [[Display Manager]]s will take care of consolekit automatically, but if you use [[SLiM]], follow [[SLiM#PolicyKit]]. This sometimes may still not be enough. You may have to manually start polkit-gnome/'''polkit-gnome-authentication-agent-1''' for network manger to work.<br />
<br />
=== Network Management Disabled ===<br />
<br />
Sometimes when NM shuts down the pid (state) file does not get removed and you will get a 'Network management disabled' message. If this happens, you'l have to remove it manually:<br />
<br />
rm /var/lib/NetworkManager/NetworkManager.state<br />
<br />
If this happens upon reboot, you can add an action to your {{ic|etc/rc.local}} to have it removed upon bootup:<br />
<br />
{{bc|<nowiki>nmpid=/var/lib/NetworkManager/NetworkManager.state<br />
[ -f $nmpid ] && rm $nmpid</nowiki>}}<br />
<br />
=== NetworkManager prevents DHCPCD from using resolv.conf.head and resolv.conf.tail ===<br />
<br />
Sometimes it's problematic to add static items to resolv.conf when it's constantly rewritten by nm and dhcpcd. You can use networkmanager-dhclient package from AUR but a better solution is to use this simple script:<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
# <br />
# /etc/NetworkManager/dispatcher.d/99-resolv.conf-head_and_tail<br />
# Include /etc/resolv.conf.head and /etc/resolv.conf.tail to /etc/resolv.conf<br />
#<br />
# scripts in the /etc/NetworkManager/dispatcher.d/ directory<br />
# are called alphabetically and are passed two parameters:<br />
# $1 is the interface name, and $2 is “up” or “down” as the<br />
# case may be.<br />
<br />
resolvconf='/etc/resolv.conf';<br />
cat "$resolvconf"{.head,,.tail} 2>/dev/null > "$resolvconf".tmp<br />
mv -f "$resolvconf".tmp "$resolvconf"<br />
</nowiki>}}<br />
<br />
===Preserving changes to resolv.conf===<br />
NetworkManager will attempt to write DNS information from DHCP into {{ic|/etc/resolv.conf}}, overwriting the existing contents. To prevent this, you can set the immutable bit on the file (as root):<br />
# chattr +i /etc/resolv.conf<br />
<br />
To modify the file in the future, first remove the immutable bit:<br />
# chattr -i /etc/resolv.conf<br />
<br />
===DHCP problems===<br />
If you have problems with getting an IP via DHCP, try to add the following to your {{ic|/etc/dhclient.conf}}:<br />
interface "eth0" {<br />
send dhcp-client-identifier 01:aa:bb:cc:dd:ee:ff;<br />
}<br />
Where {{ic|aa:bb:cc:dd:ee:ff}} is the MAC-adress of this NIC.<br />
<br />
For some (incompliant?) routers, you will not be able to connect properly unless you comment the line<br />
require dhcp_server_identifier<br />
in {{ic|/etc/dhcpcd.conf}} (note that this file is distinct from {{ic|dhcpd.conf}}). This shouldn't cause issues unless you have multiple DHCP servers on your network (not typical); see [http://technet.microsoft.com/en-us/library/cc977442.aspx this page] for more information.<br />
<br />
===Missing default route===<br />
On at least one KDE4 system, no default route was created when establishing wireless connections with NetworkManager. Changing the route settings of the wireless connection to remove the default selection "Use only for resources on this connection" solved the issue.<br />
<br />
===3G modem not detected===<br />
If NetworkManager (from v0.7.999) does not detect your 3G modem, but you still can connect using [[wvdial]], try installing <br />
[http://www.archlinux.org/packages/extra/i686/modemmanager/ modemmanager] package using {{ic|pacman -S modemmanager}} and restart NetworkManager daemon with {{ic|/etc/rc.d/networkmanager restart}}. Replug your modem or restart. This utility provides support for hardware not in networkmanager's default database.<br />
<br />
===VPN problems in Networkmanager 0.7.999===<br />
If you get the error message "invalid secrets" when trying to connect to your VPN provider using the PPTP protocol, try installing the git versions instead: [http://aur.archlinux.org/packages.php?ID=22349 networkmanager], [http://aur.archlinux.org/packages.php?ID=26516 nm-applet] and the [http://aur.archlinux.org/packages.php?ID=29178 pptp plugin].<br />
<br />
===Switching off WLAN on laptops===<br />
<br />
Sometimes networkmanager won't work when you disable your Wifi-adapter with a switch on your laptop and try to enable it again afterwards. This is often a problem with rfkill. Install rfkill from the repo:<br />
<br />
# pacman -S rfkill<br />
<br />
and use <br />
<br />
$ watch -n1 rfkill list all<br />
<br />
to check if the driver notifies rfkill about the wireless adapter's status.<br />
If one identifier stays blocked after you switch on the adapter you could try to manually unblock it with (where X is the number of the identifier provided by the above output):<br />
<br />
# rfkill event unblock X<br />
<br />
===Static IP Settings Revert To DHCP===<br />
<br />
Due to an unresolved bug, when changing default connections to static IP, nm-applet may not properly store the configuration change, and will revert to automatic DHCP. A workaround for this issue follows.<br />
<br />
Edit the default connection (eg "Auto eth0") in nm-applet. Change the connection name (eg "my eth0"), uncheck the "Available to all users" checkbox, change your static IP settings as desired, and click Apply. This will save a new connection with the given name.<br />
<br />
Next, you will want to make the default connection not connect automatically. To do so, run<br />
<br />
$ sudo nm-connection-editor # you must use sudo, not su<br />
<br />
In the connection editor, edit the default connection (eg "Auto eth0") and uncheck "Connect automatically". Click Apply and close the connection editor.<br />
<br />
==Tips and tricks==<br />
<br />
===Checking if networking is up inside a cron job or script===<br />
Some cron jobs require networking to be up to succeed. You may wish to avoid running these jobs when the network is down. To accomplish this, add an '''if''' test for networking that queries NetworkManager's '''nm-tool''' and checks the state of networking. The test shown here succeeds if any interface is up, and fails if they are all down. This is convenient for laptops that might be hardwired, might be on wireless, or might be off the network. <br />
if [ `nm-tool|grep State|cut -f2 -d' '` == "connected" ]; then<br />
#Whatever you want to do if the network is online<br />
else<br />
#Whatever you want to do if the network is offline - note, this and the else above are optional<br />
fi<br />
<br />
This useful for a cron.hourly script that runs '''fpupdate''' for the F-Prot virus scanner signature update, as an example. Another way it might be useful, with a little modification, is to differentiate between networks using various parts of the output from '''nm-tool'''; for example, since the active wireless network is denoted with an asterisk, you could grep for the network name and then grep for a literal asterisk.<br />
<br />
===Automatically unlock keyring after login===<br />
==== Gnome ====<br />
# Right click on the NM icon in your panel and select Edit Connections and open the Wireless tab<br />
# Select the connection you want to work with and click the Edit button<br />
# Check the boxes “Connect Automatically” and “Available to all users”<br />
Log out and log back in to complete.<br />
<br />
{{Note|The following method is dated and known not to work on at least one machine!}}<br />
''*In {{ic|/etc/pam.d/gdm}} (or your corresponding daemon in /etc/pam.d), add these lines at the end of the "auth" and "session" blocks if they do not exist already: <br />
auth optional pam_gnome_keyring.so<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
*In {{ic|/etc/pam.d/passwd}}, use this line for the 'password' block:<br />
password optional pam_gnome_keyring.so<br />
<br />
:Next time you log in, you should be asked if you want the password to be unlocked automatically on login.''<br />
<br />
==== KDE ====<br />
{{Note|See http://live.gnome.org/GnomeKeyring/Pam for reference, and if you are using kde / kdm, you can use pam-keyring-tool from the AUR.}}<br />
<br />
*Put a script like the following in ~/.kde4/Autostart:<br />
$!/bin/sh<br />
echo PASSWORD | /usr/bin/pam-keyring-tool --unlock --keyring=default -s<br />
:Similar should work with openbox, lxde, etc.<br />
<br />
==== SLiM login manager ====<br />
<br />
*In {{ic|/etc/pam.d/slim}}, add these lines at the end of the "auth" and "session" blocks if they do not exist already: <br />
auth optional pam_gnome_keyring.so<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
*In {{ic|/etc/pam.d/passwd}}, use this line for the 'password' block:<br />
password optional pam_gnome_keyring.so<br />
<br />
*In {{ic|~/.xinitrc}}, add this at the very top, before launching your window manager and other applications:<br />
## test for an existing bus daemon, just to be safe<br />
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then<br />
## if not found, launch a new one<br />
eval `dbus-launch --sh-syntax --exit-with-session`<br />
echo "D-Bus per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"<br />
fi<br />
<br />
:Next time you log in, you should be asked if you want the password to be unlocked automatically on login.''<br />
<br />
===Automatically connect on boot ===<br />
Since version 0.7 the NetworkManager is able to connect on boot, before a user has logged in and unlocked the keyring.<br />
<br />
*First make sure that the keyfile plugin is loaded; {{ic|/etc/NetworkManager/NetworkManager.conf}} should look like this:<br />
[main]<br />
plugins=keyfile<br />
<br />
*If this was not in the file before, you have to restart '''nm-system-settings''':<br />
# killall -TERM nm-system-settings<br />
:or simply reboot.<br />
<br />
*Now grant your user the right to modify system-connections:<br />
<br />
With <b>polkit</b>:<br />
<br />
Place the following in /etc/polkit-1/localauthority/50-local.d/10-org-freedesktop-network-manager-settings.pkla<br />
<br />
{{bc|<nowiki><br />
[Allow user YOURUSERNAME to create wireless connections for all users]<br />
Identity=unix-user:YOURUSERNAME<br />
Action=org.freedesktop.NetworkManager.settings.modify.system<br />
ResultAny=no<br />
ResultInactive=no<br />
ResultActive=yes<br />
</nowiki>}}<br />
<br />
:Finally, in the connection-editor (of the gnome applet), check the '''Available to all users''' box.<br />
<br />
The connection is now saved in '''/etc/NetworkManager/system-connections/"CONNECTION NAME"'''. On reboot, NetworkManager will try to connect to it, when in range.<br />
<br />
{{Note|1=As per [https://bugs.kde.org/show_bug.cgi?id=204340 this] bug report, {{ic|knetworkmanager}} does not yet implement this feature. You will need to use the GNOME network applet ({{ic|nm-applet}}). Install it as described above in this page, {{ic|"killall knetworkmanager"}}, then start {{ic|nm-applet}}.<br />
<br>Please vote for the bug!}}<br />
<br />
===Ignore specific devices===<br />
Sometimes it may be desired that NetworkManager ignores specific devices and doesn't try to configure addresses and routes for them.<br />
<br />
You can quickly and easily ignore devices by MAC by using the following in /etc/NetworkManager/NetworkManager.conf :<br />
[keyfile]<br />
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4<br />
After you've put this in, restart NetworkManager, and you should be able to configure interfaces without NetworkManager altering what you've set.<br />
<br />
If that isn't appropriate, you could ignore by HAL.<br />
*First you have to find out the Hal UDI (e.g. with lshal):<br />
...<br />
info.product = 'Networking Interface' (string)<br />
info.subsystem = 'net' (string)<br />
info.udi = '/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55' (string)<br />
linux.hotplug_type = 2 (0x2) (int)<br />
linux.subsystem = 'net' (string)<br />
...<br />
<br />
*Add the udi to /etc/NetworkManager/nm-system-settings.conf:<br />
[keyfile]<br />
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55<br />
<br />
:Multiple devices can be specified, delimited by semicolons:<br />
<br />
[keyfile]<br />
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55;/org/freedesktop/Hal/devices/net_00_2c_6d_e2_08_af<br />
<br />
You do not need to restart NetworkManager for the changes to take effect.<br />
<br />
*Ignoring a type of device at boot time.<br />
this script was used to ignore all ethernet devices at boot time of a archiso build, it can be changed to ignore wifi devices etc.<br />
/!\being used on a non-persistant filesystem, the nm-system-settings.conf is default at run time<br />
#!/bin/sh<br />
# author: tim noise <darknoise@drkns.net><br />
COUNT=0<br />
TARGET_FILE="/etc/NetworkManager/nm-system-settings.conf"<br />
for i in `lshal | grep -A6 'Networking Interface' | awk -F "'" '/info.udi = / {print $2}'`; do<br />
if [ $COUNT = 0 ]; then<br />
COUNT=$COUNT+1;<br />
echo "unmanaged-devices=$i" >> $TARGET_FILE<br />
else<br />
echo -n ";$i" >> $TARGET_FILE<br />
fi<br />
done<br />
printf "\n" >> $TARGET_FILE<br />
<br />
===Connect faster by disabling IPv6===<br />
Slow connection or reconnection to the network may be due to superfluous IPv6 queries in NetworkManager. If there is no IPv6 support on the local network, connecting to a network may take longer than normal while Network Manager tries to establish an IPv6 connection that eventually times out. The solution is to disable IPv6 within NetworkManager which will make network connection faster. This has to be done once for every network you connect to.<br />
<br />
*Right-click on the network status icon.<br />
*Click on "Edit Connections".<br />
*Go to the "Wired" or "Wireless" tab, as appropriate.<br />
*Select the name of the network.<br />
*Click on "Edit".<br />
*Go to the "IPv6 Settings" tab.<br />
*In the "Method" dropdown, choose "Ignore".<br />
*Click on "Save".</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Server_configuration&diff=177746DeveloperWiki:Server configuration2012-01-10T23:05:35Z<p>Wonder: typo</p>
<hr />
<div>[[Category:DeveloperWiki]]<br />
This page provides an overview of the Arch servers and their functions. Details can be found in the respective links for each server. We currently have two phyical server machines:<br />
<br />
== Main development server (formerly gerolde) ==<br />
<br />
This is a Dual-Xeon 2.8GHz server with 16GB of memory and a 2x300GB software RAID 1 array. It has been bought with Arch donation money and is currently located at velocity, who also donate the power and bandwidth. It runs a Xen hypervisor with the following hosts:<br />
<br />
=== [[DeveloperWiki:Dom0|dom0.archlinux.org]] ===<br />
<br />
This is the Xen dom0 for the development server. It runs a Debian system with the Debian Xen kernel, as Arch does not maintain a stable Xen kernel. It has no public services. ssh access is limited to a small number of IP addresses and only Thomas, Aaron, Jan and Dale have access to it.<br />
<br />
It bridges the physical ethernet interface with the virtual interfaces of the Xen domU instances and runs an IP-based [[DeveloperWiki:Dom0#firewall|firewall]].<br />
<br />
=== [[DeveloperWiki:Gerolde (dev)|gerolde.archlinux.org]] ===<br />
<br />
This is the main development server. It runs Arch Linux with a modified kernel26 package with pv_ops/Xen support added.<br />
<br />
DNS aliases: rsync.archlinux.org, archlinux.org, mail.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All developers have ssh access to this machine.<br />
* ''rsync''(rsyncd): Public mirrors (whitelisted by IP address) can synchronize the FTP directory. Anyone can synchronize the ABS tree.<br />
* ''smtp''(postfix): SMTP server for the @archlinux.org and @aur.archlinux.org domains<br />
* ''http''(lighttpd): All developers have direct access to the FTP directory via HTTP (static content only) - this is password-protected, users must use the mirrors.<br />
<br />
Developers use this server to maintain the package repositories, the corresponding ''packages'' subversion repository and access the git repositories for their various arch-related projects.<br />
<br />
=== [[DeveloperWiki:Gudrun (web)|gudrun.archlinux.org]] ===<br />
<br />
This is the main web server. It runs Arch Linux with Arch's own kernel. Only developers who maintain web applications have ssh access. The ssh port is only open to gerolde.<br />
<br />
DNS aliases: bbs.archlinux.org, dev.archlinux.org, mailman.archlinux.org, planet.archlinux.org, projects.archlinux.org, repos.archlinux.org, svn.archlinux.org, wiki.archlinux.org, bugs.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''http''(apache): Hosts the following websites:<br />
** www.archlinux.org: Main Arch website - uses python/django and a few static html pages<br />
** mailman.archlinux.org: Mailing list configuration, subscription and archives - uses mailman<br />
** projects.archlinux.org: Access to the git repositories - uses cgit<br />
** planet.archlinux.org: Feeds from Arch-related blogs - uses static html pages<br />
** repos.archlinux.org: Access to the ''packages'' and ''community'' subversion repositories - uses websvn<br />
** bugs.archlinux.org: Bugtracker - uses flyspray(php)<br />
* ''svn''(xinetd/svnserve): Public subversion access<br />
* ''git''(xinetd/git-daemon): Public git access<br />
<br />
=== Resource Allocation ===<br />
Because this box is servicing multiple VMs, the resources allocated to each are not static. Here is how the box is currently divided up:<br />
<br />
* dom0: 512 MB RAM, 4 CPUs, 4GB disk<br />
* gerolde: 9493 MB RAM, 4 CPUs, 193 GB disk<br />
* gudrun: 6145 MB RAM, 4 CPUs, 30 GB disk<br />
<br />
== [[DeveloperWiki:Alderaan|alderaan.archlinux.org]] ==<br />
* ''nginx''<br />
** bbs.archlinux.org: Forums - uses fluxbb(php)<br />
** wiki.archlinux.org: Arch Wiki - uses mediawiki(php)<br />
<br />
== Trusted User server (sigurd) ==<br />
<br />
This is a Pentium D dual core 3.40GHz server with 4GB of memory and a 2x160GB software RAID 1 array. The machine is being donated by SevenL networks. It runs Arch Linux.<br />
<br />
=== [[DeveloperWiki:Sigurd (TU)|sigurd.archlinux.org]] ===<br />
<br />
DNS aliases: aur.archlinux.org, community.archlinux.org, tracker.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All trusted users have ssh access to this machine.<br />
* ''http''(lighttpd): To host several websites (see below)<br />
<br />
<br />
* trusted user development server. <br />
** websites:<br />
*** aur.archlinux.org: The AUR - uses php<br />
*** community.archlinux.org: apparently nothing<br />
<br />
* ''bit torrent''(opentracker): Bit Torrent tracker for the Arch Linux ISO images<br />
<br />
== Releng server (alberich) ==<br />
* hardware: VPS donated by airVM, 125GiB LVM setup, 2GB ram, 1 core E5530 @ 2.40GHz<br />
* software: Arch Linux <br />
<br />
=== [[DeveloperWiki:Alberich|alberich.archlinux.org]] ===<br />
This machine is meant for building installation images and hosting testbuilds and such.<br />
It runs no other services, because releng image building is "tricky stuff" best kept separate<br />
<br />
The machine contains the releng environment, including chroots for each architecture.<br />
<br />
DNS aliases: releng.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All release engineers have ssh access to this machine.<br />
* ''http''(lighttpd): To host releng files (testbuilds, custom repos/packages), no official media<br />
<br />
== Build Server ([[DeveloperWiki:Brynhild|brynhild]]) ==<br />
<br />
This is an Intel® Core™ i7-960 Quadcore (with Hyper-Threading) server with 8GB of memory. The machine is run by Ionut Biru (ioni). It runs Arch Linux.<br />
<br />
=== [[DeveloperWiki:PKGBUILD.com|pkgbuild.com]] ===<br />
DNS: brynhild.archlinux.org, pkgbuild.archlinux.org<br />
<br />
It offers the following services:<br />
* ''ssh'' (openssh): Access to the build server is available to all Trusted Users and Developers on request.<br />
<br />
* Build server.<br />
** Each user is given access to a set of build scripts that simplify the build process for users with poor internet connections or lacking a 64-bit machine.<br />
<br />
== Other servers ==<br />
<br />
We can always use more of course for our world domination plans! Right now our infrastructure is mostly contained to the above-mentioned servers, but there are a few specialty things running elsewhere.<br />
<br />
=== stats.archlinux.org ===<br />
<br />
This server is hosted on [[User:Toofishes|Dan's]] linode. It runs an instance of munin, which collects various stats from the servers in the archlinux.org domain. If you need access to any of this information and are a developer, get in contact with someone that does [[DeveloperWiki:Internal Projects#Server Administration|server administration]]. If you want an additional server added to the list, just ask.</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:How_to_be_a_packager&diff=174903DeveloperWiki:How to be a packager2011-12-18T19:05:36Z<p>Wonder: fix syntax</p>
<hr />
<div>[[Category:DeveloperWiki]]<br />
== Follow Package Guidelines ==<br />
<br />
Package guidelines can be found in the Arch Linux documentation.<br />
Please follow them closely.<br />
<br />
[[Arch Packaging Standards]]<br />
<br />
== How To Use SVN ==<br />
<br />
=== Non-recursive checkout ===<br />
<br />
svn checkout -N svn+ssh://gerolde.archlinux.org/srv/svn-packages <br />
<br />
This creates a directory named "svn-packages" which contains nothing. It does, however, know that it is an svn checkout.<br />
<br />
=== Checkout a package ===<br />
<br />
cd svn-packages<br />
svn update package-name<br />
<br />
This will pull the package you requested into your checkout. From now on, any time you `svn update` at the top level, this will be updated as well.<br />
<br />
=== Updating all packages ===<br />
<br />
cd svn-packages<br />
svn update<br />
<br />
=== Adding a package ===<br />
<br />
cd svn-packages<br />
mkdir new-package<br />
mkdir new-package/{repos,trunk}<br />
$EDITOR new-package/trunk/PKGBUILD<br />
svn add new-package<br />
svn propset svn:keywords "Id" new-package/trunk/PKGBUILD<br />
svn commit<br />
<br />
=== Removing a package ===<br />
ssh gerolde.archlinux.org<br />
/arch/db-remove repo-name arch packagename<br />
i.e. /arch/db-remove core i686 openssh <br />
<br />
And if you want to really kill the package, you will need to <pre>svn rm</pre> the entire package directory after the above steps and commit the deletion.<br />
<br />
=== Moving a package between repos ===<br />
ssh gerolde.archlinux.org<br />
/arch/db-move packagename fromrepo torepo arch<br />
i.e. /arch/db-move testing core openssh<br />
<br />
Alternatively, the move from testing is so common we have helper scripts:<br />
<br />
/arch/testing2x openssh bzip2 coreutils<br />
/arch/testing2x64 openssh bzip2 coreutils<br />
<br />
These scripts only work if the packages on the commandline are either in ''core'' or ''extra''. If a package is only in testing, you have to use ''testing2core'', ''testing2core64'', ''testing2extra'' or ''testing2extra64''.<br />
<br />
=== "Tagging" releases ===<br />
<br />
cd svn-packages/package-name/trunk<br />
archrelease extra-i686<br />
<br />
This makes an svn copy of the trunk entries in a directory named "extra-i686" indicating that this package is in the extra repository for the i686 architecture.<br />
This will be done automatically when using tools such as extrapkg (see below)<br />
<br />
=== Cleaning up your checkout ===<br />
<br />
Since you are now maintaining a non-recursive checkout, you may want to get rid of packages that you are no longer tracking:<br />
<br />
svn update package1 package2 --set-depth exclude<br />
<br />
Or if you want an empty toplevel again:<br />
<br />
svn update --set-depth empty<br />
<br />
== The Process ==<br />
=== Checkout/update your local repository ===<br />
cd svn-packages<br />
svn update<br />
=== Update the needed package ===<br />
svn update some-package<br />
=== Traverse to the package's trunk directory ===<br />
cd some-package/trunk/<br />
<br />
=== Change and build ===<br />
$EDITOR PKGBUILD<br />
makepkg<br />
<br />
It is highly recommended to build your package using a clean [[DeveloperWiki:Building_in_a_Clean_Chroot|chroot]]<br />
<br />
=== Run namcap on both PKGBUILD and package ===<br />
namcap PKGBUILD<br />
namcap some-package-1.0-1-i686.pkg.tar.gz<br />
=== Use devtools to upload and commit ===<br />
This is repo dependent. For 'extra', you use 'extrapkg'. 'testingpkg' for 'testing', etc<br />
extrapkg "A commit message"<br />
=== Update the repository ===<br />
Use 'db-update'. It will find new packages for any repository and it manages both i686 and x86_64 architectures at once, if present. For example:<br />
ssh gerolde.archlinux.org<br />
/arch/db-update<br />
<br />
== Staging Directories ==<br />
<br />
Staging directories are needed on gerolde.archlinux.org for uploading of packages. The following structure is NOT automatically created. You must do it yourself:<br />
<br />
~/staging/<br />
|-- core/<br />
|-- extra/<br />
`-- testing/<br />
<br />
These directories are searched by the db scripts to find new packages and those slated for removal.<br />
<br />
== Miscellaneous Stuff ==<br />
<br />
=== SVN $Id$ tags ===<br />
<br />
$Id$ tags are a nice helper for PKGBUILDs and should be added to the top of all PKGBUILDs in a comment.<br />
However, svn needs an additional push to know that it should modify this line on checkout.<br />
<br />
svn propset svn:keywords "Id" my-package/trunk/PKGBUILD<br />
<br />
=== Package checking tools ===<br />
<br />
==== namcap ====<br />
Run on both your PKGBUILD and package to check for common packaging problems.<br />
<br />
==== checkpkg ====<br />
Run (as root) in the directory with your freshly built package to get a file list diff compared with the package version currently in the repos.<br />
<br />
=== Commit messages ===<br />
<br />
Please try to write concise commit messages. If the package is simply an upstream change, that is fine, but if anything more complex changes, please inform us by writing an appropriate commit message.<br />
<br />
=== Avoid having to enter your password all the time ===<br />
<br />
When working with ''extrapkg'' and the other devtools, quite a few ssh connections are established, even when using ssh keys and the ssh agent. You can work around that.<br />
<br />
Add this to your ''$HOME/.ssh/config'':<br />
<br />
ControlPath /home/<your username>/.ssh/master-%h-%p-%r<br />
<br />
Host gerolde.archlinux.org<br />
<br />
Now, before you start working, open a ssh session with<br />
<br />
ssh -M gerolde.archlinux.org<br />
<br />
Enter your password and leave that session open until you are finished. All ssh sessions (including scp and svn+ssh) will now be tunneled through this connection.</div>Wonderhttps://wiki.archlinux.org/index.php?title=NetworkManager&diff=174866NetworkManager2011-12-18T13:51:42Z<p>Wonder: fix commands</p>
<hr />
<div>[[Category:Networking (English)]]<br />
{{i18n|NetworkManager}}<br />
[[de:Networkmanager]]<br />
[[fr:NetworkManager]]<br />
{{Article summary start}}<br />
{{Article summary text|Covers installation and configuration of NetworkManager &ndash; a set of co-operative tools that make networking simple and straightforward.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Networking overview}}}}<br />
{{Article summary end}}<br />
<br />
[http://projects.gnome.org/NetworkManager/ NetworkManager] is a program for providing detection and configuration for systems to automatically connect to network. NetworkManager's functionality can be useful for both wireless and wired networks. For wireless networks, NetworkManager prefers known wireless networks and has the ability to switch to the most reliable network. NetworkManager-aware applications can switch from online and offline mode. NetworkManager also prefers wired connections over wireless ones, has support for modem connections and certain types of VPN. NetworkManager was originally developed by RedHat and now is hosted by the [[GNOME]] project.<br />
<br />
== Base install ==<br />
<br />
{{Pkg|NetworkManager}} is available in the {{ic|[extra]}} repository:<br />
# pacman -S networkmanager<br />
<br />
== Graphical Front-ends ==<br />
<br />
To configure and have easy access to NetworkManager most people will want to install an applet. This GUI front-end usually resides in the system tray (or notification area) and allows network selection and configuration of NetworkManager. Various applets exist for different types of desktops.<br />
<br />
=== GNOME ===<br />
<br />
GNOME's applet (formerly gnome-network-manager) is lightweight enough and works across all environments:<br />
<br />
# pacman -S network-manager-applet<br />
<br />
If you want to store authentication details (Wireless/DSL) and enable global connection settings, i.e "available to all users":<br />
<br />
# pacman -S gnome-keyring<br />
<br />
=== KDE4 ===<br />
<br />
The KNetworkManager front-end has been made available in KDE version 4.4 as a plasma widget:<br />
<br />
# pacman -S kdeplasma-applets-networkmanagement<br />
<br />
The GNOME counterpart works just as nicely, or even better (has more features and detects more hardware).<br />
<br />
{{Note|If you are changing from another network managing tool like Wicd, do not forget to set the default 'Network Management Backend' in <br />
System Settings -> Hardware -> Information Sources}}<br />
<br />
If you have both KNetworkManager and nm-applet installed and do not want to start nm-applet when using KDE, add the following line to /etc/xdg/autostart/nm-applet.desktop.<br />
NotShowIn=KDE<br />
<br />
=== KDE3 ===<br />
<br />
Though no longer supported, {{AUR|knetworkmanager}} is in the [[AUR]]. Package name:<br />
knetworkmanager<br />
<br />
=== Openbox ===<br />
<br />
The GNOME applet with the xfce4-notifyd notification daemon works well:<br />
<br />
# pacman -S network-manager-applet xfce4-notifyd hicolor-icon-theme gnome-icon-theme<br />
<br />
If you want to store authentication details (Wireless/DSL):<br />
<br />
# pacman -S gnome-keyring<br />
<br />
To prevent nm-applet dbus errors, edit ~/.xinitrc and change "exec openbox-session" to<br />
"exec ck-launch-session openbox-session".<br />
{{Note|If networkmanager daemon is in rc.conf, the following settings are obsolete or the applet will be started twice.}}<br />
To have Openbox's autostart start nm-applet properly, you may need to delete the file /etc/xdg/autostart/nm-applet.desktop (You may need to delete this file again after every update to network-manager-applet)<br />
<br />
Then in autostart, start nm-applet with this line:<br />
<br />
(sleep 3 && /usr/bin/nm-applet --sm-disable) &<br />
<br />
=== Other Desktops and Window Managers ===<br />
<br />
It is recommended to use the GNOME applet. You'll also need to be sure that the GNOME hicolor theme is installed to be able to display the applet:<br />
<br />
# pacman -S hicolor-icon-theme gnome-icon-theme<br />
<br />
In order to run nm-applet without a systray, you can use trayer or stalonetray. For example, you can add a "nmgui" script like this one in your path :<br />
<br />
#!/bin/sh<br />
nm-applet > /dev/null 2>/dev/null &<br />
stalonetray > /dev/null 2>/dev/null<br />
killall nm-applet<br />
<br />
When you close the stalonetray window, it closes nm-applet too, so no extra memory is used once you're done with network settings.<br />
<br />
=== Command line ===<br />
<br />
The networkmanager package since version 0.8.1 contains [http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.html nmcli]<br />
<br />
== Configuration ==<br />
<br />
NetworkManager will require some additional steps to be able run properly.<br />
<br />
Verify that your {{ic|/etc/hosts}} is correct before continuing. If you previously tried to connect before doing this step, NetworkManager may have altered it. An example hostname line in {{ic|/etc/hosts}}:<br />
<br />
{{bc|<br />
#<ip-address> <hostname.domain.org> <hostname> <br />
127.0.0.1 localhost.localdomain localhost dell-latitude<br />
}}<br />
<br />
=== Disable current network setup ===<br />
<br />
You'll want to disable your current network setup to be able to properly test NetworkManager. First (if using the Arch Linux network scripts) stop the network:<br />
<br />
/etc/rc.d/network stop<br />
<br />
Bring down your NIC's (Network Interface Controllers, i.e. network cards). For example (using the iproute2 package):<br />
<br />
ip link set down eth0<br />
ip link set down wlan0<br />
<br />
Edit {{ic|/etc/rc.conf}} and where you defined DHCP or a static IP address, comment them out:<br />
{{Note|Following settings are obsolete in the most recent rc.conf.}}<br />
{{bc|<nowiki><br />
#eth0="dhcp" <br />
#wlan0="dhcp" <br />
INTERFACES=(!eth0 !wlan0)<br />
</nowiki>}}<br />
<br />
=== Edit daemons ===<br />
<br />
You must ''remove'' the default '''network''' daemon and add the '''networkmanager''' daemon, after the dbus daemon:<br />
<br />
DAEMONS=( ...'''dbus networkmanager'''... )<br />
<br />
Be sure that the package {{Pkg|dbus}} is installed as NetworkManager will require it. To start other services (daemons) that require a network connection see the next section on how to set them up. Though the NetworkManager daemon has been started here, it will not (by default) connect onto a network until an applet is loaded and the applet specifies to do so. This means that networking services will need to be specified to NetworkManager on when to run.<br />
<br />
=== Set up PolicyKit permissions ===<br />
<br />
In the default setup, non-root users are not allowed to add network connections. They will see errors similar to this:<br />
<br />
** (nm-applet:780): WARNING **: Failed to add new connection: (32) Insufficient privileges.<br />
<br />
# /etc/rc.d/networkmanager start<br />
<br />
To be able to add a network connection, a non-root user must first have an active [[ConsoleKit]] session running.<br />
<br />
Additionally, the user must either (1) run a PolicyKit authentication agent, such as the one provided by '''polkit-gnome''', or (2) be in a group explicitly granted permissions by the system administrator.<br />
<br />
# gpasswd -a youruser wheel.<br />
<br />
=== Network Services with NetworkManager Dispatcher===<br />
<br />
There are quite a few network services that you will not want running until NetworkManager brings up an interface. Good examples are '''openntpd''' and network filesystem mounts of various types (e.g. '''netfs'''). NetworkManager has the ability to start these services when you connect to a network (interface up), and stop them when you are no longer using them (interface down).<br />
<br />
To use this feature, scripts can be added to the {{ic|/etc/NetworkManager/dispatcher.d}} directory. These scripts will need to have executable, user permissions. For security, it's good practice to make them owned by '''root:root''' and writable only by the owner.<br />
{{Warning|For security reason. You should disable write access for group and other. For example use 755 mask.<br />
In other case it can refuse to execute script, with error message "nm-dispatcher.action: Script could not be executed: writable by group or other, or set-UID." in /var/log/messages.log }}<br />
<br />
The scripts will be run in alphabetical order at connection time (with arguments ''interface up''), and in reverse alphabetical order at disconnect time (''interface down''). To ensure what order they come up in, it is common to use numerical characters prior to the name of the script (e.g. {{ic|10_portmap}} or {{ic|30_netfs}} (which ensures that the portmapper is up before NFS mounts are attempted).<br />
<br />
The following starts openntpd when an interface is brought up. Save the file as {{ic|/etc/NetworkManager/dispatcher.d/20_openntpd}} and make it executable.<br />
{{bc|<nowiki><br />
#!/bin/sh<br />
<br />
INTERFACE=$1 # The interface which is brought up or down<br />
STATUS=$2 # The new state of the interface<br />
<br />
case "$STATUS" in<br />
'up') # $INTERFACE is up<br />
exec /etc/rc.d/openntpd start<br />
;;<br />
'down') # $INTERFACE is down<br />
# Check for active interface and down if no one active<br />
if [ ! `nm-tool|grep State|cut -f2 -d' '` = "connected" ]; then<br />
exec /etc/rc.d/openntpd stop<br />
fi<br />
;;<br />
esac<br />
</nowiki>}}<br />
<br />
{{Warning|if you connect to foreign or public networks, be aware of what services you are starting and what servers you expect to be available for them to connect to. You could make a security hole by starting the wrong services while connected to a public network.}}<br />
<br />
==== Use dispatcher to connect to a vpn after a network-connection is established ====<br />
<br />
In this example we want to connect automatically to a vpn-connection we defined previously with NetworkManager. First thing to to is to create the dispatcher-script that defines what to do after we connected to the network.<br />
<br />
1. Create the dispatcher script in {{ic|/etc/NetworkManager/dispatcher.d/vpn-up}}<br />
<br />
case "$2" in<br />
up)<br />
sudo -u username DISPLAY=:0 /usr/bin/python /etc/NetworkManager/vpn-up.py<br />
;;<br />
esac<br />
<br />
Remember to make it executable with chmod +x and change '''username''' to the right one.<br />
<br />
2. Create the {{ic|/etc/NetworkManager/vpn-up.py}} and change '''network-ESSID''' to the desired one. You'll find the code [http://dpaste.com/hold/203441/ here]{{Linkrot|2011|09|04}}.<br />
<br />
Now NetworkManager should try to connect to your vpn which you had defined in your profile.<br />
<br />
More recent versions of NetworkManager have seen a change in the python interface used in the above script, so it may no longer function. An alternative solution, however, can be found in clever use of nmcli.<br />
<br />
{{bc|<nowiki><br />
#! /bin/bash<br />
<br />
REQUIRED_CONNECTION_NAME=""<br />
VPN_CONNECTION_NAME=""<br />
<br />
<br />
activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")<br />
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")<br />
if [ "${activ_con}" -a ! "${activ_vpn}" ];<br />
then<br />
nmcli con up id "${VPN_CONNECTION_NAME}"<br />
fi<br />
</nowiki>}}<br />
<br />
=== Proxy settings ===<br />
<br />
Network Manager does not directly handle proxy settings, but if you are using GNOME, you could use [http://marin.jb.free.fr/proxydriver/ proxydriver] wich handles proxy settings using Network Manager's informations. Package {{AUR|proxydriver}} is in the [[AUR]].<br />
<br />
In order for proxydriver to be able to change the proxy settings, you would need to execute this command, as part of the GNOME startup process (<br />
System->Preferences->Startup Applications):<br />
<br />
{{bc|<br />
xhost +si:localuser:your_username<br />
}}<br />
<br />
See: [[Proxy settings]]<br />
<br />
== Testing ==<br />
<br />
NetworkManager applets are designed to load upon login so no further configuration should be necessary for most users. If you have already disabled your previous network settings and disconnected from your network, you can now test if NetworkManager will work. First start the daemon:<br />
<br />
/etc/rc.d/networkmanager start<br />
<br />
Some applets will provide you with a .desktop file so that the NetworkManager applet can be loaded through the application menu. If it doesn't, you're going to either have to discover the command to use or logout and login again to start the applet. Once the applet is started, it will likely begin polling network connections with for auto-configuration with a DHCP server.<br />
<br />
To start the GNOME applet in non-xdg-compliant Window Managers like Awesome:<br />
<br />
nm-applet --sm-disable &<br />
<br />
For static IPs you will have to configure NetworkManager to understand them. The process usually involves right-clicking the applet and selecting something like 'Edit Connections'.<br />
<br />
==Troubleshooting==<br />
<br />
Some fixes to common problems.<br />
<br />
===Permission problems===<br />
Make sure consolekit is installed and use <br />
exec ck-launch-session wm<br />
instead of<br />
exec wm<br />
in {{ic|~/.xinitrc}}. Most [[Display Manager]]s will take care of consolekit automatically, but if you use [[SLiM]], follow [[SLiM#PolicyKit]]. This sometimes may still not be enough. You may have to manually start polkit-gnome/'''polkit-gnome-authentication-agent-1''' for network manger to work.<br />
<br />
=== Network Management Disabled ===<br />
<br />
Sometimes when NM shuts down the pid (state) file does not get removed and you will get a 'Network management disabled' message. If this happens, you'l have to remove it manually:<br />
<br />
rm /var/lib/NetworkManager/NetworkManager.state<br />
<br />
If this happens upon reboot, you can add an action to your {{ic|etc/rc.local}} to have it removed upon bootup:<br />
<br />
{{bc|<nowiki>nmpid=/var/lib/NetworkManager/NetworkManager.state<br />
[ -f $nmpid ] && rm $nmpid</nowiki>}}<br />
<br />
=== NetworkManager prevents DHCPCD from using resolv.conf.head and resolv.conf.tail ===<br />
<br />
Sometimes it's problematic to add static items to resolv.conf when it's constantly rewritten by nm and dhcpcd. You can use networkmanager-dhclient package from AUR but a better solution is to use this simple script:<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
# <br />
# /etc/NetworkManager/dispatcher.d/99-resolv.conf-head_and_tail<br />
# Include /etc/resolv.conf.head and /etc/resolv.conf.tail to /etc/resolv.conf<br />
#<br />
# scripts in the /etc/NetworkManager/dispatcher.d/ directory<br />
# are called alphabetically and are passed two parameters:<br />
# $1 is the interface name, and $2 is “up” or “down” as the<br />
# case may be.<br />
<br />
resolvconf='/etc/resolv.conf';<br />
cat "$resolvconf"{.head,,.tail} 2>/dev/null > "$resolvconf".tmp<br />
mv -f "$resolvconf".tmp "$resolvconf"<br />
</nowiki>}}<br />
<br />
===Preserving changes to resolv.conf===<br />
NetworkManager will attempt to write DNS information from DHCP into {{ic|/etc/resolv.conf}}, overwriting the existing contents. To prevent this, you can set the immutable bit on the file (as root):<br />
# chattr +i /etc/resolv.conf<br />
<br />
To modify the file in the future, first remove the immutable bit:<br />
# chattr -i /etc/resolv.conf<br />
<br />
===DHCP problems===<br />
If you have problems with getting an IP via DHCP try to add the following to your {{ic|/etc/dhclient.conf}}:<br />
interface "eth0" {<br />
send dhcp-client-identifier 01:aa:bb:cc:dd:ee:ff;<br />
}<br />
Where {{ic|aa:bb:cc:dd:ee:ff}} is the MAC-adress of this NIC.<br />
<br />
===How to bypass Gnome keyring for normal users connecting with wireless===<br />
It's super simple! First, create a group called '''networkmanager''' with the following command (or any other method you prefer):<br />
# groupadd networkmanager<br />
<br />
Then add your user to that group using the following command (or any other preferred method):<br />
# gpasswd -a username networkmanager<br />
Replace username in the above command with your actual username.<br />
<br />
Now, as root, launch nm-connection-editor and configure the connections:<br />
# nm-connection-editor<br />
Put a check mark next to "Available to all users" and apply the settings. <br />
<br />
{{Note| on gnome3 you can just clik on Wireless settings, it will probably ask for password to run with root privileges.}}<br />
<br />
Now you won't be bothered by Gnome keyring! ''(citation needed)''<br />
Also, if you additionally enable "connect automatically", your connection will be available and connected before you even log in to your desktop, making your whole startup process even faster!<br />
<br />
===Missing default route===<br />
On at least one KDE4 system, no default route was created when establishing wireless connections with NetworkManager. Changing the route settings of the wireless connection to remove the default selection "Use only for resources on this connection" solved the issue.<br />
<br />
===3G modem not detected===<br />
If NetworkManager (from v0.7.999) does not detect your 3G modem, but you still can connect using [[wvdial]], try installing <br />
[http://www.archlinux.org/packages/extra/i686/modemmanager/ modemmanager] package using {{ic|pacman -S modemmanager}} and restart NetworkManager daemon with {{ic|/etc/rc.d/networkmanager restart}}. Replug your modem or restart. This utility provides support for hardware not in networkmanager's default database.<br />
<br />
===VPN problems in Networkmanager 0.7.999===<br />
If you get the error message "invalid secrets" when trying to connect to your VPN provider using the PPTP protocol, try installing the git versions instead: [http://aur.archlinux.org/packages.php?ID=22349 networkmanager], [http://aur.archlinux.org/packages.php?ID=26516 nm-applet] and the [http://aur.archlinux.org/packages.php?ID=29178 pptp plugin].<br />
<br />
===Switching off WLAN on laptops===<br />
<br />
Sometimes networkmanager won't work when you disable your Wifi-adapter with a switch on your laptop and try to enable it again afterwards. This is often a problem with rfkill. Install rfkill from the repo:<br />
<br />
# pacman -S rfkill<br />
<br />
and use <br />
<br />
$ watch -n1 rfkill list all<br />
<br />
to check if the driver notifies rfkill about the wireless adapter's status.<br />
If one identifier stays blocked after you switch on the adapter you could try to manually unblock it with (where X is the number of the identifier provided by the above output):<br />
<br />
# rfkill event unblock X<br />
<br />
===Static IP Settings Revert To DHCP===<br />
<br />
Due to an unresolved bug, when changing default connections to static IP, nm-applet may not properly store the configuration change, and will revert to automatic DHCP. A workaround for this issue follows.<br />
<br />
Edit the default connection (eg "Auto eth0") in nm-applet. Change the connection name (eg "my eth0"), uncheck the "Available to all users" checkbox, change your static IP settings as desired, and click Apply. This will save a new connection with the given name.<br />
<br />
Next, you will want to make the default connection not connect automatically. To do so, run<br />
<br />
$ sudo nm-connection-editor # you must use sudo, not su<br />
<br />
In the connection editor, edit the default connection (eg "Auto eth0") and uncheck "Connect automatically". Click Apply and close the connection editor.<br />
<br />
==Tips and tricks==<br />
<br />
===Checking if networking is up inside a cron job or script===<br />
Some cron jobs require networking to be up to succeed. You may wish to avoid running these jobs when the network is down. To accomplish this, add an '''if''' test for networking that queries NetworkManager's '''nm-tool''' and checks the state of networking. The test shown here succeeds if any interface is up, and fails if they are all down. This is convenient for laptops that might be hardwired, might be on wireless, or might be off the network. <br />
if [ `nm-tool|grep State|cut -f2 -d' '` == "connected" ]; then<br />
#Whatever you want to do if the network is online<br />
else<br />
#Whatever you want to do if the network is offline - note, this and the else above are optional<br />
fi<br />
<br />
This useful for a cron.hourly script that runs '''fpupdate''' for the F-Prot virus scanner signature update, as an example. Another way it might be useful, with a little modification, is to differentiate between networks using various parts of the output from '''nm-tool'''; for example, since the active wireless network is denoted with an asterisk, you could grep for the network name and then grep for a literal asterisk.<br />
<br />
===Automatically unlock keyring after login===<br />
==== Gnome ====<br />
# Right click on the NM icon in your panel and select Edit Connections and open the Wireless tab<br />
# Select the connection you want to work with and click the Edit button<br />
# Check the boxes “Connect Automatically” and “Available to all users”<br />
Log out and log back in to complete.<br />
<br />
{{Note|The following method is dated and known not to work on at least one machine!}}<br />
''*In {{ic|/etc/pam.d/gdm}} (or your corresponding daemon in /etc/pam.d), add these lines at the end of the "auth" and "session" blocks if they do not exist already: <br />
auth optional pam_gnome_keyring.so<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
*In {{ic|/etc/pam.d/passwd}}, use this line for the 'password' block:<br />
password optional pam_gnome_keyring.so<br />
<br />
:Next time you log in, you should be asked if you want the password to be unlocked automatically on login.''<br />
<br />
==== KDE ====<br />
{{Note|See http://live.gnome.org/GnomeKeyring/Pam for reference, and if you are using kde / kdm, you can use pam-keyring-tool from the AUR.}}<br />
<br />
*Put a script like the following in ~/.kde4/Autostart:<br />
$!/bin/sh<br />
echo PASSWORD | /usr/bin/pam-keyring-tool --unlock --keyring=default -s<br />
:Similar should work with openbox, lxde, etc.<br />
<br />
==== SLiM login manager ====<br />
<br />
*In {{ic|/etc/pam.d/slim}}, add these lines at the end of the "auth" and "session" blocks if they do not exist already: <br />
auth optional pam_gnome_keyring.so<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
*In {{ic|/etc/pam.d/passwd}}, use this line for the 'password' block:<br />
password optional pam_gnome_keyring.so<br />
<br />
*In {{ic|~/.xinitrc}}, add this at the very top, before launching your window manager and other applications:<br />
## test for an existing bus daemon, just to be safe<br />
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then<br />
## if not found, launch a new one<br />
eval `dbus-launch --sh-syntax --exit-with-session`<br />
echo "D-Bus per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"<br />
fi<br />
<br />
:Next time you log in, you should be asked if you want the password to be unlocked automatically on login.''<br />
<br />
===Automatically connect on boot ===<br />
Since version 0.7 the NetworkManager is able to connect on boot, before a user has logged in and unlocked the keyring.<br />
<br />
*First make sure that the keyfile plugin is loaded; {{ic|/etc/NetworkManager/NetworkManager.conf}} should look like this:<br />
[main]<br />
plugins=keyfile<br />
<br />
*If this was not in the file before, you have to restart '''nm-system-settings''':<br />
# killall -TERM nm-system-settings<br />
:or simply reboot.<br />
<br />
*Now grant your user the right to modify system-connections:<br />
<br />
With <b>polkit</b>:<br />
<br />
Place the following in /etc/polkit-1/localauthority/50-local.d/10-org-freedesktop-network-manager-settings.pkla<br />
<br />
{{bc|<nowiki><br />
[Allow user YOURUSERNAME to create wireless connections for all users]<br />
Identity=unix-user:YOURUSERNAME<br />
Action=org.freedesktop.network-manager-settings.system.modify<br />
ResultAny=no<br />
ResultInactive=no<br />
ResultActive=yes<br />
</nowiki>}}<br />
<br />
:Finally, in the connection-editor (of the gnome applet), check the '''Available to all users''' box.<br />
<br />
The connection is now saved in '''/etc/NetworkManager/system-connections/"CONNECTION NAME"'''. On reboot, NetworkManager will try to connect to it, when in range.<br />
<br />
{{Note|1=As per [https://bugs.kde.org/show_bug.cgi?id=204340 this] bug report, {{ic|knetworkmanager}} does not yet implement this feature. You will need to use the GNOME network applet ({{ic|nm-applet}}). Install it as described above in this page, {{ic|"killall knetworkmanager"}}, then start {{ic|nm-applet}}.<br />
<br>Please vote for the bug!}}<br />
<br />
===Ignore specific devices===<br />
Sometimes it may be desired that NetworkManager ignores specific devices and doesn't try to configure addresses and routes for them.<br />
<br />
You can quickly and easily ignore devices by MAC by using the following in /etc/NetworkManager/NetworkManager.conf :<br />
[keyfile]<br />
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4<br />
After you've put this in, restart NetworkManager, and you should be able to configure interfaces without NetworkManager altering what you've set.<br />
<br />
If that isn't appropriate, you could ignore by HAL.<br />
*First you have to find out the Hal UDI (e.g. with lshal):<br />
...<br />
info.product = 'Networking Interface' (string)<br />
info.subsystem = 'net' (string)<br />
info.udi = '/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55' (string)<br />
linux.hotplug_type = 2 (0x2) (int)<br />
linux.subsystem = 'net' (string)<br />
...<br />
<br />
*Add the udi to /etc/NetworkManager/nm-system-settings.conf:<br />
[keyfile]<br />
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55<br />
<br />
:Multiple devices can be specified, delimited by semicolons:<br />
<br />
[keyfile]<br />
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55;/org/freedesktop/Hal/devices/net_00_2c_6d_e2_08_af<br />
<br />
You do not need to restart NetworkManager for the changes to take effect.<br />
<br />
*Ignoring a type of device at boot time.<br />
this script was used to ignore all ethernet devices at boot time of a archiso build, it can be changed to ignore wifi devices etc.<br />
/!\being used on a non-persistant filesystem, the nm-system-settings.conf is default at run time<br />
#!/bin/sh<br />
# author: tim noise <darknoise@drkns.net><br />
COUNT=0<br />
TARGET_FILE="/etc/NetworkManager/nm-system-settings.conf"<br />
for i in `lshal | grep -A6 'Networking Interface' | awk -F "'" '/info.udi = / {print $2}'`; do<br />
if [ $COUNT = 0 ]; then<br />
COUNT=$COUNT+1;<br />
echo "unmanaged-devices=$i" >> $TARGET_FILE<br />
else<br />
echo -n ";$i" >> $TARGET_FILE<br />
fi<br />
done<br />
printf "\n" >> $TARGET_FILE<br />
<br />
===Connect faster by disabling IPv6===<br />
Slow connection or reconnection to the network may be due to superfluous IPv6 queries in NetworkManager. If there is no IPv6 support on the local network, connecting to a network may take longer than normal while Network Manager tries to establish an IPv6 connection that eventually times out. The solution is to disable IPv6 within NetworkManager which will make network connection faster. This has to be done once for every network you connect to.<br />
<br />
*Right-click on the network status icon.<br />
*Click on "Edit Connections".<br />
*Go to the "Wired" or "Wireless" tab, as appropriate.<br />
*Select the name of the network.<br />
*Click on "Edit".<br />
*Go to the "IPv6 Settings" tab.<br />
*In the "Method" dropdown, choose "Ignore".<br />
*Click on "Save".</div>Wonderhttps://wiki.archlinux.org/index.php?title=NetworkManager&diff=174865NetworkManager2011-12-18T13:51:17Z<p>Wonder: drop stupid workaround</p>
<hr />
<div>[[Category:Networking (English)]]<br />
{{i18n|NetworkManager}}<br />
[[de:Networkmanager]]<br />
[[fr:NetworkManager]]<br />
{{Article summary start}}<br />
{{Article summary text|Covers installation and configuration of NetworkManager &ndash; a set of co-operative tools that make networking simple and straightforward.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Networking overview}}}}<br />
{{Article summary end}}<br />
<br />
[http://projects.gnome.org/NetworkManager/ NetworkManager] is a program for providing detection and configuration for systems to automatically connect to network. NetworkManager's functionality can be useful for both wireless and wired networks. For wireless networks, NetworkManager prefers known wireless networks and has the ability to switch to the most reliable network. NetworkManager-aware applications can switch from online and offline mode. NetworkManager also prefers wired connections over wireless ones, has support for modem connections and certain types of VPN. NetworkManager was originally developed by RedHat and now is hosted by the [[GNOME]] project.<br />
<br />
== Base install ==<br />
<br />
{{Pkg|NetworkManager}} is available in the {{ic|[extra]}} repository:<br />
# pacman -S networkmanager<br />
<br />
== Graphical Front-ends ==<br />
<br />
To configure and have easy access to NetworkManager most people will want to install an applet. This GUI front-end usually resides in the system tray (or notification area) and allows network selection and configuration of NetworkManager. Various applets exist for different types of desktops.<br />
<br />
=== GNOME ===<br />
<br />
GNOME's applet (formerly gnome-network-manager) is lightweight enough and works across all environments:<br />
<br />
# pacman -S network-manager-applet<br />
<br />
If you want to store authentication details (Wireless/DSL) and enable global connection settings, i.e "available to all users":<br />
<br />
# pacman -S gnome-keyring<br />
<br />
=== KDE4 ===<br />
<br />
The KNetworkManager front-end has been made available in KDE version 4.4 as a plasma widget:<br />
<br />
# pacman -S kdeplasma-applets-networkmanagement<br />
<br />
The GNOME counterpart works just as nicely, or even better (has more features and detects more hardware).<br />
<br />
{{Note|If you are changing from another network managing tool like Wicd, do not forget to set the default 'Network Management Backend' in <br />
System Settings -> Hardware -> Information Sources}}<br />
<br />
If you have both KNetworkManager and nm-applet installed and do not want to start nm-applet when using KDE, add the following line to /etc/xdg/autostart/nm-applet.desktop.<br />
NotShowIn=KDE<br />
<br />
=== KDE3 ===<br />
<br />
Though no longer supported, {{AUR|knetworkmanager}} is in the [[AUR]]. Package name:<br />
knetworkmanager<br />
<br />
=== Openbox ===<br />
<br />
The GNOME applet with the xfce4-notifyd notification daemon works well:<br />
<br />
# pacman -S network-manager-applet xfce4-notifyd hicolor-icon-theme gnome-icon-theme<br />
<br />
If you want to store authentication details (Wireless/DSL):<br />
<br />
# pacman -S gnome-keyring<br />
<br />
To prevent nm-applet dbus errors, edit ~/.xinitrc and change "exec openbox-session" to<br />
"exec ck-launch-session openbox-session".<br />
{{Note|If networkmanager daemon is in rc.conf, the following settings are obsolete or the applet will be started twice.}}<br />
To have Openbox's autostart start nm-applet properly, you may need to delete the file /etc/xdg/autostart/nm-applet.desktop (You may need to delete this file again after every update to network-manager-applet)<br />
<br />
Then in autostart, start nm-applet with this line:<br />
<br />
(sleep 3 && /usr/bin/nm-applet --sm-disable) &<br />
<br />
=== Other Desktops and Window Managers ===<br />
<br />
It is recommended to use the GNOME applet. You'll also need to be sure that the GNOME hicolor theme is installed to be able to display the applet:<br />
<br />
# pacman -S hicolor-icon-theme gnome-icon-theme<br />
<br />
In order to run nm-applet without a systray, you can use trayer or stalonetray. For example, you can add a "nmgui" script like this one in your path :<br />
<br />
#!/bin/sh<br />
nm-applet > /dev/null 2>/dev/null &<br />
stalonetray > /dev/null 2>/dev/null<br />
killall nm-applet<br />
<br />
When you close the stalonetray window, it closes nm-applet too, so no extra memory is used once you're done with network settings.<br />
<br />
=== Command line ===<br />
<br />
The networkmanager package since version 0.8.1 contains [http://manpages.ubuntu.com/manpages/maverick/man1/nmcli.1.html nmcli]<br />
<br />
== Configuration ==<br />
<br />
NetworkManager will require some additional steps to be able run properly.<br />
<br />
Verify that your {{ic|/etc/hosts}} is correct before continuing. If you previously tried to connect before doing this step, NetworkManager may have altered it. An example hostname line in {{ic|/etc/hosts}}:<br />
<br />
{{bc|<br />
#<ip-address> <hostname.domain.org> <hostname> <br />
127.0.0.1 localhost.localdomain localhost dell-latitude<br />
}}<br />
<br />
=== Disable current network setup ===<br />
<br />
You'll want to disable your current network setup to be able to properly test NetworkManager. First (if using the Arch Linux network scripts) stop the network:<br />
<br />
/etc/rc.d/network stop<br />
<br />
Bring down your NIC's (Network Interface Controllers, i.e. network cards). For example (using the iproute2 package):<br />
<br />
ip link set down eth0<br />
ip link set down wlan0<br />
<br />
Edit {{ic|/etc/rc.conf}} and where you defined DHCP or a static IP address, comment them out:<br />
{{Note|Following settings are obsolete in the most recent rc.conf.}}<br />
{{bc|<nowiki><br />
#eth0="dhcp" <br />
#wlan0="dhcp" <br />
INTERFACES=(!eth0 !wlan0)<br />
</nowiki>}}<br />
<br />
=== Edit daemons ===<br />
<br />
You must ''remove'' the default '''network''' daemon and add the '''networkmanager''' daemon, after the dbus daemon:<br />
<br />
DAEMONS=( ...'''dbus networkmanager'''... )<br />
<br />
Be sure that the package {{Pkg|dbus}} is installed as NetworkManager will require it. To start other services (daemons) that require a network connection see the next section on how to set them up. Though the NetworkManager daemon has been started here, it will not (by default) connect onto a network until an applet is loaded and the applet specifies to do so. This means that networking services will need to be specified to NetworkManager on when to run.<br />
<br />
=== Set up PolicyKit permissions ===<br />
<br />
In the default setup, non-root users are not allowed to add network connections. They will see errors similar to this:<br />
<br />
** (nm-applet:780): WARNING **: Failed to add new connection: (32) Insufficient privileges.<br />
<br />
# /etc/rc.d/networkmanager start<br />
<br />
To be able to add a network connection, a non-root user must first have an active [[ConsoleKit]] session running.<br />
<br />
Additionally, the user must either (1) run a PolicyKit authentication agent, such as the one provided by '''polkit-gnome''', or (2) be in a group explicitly granted permissions by the system administrator.<br />
<br />
# gpasswd -a youruser wheel.<br />
<br />
=== Network Services with NetworkManager Dispatcher===<br />
<br />
There are quite a few network services that you will not want running until NetworkManager brings up an interface. Good examples are '''openntpd''' and network filesystem mounts of various types (e.g. '''netfs'''). NetworkManager has the ability to start these services when you connect to a network (interface up), and stop them when you are no longer using them (interface down).<br />
<br />
To use this feature, scripts can be added to the {{ic|/etc/NetworkManager/dispatcher.d}} directory. These scripts will need to have executable, user permissions. For security, it's good practice to make them owned by '''root:root''' and writable only by the owner.<br />
{{Warning|For security reason. You should disable write access for group and other. For example use 755 mask.<br />
In other case it can refuse to execute script, with error message "nm-dispatcher.action: Script could not be executed: writable by group or other, or set-UID." in /var/log/messages.log }}<br />
<br />
The scripts will be run in alphabetical order at connection time (with arguments ''interface up''), and in reverse alphabetical order at disconnect time (''interface down''). To ensure what order they come up in, it is common to use numerical characters prior to the name of the script (e.g. {{ic|10_portmap}} or {{ic|30_netfs}} (which ensures that the portmapper is up before NFS mounts are attempted).<br />
<br />
The following starts openntpd when an interface is brought up. Save the file as {{ic|/etc/NetworkManager/dispatcher.d/20_openntpd}} and make it executable.<br />
{{bc|<nowiki><br />
#!/bin/sh<br />
<br />
INTERFACE=$1 # The interface which is brought up or down<br />
STATUS=$2 # The new state of the interface<br />
<br />
case "$STATUS" in<br />
'up') # $INTERFACE is up<br />
exec /etc/rc.d/openntpd start<br />
;;<br />
'down') # $INTERFACE is down<br />
# Check for active interface and down if no one active<br />
if [ ! `nm-tool|grep State|cut -f2 -d' '` = "connected" ]; then<br />
exec /etc/rc.d/openntpd stop<br />
fi<br />
;;<br />
esac<br />
</nowiki>}}<br />
<br />
{{Warning|if you connect to foreign or public networks, be aware of what services you are starting and what servers you expect to be available for them to connect to. You could make a security hole by starting the wrong services while connected to a public network.}}<br />
<br />
==== Use dispatcher to connect to a vpn after a network-connection is established ====<br />
<br />
In this example we want to connect automatically to a vpn-connection we defined previously with NetworkManager. First thing to to is to create the dispatcher-script that defines what to do after we connected to the network.<br />
<br />
1. Create the dispatcher script in {{ic|/etc/NetworkManager/dispatcher.d/vpn-up}}<br />
<br />
case "$2" in<br />
up)<br />
sudo -u username DISPLAY=:0 /usr/bin/python /etc/NetworkManager/vpn-up.py<br />
;;<br />
esac<br />
<br />
Remember to make it executable with chmod +x and change '''username''' to the right one.<br />
<br />
2. Create the {{ic|/etc/NetworkManager/vpn-up.py}} and change '''network-ESSID''' to the desired one. You'll find the code [http://dpaste.com/hold/203441/ here]{{Linkrot|2011|09|04}}.<br />
<br />
Now NetworkManager should try to connect to your vpn which you had defined in your profile.<br />
<br />
More recent versions of NetworkManager have seen a change in the python interface used in the above script, so it may no longer function. An alternative solution, however, can be found in clever use of nmcli.<br />
<br />
{{bc|<nowiki><br />
#! /bin/bash<br />
<br />
REQUIRED_CONNECTION_NAME=""<br />
VPN_CONNECTION_NAME=""<br />
<br />
<br />
activ_con=$(nmcli con status | grep "${REQUIRED_CONNECTION_NAME}")<br />
activ_vpn=$(nmcli con status | grep "${VPN_CONNECTION_NAME}")<br />
if [ "${activ_con}" -a ! "${activ_vpn}" ];<br />
then<br />
nmcli con up id "${VPN_CONNECTION_NAME}"<br />
fi<br />
</nowiki>}}<br />
<br />
=== Proxy settings ===<br />
<br />
Network Manager does not directly handle proxy settings, but if you are using GNOME, you could use [http://marin.jb.free.fr/proxydriver/ proxydriver] wich handles proxy settings using Network Manager's informations. Package {{AUR|proxydriver}} is in the [[AUR]].<br />
<br />
In order for proxydriver to be able to change the proxy settings, you would need to execute this command, as part of the GNOME startup process (<br />
System->Preferences->Startup Applications):<br />
<br />
{{bc|<br />
xhost +si:localuser:your_username<br />
}}<br />
<br />
See: [[Proxy settings]]<br />
<br />
== Testing ==<br />
<br />
NetworkManager applets are designed to load upon login so no further configuration should be necessary for most users. If you have already disabled your previous network settings and disconnected from your network, you can now test if NetworkManager will work. First start the daemon:<br />
<br />
/etc/rc.d/networkmanager start<br />
<br />
Some applets will provide you with a .desktop file so that the NetworkManager applet can be loaded through the application menu. If it doesn't, you're going to either have to discover the command to use or logout and login again to start the applet. Once the applet is started, it will likely begin polling network connections with for auto-configuration with a DHCP server.<br />
<br />
To start the GNOME applet in non-xdg-compliant Window Managers like Awesome:<br />
<br />
nm-applet --sm-disable &<br />
<br />
For static IPs you will have to configure NetworkManager to understand them. The process usually involves right-clicking the applet and selecting something like 'Edit Connections'.<br />
<br />
==Troubleshooting==<br />
<br />
Some fixes to common problems.<br />
<br />
===Permission problems===<br />
Make sure consolekit is installed and use <br />
exec ck-launch-session wm<br />
instead of<br />
exec wm<br />
in {{ic|~/.xinitrc}}. Most [[Display Manager]]s will take care of consolekit automatically, but if you use [[SLiM]], follow [[SLiM#PolicyKit]]. This sometimes may still not be enough. You may have to manually start polkit-gnome/'''polkit-gnome-authentication-agent-1''' for network manger to work.<br />
<br />
=== Network Management Disabled ===<br />
<br />
Sometimes when NM shuts down the pid (state) file does not get removed and you will get a 'Network management disabled' message. If this happens, you'l have to remove it manually:<br />
<br />
rm /var/lib/NetworkManager/NetworkManager.state<br />
<br />
If this happens upon reboot, you can add an action to your {{ic|etc/rc.local}} to have it removed upon bootup:<br />
<br />
{{bc|<nowiki>nmpid=/var/lib/NetworkManager/NetworkManager.state<br />
[ -f $nmpid ] && rm $nmpid</nowiki>}}<br />
<br />
=== NetworkManager prevents DHCPCD from using resolv.conf.head and resolv.conf.tail ===<br />
<br />
Sometimes it's problematic to add static items to resolv.conf when it's constantly rewritten by nm and dhcpcd. You can use networkmanager-dhclient package from AUR but a better solution is to use this simple script:<br />
{{bc|<nowiki><br />
#!/bin/bash<br />
# <br />
# /etc/NetworkManager/dispatcher.d/99-resolv.conf-head_and_tail<br />
# Include /etc/resolv.conf.head and /etc/resolv.conf.tail to /etc/resolv.conf<br />
#<br />
# scripts in the /etc/NetworkManager/dispatcher.d/ directory<br />
# are called alphabetically and are passed two parameters:<br />
# $1 is the interface name, and $2 is “up” or “down” as the<br />
# case may be.<br />
<br />
resolvconf='/etc/resolv.conf';<br />
cat "$resolvconf"{.head,,.tail} 2>/dev/null > "$resolvconf".tmp<br />
mv -f "$resolvconf".tmp "$resolvconf"<br />
</nowiki>}}<br />
<br />
===Preserving changes to resolv.conf===<br />
NetworkManager will attempt to write DNS information from DHCP into {{ic|/etc/resolv.conf}}, overwriting the existing contents. To prevent this, you can set the immutable bit on the file (as root):<br />
# chattr +i /etc/resolv.conf<br />
<br />
To modify the file in the future, first remove the immutable bit:<br />
# chattr -i /etc/resolv.conf<br />
<br />
===DHCP problems===<br />
If you have problems with getting an IP via DHCP try to add the following to your {{ic|/etc/dhclient.conf}}:<br />
interface "eth0" {<br />
send dhcp-client-identifier 01:aa:bb:cc:dd:ee:ff;<br />
}<br />
Where {{ic|aa:bb:cc:dd:ee:ff}} is the MAC-adress of this NIC.<br />
<br />
===How to bypass Gnome keyring for normal users connecting with wireless===<br />
It's super simple! First, create a group called '''networkmanager''' with the following command (or any other method you prefer):<br />
# groupadd networkmanager<br />
<br />
Then add your user to that group using the following command (or any other preferred method):<br />
# gpasswd -a username networkmanager<br />
Replace username in the above command with your actual username.<br />
<br />
Now, as root, launch nm-connection-editor and configure the connections:<br />
# nm-connection-editor<br />
Put a check mark next to "Available to all users" and apply the settings. <br />
<br />
{{Note| on gnome3 you can just clik on Wireless settings, it will probably ask for password to run with root privileges.}}<br />
<br />
Now you won't be bothered by Gnome keyring! ''(citation needed)''<br />
Also, if you additionally enable "connect automatically", your connection will be available and connected before you even log in to your desktop, making your whole startup process even faster!<br />
<br />
===Missing default route===<br />
On at least one KDE4 system, no default route was created when establishing wireless connections with NetworkManager. Changing the route settings of the wireless connection to remove the default selection "Use only for resources on this connection" solved the issue.<br />
<br />
===3G modem not detected===<br />
If NetworkManager (from v0.7.999) does not detect your 3G modem, but you still can connect using [[wvdial]], try installing <br />
[http://www.archlinux.org/packages/extra/i686/modemmanager/ modemmanager] package using {{ic|pacman -S modemmanager}} and restart NetworkManager daemon with {{ic|/etc/rc.d/networkmanager restart}}. Replug your modem or restart. This utility provides support for hardware not in networkmanager's default database.<br />
<br />
===VPN problems in Networkmanager 0.7.999===<br />
If you get the error message "invalid secrets" when trying to connect to your VPN provider using the PPTP protocol, try installing the git versions instead: [http://aur.archlinux.org/packages.php?ID=22349 networkmanager], [http://aur.archlinux.org/packages.php?ID=26516 nm-applet] and the [http://aur.archlinux.org/packages.php?ID=29178 pptp plugin].<br />
<br />
===Switching off WLAN on laptops===<br />
<br />
Sometimes networkmanager won't work when you disable your Wifi-adapter with a switch on your laptop and try to enable it again afterwards. This is often a problem with rfkill. Install rfkill from the repo:<br />
<br />
# pacman -S rfkill<br />
<br />
and use <br />
<br />
$ watch -n1 rfkill list all<br />
<br />
to check if the driver notifies rfkill about the wireless adapter's status.<br />
If one identifier stays blocked after you switch on the adapter you could try to manually unblock it with (where X is the number of the identifier provided by the above output):<br />
<br />
# rfkill event unblock X<br />
<br />
===Static IP Settings Revert To DHCP===<br />
<br />
Due to an unresolved bug, when changing default connections to static IP, nm-applet may not properly store the configuration change, and will revert to automatic DHCP. A workaround for this issue follows.<br />
<br />
Edit the default connection (eg "Auto eth0") in nm-applet. Change the connection name (eg "my eth0"), uncheck the "Available to all users" checkbox, change your static IP settings as desired, and click Apply. This will save a new connection with the given name.<br />
<br />
Next, you will want to make the default connection not connect automatically. To do so, run<br />
<br />
$ sudo nm-connection-editor # you must use sudo, not su<br />
<br />
In the connection editor, edit the default connection (eg "Auto eth0") and uncheck "Connect automatically". Click Apply and close the connection editor.<br />
<br />
==Tips and tricks==<br />
<br />
===Checking if networking is up inside a cron job or script===<br />
Some cron jobs require networking to be up to succeed. You may wish to avoid running these jobs when the network is down. To accomplish this, add an '''if''' test for networking that queries NetworkManager's '''nm-tool''' and checks the state of networking. The test shown here succeeds if any interface is up, and fails if they are all down. This is convenient for laptops that might be hardwired, might be on wireless, or might be off the network. <br />
if [ `nm-tool|grep State|cut -f2 -d' '` == "connected" ]; then<br />
#Whatever you want to do if the network is online<br />
else<br />
#Whatever you want to do if the network is offline - note, this and the else above are optional<br />
fi<br />
<br />
This useful for a cron.hourly script that runs '''fpupdate''' for the F-Prot virus scanner signature update, as an example. Another way it might be useful, with a little modification, is to differentiate between networks using various parts of the output from '''nm-tool'''; for example, since the active wireless network is denoted with an asterisk, you could grep for the network name and then grep for a literal asterisk.<br />
<br />
===Automatically unlock keyring after login===<br />
==== Gnome ====<br />
# Right click on the NM icon in your panel and select Edit Connections and open the Wireless tab<br />
# Select the connection you want to work with and click the Edit button<br />
# Check the boxes “Connect Automatically” and “Available to all users”<br />
Log out and log back in to complete.<br />
<br />
{{Note|The following method is dated and known not to work on at least one machine!}}<br />
''*In {{ic|/etc/pam.d/gdm}} (or your corresponding daemon in /etc/pam.d), add these lines at the end of the "auth" and "session" blocks if they do not exist already: <br />
auth optional pam_gnome_keyring.so<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
*In {{ic|/etc/pam.d/passwd}}, use this line for the 'password' block:<br />
password optional pam_gnome_keyring.so<br />
<br />
:Next time you log in, you should be asked if you want the password to be unlocked automatically on login.''<br />
<br />
==== KDE ====<br />
{{Note|See http://live.gnome.org/GnomeKeyring/Pam for reference, and if you are using kde / kdm, you can use pam-keyring-tool from the AUR.}}<br />
<br />
*Put a script like the following in ~/.kde4/Autostart:<br />
$!/bin/sh<br />
echo PASSWORD | /usr/bin/pam-keyring-tool --unlock --keyring=default -s<br />
:Similar should work with openbox, lxde, etc.<br />
<br />
==== SLiM login manager ====<br />
<br />
*In {{ic|/etc/pam.d/slim}}, add these lines at the end of the "auth" and "session" blocks if they do not exist already: <br />
auth optional pam_gnome_keyring.so<br />
session optional pam_gnome_keyring.so auto_start<br />
<br />
*In {{ic|/etc/pam.d/passwd}}, use this line for the 'password' block:<br />
password optional pam_gnome_keyring.so<br />
<br />
*In {{ic|~/.xinitrc}}, add this at the very top, before launching your window manager and other applications:<br />
## test for an existing bus daemon, just to be safe<br />
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then<br />
## if not found, launch a new one<br />
eval `dbus-launch --sh-syntax --exit-with-session`<br />
echo "D-Bus per-session daemon address is: $DBUS_SESSION_BUS_ADDRESS"<br />
fi<br />
<br />
:Next time you log in, you should be asked if you want the password to be unlocked automatically on login.''<br />
<br />
===Automatically connect on boot ===<br />
Since version 0.7 the NetworkManager is able to connect on boot, before a user has logged in and unlocked the keyring.<br />
<br />
*First make sure that the keyfile plugin is loaded; {{ic|/etc/NetworkManager/NetworkManager.conf}} should look like this:<br />
[main]<br />
plugins=keyfile<br />
<br />
*If this was not in the file before, you have to restart '''nm-system-settings''':<br />
# killall -TERM nm-system-settings<br />
:or simply reboot.<br />
<br />
*Now grant your user the right to modify system-connections:<br />
<br />
With <b>polkit</b>:<br />
<br />
Place the following in /etc/polkit-1/localauthority/50-local.d/10-org-freedesktop-network-manager-settings.pkla<br />
<br />
{{bc|<nowiki><br />
[Allow user YOURUSERNAME to create wireless connections for all users]<br />
Identity=unix-user:YOURUSERNAME<br />
Action=org.freedesktop.network-manager-settings.system.modify<br />
ResultAny=no<br />
ResultInactive=no<br />
ResultActive=yes<br />
</nowiki>}}<br />
<br />
:Finally, in the connection-editor (of the gnome applet), check the '''Available to all users''' box.<br />
<br />
The connection is now saved in '''/etc/NetworkManager/system-connections/"CONNECTION NAME"'''. On reboot, NetworkManager will try to connect to it, when in range.<br />
<br />
{{Note|1=As per [https://bugs.kde.org/show_bug.cgi?id=204340 this] bug report, {{ic|knetworkmanager}} does not yet implement this feature. You will need to use the GNOME network applet ({{ic|nm-applet}}). Install it as described above in this page, {{ic|"killall knetworkmanager"}}, then start {{ic|nm-applet}}.<br />
<br>Please vote for the bug!}}<br />
<br />
===Ignore specific devices===<br />
Sometimes it may be desired that NetworkManager ignores specific devices and doesn't try to configure addresses and routes for them.<br />
<br />
You can quickly and easily ignore devices by MAC by using the following in /etc/NetworkManager/NetworkManager.conf :<br />
[keyfile]<br />
unmanaged-devices=mac:00:22:68:1c:59:b1;mac:00:1E:65:30:D1:C4<br />
After you've put this in, restart NetworkManager, and you should be able to configure interfaces without NetworkManager altering what you've set.<br />
<br />
If that isn't appropriate, you could ignore by HAL.<br />
*First you have to find out the Hal UDI (e.g. with lshal):<br />
...<br />
info.product = 'Networking Interface' (string)<br />
info.subsystem = 'net' (string)<br />
info.udi = '/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55' (string)<br />
linux.hotplug_type = 2 (0x2) (int)<br />
linux.subsystem = 'net' (string)<br />
...<br />
<br />
*Add the udi to /etc/NetworkManager/nm-system-settings.conf:<br />
[keyfile]<br />
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55<br />
<br />
:Multiple devices can be specified, delimited by semicolons:<br />
<br />
[keyfile]<br />
unmanaged-devices=/org/freedesktop/Hal/devices/net_00_1f_11_01_06_55;/org/freedesktop/Hal/devices/net_00_2c_6d_e2_08_af<br />
<br />
You do not need to restart NetworkManager for the changes to take effect.<br />
<br />
*Ignoring a type of device at boot time.<br />
this script was used to ignore all ethernet devices at boot time of a archiso build, it can be changed to ignore wifi devices etc.<br />
/!\being used on a non-persistant filesystem, the nm-system-settings.conf is default at run time<br />
#!/bin/sh<br />
# author: tim noise <darknoise@drkns.net><br />
COUNT=0<br />
TARGET_FILE="/etc/NetworkManager/nm-system-settings.conf"<br />
for i in `lshal | grep -A6 'Networking Interface' | awk -F "'" '/info.udi = / {print $2}'`; do<br />
if [ $COUNT = 0 ]; then<br />
COUNT=$COUNT+1;<br />
echo "unmanaged-devices=$i" >> $TARGET_FILE<br />
else<br />
echo -n ";$i" >> $TARGET_FILE<br />
fi<br />
done<br />
printf "\n" >> $TARGET_FILE<br />
<br />
===Connect faster by disabling IPv6===<br />
Slow connection or reconnection to the network may be due to superfluous IPv6 queries in NetworkManager. If there is no IPv6 support on the local network, connecting to a network may take longer than normal while Network Manager tries to establish an IPv6 connection that eventually times out. The solution is to disable IPv6 within NetworkManager which will make network connection faster. This has to be done once for every network you connect to.<br />
<br />
*Right-click on the network status icon.<br />
*Click on "Edit Connections".<br />
*Go to the "Wired" or "Wireless" tab, as appropriate.<br />
*Select the name of the network.<br />
*Click on "Edit".<br />
*Go to the "IPv6 Settings" tab.<br />
*In the "Method" dropdown, choose "Ignore".<br />
*Click on "Save".</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Brynhild&diff=171485DeveloperWiki:Brynhild2011-11-28T20:45:25Z<p>Wonder: adding corruption date</p>
<hr />
<div>[[Category:DeveloperWiki:Server Configuration]]<br />
<br />
==Specs==<br />
* i7-920<br />
* 8GB Ram<br />
* 2x750GB HDD as Raid1<br />
* 10TB Traffic<br />
* 100Mbit/s Uplink<br />
<br />
==Partition layout==<br />
/dev/sda1 and /dev/sdb1 are 100mb each -> /dev/md0; contains /boot<br />
<br />
/dev/sda2 and /dev/sdb2 rest of the sapce -> /dev/md1<br />
<br />
/dev/md1 contains an [[LVM]] (vg_brynhild) which contains the following volumes:<br />
<br />
* home /home<br />
* root /<br />
* srv /srv<br />
* var_log /var/log<br />
* mysql /var/lib/mysql<br />
* swap<br />
<br />
==Services==<br />
* postfix listening on localhost:25 and sendmail for outbound email<br />
* ngnix<br />
* mysql<br />
* bbs and wiki<br />
<br />
==Maintainer==<br />
System (sudo): bluewind,ioni,dan,thomas,pierre<br />
===bbs.archlinux.org===<br />
* Maintainer: Pierre<br />
* Upstream: http://fluxbb.org/<br />
* Dependencies: php, mysql<br />
* Public git repo: http://projects.archlinux.org/vhosts/bbs.archlinux.org.git/<br />
<br />
===wiki.archlinux.org===<br />
* Maintainer: Pierre<br />
* Upstream: http://www.mediawiki.org/wiki/MediaWiki<br />
* Dependencies: php, mysql<br />
* Public git repo: http://projects.archlinux.org/vhosts/wiki.archlinux.org.git/<br />
<br />
==Trivia==<br />
* bootloader is [[syslinux]]<br />
* network is configured via /etc/rc.d/network_simple<br />
<br />
==Quirks==<br />
* Duplex detection doesn't work so force full duplex<br />
<br />
==History==<br />
* 10.8.2011: initial setup<br />
* 23.10.11: power outage<br />
* 24.10.11: sda failed/replaced<br />
* 25.10.11: mysql: fluxbb corrupted; dropped table; restored clean sql dump<br />
* 27.10.11: mysql: fluxbb.search_matches corrupted<br />
* 15.11.11: mysql: fluxbb.search_matches corrupted</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Server_configuration&diff=171316DeveloperWiki:Server configuration2011-11-27T15:54:51Z<p>Wonder: add dns entries</p>
<hr />
<div>[[Category:DeveloperWiki]]<br />
This page provides an overview of the Arch servers and their functions. Details can be found in the respective links for each server. We currently have two phyical server machines:<br />
<br />
== Main development server (formerly gerolde) ==<br />
<br />
This is a Dual-Xeon 2.8GHz server with 16GB of memory and a 2x300GB software RAID 1 array. It has been bought with Arch donation money and is currently located at velocity, who also donate the power and bandwidth. It runs a Xen hypervisor with the following hosts:<br />
<br />
=== [[DeveloperWiki:Dom0|dom0.archlinux.org]] ===<br />
<br />
This is the Xen dom0 for the development server. It runs a Debian system with the Debian Xen kernel, as Arch does not maintain a stable Xen kernel. It has no public services. ssh access is limited to a small number of IP addresses and only Thomas, Aaron, Jan and Dale have access to it.<br />
<br />
It bridges the physical ethernet interface with the virtual interfaces of the Xen domU instances and runs an IP-based [[DeveloperWiki:Dom0#firewall|firewall]].<br />
<br />
=== [[DeveloperWiki:Gerolde (dev)|gerolde.archlinux.org]] ===<br />
<br />
This is the main development server. It runs Arch Linux with a modified kernel26 package with pv_ops/Xen support added.<br />
<br />
DNS aliases: rsync.archlinux.org, archlinux.org, mail.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All developers have ssh access to this machine.<br />
* ''rsync''(rsyncd): Public mirrors (whitelisted by IP address) can synchronize the FTP directory. Anyone can synchronize the ABS tree.<br />
* ''smtp''(postfix): SMTP server for the @archlinux.org and @aur.archlinux.org domains<br />
* ''http''(lighttpd): All developers have direct access to the FTP directory via HTTP (static content only) - this is password-protected, users must use the mirrors.<br />
<br />
Developers use this server to maintain the package repositories, the corresponding ''packages'' subversion repository and access the git repositories for their various arch-related projects.<br />
<br />
=== [[DeveloperWiki:Gudrun (web)|gudrun.archlinux.org]] ===<br />
<br />
This is the main web server. It runs Arch Linux with Arch's own kernel. Only developers who maintain web applications have ssh access. The ssh port is only open to gerolde.<br />
<br />
DNS aliases: bbs.archlinux.org, dev.archlinux.org, mailman.archlinux.org, planet.archlinux.org, projects.archlinux.org, repos.archlinux.org, svn.archlinux.org, wiki.archlinux.org, bugs.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''http''(apache): Hosts the following websites:<br />
** www.archlinux.org: Main Arch website - uses python/django and a few static html pages<br />
** mailman.archlinux.org: Mailing list configuration, subscription and archives - uses mailman<br />
** bbs.archlinux.org: Forums - uses fluxbb(php)<br />
** wiki.archlinux.org: Arch Wiki - uses mediawiki(php)<br />
** projects.archlinux.org: Access to the git repositories - uses cgit<br />
** planet.archlinux.org: Feeds from Arch-related blogs - uses static html pages<br />
** repos.archlinux.org: Access to the ''packages'' and ''community'' subversion repositories - uses websvn<br />
** bugs.archlinux.org: Bugtracker - uses flyspray(php)<br />
* ''svn''(xinetd/svnserve): Public subversion access<br />
* ''git''(xinetd/git-daemon): Public git access<br />
<br />
=== Resource Allocation ===<br />
Because this box is servicing multiple VMs, the resources allocated to each are not static. Here is how the box is currently divided up:<br />
<br />
* dom0: 512 MB RAM, 4 CPUs, 4GB disk<br />
* gerolde: 9493 MB RAM, 4 CPUs, 193 GB disk<br />
* gudrun: 6145 MB RAM, 4 CPUs, 30 GB disk<br />
<br />
== Trusted User server (sigurd) ==<br />
<br />
This is a Pentium D dual core 3.40GHz server with 4GB of memory and a 2x160GB software RAID 1 array. The machine is being donated by SevenL networks. It runs Arch Linux.<br />
<br />
=== [[DeveloperWiki:Sigurd (TU)|sigurd.archlinux.org]] ===<br />
<br />
DNS aliases: aur.archlinux.org, community.archlinux.org, tracker.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All trusted users have ssh access to this machine.<br />
* ''http''(lighttpd): To host several websites (see below)<br />
<br />
<br />
* trusted user development server. <br />
** websites:<br />
*** aur.archlinux.org: The AUR - uses php<br />
*** community.archlinux.org: apparently nothing<br />
<br />
* ''bit torrent''(opentracker): Bit Torrent tracker for the Arch Linux ISO images<br />
<br />
== Releng server (alberich) ==<br />
* hardware: VPS donated by airVM, 125GiB LVM setup, 2GB ram, 1 core E5530 @ 2.40GHz<br />
* software: Arch Linux <br />
<br />
=== [[DeveloperWiki:Alberich|alberich.archlinux.org]] ===<br />
This machine is meant for building installation images and hosting testbuilds and such.<br />
It runs no other services, because releng image building is "tricky stuff" best kept separate<br />
<br />
The machine contains the releng environment, including chroots for each architecture.<br />
<br />
DNS aliases: releng.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All release engineers have ssh access to this machine.<br />
* ''http''(lighttpd): To host releng files (testbuilds, custom repos/packages), no official media<br />
<br />
== Build Server (alderaan) ==<br />
<br />
This is an Intel® Core™ i7-920 Quadcore (with Hyper-Threading) server with 8GB of memory. The machine is run by Ionut Biru (ioni). It runs Arch Linux.<br />
<br />
=== [[DeveloperWiki:PKGBUILD.com|pkgbuild.com]] ===<br />
DNS: alderaan.archlinux.org, pkgbuild.archlinux.org<br />
<br />
It offers the following services:<br />
* ''ssh'' (openssh): Access to the build server is available to all Trusted Users and Developers on request.<br />
<br />
* Build server.<br />
** Each user is given access to a set of build scripts that simplify the build process for users with poor internet connections or lacking a 64-bit machine.<br />
<br />
== Other servers ==<br />
<br />
We can always use more of course for our world domination plans! Right now our infrastructure is mostly contained to the above-mentioned servers, but there are a few specialty things running elsewhere.<br />
<br />
=== stats.archlinux.org ===<br />
<br />
This server is hosted on [[User:Toofishes|Dan's]] linode. It runs an instance of munin, which collects various stats from the servers in the archlinux.org domain. If you need access to any of this information and are a developer, get in contact with someone that does [[DeveloperWiki:Internal Projects#Server Administration|server administration]]. If you want an additional server added to the list, just ask.</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=170402GNOME2011-11-17T16:01:28Z<p>Wonder: better explanations about gnome-extra</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
{{i18n|GNOME 3|GNOME}}<br />
[[de:GNOME]]<br />
[[fr:GNOME]]<br />
[[pl:GNOME]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|GTK+}}<br />
{{Article summary end}}<br />
<br />
The GNOME Project started from scratch and created a completely new desktop called GNOME 3. It has:<br />
<br />
* A modern visual theme and font<br />
* An activities view providing access to all windows and applications<br />
* A subtle notifications system and a discreet top panel<br />
* Integration with an improved Nautilus file manager<br />
* Integrated desktop services for messaging<br />
* A new system settings application <br />
* An activities search feature<br />
* Features such as snap-like window tiling<br />
<br />
Additional explanations are found on the [http://www.gnome3.org/ official GNOME3 website.]<br />
<br />
== Introduction ==<br />
<br />
GNOME 3 has ''two'' interfaces: '''GNOME Shell,''' the new standard layout; and '''fallback mode.''' Gnome-session automatically detects when your computer is incapable of running Gnome Shell and starts fallback mode when appropriate. <br />
<br />
'''Fallback mode''' is similar to GNOME 2. (Fallback mode uses gnome-panel/Metacity instead of gnome-shell/Mutter.)<br />
<br />
When you are on fallback mode you can still replace GNOME's default window manager with your preferred one.<br />
<br />
==Installation==<br />
<br />
GNOME 3 is in the [extra] repository. The '''gnome''' group contains the core desktop environment and applications, and gnome-extra contains the rest. You likely do not want all of the packages installed, so consider reading the package descriptions before installing them (or just remove them later).<br />
<br />
Example:<br />
<br />
# pacman -S gnome<br />
<br />
Chose what applications you are using from gnome-extra. Is not mandatory to install the whole group.<br />
<br />
# pacman -S gnome-extra<br />
<br />
===D-Bus daemon===<br />
The GNOME desktop requires the [[D-Bus]] daemon. Refer to the [[dbus]] article for setup instructions.<br />
<br />
=== Running GNOME ===<br />
<br />
For the best desktop integration, login manager '''GDM''' is recommended. Other login managers (a.k.a. display managers) such as SLiM can be used in place of GDM. Check out the [[Display_Manager|wiki article on display managers]] to learn how desktop environments are started.<br />
<br />
The login manager is a limited process entrusted with duties that impact the system. The [[PolicyKit|PolicyKit wiki article]] addresses the topic of system‑wide access control.<br />
<br />
# pacman -S gdm<br />
<br />
If you prefer to start GNOME manually from the console, add the following line to your {{ic|~/.xinitrc}} file. Make sure it is the only line (remove the {{ic|for}} block from the standard {{ic|~/.xinitrc}} since the {{ic|for}} block can cause problems) and the only command starting with {{ic|exec}}. See the [[xinitrc| xinitrc wiki article]].<br />
{{hc|~/.xinitrc|<nowiki><br />
#ONLY THIS LINE<br />
exec ck-launch-session gnome-session<br />
</nowiki>}}<br />
<br />
After the {{ic|exec}} command is placed, GNOME can be launched by typing {{ic|startx}}.<br />
<br />
== Using the shell ==<br />
<br />
=== GNOME cheat sheet ===<br />
<br />
The GNOME web site has a helpful [https://live.gnome.org/GnomeShell/CheatSheet GNOME Shell cheat sheet] explaining task switching, keyboard use, window control, the panel, overview mode, and more.<br />
<br />
=== Restarting the shell ===<br />
<br />
After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing {{Keypress|Alt}} + {{Keypress|F2}} then {{Keypress|r}} then {{Keypress|Enter}}<br />
<br />
=== Shell crashes ===<br />
<br />
Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes, such as switching between '''''GNOME Shell''''' and '''''fallback mode,''''' cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.<br />
<br />
It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.<br />
<br />
== Customizing GNOME appearance ==<br />
<br />
=== Overall appearance ===<br />
<br />
GNOME 3 may have "started from scratch", but like most large software projects it is assembled from parts dating to different eras. There is not '''one''' all-encompassing configuration tool. The new ''Systems Settings'' tool is a big improvement over previous control panels. ''System Settings'' is well-organized, but you may find yourself wishing for more control over system appearance.<br />
<br />
You may be familiar with existing configuration tools: some of these still work; many will not. Some settings are not readily exposed for you to change. Indubitably, many settings will migrate to newer tools and/or become exposed as time progresses and the wider community embraces and extends the latest GNOME desktop.<br />
<br />
==== Gsettings ====<br />
<br />
A new command-line tool '''gsettings''' stores data in a binary format, unlike previous tools using XML text. A tutorial [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell] explores the power of gsettings.<br />
<br />
==== GNOME tweak tool ====<br />
<br />
This graphical tool customizes fonts, themes, titlebar buttons and other settings. <br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
Version 3.0.3 only works when gnome-shell is installed (OK if forced to fallback mode). [https://bugzilla.gnome.org/show_bug.cgi?id=647132 Bugzilla bug report here.]<br />
<br />
==== GTK3 theme via settings.ini ====<br />
<br />
Like '''{{ic|~/.gtkrc-2.0}}''' with GTK2+, it is possible to set a GTK3 theme via '''{{ic|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
Variable {{ic|$XDG_CONFIG_HOME}} is usually set to '''~/.config'''<br />
<br />
''Adwaita,'' the default GNOME 3 theme, is a part of '''gnome-themes-standard.''' Additional GTK3 themes are found at [http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/ Deviantart web site.] For example:<br />
{{hc|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|<nowiki><br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
</nowiki>}}<br />
<br />
It is necessary to [[#Restarting_the_shell|restart GNOME shell]] for settings to be applied. More GTK options are found at [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GNOME developer documentation.]<br />
<br />
==== Icon theme ====<br />
<br />
Using gnome-tweak-tool v. 3.0.3 and later, you can place any icon theme you wish to use inside '''{{ic|~/.icons}}'''.<br />
<br />
Usefully, GNOME 3 is compatible with GNOME 2 icon themes, which means you're not stuck with the default icons. To install a new set of icons, copy your desired icon theme's directory to '''{{ic|~/.icons}}'''. As an example:<br />
<br />
$ cp -R /home/user/Desktop/my_icon_theme ~/.icons<br />
<br />
The new theme ''my_icon_theme'' is now selectable using '''gnome-tweak-tool''' under '''''interface.'''''<br />
<br />
Alternatively, you may textually select your icon theme with no need for gnome-tweak-tool. Add the GTK icon theme name to '''{{ic|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''. Please note, not to use "" as your settings would not be recognised then.<br />
<br />
{{hc|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|<nowiki>... previous lines ...<br />
<br />
gtk-icon-theme-name = my_new_icon_theme</nowiki>}}<br />
<br />
=== Nautilus ===<br />
<br />
==== Remove folders from the places sidebar ====<br />
<br />
The displayed folders are specified in {{ic|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{ic|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
==== Always show text-entry location ====<br />
<br />
The standard Nautilus toolbar shows a button bar interface for path navigation. To enter path locations using the ''keyboard'' you must expose the location text-entry field. This is done by pressing {{Keypress|Ctrl}} + {{Keypress|L}}<br />
<br />
To make the location text-entry field always present, use gsettings as shown. <br />
<br />
$ gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
{{Note| after changing this setting you will not be able to expose the button bar. Only when the setting is '''false''' can both forms of location navigation be employed.}}<br />
<br />
=== GNOME panel ===<br />
<br />
==== Show date in top bar ====<br />
<br />
By default GNOME displays only the weekday and time in the top bar. This can be changed with the following command. Changes take effect immediately. <br />
<br />
# gsettings set org.gnome.shell.clock show-date true<br />
<br />
==== Hide accessibility icon ====<br />
<br />
Install {{AUR|gnome-shell-extension-noa11y-git}} from [[AUR]].<br />
<br />
==== Hide Bluetooth icon ====<br />
<br />
''This extension is based on {{AUR|gnome-shell-extension-noa11y-git}} from [[AUR]] and works for GNOME 3.2''<br />
<br />
Create a folder named {{ic|nobluetooth.icon@panel.ui}} in {{ic|~/.local/share/gnome-shell/extensions}}. <br />
<br />
# mkdir ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui<br />
<br />
Create two new files:<br />
<br />
# gedit ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js<br />
<br />
{{hc|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js|<nowiki>const Panel = imports.ui.panel;<br />
const Main = imports.ui.main;<br />
<br />
function enable() {<br />
for (let i = 0; i < Main.panel._rightBox.get_children().length; i++) {<br />
if (Main.panel._statusArea['bluetooth'] == Main.panel._rightBox.get_children()[i]._delegate) {<br />
Main.panel._rightBox.get_children()[i].destroy();<br />
break;<br />
} <br />
}<br />
// addToStatusArea would throw an error on disable if we do not set this to null <br />
Main.panel._statusArea['bluetooth'] = null;<br />
}<br />
<br />
function disable() {<br />
let indicator = new Panel.STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION["bluetooth"];<br />
Main.panel.addToStatusArea("bluetooth", indicator, Panel.STANDARD_STATUS_AREA_ORDER.indexOf('bluetooth'));<br />
}<br />
<br />
function init() {<br />
}</nowiki>}}<br />
<br />
# gedit ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json<br />
<br />
{{hc|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json|<nowiki>{<br />
"shell-version": ["3.2"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nobluetooth",<br />
"description": "Turn off the Bluetooth icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell]]. Activate this extension with the [[#GNOME_tweak_tool|GNOME Tweak Tool]]. If this extension ceases to work in the future, adjust the shell version number in {{ic|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json}}.<br />
<br />
==== Show battery icon ====<br />
<br />
To show the battery tray icon, [[pacman|install]] {{Pkg|gnome-power-manager}} from the [[Official Repositories|official repositories]].<br />
<br />
==== Disable "Suspend" in the status menu ====<br />
<br />
A quick way to do it system-wide is to change line 153 of {{ic|/usr/share/gnome-shell/js/ui/statusMenu.js}}.<br />
In GNOME 3.2, the file has changed to {{ic|/usr/share/gnome-shell/js/ui/userMenu.js}}. This change takes effect the next time GNOME Shell is started.<br />
{{hc|/usr/share/gnome-shell/js/ui/userMenu.js|<nowiki><br />
// this._haveSuspend = this._upClient.get_can_suspend(); // Comment this line out.<br />
this._haveSuspend = false; // Use this line instead.<br />
</nowiki>}}<br />
<br />
However, the effect will not last after a GNOME update. A more perennial solution is to [[pacman|install]] the [[#GNOME shell extensions|shell extension]] provided by the package {{Pkg|gnome-shell-extension-alternative-status-menu}}, which is in the [[Official Repositories|official repositories]].<br />
<br />
==== Eliminate delay when logging out ====<br />
<br />
The following tweak removes the confirmation dialog and sixty second delay for logging out.<br />
<br />
This dialog normally appears when you log out with the status menu. This tweak affects the '''''Power Off''''' dialog as well. This is not a system-wide change; it affects only the user who enters this command. The change takes effect immediately after entering the command.<br />
<br />
$ gsettings set org.gnome.SessionManager logout-prompt 'false'<br />
<br />
==== Show system monitor ====<br />
<br />
Install the {{AUR|gnome-shell-system-monitor-applet-git}} extension available in the [[AUR]].<br />
<br />
==== Show weather information ====<br />
<br />
Install {{AUR|gnome-shell-extension-weather-git}} from [[AUR]].<br />
<br />
=== Activity view ===<br />
<br />
==== Remove entries from Applications view ====<br />
<br />
Like other desktop environments, GNOME uses .desktop files to populate its Applications view. These text files are in '''{{ic|/usr/share/applications}}'''. It is not possible to edit these files from a folder view ‒ Nautilus does not treat their icons as text files. Use a terminal to display or edit .desktop file entries.<br />
<br />
# ls /usr/share/applications<br />
# nano /usr/share/applications/foo.desktop<br />
<br />
For system wide changes, edit files in '''{{ic|/usr/share/applications}}'''. For local changes, make a copy of ''foo.desktop'' in your home folder.<br />
<br />
$ cp /usr/share/applications/foo.desktop ~/.local/share/applications/<br />
<br />
Edit .desktop files to fit your wishes. '''Note:''' removing a .desktop file does not uninstall an application, but instead removes its desktop integration: MIME types, shortcuts, and so forth.<br />
<br />
The following command appends one line to a .desktop file and hides its associated icon from Applications view:<br />
<br />
$ echo "NoDisplay=true" >> foo.desktop<br />
<br />
==== Reduce application icon size ====<br />
<br />
One awkward selection of the GNOME designers is their choice of large icons for Applications view. This view is painful when working with a small screen containing many large application icons. There is a way to reduce the icon size. It is done by editing the Gnome-Shell theme.<br />
<br />
Edit system files directly (make a backup first) or copy theme files to your local folder and edit these files. For the default theme, edit '''{{ic|/usr/share/gnome-shell/theme/gnome-shell.css}}'''<br />
<br />
For user themes, edit '''{{ic|/usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css}}'''<br />
<br />
Edit ''gnome-shell.css'' and replace the following values. Afterward, [[#Restarting_the_shell|restart the GNOME shell.]]<br />
{{hc|gnome-shell.css|<nowiki><br />
.icon-grid {<br />
spacing: 18px;<br />
-shell-grid-item-size: 82px;<br />
}<br />
<br />
.icon-grid .overview-icon {<br />
icon-size: 48px;<br />
}<br />
</nowiki>}}<br />
<br />
A cloned GNOME Shell theme with smaller icons is available [http://aur.archlinux.org/packages.php?ID=51586 on the AUR].<br />
<br />
==== Disable Activity hot corner hovering ====<br />
<br />
To disable automatic activity view when the hot corner is hovered, edit '''{{ic|/usr/share/gnome-shell/js/ui/layout.js}}''' (that was ''panel.js'' in Gnome 3.0.x) :<br />
{{hc|layout.js|<nowiki><br />
this._corner = new Clutter.Rectangle({ name: 'hot-corner',<br />
width: 1,<br />
height: 1,<br />
opacity: 0,<br />
reactive: true });icon-size: 48px;<br />
}<br />
</nowiki>}}<br />
and set ''reactive'' to ''false''. Gnome Shell needs to be restarted.<br />
<br />
=== Titlebar ===<br />
<br />
==== Reduce title bar height ====<br />
<br />
# sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] This changes vertical padding from 14 to 0, which gives windows a sleeker look.<br />
<br />
To restore the original values, [[pacman|install]] the package {{Pkg|gnome-themes-standard}} from the [[Official Repositories|official repositories]].<br />
<br />
==== Reorder titlebar buttons ====<br />
<br />
At present this setting is changeable only through '''gconf-editor.'''<br />
<br />
For example, we move the close and minimize buttons to the left side of the titlebar. Open '''gconf-editor''' and locate the '''''desktop.gnome.shell.windows.button_layout''''' key. Change its value to '''{{ic|close,minimize:}}''' (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. [[#Restarting_the_shell|Restart the shell]] to see your new button arrangement.<br />
<br />
==== Hide titlebar when maximized ====<br />
<br />
# sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.<br />
<br />
With suitable keybindings, you should be able to use {{Keypress|Alt}} + {{Keypress|F5}}, {{Keypress|Alt}} + {{Keypress|F10}} or {{Keypress|Alt}} + {{Keypress|Space}} to remedy the situation.<br />
<br />
To prevent '''{{ic|metacity-theme-3.xml}}''' from being overwritten each time package "gnome-themes-standard" is upgraded, add its name to '''{{ic|/etc/pacman.conf}}''' with {{ic|NoUpgrade}}.<br />
<br />
{{hc|/etc/pacman.conf|<nowiki>... previous lines ...<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
# IgnorePkg =<br />
# IgnoreGroup =<br />
<br />
NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml # Do not add a leading slash to the path<br />
<br />
... more lines ...</nowiki>}}<br />
<br />
To restore original Adwaita theme values:<br />
<br />
# pacman -S gnome-themes-standard<br />
<br />
=== Login screen ===<br />
<br />
To modify characteristics of the login screen (GDM, the GNOME display manager) the following lines can be executed. The first command allows all users, including "gdm", to access X settings (albeit temporarily). This command creates a temporary vulnerability, so be advised. The second command opens a bash session with the credentials of user "gdm". '''Note:''' for exposition, user gdm's terminal prompt is shown as '''$'''. In actuality, it shows something like -bash-4.2$.<br />
<br />
# xhost +<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
The third command prints DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We must export these variables. Either manually export the below two variables shown in the output of dbus-launch like this:<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Or use the follow command:<br />
<br />
$ `dbus-launch | sed "s/^/export /"`<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
==== Login background image ====<br />
<br />
Once session variables have been exported as explained above, you may issue commands to retrieve or set items used by GDM. <br />
<br />
The easiest way to changes all the settings is by launching the Configuration Editor gui with the command<br />
<br />
$ dconf-editor<br />
<br />
The location of each setting is the same as in the command line style of configuration shown below:<br />
<br />
The following is the command-line approach to retrieve or set the file name used for GDM's wallpaper.<br />
{{bc|<nowiki><br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg'<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom'<br />
## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom</nowiki>}}<br />
Note: You must specify a file which user "gdm" has permission to read. GDM cannot read files in your home directory.<br />
<br />
An alternative graphical interface to changing themes (gtk3, icons and cursor), the wallpaper and minor other settings of the GDM login screen, you can install [https://aur.archlinux.org/packages.php?ID=50232 gdm3setup] from AUR.<br />
<br />
==== Larger font for login ====<br />
<br />
This tweak enlarges the login font with a scaling factor. It is the same method employed by ''Accessibility Manager'' on the desktop.<br />
<br />
You must [[#Login_screen|export the GDM session variables]] before performing this tweak.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'<br />
<br />
==== Turning off the sound ====<br />
<br />
This tweak disables the audible feedback heard when the system volume is adjusted (via keyboard) on the login screen. You must first export the GDM session variables.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds 'false'<br />
<br />
If the above tweak does not work for you or you are unable to export the GDM session variables, there is always the easiest solution to the "ready sound" problem: mute or lower the sound while in GDM login screen using the media keys (if available) of your keyboard.<br />
<br />
==== Make the power button interactive ====<br />
<br />
The default installation sets the power button to suspend the system. '''''Power off''''' or '''''Show dialog''''' is a better choice. You must first export the GDM session variables as [[#Login_screen|outlined previously.]]<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive'<br />
$ gsettings list-recursively org.gnome.settings-daemon.plugins.power<br />
<br />
==== GDM keyboard layout ====<br />
<br />
GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the [[Beginners'_Guide#Non-US_keyboard|Beginner's Guide.]]<br />
<br />
=== Other tips ===<br />
See [[GNOME Tips]].<br />
<br />
== Miscellaneous settings ==<br />
<br />
==== Automatic program launch upon logging in ====<br />
<br />
Specify which programs start automatically after logging in using {{ic|gnome-session-properties}}. This tool is part of the {{Pkg|gnome-session}} package.<br />
<br />
$ gnome-session-properties<br />
<br />
==== Activate NumLock upon logging in ====<br />
<br />
[[pacman|Install]] {{Pkg|numlockx}} from the [[Official Repositories|official repositories]]. Then, add a start-up command to launch {{ic|numlockx}}.<br />
$ gnome-session-properties<br />
<br />
The above command opens the '''Startup Applications Preferences''' applet. Click '''''Add''''' and enter the following:<br />
<br />
{| border="0"<br />
| Name: || ''Numlockx''<br />
|-<br />
| Command: || ''/usr/bin/numlockx on''<br />
|-<br />
| Comment: || ''Turns on numlock.''<br />
|}<br />
<br />
This is not a system-wide appearance tweak. Repeat these steps for each user wishing to activate NumLock after logging in.<br />
<br />
==== Move dialog windows ====<br />
The default configuration for dialogs will not allow you to move them which causes problems in some cases. To change this you will need to use gconf-editor and change this setting:<br />
<br />
/desktop/gnome/shell/windows/attach_modal_dialogs<br />
<br />
After the change you will need to restart the shell for it to take affect.<br />
<br />
=== GNOME shell extensions ===<br />
<br />
GNOME Shell can be customized with extensions written by others. These provide features such as a dock or a widget for changing the theme. Details on available extensions are found at the [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html WEBUPD8] site. The most recent articles can be found using this [http://www.webupd8.org/search/label/gnome%20shell%20extensions?max-results=20 WEBUPD8 search link.]<br />
<br />
The [[Official Repositories|official repositories]] have a dozen extensions which can be installed individually. (The latest version of a given extension may be installed using its code snapshot, if preferred.) [http://www.archlinux.org/packages/?sort=&q=gnome-shell-extension&maintainer=&last_update=&flagged=&limit=50 List here.]<br />
<br />
$ pacman -Ss gnome-shell-extension<br />
<br />
Other useful extensions provided in the [[AUR]]:<br />
<br />
{| border="1"<br />
| {{AUR|gnome-shell-extension-presentation-mode-git}} || Adds option to inhibit screensaver in the power menu (battery icon).<br />
|-<br />
| {{AUR|gnome-shell-extension-weather-git}} || Displays weather notifications.<br />
|-<br />
| {{AUR|gnome-shell-extension-alternative-status-menu-git}} || Adds "Hibernate" and "Power Off" to the status menu.<br />
|-<br />
| {{AUR|gnome-shell-extension-theme-selector}} || Select a theme in the Activities overview.<br />
To install a custom theme with GNOME Tweak Tool, you need to install the {{Pkg|gnome-shell-extension-user-theme}} package from the [[Official Repositories|official repositories]].<br />
|-<br />
|{{AUR|gnome-shell-frippery}} || An unofficial extension pack providing GNOME2 like features for GNOME3.<br />
|}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME Shell]] after installing an extension. See [[#When_an_extension_breaks_GNOME|when an extension breaks GNOME]] for troubleshooting information.<br />
<br />
=== Default terminal ===<br />
<br />
{{ic|gsettings}}, which replaces {{ic|gconftool-2}} in GNOME 3, is used to set e.g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
{{Note|For ''nautilus-open-terminal'', you may need a flag (e.g. {{ic|-e}}) to indicate that a command will follow: ''nautilus-open-terminal'' passes a {{ic|cd}} command in order to change directories to the appropriate location.}}<br />
<br />
=== Middle mouse button ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of [[Xorg]] settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
$ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
=== xmonad ===<br />
<br />
[[xmonad]] is a tiling window manager.<br />
<br />
Upgrading to GNOME 3 will likely break your xmonad setup. You can use xmonad again by [[#Enabling_fallback_mode|forcing fallback mode]] and creating two files:<br />
<br />
{{hc|/usr/share/gnome-session/sessions/xmonad.session|<nowiki>[GNOME Session]<br />
Name=Xmonad session<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-notifications=notification-daemon</nowiki>}}<br />
<br />
{{hc|/usr/share/xsessions/xmonad-gnome-session.desktop|<nowiki>[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession</nowiki>}}<br />
<br />
The next time you log in, you should have the ability to choose ''Xmonad GNOME'' as your session.<br />
<br />
=== wmii ===<br />
<br />
[[wmii]] is a tiling window manager.<br />
<br />
You can use wmii with gnome by [[#Enabling_fallback_mode|forcing fallback mode]] and creating three files:<br />
<br />
{{hc|/usr/share/applications/wmii.desktop|<nowiki><br />
[Desktop Entry]<br />
Version=1.0<br />
Type=Application<br />
Name=wmii<br />
TryExec=wmii<br />
Exec=wmii</nowiki>}}<br />
<br />
{{hc|/usr/share/xsessions/gnome-wmii.desktop|<nowiki><br />
[Desktop Entry]<br />
Name=GNOME-wmii<br />
Comment=GNOME with wmii as window manager<br />
TryExec=gnome-session<br />
Exec=gnome-session --session=wmii<br />
Type=Application</nowiki>}}<br />
<br />
{{hc|/usr/share/gnome-session/sessions/wmii.session|<nowiki><br />
[GNOME Session]<br />
Name=wmii<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=wmii<br />
DefaultProvider-notifications=notification-daemon</nowiki>}}<br />
<br />
The next time you log in, you should have the ability to choose ''GNOME-wmii'' as your session.<br />
<br />
The original info was taken from [http://makandra.com/notes/1367-running-the-awesome-window-manager-within-gnome running-the-awesome-window-manager-within-gnome], go there for info on awesome-gnome.<br />
<br />
Also it has info on how to:<br />
<br />
- create a per session (wmii, GNOME, GNOME-wmii, etc.) dconf database (useful if you ever plan on using regular GNOME)<br />
<br />
- Remove the bottom GNOME panel (with the task list)<br />
<br />
- Move the top panel (with the menus) to the bottom<br />
<br />
- Untick the expand option<br />
<br />
- Set it to autohide<br />
<br />
== Hidden features ==<br />
<br />
GNOME 3 hides many useful options which you can customize with '''dconf-editor.''' GNOME 3 also supports '''gconf-editor''' for settings that have not yet migrated to dconf.<br />
<br />
=== Changing hotkeys ===<br />
<br />
Firstly, use '''dconf-editor''' to place a checkmark next to {{ic|can-change-accels}} in the key named ''org.gnome.desktop.interface.''<br />
<br />
We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder.<br />
<br />
The default assignment is a somewhat-awkward {{Keypress|Ctrl}} + {{Keypress|Delete}}.<br />
<br />
* Open Nautilus, select any file, and click '''Edit''' on the menu bar.<br />
* Hover over the ''Move to Trash'' menu item.<br />
* While hovering, press {{Keypress|Delete}}. The current accelerator is now unset.<br />
* Press the key that you wish to become the new keyboard accelerator.<br />
* Press {{Keypress|Delete}} to make the new accelerator be the Delete key.<br />
<br />
Unless you select a file or folder, ''Move to Trash'' will be grayed-out. Finally, disable {{ic|can-change-accels}} to prevent accidental hotkey changes.<br />
<br />
=== Shutdown via the status menu ===<br />
<br />
Currently, the GNOME designers have hidden the ''Shutdown'' option inside the status menu. To shut down your system with the status menu, click the menu and hold down the {{Keypress|Alt}} key so that the '''''Suspend''''' item changes to '''''Power Off'''''. The subsequent dialog allows you to shut down or restart your system.<br />
<br />
If you disable the Suspend menu item system-wide as described [[#Disable_"Suspend"_in_the_status_menu|elsewhere in this document]] you do not have to go through these motions.<br />
<br />
Another option is to install the ''Alternative Status Menu'' extension. See the section on shell extensions. The alternative menu extension installs a new status menu with a non-hidden '''''Power Off''''' entry.<br />
<br />
== Integrated messaging (Empathy) ==<br />
<br />
Empathy, the engine behind integrated messaging, and all system settings based on messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed.<br />
<br />
These packages are not included in default Arch GNOME installs. You can install the Telepathy and optionally any backends with:<br />
<br />
# pacman -S telepathy<br />
<br />
Without telepathy, Empathy will not open the account management dialog and can get stuck in this state. If this happens -- even after quitting Empathy cleanly -- the /usr/bin/empathy-accounts application can remain running and will need to be killed before you can add any new accounts.<br />
<br />
View descriptions of telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Freedesktop.org Telepathy Wiki.]<br />
<br />
== Enabling fallback mode ==<br />
<br />
Your session automatically starts in fallback mode when '''gnome-shell''' is not present, or when your hardware cannot handle graphics acceleration — such as running within a virtual machine or running on old hardware.<br />
<br />
If you wish to enable fallback mode while still having '''gnome-shell''' installed, make the following system change:<br />
<br />
Open '''gnome-control-center.''' Click the ''System Info'' icon. Click Graphics. Change ''Forced Fallback Mode'' to {{ic|ON.}}<br />
<br />
You can alternatively choose the type of session from a terminal with a ''gsettings'' command:<br />
<br />
$ gsettings set org.gnome.desktop.session session-name 'gnome-fallback'<br />
<br />
You may want to log out after making the change. You will see the chosen type of session upon your next login.<br />
<br />
To disable forced-fallback mode (that is, launch the normal GNOME Shell) use a value of 'gnome' instead of 'gnome-fallback'.<br />
<br />
== Troubleshooting ==<br />
<br />
=== GNOME login takes a very long time ===<br />
<br />
See if you enabled ''PulseAudio Network'' settings in '''paprefs'''. When any network audio settings are enabled, GNOME hangs about a minute after logging in.<br />
<br />
One solution is to create a new user account and log in to that account. Another solution is to move your {{ic|~/.gconf}}, {{ic|~/.gconfd}} and {{ic|~/.conf/dconf}} folders to a holding area. Log in again to see if the delay is gone.<br />
<br />
If the excessive delay is gone, determine which setting causes the delay using trial-and-error.<br />
<br />
=== When an extension breaks GNOME ===<br />
<br />
When enabling shell extensions causes GNOME breakage, you should first remove the ''user-theme'' and ''auto-move-windows'' extensions from their installation directory.<br />
<br />
The installation directory could be one of '''{{ic|~/.local/share/gnome‑shell/extensions,}}''' '''{{ic|/usr/share/gnome‑shell/extensions,}}''' or '''{{ic|/usr/local/share/gnome‑shell/extensions}}'''. Removing these two extension-containing folders may fix the breakage. Otherwise, isolate the problem extension with trial‑and‑error.<br />
<br />
Removing or adding an extension-containing folder to the aforementioned directories removes or adds the corresponding extension to your system. Details on Gnome Shell extensions are available at the [https://live.gnome.org/GnomeShell/Extensions GNOME web site.]<br />
<br />
=== Extensions do not work after GNOME 3 update ===<br />
<br />
Locate the folder where your extensions are installed. It might be '''{{ic|~/.local/share/gnome-shell/extensions}}''' or '''{{ic|/usr/share/gnome-shell/extensions}}'''.<br />
<br />
Edit each occurrence of '''{{ic|metadata.json}}''' which appears in each extension sub-folder. <br />
<br />
{| border="0"<br />
| Insert: || '''{{ic|"shell-version": ["3.0"]}}'''<br />
|-<br />
| Instead of (for example): || '''{{ic|"shell-version": ["3.0.1"]}}'''<br />
|-<br />
| You might instead use: || '''{{ic|"shell-version": ["3.0.0", "3.0.1", "3.0.2"]}}'''<br />
|}<br />
<br />
<br />
'''"3.0"''' is the best solution. It indicates the extension works with every '''''3.0.x''''' GNOME Shell version.<br />
<br />
=== Screen is not locked after resume ===<br />
<br />
Screen lock only works when you suspend through GNOME's status menu. If you suspend or hibernate using the power button, your screen is not locked after resume. The problem is a configuration failure in dconf.<br />
<br />
Open ''dconf-editor'' and uncheck '''{{ic|lock-use-screensaver}}''' in the key named ''org.gnome.power-manager.''<br />
<br />
# gsettings set org.gnome.power-manager lock-use-screensaver 'false'<br />
<br />
Your screen should now be locked after resume whether you used the status menu, the power button, or a key combination. Bug report: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend #Comment 8]<br />
<br />
=== GTK2+ apps show segfaults and fail to launch ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. This theme appears to conflict with GNOME 3 or GTK3 settings. When '''oxygen-gtk''' has been set as a GTK2 theme, GTK2 apps segfault with errors like these:<br />
<br />
{{bc| (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
}}<br />
<br />
The current workaround is to remove '''oxygen-gtk''' from the system and use a different theme for applications.<br />
<br />
=== ATI Catalyst driver creates glitches and artifacts ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
Note: Fix is promised with Catalyst 11.9. See http://ati.cchtml.com/show_bug.cgi?id=99<br />
<br />
=== Window opens behind other windows when using multiple monitors ===<br />
<br />
This is possibly a bug in gnome shell, and causes new windows to open behind others.<br />
Unchecking "workspaces_only_on_primary" in desktop/gnome/shell/windows using gconf-editor solves this problem.<br />
<br />
=== Multiple monitors and dock extension ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== No event sounds for Empathy and other programs ===<br />
<br />
If you are using [[OSS]], you may want to install {{AUR|libcanberra-oss}} from the [[AUR]].<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{ic|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{ic|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== Panels do not respond to right-click in fallback mode ===<br />
<br />
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key ({{Keypress|Alt}}, {{Keypress|Super}}, etc) used for normal windows is also used by panels and their applets.<br />
<br />
=== "Show Desktop" keyboard shortcut does not work ===<br />
<br />
GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:<br />
<br />
System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows<br />
<br />
=== Nautilus does not start ===<br />
<br />
# Press {{keypress|ALT}}+{{keypress|F2}}<br />
# Enter {{ic|gnome-tweak-tool}}<br />
# Select the ''File Manager'' tab.<br />
# Locate option ''Have file manager handle the desktop'' and assure it is toggled '''off'''.<br />
<br />
=== Epiphany does not play Flash videos ===<br />
<br />
Adobe Flash Player is buggy and does not work directly in Epiphany. See [[Epiphany#Flash]] for a workaround involving nspluginwrapper.<br />
<br />
=== Unable to apply stored configuration for monitors ===<br />
<br />
If you encounter this message try to disable the xrandr gnome-settings-daemon plugin :<br />
<br />
$ dconf write /org/gnome/settings-daemon/plugins/xrandr/active false<br />
<br />
=== Lock button fails to re-enable touchpad ===<br />
<br />
Some laptops have a touchpad lock button that disables the touchpad so that users can type without worrying about touching the touchpad. It appears currently that although GNOME can lock the touchpad by pressing this button, it can't unlock it. If the touchpad gets locked you can do the following to unlock it.<br />
# Start a terminal. You can do this by pressing {{keypress|ALT}}+{{keypress|F2}} , then typing {{ic|gnome-terminal}} and then pressing {{keypress|ENTER}}<br />
# Type in the following command<br />
$ xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1<br />
<br />
=== Ctrl+V pastes path instead of file in Nautilus ===<br />
<br />
If you are affected by this issue, edit {{ic|~/.gnome2/accels/nautilus}} where you can find two lines for {{Keypress|Ctrl}}+{{Keypress|V}}:<br />
{{hc|~/.gnome2/accels/nautilus|<nowiki><br />
(gtk_accel_path "<Actions>/DirViewActions/Paste" "<Control>v")<br />
...<br />
(gtk_accel_path "<Actions>/ClipboardActions/Paste" "<Control>v")<br />
</nowiki>}}<br />
<br />
The issue appears to stem from the second entry. Deleting that line may fix the issue temporarily. You might have to re-apply this fix after an update.<br />
<br />
An alternative is to assign a different key combination to one of the actions.<br />
<br />
'''Edit:''' this issue seems to be fixed since Gnome 3.2.x.<br />
<br />
=== Unable to connect to secured Wi-Fi networks ===<br />
<br />
You can see the network connections listing, but choosing an encrypted network fails to show a dialog for key entry. You may need to [[pacman|install]] {{Pkg|network-manager-applet}}. See [[NetworkManager#GNOME|GNOME NetworkManager setup]].<br />
<br />
=== "Any command has been defined 33" ===<br />
<br />
When you press the {{Keypress|Print Screen}} key (sometimes labeled {{Keypress|PrntScr}} or {{Keypress|PrtSc}}) to take a screenshot, and you got "Any command has been defined 33", [[pacman|install]] {{Pkg|metacity}}.<br />
<br />
=== GDM and GNOME use X11 cursors ===<br />
<br />
To fix this issue, you will have to copy and paste these lines as root in a terminal:<br />
# mkdir /usr/share/icons/default<br />
# cd /usr/share/icons/default<br />
# echo "[Icon Theme]" >> index.theme<br />
# echo "Inherits=Adwaita" >> index.theme<br />
<br />
Alternatively, you can install {{AUR|gnome-cursors-fix}} from the [[AUR]].<br />
<br />
== External links ==<br />
* [http://www.gnome.org/ The Official Website of GNOME]<br />
* Themes, icons, and backgrounds:<br />
** [http://art.gnome.org/ GNOME Art]<br />
** [http://www.gnome-look.org/ GNOME Look]<br />
* GTK/GNOME programs:<br />
** [http://www.gnomefiles.org/ GNOME Files]<br />
** [http://www.gnome.org/projects/ GNOME Project Listing]</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=170401GNOME2011-11-17T15:59:57Z<p>Wonder: deprecated</p>
<hr />
<div>[[Category:Desktop environments (English)]]<br />
{{i18n|GNOME 3|GNOME}}<br />
[[de:GNOME]]<br />
[[fr:GNOME]]<br />
[[pl:GNOME]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|GTK+}}<br />
{{Article summary end}}<br />
<br />
The GNOME Project started from scratch and created a completely new desktop called GNOME 3. It has:<br />
<br />
* A modern visual theme and font<br />
* An activities view providing access to all windows and applications<br />
* A subtle notifications system and a discreet top panel<br />
* Integration with an improved Nautilus file manager<br />
* Integrated desktop services for messaging<br />
* A new system settings application <br />
* An activities search feature<br />
* Features such as snap-like window tiling<br />
<br />
Additional explanations are found on the [http://www.gnome3.org/ official GNOME3 website.]<br />
<br />
== Introduction ==<br />
<br />
GNOME 3 has ''two'' interfaces: '''GNOME Shell,''' the new standard layout; and '''fallback mode.''' Gnome-session automatically detects when your computer is incapable of running Gnome Shell and starts fallback mode when appropriate. <br />
<br />
'''Fallback mode''' is similar to GNOME 2. (Fallback mode uses gnome-panel/Metacity instead of gnome-shell/Mutter.)<br />
<br />
When you are on fallback mode you can still replace GNOME's default window manager with your preferred one.<br />
<br />
==Installation==<br />
<br />
GNOME 3 is in the [extra] repository. The '''gnome''' group contains the core desktop environment and applications, and gnome-extra contains the rest. You likely do not want all of the packages installed, so consider reading the package descriptions before installing them (or just remove them later).<br />
<br />
Example:<br />
<br />
# pacman -Syu gnome<br />
# pacman -S gnome-extra<br />
<br />
===D-Bus daemon===<br />
The GNOME desktop requires the [[D-Bus]] daemon. Refer to the [[dbus]] article for setup instructions.<br />
<br />
=== Running GNOME ===<br />
<br />
For the best desktop integration, login manager '''GDM''' is recommended. Other login managers (a.k.a. display managers) such as SLiM can be used in place of GDM. Check out the [[Display_Manager|wiki article on display managers]] to learn how desktop environments are started.<br />
<br />
The login manager is a limited process entrusted with duties that impact the system. The [[PolicyKit|PolicyKit wiki article]] addresses the topic of system‑wide access control.<br />
<br />
# pacman -S gdm<br />
<br />
If you prefer to start GNOME manually from the console, add the following line to your {{ic|~/.xinitrc}} file. Make sure it is the only line (remove the {{ic|for}} block from the standard {{ic|~/.xinitrc}} since the {{ic|for}} block can cause problems) and the only command starting with {{ic|exec}}. See the [[xinitrc| xinitrc wiki article]].<br />
{{hc|~/.xinitrc|<nowiki><br />
#ONLY THIS LINE<br />
exec ck-launch-session gnome-session<br />
</nowiki>}}<br />
<br />
After the {{ic|exec}} command is placed, GNOME can be launched by typing {{ic|startx}}.<br />
<br />
== Using the shell ==<br />
<br />
=== GNOME cheat sheet ===<br />
<br />
The GNOME web site has a helpful [https://live.gnome.org/GnomeShell/CheatSheet GNOME Shell cheat sheet] explaining task switching, keyboard use, window control, the panel, overview mode, and more.<br />
<br />
=== Restarting the shell ===<br />
<br />
After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing {{Keypress|Alt}} + {{Keypress|F2}} then {{Keypress|r}} then {{Keypress|Enter}}<br />
<br />
=== Shell crashes ===<br />
<br />
Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes, such as switching between '''''GNOME Shell''''' and '''''fallback mode,''''' cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.<br />
<br />
It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.<br />
<br />
== Customizing GNOME appearance ==<br />
<br />
=== Overall appearance ===<br />
<br />
GNOME 3 may have "started from scratch", but like most large software projects it is assembled from parts dating to different eras. There is not '''one''' all-encompassing configuration tool. The new ''Systems Settings'' tool is a big improvement over previous control panels. ''System Settings'' is well-organized, but you may find yourself wishing for more control over system appearance.<br />
<br />
You may be familiar with existing configuration tools: some of these still work; many will not. Some settings are not readily exposed for you to change. Indubitably, many settings will migrate to newer tools and/or become exposed as time progresses and the wider community embraces and extends the latest GNOME desktop.<br />
<br />
==== Gsettings ====<br />
<br />
A new command-line tool '''gsettings''' stores data in a binary format, unlike previous tools using XML text. A tutorial [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell] explores the power of gsettings.<br />
<br />
==== GNOME tweak tool ====<br />
<br />
This graphical tool customizes fonts, themes, titlebar buttons and other settings. <br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
Version 3.0.3 only works when gnome-shell is installed (OK if forced to fallback mode). [https://bugzilla.gnome.org/show_bug.cgi?id=647132 Bugzilla bug report here.]<br />
<br />
==== GTK3 theme via settings.ini ====<br />
<br />
Like '''{{ic|~/.gtkrc-2.0}}''' with GTK2+, it is possible to set a GTK3 theme via '''{{ic|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
Variable {{ic|$XDG_CONFIG_HOME}} is usually set to '''~/.config'''<br />
<br />
''Adwaita,'' the default GNOME 3 theme, is a part of '''gnome-themes-standard.''' Additional GTK3 themes are found at [http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/ Deviantart web site.] For example:<br />
{{hc|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|<nowiki><br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
</nowiki>}}<br />
<br />
It is necessary to [[#Restarting_the_shell|restart GNOME shell]] for settings to be applied. More GTK options are found at [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GNOME developer documentation.]<br />
<br />
==== Icon theme ====<br />
<br />
Using gnome-tweak-tool v. 3.0.3 and later, you can place any icon theme you wish to use inside '''{{ic|~/.icons}}'''.<br />
<br />
Usefully, GNOME 3 is compatible with GNOME 2 icon themes, which means you're not stuck with the default icons. To install a new set of icons, copy your desired icon theme's directory to '''{{ic|~/.icons}}'''. As an example:<br />
<br />
$ cp -R /home/user/Desktop/my_icon_theme ~/.icons<br />
<br />
The new theme ''my_icon_theme'' is now selectable using '''gnome-tweak-tool''' under '''''interface.'''''<br />
<br />
Alternatively, you may textually select your icon theme with no need for gnome-tweak-tool. Add the GTK icon theme name to '''{{ic|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''. Please note, not to use "" as your settings would not be recognised then.<br />
<br />
{{hc|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|<nowiki>... previous lines ...<br />
<br />
gtk-icon-theme-name = my_new_icon_theme</nowiki>}}<br />
<br />
=== Nautilus ===<br />
<br />
==== Remove folders from the places sidebar ====<br />
<br />
The displayed folders are specified in {{ic|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{ic|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
==== Always show text-entry location ====<br />
<br />
The standard Nautilus toolbar shows a button bar interface for path navigation. To enter path locations using the ''keyboard'' you must expose the location text-entry field. This is done by pressing {{Keypress|Ctrl}} + {{Keypress|L}}<br />
<br />
To make the location text-entry field always present, use gsettings as shown. <br />
<br />
$ gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
{{Note| after changing this setting you will not be able to expose the button bar. Only when the setting is '''false''' can both forms of location navigation be employed.}}<br />
<br />
=== GNOME panel ===<br />
<br />
==== Show date in top bar ====<br />
<br />
By default GNOME displays only the weekday and time in the top bar. This can be changed with the following command. Changes take effect immediately. <br />
<br />
# gsettings set org.gnome.shell.clock show-date true<br />
<br />
==== Hide accessibility icon ====<br />
<br />
Install {{AUR|gnome-shell-extension-noa11y-git}} from [[AUR]].<br />
<br />
==== Hide Bluetooth icon ====<br />
<br />
''This extension is based on {{AUR|gnome-shell-extension-noa11y-git}} from [[AUR]] and works for GNOME 3.2''<br />
<br />
Create a folder named {{ic|nobluetooth.icon@panel.ui}} in {{ic|~/.local/share/gnome-shell/extensions}}. <br />
<br />
# mkdir ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui<br />
<br />
Create two new files:<br />
<br />
# gedit ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js<br />
<br />
{{hc|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js|<nowiki>const Panel = imports.ui.panel;<br />
const Main = imports.ui.main;<br />
<br />
function enable() {<br />
for (let i = 0; i < Main.panel._rightBox.get_children().length; i++) {<br />
if (Main.panel._statusArea['bluetooth'] == Main.panel._rightBox.get_children()[i]._delegate) {<br />
Main.panel._rightBox.get_children()[i].destroy();<br />
break;<br />
} <br />
}<br />
// addToStatusArea would throw an error on disable if we do not set this to null <br />
Main.panel._statusArea['bluetooth'] = null;<br />
}<br />
<br />
function disable() {<br />
let indicator = new Panel.STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION["bluetooth"];<br />
Main.panel.addToStatusArea("bluetooth", indicator, Panel.STANDARD_STATUS_AREA_ORDER.indexOf('bluetooth'));<br />
}<br />
<br />
function init() {<br />
}</nowiki>}}<br />
<br />
# gedit ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json<br />
<br />
{{hc|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json|<nowiki>{<br />
"shell-version": ["3.2"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nobluetooth",<br />
"description": "Turn off the Bluetooth icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell]]. Activate this extension with the [[#GNOME_tweak_tool|GNOME Tweak Tool]]. If this extension ceases to work in the future, adjust the shell version number in {{ic|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json}}.<br />
<br />
==== Show battery icon ====<br />
<br />
To show the battery tray icon, [[pacman|install]] {{Pkg|gnome-power-manager}} from the [[Official Repositories|official repositories]].<br />
<br />
==== Disable "Suspend" in the status menu ====<br />
<br />
A quick way to do it system-wide is to change line 153 of {{ic|/usr/share/gnome-shell/js/ui/statusMenu.js}}.<br />
In GNOME 3.2, the file has changed to {{ic|/usr/share/gnome-shell/js/ui/userMenu.js}}. This change takes effect the next time GNOME Shell is started.<br />
{{hc|/usr/share/gnome-shell/js/ui/userMenu.js|<nowiki><br />
// this._haveSuspend = this._upClient.get_can_suspend(); // Comment this line out.<br />
this._haveSuspend = false; // Use this line instead.<br />
</nowiki>}}<br />
<br />
However, the effect will not last after a GNOME update. A more perennial solution is to [[pacman|install]] the [[#GNOME shell extensions|shell extension]] provided by the package {{Pkg|gnome-shell-extension-alternative-status-menu}}, which is in the [[Official Repositories|official repositories]].<br />
<br />
==== Eliminate delay when logging out ====<br />
<br />
The following tweak removes the confirmation dialog and sixty second delay for logging out.<br />
<br />
This dialog normally appears when you log out with the status menu. This tweak affects the '''''Power Off''''' dialog as well. This is not a system-wide change; it affects only the user who enters this command. The change takes effect immediately after entering the command.<br />
<br />
$ gsettings set org.gnome.SessionManager logout-prompt 'false'<br />
<br />
==== Show system monitor ====<br />
<br />
Install the {{AUR|gnome-shell-system-monitor-applet-git}} extension available in the [[AUR]].<br />
<br />
==== Show weather information ====<br />
<br />
Install {{AUR|gnome-shell-extension-weather-git}} from [[AUR]].<br />
<br />
=== Activity view ===<br />
<br />
==== Remove entries from Applications view ====<br />
<br />
Like other desktop environments, GNOME uses .desktop files to populate its Applications view. These text files are in '''{{ic|/usr/share/applications}}'''. It is not possible to edit these files from a folder view ‒ Nautilus does not treat their icons as text files. Use a terminal to display or edit .desktop file entries.<br />
<br />
# ls /usr/share/applications<br />
# nano /usr/share/applications/foo.desktop<br />
<br />
For system wide changes, edit files in '''{{ic|/usr/share/applications}}'''. For local changes, make a copy of ''foo.desktop'' in your home folder.<br />
<br />
$ cp /usr/share/applications/foo.desktop ~/.local/share/applications/<br />
<br />
Edit .desktop files to fit your wishes. '''Note:''' removing a .desktop file does not uninstall an application, but instead removes its desktop integration: MIME types, shortcuts, and so forth.<br />
<br />
The following command appends one line to a .desktop file and hides its associated icon from Applications view:<br />
<br />
$ echo "NoDisplay=true" >> foo.desktop<br />
<br />
==== Reduce application icon size ====<br />
<br />
One awkward selection of the GNOME designers is their choice of large icons for Applications view. This view is painful when working with a small screen containing many large application icons. There is a way to reduce the icon size. It is done by editing the Gnome-Shell theme.<br />
<br />
Edit system files directly (make a backup first) or copy theme files to your local folder and edit these files. For the default theme, edit '''{{ic|/usr/share/gnome-shell/theme/gnome-shell.css}}'''<br />
<br />
For user themes, edit '''{{ic|/usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css}}'''<br />
<br />
Edit ''gnome-shell.css'' and replace the following values. Afterward, [[#Restarting_the_shell|restart the GNOME shell.]]<br />
{{hc|gnome-shell.css|<nowiki><br />
.icon-grid {<br />
spacing: 18px;<br />
-shell-grid-item-size: 82px;<br />
}<br />
<br />
.icon-grid .overview-icon {<br />
icon-size: 48px;<br />
}<br />
</nowiki>}}<br />
<br />
A cloned GNOME Shell theme with smaller icons is available [http://aur.archlinux.org/packages.php?ID=51586 on the AUR].<br />
<br />
==== Disable Activity hot corner hovering ====<br />
<br />
To disable automatic activity view when the hot corner is hovered, edit '''{{ic|/usr/share/gnome-shell/js/ui/layout.js}}''' (that was ''panel.js'' in Gnome 3.0.x) :<br />
{{hc|layout.js|<nowiki><br />
this._corner = new Clutter.Rectangle({ name: 'hot-corner',<br />
width: 1,<br />
height: 1,<br />
opacity: 0,<br />
reactive: true });icon-size: 48px;<br />
}<br />
</nowiki>}}<br />
and set ''reactive'' to ''false''. Gnome Shell needs to be restarted.<br />
<br />
=== Titlebar ===<br />
<br />
==== Reduce title bar height ====<br />
<br />
# sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] This changes vertical padding from 14 to 0, which gives windows a sleeker look.<br />
<br />
To restore the original values, [[pacman|install]] the package {{Pkg|gnome-themes-standard}} from the [[Official Repositories|official repositories]].<br />
<br />
==== Reorder titlebar buttons ====<br />
<br />
At present this setting is changeable only through '''gconf-editor.'''<br />
<br />
For example, we move the close and minimize buttons to the left side of the titlebar. Open '''gconf-editor''' and locate the '''''desktop.gnome.shell.windows.button_layout''''' key. Change its value to '''{{ic|close,minimize:}}''' (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. [[#Restarting_the_shell|Restart the shell]] to see your new button arrangement.<br />
<br />
==== Hide titlebar when maximized ====<br />
<br />
# sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.<br />
<br />
With suitable keybindings, you should be able to use {{Keypress|Alt}} + {{Keypress|F5}}, {{Keypress|Alt}} + {{Keypress|F10}} or {{Keypress|Alt}} + {{Keypress|Space}} to remedy the situation.<br />
<br />
To prevent '''{{ic|metacity-theme-3.xml}}''' from being overwritten each time package "gnome-themes-standard" is upgraded, add its name to '''{{ic|/etc/pacman.conf}}''' with {{ic|NoUpgrade}}.<br />
<br />
{{hc|/etc/pacman.conf|<nowiki>... previous lines ...<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
# IgnorePkg =<br />
# IgnoreGroup =<br />
<br />
NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml # Do not add a leading slash to the path<br />
<br />
... more lines ...</nowiki>}}<br />
<br />
To restore original Adwaita theme values:<br />
<br />
# pacman -S gnome-themes-standard<br />
<br />
=== Login screen ===<br />
<br />
To modify characteristics of the login screen (GDM, the GNOME display manager) the following lines can be executed. The first command allows all users, including "gdm", to access X settings (albeit temporarily). This command creates a temporary vulnerability, so be advised. The second command opens a bash session with the credentials of user "gdm". '''Note:''' for exposition, user gdm's terminal prompt is shown as '''$'''. In actuality, it shows something like -bash-4.2$.<br />
<br />
# xhost +<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
The third command prints DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We must export these variables. Either manually export the below two variables shown in the output of dbus-launch like this:<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Or use the follow command:<br />
<br />
$ `dbus-launch | sed "s/^/export /"`<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
==== Login background image ====<br />
<br />
Once session variables have been exported as explained above, you may issue commands to retrieve or set items used by GDM. <br />
<br />
The easiest way to changes all the settings is by launching the Configuration Editor gui with the command<br />
<br />
$ dconf-editor<br />
<br />
The location of each setting is the same as in the command line style of configuration shown below:<br />
<br />
The following is the command-line approach to retrieve or set the file name used for GDM's wallpaper.<br />
{{bc|<nowiki><br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg'<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom'<br />
## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom</nowiki>}}<br />
Note: You must specify a file which user "gdm" has permission to read. GDM cannot read files in your home directory.<br />
<br />
An alternative graphical interface to changing themes (gtk3, icons and cursor), the wallpaper and minor other settings of the GDM login screen, you can install [https://aur.archlinux.org/packages.php?ID=50232 gdm3setup] from AUR.<br />
<br />
==== Larger font for login ====<br />
<br />
This tweak enlarges the login font with a scaling factor. It is the same method employed by ''Accessibility Manager'' on the desktop.<br />
<br />
You must [[#Login_screen|export the GDM session variables]] before performing this tweak.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'<br />
<br />
==== Turning off the sound ====<br />
<br />
This tweak disables the audible feedback heard when the system volume is adjusted (via keyboard) on the login screen. You must first export the GDM session variables.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds 'false'<br />
<br />
If the above tweak does not work for you or you are unable to export the GDM session variables, there is always the easiest solution to the "ready sound" problem: mute or lower the sound while in GDM login screen using the media keys (if available) of your keyboard.<br />
<br />
==== Make the power button interactive ====<br />
<br />
The default installation sets the power button to suspend the system. '''''Power off''''' or '''''Show dialog''''' is a better choice. You must first export the GDM session variables as [[#Login_screen|outlined previously.]]<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive'<br />
$ gsettings list-recursively org.gnome.settings-daemon.plugins.power<br />
<br />
==== GDM keyboard layout ====<br />
<br />
GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the [[Beginners'_Guide#Non-US_keyboard|Beginner's Guide.]]<br />
<br />
=== Other tips ===<br />
See [[GNOME Tips]].<br />
<br />
== Miscellaneous settings ==<br />
<br />
==== Automatic program launch upon logging in ====<br />
<br />
Specify which programs start automatically after logging in using {{ic|gnome-session-properties}}. This tool is part of the {{Pkg|gnome-session}} package.<br />
<br />
$ gnome-session-properties<br />
<br />
==== Activate NumLock upon logging in ====<br />
<br />
[[pacman|Install]] {{Pkg|numlockx}} from the [[Official Repositories|official repositories]]. Then, add a start-up command to launch {{ic|numlockx}}.<br />
$ gnome-session-properties<br />
<br />
The above command opens the '''Startup Applications Preferences''' applet. Click '''''Add''''' and enter the following:<br />
<br />
{| border="0"<br />
| Name: || ''Numlockx''<br />
|-<br />
| Command: || ''/usr/bin/numlockx on''<br />
|-<br />
| Comment: || ''Turns on numlock.''<br />
|}<br />
<br />
This is not a system-wide appearance tweak. Repeat these steps for each user wishing to activate NumLock after logging in.<br />
<br />
==== Move dialog windows ====<br />
The default configuration for dialogs will not allow you to move them which causes problems in some cases. To change this you will need to use gconf-editor and change this setting:<br />
<br />
/desktop/gnome/shell/windows/attach_modal_dialogs<br />
<br />
After the change you will need to restart the shell for it to take affect.<br />
<br />
=== GNOME shell extensions ===<br />
<br />
GNOME Shell can be customized with extensions written by others. These provide features such as a dock or a widget for changing the theme. Details on available extensions are found at the [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html WEBUPD8] site. The most recent articles can be found using this [http://www.webupd8.org/search/label/gnome%20shell%20extensions?max-results=20 WEBUPD8 search link.]<br />
<br />
The [[Official Repositories|official repositories]] have a dozen extensions which can be installed individually. (The latest version of a given extension may be installed using its code snapshot, if preferred.) [http://www.archlinux.org/packages/?sort=&q=gnome-shell-extension&maintainer=&last_update=&flagged=&limit=50 List here.]<br />
<br />
$ pacman -Ss gnome-shell-extension<br />
<br />
Other useful extensions provided in the [[AUR]]:<br />
<br />
{| border="1"<br />
| {{AUR|gnome-shell-extension-presentation-mode-git}} || Adds option to inhibit screensaver in the power menu (battery icon).<br />
|-<br />
| {{AUR|gnome-shell-extension-weather-git}} || Displays weather notifications.<br />
|-<br />
| {{AUR|gnome-shell-extension-alternative-status-menu-git}} || Adds "Hibernate" and "Power Off" to the status menu.<br />
|-<br />
| {{AUR|gnome-shell-extension-theme-selector}} || Select a theme in the Activities overview.<br />
To install a custom theme with GNOME Tweak Tool, you need to install the {{Pkg|gnome-shell-extension-user-theme}} package from the [[Official Repositories|official repositories]].<br />
|-<br />
|{{AUR|gnome-shell-frippery}} || An unofficial extension pack providing GNOME2 like features for GNOME3.<br />
|}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME Shell]] after installing an extension. See [[#When_an_extension_breaks_GNOME|when an extension breaks GNOME]] for troubleshooting information.<br />
<br />
=== Default terminal ===<br />
<br />
{{ic|gsettings}}, which replaces {{ic|gconftool-2}} in GNOME 3, is used to set e.g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
{{Note|For ''nautilus-open-terminal'', you may need a flag (e.g. {{ic|-e}}) to indicate that a command will follow: ''nautilus-open-terminal'' passes a {{ic|cd}} command in order to change directories to the appropriate location.}}<br />
<br />
=== Middle mouse button ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of [[Xorg]] settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
$ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
=== xmonad ===<br />
<br />
[[xmonad]] is a tiling window manager.<br />
<br />
Upgrading to GNOME 3 will likely break your xmonad setup. You can use xmonad again by [[#Enabling_fallback_mode|forcing fallback mode]] and creating two files:<br />
<br />
{{hc|/usr/share/gnome-session/sessions/xmonad.session|<nowiki>[GNOME Session]<br />
Name=Xmonad session<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-notifications=notification-daemon</nowiki>}}<br />
<br />
{{hc|/usr/share/xsessions/xmonad-gnome-session.desktop|<nowiki>[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession</nowiki>}}<br />
<br />
The next time you log in, you should have the ability to choose ''Xmonad GNOME'' as your session.<br />
<br />
=== wmii ===<br />
<br />
[[wmii]] is a tiling window manager.<br />
<br />
You can use wmii with gnome by [[#Enabling_fallback_mode|forcing fallback mode]] and creating three files:<br />
<br />
{{hc|/usr/share/applications/wmii.desktop|<nowiki><br />
[Desktop Entry]<br />
Version=1.0<br />
Type=Application<br />
Name=wmii<br />
TryExec=wmii<br />
Exec=wmii</nowiki>}}<br />
<br />
{{hc|/usr/share/xsessions/gnome-wmii.desktop|<nowiki><br />
[Desktop Entry]<br />
Name=GNOME-wmii<br />
Comment=GNOME with wmii as window manager<br />
TryExec=gnome-session<br />
Exec=gnome-session --session=wmii<br />
Type=Application</nowiki>}}<br />
<br />
{{hc|/usr/share/gnome-session/sessions/wmii.session|<nowiki><br />
[GNOME Session]<br />
Name=wmii<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=wmii<br />
DefaultProvider-notifications=notification-daemon</nowiki>}}<br />
<br />
The next time you log in, you should have the ability to choose ''GNOME-wmii'' as your session.<br />
<br />
The original info was taken from [http://makandra.com/notes/1367-running-the-awesome-window-manager-within-gnome running-the-awesome-window-manager-within-gnome], go there for info on awesome-gnome.<br />
<br />
Also it has info on how to:<br />
<br />
- create a per session (wmii, GNOME, GNOME-wmii, etc.) dconf database (useful if you ever plan on using regular GNOME)<br />
<br />
- Remove the bottom GNOME panel (with the task list)<br />
<br />
- Move the top panel (with the menus) to the bottom<br />
<br />
- Untick the expand option<br />
<br />
- Set it to autohide<br />
<br />
== Hidden features ==<br />
<br />
GNOME 3 hides many useful options which you can customize with '''dconf-editor.''' GNOME 3 also supports '''gconf-editor''' for settings that have not yet migrated to dconf.<br />
<br />
=== Changing hotkeys ===<br />
<br />
Firstly, use '''dconf-editor''' to place a checkmark next to {{ic|can-change-accels}} in the key named ''org.gnome.desktop.interface.''<br />
<br />
We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder.<br />
<br />
The default assignment is a somewhat-awkward {{Keypress|Ctrl}} + {{Keypress|Delete}}.<br />
<br />
* Open Nautilus, select any file, and click '''Edit''' on the menu bar.<br />
* Hover over the ''Move to Trash'' menu item.<br />
* While hovering, press {{Keypress|Delete}}. The current accelerator is now unset.<br />
* Press the key that you wish to become the new keyboard accelerator.<br />
* Press {{Keypress|Delete}} to make the new accelerator be the Delete key.<br />
<br />
Unless you select a file or folder, ''Move to Trash'' will be grayed-out. Finally, disable {{ic|can-change-accels}} to prevent accidental hotkey changes.<br />
<br />
=== Shutdown via the status menu ===<br />
<br />
Currently, the GNOME designers have hidden the ''Shutdown'' option inside the status menu. To shut down your system with the status menu, click the menu and hold down the {{Keypress|Alt}} key so that the '''''Suspend''''' item changes to '''''Power Off'''''. The subsequent dialog allows you to shut down or restart your system.<br />
<br />
If you disable the Suspend menu item system-wide as described [[#Disable_"Suspend"_in_the_status_menu|elsewhere in this document]] you do not have to go through these motions.<br />
<br />
Another option is to install the ''Alternative Status Menu'' extension. See the section on shell extensions. The alternative menu extension installs a new status menu with a non-hidden '''''Power Off''''' entry.<br />
<br />
== Integrated messaging (Empathy) ==<br />
<br />
Empathy, the engine behind integrated messaging, and all system settings based on messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed.<br />
<br />
These packages are not included in default Arch GNOME installs. You can install the Telepathy and optionally any backends with:<br />
<br />
# pacman -S telepathy<br />
<br />
Without telepathy, Empathy will not open the account management dialog and can get stuck in this state. If this happens -- even after quitting Empathy cleanly -- the /usr/bin/empathy-accounts application can remain running and will need to be killed before you can add any new accounts.<br />
<br />
View descriptions of telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Freedesktop.org Telepathy Wiki.]<br />
<br />
== Enabling fallback mode ==<br />
<br />
Your session automatically starts in fallback mode when '''gnome-shell''' is not present, or when your hardware cannot handle graphics acceleration — such as running within a virtual machine or running on old hardware.<br />
<br />
If you wish to enable fallback mode while still having '''gnome-shell''' installed, make the following system change:<br />
<br />
Open '''gnome-control-center.''' Click the ''System Info'' icon. Click Graphics. Change ''Forced Fallback Mode'' to {{ic|ON.}}<br />
<br />
You can alternatively choose the type of session from a terminal with a ''gsettings'' command:<br />
<br />
$ gsettings set org.gnome.desktop.session session-name 'gnome-fallback'<br />
<br />
You may want to log out after making the change. You will see the chosen type of session upon your next login.<br />
<br />
To disable forced-fallback mode (that is, launch the normal GNOME Shell) use a value of 'gnome' instead of 'gnome-fallback'.<br />
<br />
== Troubleshooting ==<br />
<br />
=== GNOME login takes a very long time ===<br />
<br />
See if you enabled ''PulseAudio Network'' settings in '''paprefs'''. When any network audio settings are enabled, GNOME hangs about a minute after logging in.<br />
<br />
One solution is to create a new user account and log in to that account. Another solution is to move your {{ic|~/.gconf}}, {{ic|~/.gconfd}} and {{ic|~/.conf/dconf}} folders to a holding area. Log in again to see if the delay is gone.<br />
<br />
If the excessive delay is gone, determine which setting causes the delay using trial-and-error.<br />
<br />
=== When an extension breaks GNOME ===<br />
<br />
When enabling shell extensions causes GNOME breakage, you should first remove the ''user-theme'' and ''auto-move-windows'' extensions from their installation directory.<br />
<br />
The installation directory could be one of '''{{ic|~/.local/share/gnome‑shell/extensions,}}''' '''{{ic|/usr/share/gnome‑shell/extensions,}}''' or '''{{ic|/usr/local/share/gnome‑shell/extensions}}'''. Removing these two extension-containing folders may fix the breakage. Otherwise, isolate the problem extension with trial‑and‑error.<br />
<br />
Removing or adding an extension-containing folder to the aforementioned directories removes or adds the corresponding extension to your system. Details on Gnome Shell extensions are available at the [https://live.gnome.org/GnomeShell/Extensions GNOME web site.]<br />
<br />
=== Extensions do not work after GNOME 3 update ===<br />
<br />
Locate the folder where your extensions are installed. It might be '''{{ic|~/.local/share/gnome-shell/extensions}}''' or '''{{ic|/usr/share/gnome-shell/extensions}}'''.<br />
<br />
Edit each occurrence of '''{{ic|metadata.json}}''' which appears in each extension sub-folder. <br />
<br />
{| border="0"<br />
| Insert: || '''{{ic|"shell-version": ["3.0"]}}'''<br />
|-<br />
| Instead of (for example): || '''{{ic|"shell-version": ["3.0.1"]}}'''<br />
|-<br />
| You might instead use: || '''{{ic|"shell-version": ["3.0.0", "3.0.1", "3.0.2"]}}'''<br />
|}<br />
<br />
<br />
'''"3.0"''' is the best solution. It indicates the extension works with every '''''3.0.x''''' GNOME Shell version.<br />
<br />
=== Screen is not locked after resume ===<br />
<br />
Screen lock only works when you suspend through GNOME's status menu. If you suspend or hibernate using the power button, your screen is not locked after resume. The problem is a configuration failure in dconf.<br />
<br />
Open ''dconf-editor'' and uncheck '''{{ic|lock-use-screensaver}}''' in the key named ''org.gnome.power-manager.''<br />
<br />
# gsettings set org.gnome.power-manager lock-use-screensaver 'false'<br />
<br />
Your screen should now be locked after resume whether you used the status menu, the power button, or a key combination. Bug report: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend #Comment 8]<br />
<br />
=== GTK2+ apps show segfaults and fail to launch ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. This theme appears to conflict with GNOME 3 or GTK3 settings. When '''oxygen-gtk''' has been set as a GTK2 theme, GTK2 apps segfault with errors like these:<br />
<br />
{{bc| (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
}}<br />
<br />
The current workaround is to remove '''oxygen-gtk''' from the system and use a different theme for applications.<br />
<br />
=== ATI Catalyst driver creates glitches and artifacts ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
Note: Fix is promised with Catalyst 11.9. See http://ati.cchtml.com/show_bug.cgi?id=99<br />
<br />
=== Window opens behind other windows when using multiple monitors ===<br />
<br />
This is possibly a bug in gnome shell, and causes new windows to open behind others.<br />
Unchecking "workspaces_only_on_primary" in desktop/gnome/shell/windows using gconf-editor solves this problem.<br />
<br />
=== Multiple monitors and dock extension ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== No event sounds for Empathy and other programs ===<br />
<br />
If you are using [[OSS]], you may want to install {{AUR|libcanberra-oss}} from the [[AUR]].<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{ic|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{ic|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== Panels do not respond to right-click in fallback mode ===<br />
<br />
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key ({{Keypress|Alt}}, {{Keypress|Super}}, etc) used for normal windows is also used by panels and their applets.<br />
<br />
=== "Show Desktop" keyboard shortcut does not work ===<br />
<br />
GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:<br />
<br />
System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows<br />
<br />
=== Nautilus does not start ===<br />
<br />
# Press {{keypress|ALT}}+{{keypress|F2}}<br />
# Enter {{ic|gnome-tweak-tool}}<br />
# Select the ''File Manager'' tab.<br />
# Locate option ''Have file manager handle the desktop'' and assure it is toggled '''off'''.<br />
<br />
=== Epiphany does not play Flash videos ===<br />
<br />
Adobe Flash Player is buggy and does not work directly in Epiphany. See [[Epiphany#Flash]] for a workaround involving nspluginwrapper.<br />
<br />
=== Unable to apply stored configuration for monitors ===<br />
<br />
If you encounter this message try to disable the xrandr gnome-settings-daemon plugin :<br />
<br />
$ dconf write /org/gnome/settings-daemon/plugins/xrandr/active false<br />
<br />
=== Lock button fails to re-enable touchpad ===<br />
<br />
Some laptops have a touchpad lock button that disables the touchpad so that users can type without worrying about touching the touchpad. It appears currently that although GNOME can lock the touchpad by pressing this button, it can't unlock it. If the touchpad gets locked you can do the following to unlock it.<br />
# Start a terminal. You can do this by pressing {{keypress|ALT}}+{{keypress|F2}} , then typing {{ic|gnome-terminal}} and then pressing {{keypress|ENTER}}<br />
# Type in the following command<br />
$ xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1<br />
<br />
=== Ctrl+V pastes path instead of file in Nautilus ===<br />
<br />
If you are affected by this issue, edit {{ic|~/.gnome2/accels/nautilus}} where you can find two lines for {{Keypress|Ctrl}}+{{Keypress|V}}:<br />
{{hc|~/.gnome2/accels/nautilus|<nowiki><br />
(gtk_accel_path "<Actions>/DirViewActions/Paste" "<Control>v")<br />
...<br />
(gtk_accel_path "<Actions>/ClipboardActions/Paste" "<Control>v")<br />
</nowiki>}}<br />
<br />
The issue appears to stem from the second entry. Deleting that line may fix the issue temporarily. You might have to re-apply this fix after an update.<br />
<br />
An alternative is to assign a different key combination to one of the actions.<br />
<br />
'''Edit:''' this issue seems to be fixed since Gnome 3.2.x.<br />
<br />
=== Unable to connect to secured Wi-Fi networks ===<br />
<br />
You can see the network connections listing, but choosing an encrypted network fails to show a dialog for key entry. You may need to [[pacman|install]] {{Pkg|network-manager-applet}}. See [[NetworkManager#GNOME|GNOME NetworkManager setup]].<br />
<br />
=== "Any command has been defined 33" ===<br />
<br />
When you press the {{Keypress|Print Screen}} key (sometimes labeled {{Keypress|PrntScr}} or {{Keypress|PrtSc}}) to take a screenshot, and you got "Any command has been defined 33", [[pacman|install]] {{Pkg|metacity}}.<br />
<br />
=== GDM and GNOME use X11 cursors ===<br />
<br />
To fix this issue, you will have to copy and paste these lines as root in a terminal:<br />
# mkdir /usr/share/icons/default<br />
# cd /usr/share/icons/default<br />
# echo "[Icon Theme]" >> index.theme<br />
# echo "Inherits=Adwaita" >> index.theme<br />
<br />
Alternatively, you can install {{AUR|gnome-cursors-fix}} from the [[AUR]].<br />
<br />
== External links ==<br />
* [http://www.gnome.org/ The Official Website of GNOME]<br />
* Themes, icons, and backgrounds:<br />
** [http://art.gnome.org/ GNOME Art]<br />
** [http://www.gnome-look.org/ GNOME Look]<br />
* GTK/GNOME programs:<br />
** [http://www.gnomefiles.org/ GNOME Files]<br />
** [http://www.gnome.org/projects/ GNOME Project Listing]</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:UID_/_GID_Database&diff=168805DeveloperWiki:UID / GID Database2011-11-05T17:32:40Z<p>Wonder: add vlock to groups</p>
<hr />
<div>[[Category:DeveloperWiki]]<br />
=UID / GID Database=<br />
This is intended to be a starting point for creating standard uid and gid numbers.<br />
<br />
I really think this should be moved directly into arch at some point and just have a a keyword in PKGBUILD like<br />
<br />
require_user('user1' 'user2')<br />
require_group('group1')<br />
<br />
and if they didn't exist they would be created according to this database by makepkg when building or by pacman when installing.<br />
<br />
Actually, for this to work, we will need to add the primary and secondary groups to the database as well.<br />
<br />
==Users==<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
! User Name !! UID<br />
|-<br />
| root || 0 <br />
|- <br />
| bin || 1<br />
|- <br />
| daemon || 2 <br />
|- <br />
| mail || 8 <br />
|- <br />
| news || 9 <br />
|- <br />
| uucp || 10 <br />
|- <br />
| ftp || 14 <br />
|- <br />
| proxy || 15 <br />
|- <br />
| stunnel || 16 <br />
|- <br />
| jabber || 17 <br />
|- <br />
| osiris || 18 <br />
|- <br />
| slocate || 21 <br />
|- <br />
| cron || 22 <br />
|- <br />
| ivman || 23 <br />
|- <br />
| snort || 29<br />
|-<br />
| nagios (coming soon) || 30 <br />
|- <br />
| nrpe || 31 <br />
|- <br />
| http || 33 <br />
|- <br />
| named || 40 <br />
|- <br />
| privoxy || 42 <br />
|- <br />
| tor || 43 <br />
|- <br />
| mpd || 45 <br />
|- <br />
| nut || 55 <br />
|- <br />
| rbldns || 58 <br />
|- <br />
| rbldnszones || 59 <br />
|- <br />
| dnslog || 60 <br />
|- <br />
| dnscache || 61 <br />
|- <br />
| tinydns || 62 <br />
|- <br />
| axfrdns || 63 <br />
|- <br />
| clamav || 64 <br />
|- <br />
| bitlbee || 65 <br />
|- <br />
| tomcat || 66 <br />
|-<br />
| minbif || 67<br />
|- <br />
| fax || 69 <br />
|- <br />
| cyrus || 70 <br />
|- <br />
| courier || 72 <br />
|- <br />
| postfix || 73 <br />
|- <br />
| dovenull || 74 <br />
|- <br />
| dovecot || 76 <br />
|- <br />
| asterisk || 77 <br />
|- <br />
| exim || 79 <br />
|- <br />
| vpopmail || 80 <br />
|- <br />
| dbus || 81 <br />
|- <br />
| hal || 82 <br />
|- <br />
| nsvsd || 83 <br />
|- <br />
| avahi || 84 <br />
|- <br />
| nx || 85 <br />
|- <br />
| beaglidx || 86 <br />
|- <br />
| ntp || 87 <br />
|- <br />
| postgres || 88 <br />
|- <br />
| mysql || 89 <br />
|- <br />
| fetchmail || 90 <br />
|- <br />
| nobody || 99 <br />
|- <br />
| nm-openconnect || 104<br />
|-<br />
| cherokee || 106 <br />
|- <br />
| partimag || 110 <br />
|- <br />
| gdm || 120<br />
|- <br />
| lxdm || 121<br />
|- <br />
| deluge || 125<br />
|-<br />
| pulse || 130<br />
|-<br />
| rtkit || 133<br />
|-<br />
| kdm || 135<br />
|-<br />
| usbmux || 140<br />
|-<br />
| ldap || 439<br />
|-<br />
| oprofile || 492<br />
|-<br />
| alias || 7790 <br />
|- <br />
| qmaild || 7791 <br />
|- <br />
| qmaill || 7792 <br />
|- <br />
| qmailp || 7793 <br />
|- <br />
| qmailq || 7794 <br />
|- <br />
| qmailr || 7795 <br />
|- <br />
| qmails || 7796 <br />
|}<br />
<br />
==Groups==<br />
<br />
{| border="1" cellpadding="4" cellspacing="0"<br />
! Group Name !! GID<br />
|-<br />
| root || 0 <br />
|- <br />
| bin || 1 <br />
|- <br />
| daemon || 2 <br />
|- <br />
| sys || 3 <br />
|- <br />
| adm || 4 <br />
|- <br />
| tty || 5 <br />
|- <br />
| disk || 6 <br />
|- <br />
| lp || 7 <br />
|- <br />
| mem || 8 <br />
|- <br />
| kmem || 9 <br />
|- <br />
| wheel || 10 <br />
|- <br />
| ftp || 11 <br />
|- <br />
| mail || 12 <br />
|- <br />
| news || 13 <br />
|- <br />
| uucp || 14 <br />
|- <br />
| proxy || 15 <br />
|- <br />
| stunnel || 16 <br />
|- <br />
| jabber || 17 <br />
|- <br />
| osiris || 18<br />
|- <br />
| log || 19 <br />
|- <br />
| utmp || 20<br />
|- <br />
| locate (ex slocate/mlocate/rlocate) || 21 <br />
|- <br />
| cron || 22 <br />
|- <br />
| plugdev || 23 <br />
|- <br />
| rfkill || 24<br />
|- <br />
| smmsp || 25 <br />
|- <br />
| snort || 29<br />
|-<br />
| nagios (coming soon) || 30 <br />
|- <br />
| nrpe || 31 <br />
|- <br />
| http || 33 <br />
|- <br />
| named || 40 <br />
|- <br />
| privoxy || 42 <br />
|- <br />
| tor || 43 <br />
|- <br />
| mpd || 45 <br />
|- <br />
| games || 50 <br />
|- <br />
| nut || 55 <br />
|- <br />
| rbldns || 58 <br />
|- <br />
| rbldnszones || 59 <br />
|- <br />
| clamav || 64 <br />
|- <br />
| bitlbee || 65 <br />
|- <br />
| tomcat || 66 <br />
|-<br />
| minbif || 67<br />
|- <br />
| cyrus || 70 <br />
|- <br />
| courier || 72 <br />
|- <br />
| dovenull || 74<br />
|- <br />
| postdrop || 75<br />
|- <br />
| dovecot || 76<br />
|-<br />
| asterisk || 77 <br />
|- <br />
| kvm || 78 <br />
|- <br />
| exim || 79 <br />
|- <br />
| vchkpw || 80 <br />
|- <br />
| dbus || 81 <br />
|- <br />
| hal || 82 <br />
|- <br />
| nsvsd || 83 <br />
|- <br />
| avahi || 84 <br />
|- <br />
| nx || 85 <br />
|- <br />
| beaglidx || 86 <br />
|- <br />
| ntp || 87 <br />
|- <br />
| postgres || 88 <br />
|- <br />
| mysql || 89 <br />
|- <br />
| network || 90 <br />
|- <br />
| video || 91 <br />
|- <br />
| audio || 92 <br />
|- <br />
| optical || 93 <br />
|- <br />
| floppy || 94 <br />
|- <br />
| storage || 95 <br />
|- <br />
| scanner || 96 <br />
|- <br />
| camera || 97 <br />
|- <br />
| power || 98 <br />
|- <br />
| nobody || 99 <br />
|- <br />
| users || 100 <br />
|-<br />
| policykit || 102<br />
|- <br />
| nm-openconnect || 104<br />
|- <br />
| cherokee || 106 <br />
|- <br />
| vboxusers || 108 <br />
|- <br />
| partimag || 110 <br />
|-<br />
| gdm || 120<br />
|- <br />
| lxdm || 121<br />
|-<br />
| deluge || 125 <br />
|-<br />
| vlock || 129<br />
|-<br />
| pulse || 130<br />
|-<br />
| pulse-access || 131<br />
|-<br />
| pulse-rt || 132<br />
|-<br />
| rtkit || 133<br />
|-<br />
| kdm || 135<br />
|-<br />
| usbmux || 140<br />
|-<br />
| wireshark || 150<br />
|-<br />
| cgred || 160<br />
|-<br />
| ldap || 439<br />
|-<br />
| oprofile || 492 <br />
|- <br />
| qmail || 2107 <br />
|- <br />
| nofiles || 2108 <br />
|}</div>Wonderhttps://wiki.archlinux.org/index.php?title=VirtualBox&diff=168437VirtualBox2011-11-02T14:04:48Z<p>Wonder: dropping unneeded info</p>
<hr />
<div>[[Category:Emulators (English)]]<br />
[[Category:Virtualization]]<br />
[[Category:Remote Desktop Protocol (English)]]<br />
[[fr:VirtualBox]]<br />
{{i18n|VirtualBox}}<br />
<br />
VirtualBox (website: [https://www.virtualbox.org virtualbox.org]; Wikipedia: [[Wikipedia:VirtualBox|VirtualBox]]) is a virtual PC emulator like [[VMware]]. It is in constant development and new features are implemented all the time. e.g. version 2.2 introduced OpenGL 3D acceleration support for Linux and Solaris guests. It has a [[QT]] GUI interface, as well as headless and [[SDL]] command line tools for managing and running virtual machines. It includes ''guest additions'' for some guest operating systems, which integrate functions of the guest and host systems, including sharing files, the clipboard, video acceleration and a “seamless” window integration mode.<br />
<br />
This article is about basic usage of VirtualBox, including running the Virtual Box software within an Arch ''host'', and running an Arch ''guest'' inside a Virtual Box virtual machine. For information about special features, applications and other how-tos, see [[VirtualBox Extras]].<br />
<br />
==Installing on host==<br />
The {{Package Official|virtualbox}} package is the basic GPL licensed VirtualBox suite, found in the [community] repository.<br />
<br />
Install the basic package:<br />
# pacman -S virtualbox<br />
as from virtualbox 4.1.4-3 and higher this will also install virtualbox-modules and virtualbox-source (which contain the modules and their respective source code for the stock archlinux kernel)<br />
<br />
Optionally install [[QT]] (package: {{Package Official|qt}}) in order to use the graphical manager (''VirtualBox'' command). This is not required for the simpler SDL-only GUI (''VBoxSDL'' command) nor the ''VBoxHeadless'' command.<br />
# pacman -S qt<br />
<br />
===Basic setup===<br />
Add the desired username to the ''vboxusers'' [[group]]. Everything may work fine without this step but shared folders and possibly some other optional stuff require it to work. The new group does not automatically apply to existing sessions; the user has to log in again or start a new environment with a command like "newgrp" or "sudo -u ''username'' -s".<br />
# gpasswd -a USERNAME vboxusers<br />
<br />
Virtual Box running on Linux uses its own [[kernel modules]], including a mandatory one called ''vboxdrv''.<br />
Lastly, the ''vboxdrv'' module must be loaded before virtual machines can run. It can be automatically loaded when Arch Linux starts up, or it can be loaded manually when necessary.<br />
<br />
To load the VirtualBox driver at startup, edit {{Filename|/etc/[[rc.conf]]}} and add {{Codeline|vboxdrv}} to the {{Codeline|MODULES}} array:<br />
MODULES=(... ''vboxdrv'')<br />
<br />
To load the module manually:<br />
# modprobe vboxdrv<br />
<br />
To start the VirtualBox graphical manager:<br />
# VirtualBox<br />
<br />
For people running a custom linux kernel there is the possibility to build the modules for your specific version<br />
<br />
The Arch Linux package includes a script called ''vboxbuild'' which builds Virtual Box's kernel modules, instead of the ''/etc/init.d/vboxdrv'' script mentioned in the manual.<br />
<br />
To build the kernel modules, with root permissions:<br />
# vboxbuild<br />
<br />
===Guest additions disc===<br />
The ''virtualbox'' package also suggests installing {{pkg|virtualbox-additions}} on the host (Arch Linux) running Virtual Box. It is a disc image that can be used to install the guest additions onto guest systems.<br />
<br />
===Booting a live disc===<br />
Click the 'New' button to create a new virtual environment. Name it appropriately and select Operating System type and version. Select base memory size (note: most operating systems will need at least 512MB to function properly). Create a new hard disk image (a hard disk image is a file that will contain the operating system's filesystem and files).<br />
<br />
When the new image has been created, click 'Settings', then CD/DVD-ROM, check 'Mount CD/DVD Drive' then select an ISO image.<br />
<br />
===Rebuild the kernel modules===<br />
Note that any time your kernel version changes (due to an upgrade, recompile, etc.) you must also rebuild the VirtualBox kernel modules.<br />
<br />
Ensure that a version of {{pkg|linux-headers}} is installed corresponding to the running kernel, and run the following command:<br />
# vboxbuild<br />
<br />
This will build the VirtualBox kernel modules for the ''currently running kernel''; if you have just upgraded your kernel package, reboot before trying to rebuild your kernel modules.<br />
<br />
To have vbox* modules '''built automatically''' from now on, put this line in rc.local:<br />
{{File|/etc/rc.local|<nowiki># Dry-load vbox* modules and trigger a rebuild if modprobe fails<br />
modprobe -nqs vbox{drv,pci,net{flt,adp}} >/dev/null 2>&1 || ( /usr/bin/vboxbuild && . /etc/rc.conf && modprobe -ab ${MODULES[*]} )</nowiki>}}<br />
<br />
This will check if vbox* modules need to be rebuilt on startup and invoke '''vboxbuild''' as necessary.<br />
<br />
After rebuilding the module, do not forget to load it with<br />
# modprobe vboxdrv<br />
<br />
''vboxdrv'' and ''vboxnetflt'' should be in the MODULES=() section of your /etc/rc.conf<br />
<br />
==Arch Linux guests==<br />
Installing Arch under VirtualBox is straightforward, and additions should be installed through pacman (not through "Install Guest Additions" in VirtualBox, or a mounted ISO.) Follow these instructions after doing a basic install of the X-window system found on the [[Beginners' Guide]].<br />
<br />
===Guest additions package===<br />
# pacman -S virtualbox-archlinux-additions<br />
<br />
===Kernel modules===<br />
Manually load the Virtual Box modules with<br />
<br />
# modprobe -a vboxguest vboxsf vboxvideo<br />
<br />
===Auto-start modules===<br />
To autostart these modules each time you boot, you can add the three modules above to the MODULES array in ''/etc/rc.conf''.<br />
MODULES(... vboxguest vboxsf vboxvideo)<br />
<br />
===Enable VboxClient-all===<br />
The VBoxClient contain these services(''/usr/bin/VBoxClient-all'') (copy/paste...) :<br />
<br />
--clipboard start the shared clipboard service<br />
--display start the display management service<br />
--checkhostversion start the host version notifier service<br />
--seamless start the seamless windows service<br />
<br />
So you can Enable VBoxClient-all to start all these services.<br />
<br />
If you are running something that launches ''/etc/xdg/autostart/vboxclient.desktop'', such as GNOME, then you should be ready to go. If you use .xinitrc to launch things instead, you must add<br />
VBoxClient-all &<br />
to your .xinitrc before launching your WM.<br />
<br />
You should now be all set, and all guest additions should work properly.<br />
<br />
===Synchronise guest date with host===<br />
<br />
To keep sync date add the following to the guest ''/etc/rc.conf'' in DAEMONS entry:<br />
<br />
DAEMONS=(... vbox-service ...)<br />
<br />
==See also==<br />
* [[PhpVirtualBox]]<br />
* [[VirtualBox Extras]]<br />
* [[VirtualBox Arch Linux Guest On Physical Drive]]<br />
* [[Advanced VirtualBox Networking]]<br />
* [[Installing Arch Linux from VirtualBox]]<br />
<br />
==External links==<br />
* [http://www.virtualbox.org/manual/UserManual.html VirtualBox User Manual]</div>Wonderhttps://wiki.archlinux.org/index.php?title=Arch_Linux_VirtualBox_Guest&diff=167534Arch Linux VirtualBox Guest2011-10-25T20:35:32Z<p>Wonder: drop crap</p>
<hr />
<div>[[Category:Virtualization]]<br />
{{i18n|Arch Linux VirtualBox Guest}}<br />
<br />
Installing Arch under [[VirtualBox]] is straightforward, and additions should be installed through pacman (not through "Install Guest Additions" in VirtualBox, or a mounted ISO.) Follow these instructions after doing a basic install of the X-window system found on the [[Beginners' Guide]].<br />
<br />
==Install the required package:==<br />
# pacman -Syu virtualbox-archlinux-additions<br />
<br />
==Load vbox modules:==<br />
# modprobe -a vboxguest vboxsf vboxvideo<br />
<br />
===Auto-start modules===<br />
To autostart these modules each time you boot, you can add the three modules above to the MODULES array in ''/etc/rc.conf''.<br />
MODULES(... vboxguest vboxsf vboxvideo)<br />
<br />
==Enable VboxClient-all:==<br />
The VBoxClient contain these services(''/usr/bin/VBoxClient-all'') (copy/paste...) :<br />
<br />
--clipboard start the shared clipboard service<br />
--display start the display management service<br />
--checkhostversion start the host version notifier service<br />
--seamless start the seamless windows service<br />
<br />
So you can Enable VBoxClient-all to start all these services.<br />
<br />
If you are running something that launches ''/etc/xdg/autostart/vboxclient.desktop'', such as GNOME, then you should be ready to go. If you use .xinitrc to launch things instead, you must add<br />
VBoxClient-all &<br />
to your .xinitrc before launching your WM.<br />
<br />
You should now be all set, and all guest additions should work properly.<br />
<br />
==Sync between host date and guest:==<br />
<br />
To keep sync date add the following to the guest ''/etc/rc.conf'' in DAEMONS entry:<br />
<br />
DAEMONS=(... vbox-service ...)</div>Wonderhttps://wiki.archlinux.org/index.php?title=Arch_Linux_VirtualBox_Guest&diff=167533Arch Linux VirtualBox Guest2011-10-25T20:33:52Z<p>Wonder: drop crap</p>
<hr />
<div>[[Category:Virtualization]]<br />
{{i18n|Arch Linux VirtualBox Guest}}<br />
<br />
Installing Arch under [[VirtualBox]] is straightforward, and additions should be installed through pacman (not through "Install Guest Additions" in VirtualBox, or a mounted ISO.) Follow these instructions after doing a basic install of the X-window system found on the [[Beginners' Guide]].<br />
<br />
==Install the required package:==<br />
# pacman -Syu virtualbox-archlinux-additions<br />
<br />
==Load vbox modules:==<br />
# modprobe -a vboxguest vboxsf vboxvideo<br />
<br />
===Auto-start modules===<br />
To autostart these modules each time you boot, you can either<br />
*1) Add the three modules above to the MODULES array in ''/etc/rc.conf''.<br />
MODULES(... vboxguest vboxsf vboxvideo)<br />
'''OR'''<br />
*2) Add rc.vboxadd to the DAEMONS array. This daemon probes the above listed modules. <br />
DAEMONS(... rc.vboxadd)<br />
<br />
==Enable VboxClient-all:==<br />
The VBoxClient contain these services(''/usr/bin/VBoxClient-all'') (copy/paste...) :<br />
<br />
--clipboard start the shared clipboard service<br />
--display start the display management service<br />
--checkhostversion start the host version notifier service<br />
--seamless start the seamless windows service<br />
<br />
So you can Enable VBoxClient-all to start all these services.<br />
<br />
If you are running something that launches ''/etc/xdg/autostart/vboxclient.desktop'', such as GNOME, then you should be ready to go. If you use .xinitrc to launch things instead, you must add<br />
VBoxClient-all &<br />
to your .xinitrc before launching your WM.<br />
<br />
You should now be all set, and all guest additions should work properly.<br />
<br />
==Sync between host date and guest:==<br />
<br />
To keep sync date add the following to the guest ''/etc/rc.conf'' in DAEMONS entry:<br />
<br />
DAEMONS=(... vbox-service ...)</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Server_configuration&diff=163939DeveloperWiki:Server configuration2011-10-04T11:21:55Z<p>Wonder: is run by me</p>
<hr />
<div>[[Category:DeveloperWiki]]<br />
This page provides an overview of the Arch servers and their functions. Details can be found in the respective links for each server. We currently have two phyical server machines:<br />
<br />
== Main development server (formerly gerolde) ==<br />
<br />
This is a Dual-Xeon 2.8GHz server with 16GB of memory and a 2x300GB software RAID 1 array. It has been bought with Arch donation money and is currently located at velocity, who also donate the power and bandwidth. It runs a Xen hypervisor with the following hosts:<br />
<br />
=== [[DeveloperWiki:Dom0|dom0.archlinux.org]] ===<br />
<br />
This is the Xen dom0 for the development server. It runs a Debian system with the Debian Xen kernel, as Arch does not maintain a stable Xen kernel. It has no public services. ssh access is limited to a small number of IP addresses and only Thomas, Aaron, Jan and Dale have access to it.<br />
<br />
It bridges the physical ethernet interface with the virtual interfaces of the Xen domU instances and runs an IP-based [[DeveloperWiki:Dom0#firewall|firewall]].<br />
<br />
=== [[DeveloperWiki:Gerolde (dev)|gerolde.archlinux.org]] ===<br />
<br />
This is the main development server. It runs Arch Linux with a modified kernel26 package with pv_ops/Xen support added.<br />
<br />
DNS aliases: rsync.archlinux.org, archlinux.org, mail.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All developers have ssh access to this machine.<br />
* ''rsync''(rsyncd): Public mirrors (whitelisted by IP address) can synchronize the FTP directory. Anyone can synchronize the ABS tree.<br />
* ''smtp''(postfix): SMTP server for the @archlinux.org and @aur.archlinux.org domains<br />
* ''http''(lighttpd): All developers have direct access to the FTP directory via HTTP (static content only) - this is password-protected, users must use the mirrors.<br />
<br />
Developers use this server to maintain the package repositories, the corresponding ''packages'' subversion repository and access the git repositories for their various arch-related projects.<br />
<br />
=== [[DeveloperWiki:Gudrun (web)|gudrun.archlinux.org]] ===<br />
<br />
This is the main web server. It runs Arch Linux with Arch's own kernel. Only developers who maintain web applications have ssh access. The ssh port is only open to gerolde.<br />
<br />
DNS aliases: bbs.archlinux.org, dev.archlinux.org, mailman.archlinux.org, planet.archlinux.org, projects.archlinux.org, repos.archlinux.org, svn.archlinux.org, wiki.archlinux.org, bugs.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''http''(apache): Hosts the following websites:<br />
** www.archlinux.org: Main Arch website - uses python/django and a few static html pages<br />
** mailman.archlinux.org: Mailing list configuration, subscription and archives - uses mailman<br />
** bbs.archlinux.org: Forums - uses fluxbb(php)<br />
** wiki.archlinux.org: Arch Wiki - uses mediawiki(php)<br />
** projects.archlinux.org: Access to the git repositories - uses cgit<br />
** planet.archlinux.org: Feeds from Arch-related blogs - uses static html pages<br />
** repos.archlinux.org: Access to the ''packages'' and ''community'' subversion repositories - uses websvn<br />
** bugs.archlinux.org: Bugtracker - uses flyspray(php)<br />
* ''svn''(xinetd/svnserve): Public subversion access<br />
* ''git''(xinetd/git-daemon): Public git access<br />
<br />
=== Resource Allocation ===<br />
Because this box is servicing multiple VMs, the resources allocated to each are not static. Here is how the box is currently divided up:<br />
<br />
* dom0: 512 MB RAM, 4 CPUs, 4GB disk<br />
* gerolde: 9493 MB RAM, 4 CPUs, 193 GB disk<br />
* gudrun: 6145 MB RAM, 4 CPUs, 30 GB disk<br />
<br />
== Trusted User server (sigurd) ==<br />
<br />
This is a Pentium D dual core 3.40GHz server with 4GB of memory and a 2x160GB software RAID 1 array. The machine is being donated by SevenL networks. It runs Arch Linux.<br />
<br />
=== [[DeveloperWiki:Sigurd (TU)|sigurd.archlinux.org]] ===<br />
<br />
DNS aliases: aur.archlinux.org, community.archlinux.org, tracker.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All trusted users have ssh access to this machine.<br />
* ''http''(lighttpd): To host several websites (see below)<br />
<br />
<br />
* trusted user development server. <br />
** websites:<br />
*** aur.archlinux.org: The AUR - uses php<br />
*** community.archlinux.org: apparently nothing<br />
<br />
* ''bit torrent''(opentracker): Bit Torrent tracker for the Arch Linux ISO images<br />
<br />
== Releng server (alberich) ==<br />
* hardware: VPS donated by airVM, 125GiB LVM setup, 2GB ram, 1 core E5530 @ 2.40GHz<br />
* software: Arch Linux <br />
<br />
=== [[DeveloperWiki:Alberich|alberich.archlinux.org]] ===<br />
This machine is meant for building installation images and hosting testbuilds and such.<br />
It runs no other services, because releng image building is "tricky stuff" best kept separate<br />
<br />
The machine contains the releng environment, including chroots for each architecture.<br />
<br />
DNS aliases: releng.archlinux.org<br />
<br />
It offers the following public services:<br />
* ''ssh''(openssh): All release engineers have ssh access to this machine.<br />
* ''http''(lighttpd): To host releng files (testbuilds, custom repos/packages), no official media<br />
<br />
== Build Server (alderaan) ==<br />
<br />
This is an Intel® Core™ i7-920 Quadcore (with Hyper-Threading) server with 8GB of memory. The machine is run by Ionut Biru (ioni). It runs Arch Linux.<br />
<br />
=== [[DeveloperWiki:PKGBUILD.com|pkgbuild.com]] ===<br />
<br />
It offers the following services:<br />
* ''ssh'' (openssh): Access to the build server is available to all Trusted Users and Developers on request.<br />
<br />
* Build server.<br />
** Each user is given access to a set of build scripts that simplify the build process for users with poor internet connections or lacking a 64-bit machine.<br />
<br />
== Other servers ==<br />
<br />
We can always use more of course for our world domination plans! Right now our infrastructure is mostly contained to the above-mentioned servers, but there are a few specialty things running elsewhere.<br />
<br />
=== stats.archlinux.org ===<br />
<br />
This server is hosted on [[User:Toofishes|Dan's]] linode. It runs an instance of munin, which collects various stats from the servers in the archlinux.org domain. If you need access to any of this information and are a developer, get in contact with someone that does [[DeveloperWiki:Internal Projects#Server Administration|server administration]]. If you want an additional server added to the list, just ask.</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=159018GNOME2011-09-10T06:40:49Z<p>Wonder: get rid of merge warning</p>
<hr />
<div>{{i18n|GNOME 3|GNOME}}<br />
[[fr:GNOME]]<br />
[[de:GNOME]]<br />
[[pl:GNOME]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|GTK+}}<br />
{{Article summary end}}<br />
<br />
The GNOME Project started from scratch and created a completely new desktop called GNOME 3. It has:<br />
<br />
* A modern visual theme and font<br />
* An activities view providing access to all windows and applications<br />
* A subtle notifications system and a discrete top panel<br />
* Integration with an improved Nautilus file manager<br />
* Integrated desktop services for messaging<br />
* A new system settings application <br />
* An activities search feature<br />
* Features such as snap-like window tiling<br />
<br />
Additional explanations are found on the [http://www.gnome3.org/ official GNOME3 website.]<br />
<br />
== Introduction ==<br />
<br />
GNOME 3 has ''two'' interfaces: '''GNOME Shell,''' the new standard layout; and '''fallback mode.''' Gnome-session automatically detects when your computer is incapable of running Gnome Shell and starts fallback mode when appropriate. <br />
<br />
'''Fallback mode''' is similar to GNOME 2. (Fallback mode uses gnome-panel/Metacity instead of gnome-shell/Mutter.)<br />
<br />
When you are on fallback mode you can still replace GNOME's default window manager with your preferred one.<br />
<br />
== Upgrade from GNOME 2 ==<br />
<br />
{{Warning|Upgrading to GNOME 3 from a GNOME 2 session might cause a system crash.}}<br />
<br />
It is recommended that you run the update command from a TTY session or from another Desktop Environment / Window Manager.<br />
<br />
{{cli|# pacman -Syu}} <br />
<br />
After this update you have installed GNOME 3.x with ''fallback mode'' only. To install the new GNOME shell:<br />
<br />
{{cli|# pacman -S gnome-shell}}<br />
<br />
Depending on your setup, you might need to delete your old configuration to get a successful session start.<br />
<br />
{{cli|$ mv .config .config.bak}}<br />
{{cli|$ mv .gconf .gconf.bak}}<br />
{{cli|$ mv .gnome2 .gnome2.bak}}<br />
<br />
==Installation==<br />
<br />
GNOME 3 is in the [extra] repository. The '''gnome''' group contains the core desktop environment and applications, and gnome-extra contains the rest. You likely don't want all of the packages installed, so consider reading the package descriptions before installing them (or just remove them later).<br />
<br />
Example:<br />
<br />
{{cli|# pacman -Syu gnome}}<br />
{{cli|# pacman -S gnome-extra}}<br />
<br />
===D-Bus daemon===<br />
The GNOME desktop requires the [[D-Bus]] daemon. Refer to the [[dbus]] article for setup instructions.<br />
<br />
=== Running GNOME ===<br />
<br />
For the best desktop integration, login manager '''GDM''' is recommended. Other login managers (a.k.a. display managers) such as SLiM can be used in place of GDM. Check out the [[Display_Manager|wiki article on display managers]] to learn how desktop environments are started.<br />
<br />
The login manager is a limited process entrusted with duties that impact the system. The [[PolicyKit|PolicyKit wiki article]] addresses the topic of system‑wide access control.<br />
<br />
{{cli|# pacman -S gdm}}<br />
<br />
If you prefer to start GNOME manually from the console, add the following line to your {{Filename|~/.xinitrc}} file. Make sure it is the only line (remove the {{Codeline|for}} block from the standard {{Filename|~/.xinitrc}} since the {{Codeline|for}} block can cause problems) and the only command starting with {{Codeline|exec}}. See the [[xinitrc| xinitrc wiki article]].<br />
{{file|~/.xinitrc|content=<nowiki><br />
#ONLY THIS LINE<br />
exec ck-launch-session gnome-session<br />
</nowiki>}}<br />
<br />
After the {{Codeline|exec}} command is placed, GNOME can be launched by typing {{Codeline|startx}}.<br />
<br />
== Using the shell ==<br />
<br />
=== GNOME cheat sheet ===<br />
<br />
The GNOME web site has a helpful [https://live.gnome.org/GnomeShell/CheatSheet GNOME Shell cheat sheet] explaining task switching, keyboard use, window control, the panel, overview mode, and more.<br />
<br />
=== Restarting the shell ===<br />
<br />
After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing {{Keypress|Alt}} + {{Keypress|F2}} then {{Keypress|r}} then {{Keypress|Enter}}<br />
<br />
=== Shell crashes ===<br />
<br />
Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes, such as switching between '''''GNOME Shell''''' and '''''fallback mode,''''' cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.<br />
<br />
It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.<br />
<br />
== Customizing GNOME appearance ==<br />
<br />
=== Overall appearance ===<br />
<br />
GNOME 3 may have "started from scratch", but like most large software projects it is assembled from parts dating to different eras. There is not '''one''' all-encompassing configuration tool. The new ''Systems Settings'' tool is a big improvement over previous control panels. ''System Settings'' is well-organized, but you may find yourself wishing for more control over system appearance.<br />
<br />
You may be familiar with existing configuration tools: some of these still work; many will not. Some settings are not readily exposed for you to change. Indubitably, many settings will migrate to newer tools and/or become exposed as time progresses and the wider community embraces and extends the latest GNOME desktop.<br />
<br />
==== Gsettings ====<br />
<br />
A new command-line tool '''gsettings''' stores data in a binary format, unlike previous tools using XML text. A tutorial [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell] explores the power of gsettings.<br />
<br />
==== GNOME tweak tool ====<br />
<br />
This graphical tool customizes fonts, themes, titlebar buttons and other settings. <br />
<br />
{{cli|# pacman -S gnome-tweak-tool}}<br />
<br />
Version 3.0.3 only works when gnome-shell is installed (OK if forced to fallback mode). [https://bugzilla.gnome.org/show_bug.cgi?id=647132 Bugzilla bug report here.]<br />
<br />
==== GTK3 theme via settings.ini ====<br />
<br />
Like '''{{Filename|~/.gtkrc-2.0}}''' with GTK2+, it is possible to set a GTK3 theme via '''{{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
Variable {{Codeline|$XDG_CONFIG_HOME}} is usually set to '''~/.config'''<br />
<br />
''Adwaita,'' the default GNOME 3 theme, is a part of '''gnome-themes-standard.''' Additional GTK3 themes are found at [http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/ Deviantart web site.] For example:<br />
{{file|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<nowiki><br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
</nowiki>}}<br />
<br />
It is necessary to [[#Restarting_the_shell|restart GNOME shell]] for settings to be applied. More GTK options are found at [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GNOME developer documentation.]<br />
<br />
==== Icon theme ====<br />
<br />
Using gnome-tweak-tool v. 3.0.3 and later, you can place any icon theme you wish to use inside '''{{Filename|~/.icons}}'''.<br />
<br />
Usefully, GNOME 3 is compatible with GNOME 2 icon themes, which means you're not stuck with the default icons. To install a new set of icons, copy your desired icon theme's directory to '''{{Filename|~/.icons}}'''. As an example:<br />
<br />
{{cli|$ cp -R /home/user/Desktop/my_icon_theme ~/.icons}}<br />
<br />
The new theme ''my_icon_theme'' is now selectable using '''gnome-tweak-tool''' under '''''interface.'''''<br />
<br />
Alternatively, you may textually select your icon theme with no need for gnome-tweak-tool. Add the GTK icon theme name to '''{{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
: {{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<nowiki>... previous lines ...<br />
<br />
gtk-icon-theme-name = my_new_icon_theme</nowiki>}}<br />
<br />
=== Nautilus ===<br />
<br />
==== Remove folders from the places sidebar ====<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
==== Always show text-entry location ====<br />
<br />
The standard Nautilus toolbar shows a button bar interface for path navigation. To enter path locations using the ''keyboard'' you must expose the location text-entry field. This is done by pressing {{Keypress|Ctrl}} + {{Keypress|L}}<br />
<br />
To make the location text-entry field always present, use gsettings as shown. <br />
{{cli|$ gsettings set org.gnome.nautilus.preferences always-use-location-entry true}}<br />
<br />
{{Note| after changing this setting you will not be able to expose the button bar. Only when the setting is '''false''' can both forms of location navigation be employed.}}<br />
<br />
=== GNOME panel ===<br />
<br />
==== Show date in top bar ====<br />
<br />
By default GNOME displays only the weekday and time in the top bar. This can be changed with the following command. Changes take effect immediately. <br />
<br />
{{cli|# gsettings set org.gnome.shell.clock show-date true}}<br />
<br />
==== Hide accessibility icon ====<br />
<br />
Create a folder named '''{{Filename|noa11y.icon@panel.ui}}''' in '''{{Filename|$HOME/.local/share/gnome-shell/extensions}}'''. Create two new files:<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/extension.js|content=<nowiki>const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = '';<br />
}</nowiki>}}<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/metadata.json|content=<nowiki>{<br />
"shell-version": ["3.0"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] The accessibility icon should be hidden. If this extension ceases to work in the future, adjust the shell version number in '''{{Filename|metadata.json.}}'''<br />
<br />
Alternatively, you may disable the accessibility icon system-wide. Edit '''{{Filename|/usr/share/gnome-shell/js/ui/panel.js}}''' Locate the following line and comment it out or delete it. Afterward restart the shell.<br />
{{file|/usr/share/gnome-shell/js/ui/panel.js|content=<br />
'a11y': imports.ui.status.accessibility.ATIndicator,}}<br />
<br />
==== Hide bluetooth icon ====<br />
<br />
Deactivate bluetooth as startup-service if that is your intent. Refer to section [[#Automatic_program_launch_upon_login|Automatic program launch upon login]]<br />
<br />
Create a folder named '''{{Filename|nobluetooth.icon@panel.ui}}''' in '''{{Filename|~/.local/share/gnome-shell/extensions}}'''. Create two new files:<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js|content=<nowiki>const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = '';<br />
}</nowiki>}}<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json|content=<nowiki>{<br />
"shell-version": ["3.0"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] The icon should be hidden. If this extension ceases to work in the future, adjust the shell version number in '''{{Filename|metadata.json.}}'''<br />
<br />
==== Show battery icon ====<br />
<br />
To show the battery tray icon, install {{codeline|gnome-power-manager}}.<br />
<br />
{{cli|# pacman -S gnome-power-manager}}<br />
<br />
==== Disable "Suspend" in the status menu ====<br />
<br />
A quick way to do it system-wide is to change line 153 of '''{{Filename|/usr/share/gnome-shell/js/ui/statusMenu.js}}'''. This change takes effect the next time GNOME Shell is started.<br />
{{file|/usr/share/gnome-shell/js/ui/statusMenu.js|content=<nowiki><br />
// this._haveSuspend = this._upClient.get_can_suspend(); // Comment this line out.<br />
this._haveSuspend = false; // Use this line instead.<br />
</nowiki>}}<br />
<br />
However, the effect won't last after a GNOME update. A more perennial solution is to install the [[#GNOME shell extensions|alternative status menu]].<br />
<br />
{{cli|# pacman -S gnome-shell-extension-alternative-status-menu}}<br />
<br />
==== Eliminate delay when logging out ====<br />
<br />
The following tweak removes the confirmation dialog and sixty second delay for logging out.<br />
<br />
This dialog normally appears when you log out with the status menu. This tweak affects the '''''Power Off''''' dialog as well. This is not a system-wide change; it affects only the user who enters this command. The change takes effect immediately after entering the command.<br />
<br />
{{cli|$ gsettings set org.gnome.SessionManager logout-prompt 'false'}}<br />
<br />
==== Show system monitor ====<br />
<br />
Install the [http://aur.archlinux.org/packages.php?ID=49250 gnome-shell-system-monitor-applet-git] extension available in the AUR.<br />
<br />
=== Activity view ===<br />
<br />
==== Remove entries from Applications view ====<br />
<br />
Like other desktop environments, GNOME uses .desktop files to populate its Applications view. These text files are in '''{{filename|/usr/share/applications}}'''. It is not possible to edit these files from a folder view ‒ Nautilus does not treat their icons as text files. Use a terminal to display or edit .desktop file entries.<br />
<br />
{{cli|# ls /usr/share/applications}}<br />
{{cli|# nano /usr/share/applications/foo.desktop}}<br />
<br />
For system wide changes, edit files in '''{{filename|/usr/share/applications}}'''. For local changes, make a copy of ''foo.desktop'' in your home folder.<br />
<br />
{{cli|$ cp /usr/share/applications/foo.desktop ~/.local/share/applications/}}<br />
<br />
Edit .desktop files to fit your wishes. '''Note:''' removing a .desktop file does not uninstall an application, but instead removes its desktop integration: MIME types, shortcuts, and so forth.<br />
<br />
The following command appends one line to a .desktop file and hides its associated icon from Applications view:<br />
<br />
$ echo "NoDisplay=true" >> foo.desktop<br />
<br />
==== Reduce application icon size ====<br />
<br />
One awkward selection of the GNOME designers is their choice of large icons for Applications view. This view is painful when working with a small screen containing many large application icons. There is a way to reduce the icon size. It is done by editing the Gnome-Shell theme.<br />
<br />
Edit system files directly (make a backup first) or copy theme files to your local folder and edit these files. For the default theme, edit '''{{filename|/usr/share/gnome-shell/theme/gnome-shell.css}}'''<br />
<br />
For user themes, edit '''{{filename|/usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css}}'''<br />
<br />
Edit ''gnome-shell.css'' and replace the following values. Afterward, [[#Restarting_the_shell|restart the GNOME shell.]]<br />
{{file|gnome-shell.css|content=<nowiki><br />
.icon-grid {<br />
spacing: 18px;<br />
-shell-grid-item-size: 82px;<br />
}<br />
<br />
.icon-grid .overview-icon {<br />
icon-size: 48px;<br />
}<br />
</nowiki>}}<br />
<br />
A cloned GNOME Shell theme with smaller icons is available [http://aur.archlinux.org/packages.php?ID=51586 on the AUR].<br />
<br />
=== Titlebar ===<br />
<br />
==== Reduce titlebar height ====<br />
<br />
# sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] This changes vertical padding from 14 to 0, giving windows a sleeker look.<br />
<br />
To restore the original values:<br />
<br />
{{cli|$ sudo pacman -S gnome-themes-standard}}<br />
<br />
==== Reorder titlebar buttons ====<br />
<br />
At present this setting is changeable only through '''gconf-editor.'''<br />
<br />
For example, we move the close and minimize buttons to the left side of the titlebar. Open '''gconf-editor''' and locate the '''''desktop.gnome.shell.windows.button_layout''''' key. Change its value to '''{{Codeline|close,minimize:}}''' (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. [[#Restarting_the_shell|Restart the shell]] to see your new button arrangement.<br />
<br />
==== Hide titlebar when maximized ====<br />
<br />
# sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.<br />
<br />
With suitable keybindings, you should be able to use {{Keypress|Alt}} + {{Keypress|F5}}, {{Keypress|Alt}} + {{Keypress|F10}} or {{Keypress|Alt}} + {{Keypress|Space}} to remedy the situation.<br />
<br />
To prevent '''{{filename|metacity-theme-3.xml}}''' from being overwritten each time package "gnome-themes-standard" is upgraded, add its name to '''{{Filename|/etc/pacman.conf}}''' with {{Codeline|NoUpgrade}}.<br />
<br />
: {{File|/etc/pacman.conf|content=<nowiki>... previous lines ...<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
# IgnorePkg =<br />
# IgnoreGroup =<br />
<br />
NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml # Do not add a leading slash to the path<br />
<br />
... more lines ...</nowiki>}}<br />
<br />
To restore original Adwaita theme values:<br />
<br />
{{cli|# pacman -S gnome-themes-standard}}<br />
<br />
=== Login screen ===<br />
<br />
To modify characteristics of the login screen (GDM, the GNOME display manager) the following lines can be executed. The first command allows all users, including "gdm", to access X settings (albeit temporarily). This command creates a temporary vulnerability, so be advised. The second command opens a bash session with the credentials of user "gdm". '''Note:''' for exposition, user gdm's terminal prompt is shown as '''$'''. In actuality, it shows something like -bash-4.2$.<br />
<br />
{{cli|# xhost +}}<br />
{{cli|# su - gdm -s /bin/bash}}<br />
{{cli|$ dbus-launch}}<br />
<br />
The third command prints DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We must export these variables.<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
The following backtick-ed command combines '''dbus-launch''' and '''export''' into a single command. (Dbus-launch has command line options which appear to obviate the need for the '''sed''' pipeline; that method seems to export no more than the first variable.)<br />
<br />
$ `dbus-launch | sed "s/^/export /"`<br />
<br />
<div style="margin: 1em 3em;"><br />
To avoid copying and pasting, you may use the script '''{{Filename|prep-gdm-vars}}''' to export the variables. The other scripts assist in setting up the GDM wallpaper. Place these files in a suitable location. Make them executable using {{codeline|chmod}}. An example of running these scripts appears below.<br />
<br />
{{File|name=/usr/local/bin/prep-gdm-vars|content=<nowiki># This script must be run using '.' or 'source'<br />
`dbus-launch | sed "s/^/export /"`</nowiki>}}<br />
<br />
{{File|name=/usr/local/bin/show-avail-gdm-bkgd|content=<nowiki>#!/bin/bash<br />
# Usage: show-avail-gdm-bkgd [folder]<br />
# Specify any folder within /usr/share/backgrounds.<br />
# If you omit the folder, you'll be shown available choices.<br />
file_part="/usr/share/backgrounds/"<br />
if ! [ $1 ]; then<br />
echo -en \\n Please specify one of these directories:\\n\\n\\040<br />
ls $file_part; echo; exit 1; fi<br />
ls ${file_part}/$1<br />
</nowiki>}}<br />
<br />
{{File|name=/usr/local/bin/revise-gdm-bkgd|content=<nowiki>#!/bin/bash<br />
# Usage: revise-gdm-bkgd gnome/filename.jpg<br />
# Specify any file path within /usr/share/backgrounds.<br />
org_part="org.gnome.desktop.background picture-uri"<br />
file_full="/usr/share/backgrounds/$1"<br />
# Trap when argument is: missing, a mere directory, a bad filename.<br />
if ( ! [ $1 ] || [ -d $file_full ] ); then<br />
echo -en \\n Specify a file. Use this example:<br />
echo -e \ \ revise-gdm-bkgd \ gnome/TwoWings.jpg\\n; exit 1; fi<br />
if ! [ -r $file_full ]; then<br />
echo -e \\n Specifed file does not exist or is not readable.\\n; exit 2; fi<br />
GSETTINGS_BACKEND=dconf gsettings set $org_part "file://${file_full}"<br />
</nowiki>}}<br />
</div><br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
{{cli|$ /usr/lib/dconf/dconf-service &}}<br />
<br />
==== Login background image ====<br />
<br />
Once session variables have been exported as explained above, you may issue commands to retrieve or set items used by GDM. The following commands retrieve or set the file name used for GDM's wallpaper.<br />
<pre style="overflow:auto;"><br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg'<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom'<br />
## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom</pre><br />
You must specify a file which user "gdm" has permission to read. GDM cannot read files in your home directory.<br />
<br />
<div style="margin: 1em 3em;"><br />
Here is a session showing how a user might change the GDM wallpaper using the scripts listed above. It starts with a normal user's terminal and assumes he is able to open a bash session as root. The root user then opens a session as "gdm" and changes the wallpaper.<br />
<br />
$ su -<br />
Password: <br />
<br />
# xhost +<br />
access control disabled, clients can connect from any host<br />
# su - gdm -s /bin/bash<br />
<br />
'''-bash-4.2$''' . prep-gdm-vars # Must use . to execute this script!<br />
access control disabled, clients can connect from any host<br />
<br />
'''-bash-4.2$''' show-avail-gdm-bkgd gnome<br />
Aqua.jpg FreshFlower.jpg Spaceflare-nova.jpg Terraform-green.jpg YellowFlower.jpg<br />
Blinds.jpg Garden.jpg Spaceflare-supernova.jpg Terraform-orange.jpg<br />
BlueMarbleWest.jpg GreenMeadow.jpg SundownDunes.jpg TwoWings.jpg<br />
FootFall.png Spaceflare.jpg Terraform-blue.jpg Wood.jpg<br />
<br />
'''-bash-4.2$''' revise-gdm-bkgd gnome/GreenMeadow.jpg<br />
<br />
'''-bash-4.2$''' logout<br />
<br />
# logout<br />
$<br />
<br />
Script '''{{Filename|revise-gdm-bkgd}}''' may also be used to change your normal user background from the command prompt. Admittedly, the script name does not quite fit when used for that purpose.<br />
</div><br />
<br />
If you want a graphical interface to changing themes (gtk3, icons and cursor), the wallpaper and minor other settings of the GDM login screen, you can install [https://aur.archlinux.org/packages.php?ID=50232 gdm3setup] from AUR.<br />
<br />
==== Larger font for login ====<br />
<br />
This tweak enlarges the login font with a scaling factor. It is the same method employed by ''Accessibility Manager'' on the desktop.<br />
<br />
You must [[#Login_screen|export the GDM session variables]] before performing this tweak.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'<br />
<br />
==== Turning off the sound ====<br />
<br />
This tweak disables the audible feedback heard when the system volume is adjusted (via keyboard) on the login screen. You must first export the GDM session variables.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds 'false'<br />
<br />
If the above tweak does not work for you or you are unable to export the GDM session variables, there is always the easiest solution to the "ready sound" problem: mute or lower the sound while in GDM login screen using the media keys (if available) of your keyboard.<br />
<br />
==== Make the power button interactive ====<br />
<br />
The default installation sets the power button to suspend the system. '''''Power off''''' or '''''Show dialog''''' is a better choice. You must first export the GDM session variables as [[#Login_screen|outlined previously.]]<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive'<br />
$ gsettings list-recursively org.gnome.settings-daemon.plugins.power<br />
<br />
==== GDM keyboard layout ====<br />
<br />
GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the [[Beginners'_Guide#Non-US_keyboard|Beginner's Guide.]]<br />
<br />
=== Other tips ===<br />
See [[GNOME Tips]].<br />
<br />
== Miscellaneous settings ==<br />
<br />
==== Automatic program launch upon login ====<br />
<br />
Specify which programs start automatically after login using {{codeline|gnome-session-properties}}. This tool is part of the {{codeline|gnome-session}} package.<br />
<br />
{{cli|$ gnome-session-properties}}<br />
<br />
==== Activate numlock upon login ====<br />
<br />
Install numlockx from repository '''[community]'''. Then, add a startup command to launch numlockx.<br />
<br />
{{cli|# pacman -S numlockx}}<br />
{{cli|$ gnome-session-properties}}<br />
<br />
The above command opens the '''Startup Applications Preferences''' applet. Click '''''Add''''' and enter the following:<br />
<br />
{| border="0"<br />
| Name: || ''Numlockx''<br />
|-<br />
| Command: || ''/usr/bin/numlockx on''<br />
|-<br />
| Comment: || ''Turns on numlock.''<br />
|}<br />
<br />
This is not a system-wide appearance tweak. Repeat these steps for each user wishing to activate numlock upon login.<br />
<br />
=== GNOME shell extensions ===<br />
<br />
GNOME Shell can be customized with extensions written by others. These provide features such as a dock or a widget for changing the theme. Details on available extensions are found at the [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html WEBUPD8] site. The most recent articles can be found using this [http://www.webupd8.org/search/label/gnome%20shell%20extensions?max-results=20 WEBUPD8 search link.]<br />
<br />
Repository '''[extras]''' has a dozen extensions which can be installed individually. (The latest version of a given extension may be installed using its code snapshot, if preferred.) [http://www.archlinux.org/packages/?sort=&q=gnome-shell-extension&maintainer=&last_update=&flagged=&limit=50 List here.]<br />
<br />
{{cli|$ pacman -Ss gnome-shell-extension}}<br />
<br />
Other useful extensions provided in the AUR:<br />
<br />
{| border="0"<br />
| ''[https://aur.archlinux.org/packages.php?ID=49368 Presentation Mode]'' || Adds option to inhibit screensaver in the power menu (battery icon).<br />
|-<br />
| ''[https://aur.archlinux.org/packages.php?ID=49409 Weather]'' || Displays weather notifications.<br />
|-<br />
| ''[https://aur.archlinux.org/packages.php?ID=48607 Alternative Status Menu]'' || Adds "Hibernate" and "Power Off" to the status menu.<br />
|-<br />
| ''[https://aur.archlinux.org/packages.php?ID=51102 Theme selector]'' || Select a theme in the activities overview. To install a custom theme with Gnome Tweak Tool you need to install the ''[http://www.archlinux.org/packages/extra/any/gnome-shell-extension-user-theme User theme extension]''<br />
|}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME Shell]] after installing an extension. See [[#When_an_extension_breaks_GNOME|when an extension breaks GNOME]] for troubleshooting information.<br />
<br />
=== Default terminal ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in GNOME 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
{{Note|For ''nautilus-open-terminal'', you may need a flag (e.g. {{Codeline|-e}}) to indicate that a command will follow: ''nautilus-open-terminal'' passes a {{Codeline|cd}} command in order to change directories to the appropriate location.}}<br />
<br />
=== Middle mouse button ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
{{cli|$ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true}}<br />
<br />
=== Xmonad ===<br />
<br />
[[Xmonad]] is a tiling window manager.<br />
<br />
Upgrading to GNOME 3 will likely break your xmonad setup. You can use xmonad again by [[#Enabling_fallback_mode|forcing fallback mode]] and creating two files:<br />
<br />
: {{file|name=/usr/share/gnome-session/sessions/xmonad.session|content=<nowiki>[GNOME Session]<br />
Name=Xmonad session<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-notifications=notification-daemon</nowiki>}}<br />
<br />
: {{file|name=/usr/share/xsessions/xmonad-gnome-session.desktop|content=<nowiki>[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession</nowiki>}}<br />
<br />
The next time you log in, you should have the ability to choose ''Xmonad GNOME'' as your session.<br />
<br />
== Hidden features ==<br />
<br />
GNOME 3 hides many useful options which you can customize with '''dconf-editor.''' GNOME 3 also supports '''gconf-editor''' for settings that have not yet migrated to dconf.<br />
<br />
=== Changing hotkeys ===<br />
<br />
Firstly, use '''dconf-editor''' to place a checkmark next to {{Codeline|can-change-accels}} in the key named ''org.gnome.desktop.interface.''<br />
<br />
We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder.<br />
<br />
The default assignment is a somewhat-awkward {{Keypress|Ctrl}} + {{Keypress|Delete}}.<br />
<br />
* Open Nautilus, select any file, and click '''Edit''' on the menu bar.<br />
* Hover over the ''Move to Trash'' menu item.<br />
* While hovering, press {{Keypress|Delete}}. The current accelerator is now unset.<br />
* Press the key that you wish to become the new keyboard accelerator.<br />
* Press {{Keypress|Delete}} to make the new accelerator be the Delete key.<br />
<br />
Unless you select a file or folder, ''Move to Trash'' will be grayed-out. Finally, disable {{Codeline|can-change-accels}} to prevent accidental hotkey changes.<br />
<br />
=== Shutdown via the status menu ===<br />
<br />
Presently, GNOME designers have hidden the Shutdown option inside the status menu. To shut down your system with the status menu, click the menu and hold down the '''Alt''' key so that the '''''Suspend''''' item changes to '''''Power Off.''''' The subsequent dialog allows you to shut down or restart your system.<br />
<br />
If you disable the Suspend menu item system-wide as described [[#Disable_"Suspend"_in_the_status_menu|elsewhere in this document]] you do not have to go through these motions.<br />
<br />
Another option is to install the ''Alternative Status Menu'' extension. See the section on shell extensions. The alternative menu extension installs a new status menu with a non-hidden '''''Power Off''''' entry.<br />
<br />
== Integrated messaging (Empathy) ==<br />
<br />
Empathy, the engine behind integrated messaging, and all system settings based on messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed.<br />
<br />
These packages are not included in default Arch GNOME installs. You can install the Telepathy and optionally any backends with:<br />
<br />
{{cli|# pacman -S telepathy}}<br />
<br />
Without telepathy, Empathy will not open the account management dialog and can get stuck in this state. If this happens -- even after quitting Empathy cleanly -- the /usr/bin/empathy-accounts application can remain running and will need to be killed before you can add any new accounts.<br />
<br />
View descriptions of telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Freedesktop.org Telepathy Wiki.]<br />
<br />
== Enabling fallback mode ==<br />
<br />
Your session automatically starts in fallback mode when '''gnome-shell''' is not present, or when your hardware cannot handle graphics acceleration — such as running within a virtual machine or running on old hardware.<br />
<br />
If you wish to enable fallback mode while still having '''gnome-shell''' installed, make the following system change:<br />
<br />
Open '''gnome-control-center.''' Click the ''System Info'' icon. Click Graphics. Change ''Forced Fallback Mode'' to {{Codeline|ON.}}<br />
<br />
You can alternatively choose the type of session from a terminal with a ''gsettings'' command:<br />
<br />
{{cli|$ gsettings set org.gnome.desktop.session session-name 'gnome-fallback'}}<br />
<br />
You may want to log out after making the change. You will see the chosen type of session upon your next login.<br />
<br />
To disable forced-fallback mode (that is, launch the normal GNOME Shell) use a value of 'gnome' instead of 'gnome-fallback'.<br />
<br />
== Troubleshooting ==<br />
<br />
=== GNOME login takes a very long time ===<br />
<br />
See if you enabled ''PulseAudio Network'' settings in '''paprefs'''. When any network audio settings are enabled, GNOME hangs about a minute after login.<br />
<br />
One solution is to create a new user account and login to that account. Another solution is to move your '''~/.gconf''', '''~/.gconfd''' and '''~/.conf/dconf''' folders to a holding area. Login again to see if the delay is gone.<br />
<br />
If the excessive delay is gone, determine which setting causes the delay using trial-and-error.<br />
<br />
=== When an extension breaks GNOME ===<br />
<br />
When enabling shell extensions causes GNOME breakage, you should first remove the ''user-theme'' and ''auto-move-windows'' extensions from their installation directory.<br />
<br />
The installation directory could be one of '''{{Filename|~/.local/share/gnome‑shell/extensions,}}''' '''{{Filename|/usr/share/gnome‑shell/extensions,}}''' or '''{{Filename|/usr/local/share/gnome‑shell/extensions}}'''. Removing these two extension-containing folders may fix the breakage. Otherwise, isolate the problem extension with trial‑and‑error.<br />
<br />
Removing or adding an extension-containing folder to the aforementioned directories removes or adds the corresponding extension to your system. Details on Gnome Shell extensions are available at the [https://live.gnome.org/GnomeShell/Extensions GNOME web site.]<br />
<br />
=== Extensions don't work after GNOME 3 update ===<br />
<br />
Locate the folder where your extensions are installed. It might be '''{{Filename|~/.local/share/gnome-shell/extensions}}''' or '''{{Filename|/usr/share/gnome-shell/extensions}}'''.<br />
<br />
Edit each occurrence of '''{{Filename|metadata.json}}''' which appears in each extension sub-folder. <br />
<br />
{| border="0"<br />
| Insert: || '''{{Codeline|"shell-version": ["3.0"]}}'''<br />
|-<br />
| Instead of (for example): || '''{{Codeline|"shell-version": ["3.0.1"]}}'''<br />
|-<br />
| You might instead use: || '''{{Codeline|"shell-version": ["3.0.0", "3.0.1", "3.0.2"]}}'''<br />
|}<br />
<br />
<br />
'''"3.0"''' is the best solution. It indicates the extension works with every '''''3.0.x''''' GNOME Shell version.<br />
<br />
=== Screen is not locked after resume ===<br />
<br />
Screen lock only works when you suspend through GNOME's status menu. If you suspend or hibernate using the power button, your screen is not locked after resume. The problem is a configuration failure in dconf.<br />
<br />
Open ''dconf-editor'' and uncheck '''{{Codeline|lock-use-screensaver}}''' in the key named ''org.gnome.power-manager.''<br />
<br />
{{cli|# gsettings set org.gnome.power-manager lock-use-screensaver 'false'}}<br />
<br />
Your screen should now be locked after resume whether you used the status menu, the power button, or a key combination. Bug report: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend #Comment 8]<br />
<br />
=== GTK2+ apps show segfaults and fail to launch ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. This theme appears to conflict with GNOME 3 or GTK3 settings. When '''oxygen-gtk''' has been set as a GTK2 theme, GTK2 apps segfault with errors like these:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current workaround is to remove '''oxygen-gtk''' from the system and use a different theme for applications.<br />
<br />
=== ATI Catalyst driver creates glitches and artifacts ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== Multiple monitors and dock extension ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== No event sounds for Empathy and other programs ===<br />
<br />
If you're using [[OSS]], you may want to install '''libcanberra-oss''' [https://aur.archlinux.org/packages.php?ID=31163 from AUR].<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== Panels don't respond to right-click in fallback mode ===<br />
<br />
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key (<Alt>, <Super>, etc) used for normal windows is also used by panels and their applets.<br />
<br />
=== "Show Desktop" keyboard shortcut does not work ===<br />
<br />
GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:<br />
<br />
System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows<br />
<br />
=== Nautilus does not start ===<br />
<br />
# Press {{keypress|ALT}}+{{keypress|F2}}<br />
# Enter {{codeline|gnome-tweak-tool}}<br />
# Select the ''File Manager'' tab.<br />
# Locate option ''Have file manager handle the desktop'' and assure it is toggled '''off'''.<br />
<br />
=== Epiphany does not play flash videos ===<br />
<br />
Epiphany now uses gtk3, but Adobe's Flash Player still relies on gtk2. See [[Epiphany#Flash]] for a workaround involving nspluginwrapper. <br />
<br />
=== Unable to apply stored configuration for monitors ===<br />
<br />
If you encounter this message try to disable the xrandr gnome-settings-daemon plugin :<br />
<br />
{{cli|$ dconf write /org/gnome/settings-daemon/plugins/xrandr/active false}}<br />
<br />
=== Lock button fails to re-enable touchpad ===<br />
<br />
Some laptops have a touchpad lock button that disables the touchpad so that users can type without worrying about touching the touchpad. It appears currently that although GNOME can lock the touchpad by pressing this button, it can't unlock it. If the touchpad gets locked you can do the following to unlock it.<br />
# Start a terminal. You can do this by pressing {{keypress|ALT}}+{{keypress|F2}} , then typing {{codeline|gnome-terminal}} and then pressing {{keypress|ENTER}}<br />
# Type in the following command<br />
{{cli|$ xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1}}<br />
<br />
=== Ctrl+V pastes path instead of file in Nautilus ===<br />
<br />
If you are affected by this issue, edit {{filename|~/.gnome2/accels/nautilus}} where you can find two lines for Ctrl+V :<br />
{{file|~/.gnome2/accels/nautilus|content=<nowiki><br />
(gtk_accel_path "<Actions>/DirViewActions/Paste" "<Control>v")<br />
...<br />
(gtk_accel_path "<Actions>/ClipboardActions/Paste" "<Control>v")<br />
</nowiki>}}<br />
<br />
The issue appears to stem from the second entry. Deleting that line may fix the issue temporarily. You might have to reapply this fix after an update.<br />
<br />
An alternative is to assign a different key combination to one of the actions.<br />
<br />
=== Unable to connect to secured wi-fi network ===<br />
<br />
You see the network connections listing, but choosing an encrypted network fails to show a dialog for key entry. You may need to install network-manager-applet. See [[NetworkManager#GNOME|GNOME NetworkManager setup]].<br />
<br />
=== "Any command has been defined 33" ===<br />
<br />
When you press print screen key to take screenshot and you got "Any command has been defined 33", install metacity:<br />
<br />
{{cli|# pacman -S metacity}}<br />
<br />
==External links==<br />
* [http://www.gnome.org/ The Official Website]<br />
* Themes, icons, and backgrounds:<br />
** [http://art.gnome.org/ Gnome Art]<br />
** [http://www.gnome-look.org/ Gnome Look]<br />
* GTK/GNOME programs:<br />
** [http://www.gnomefiles.org/ Gnome Files]<br />
** [http://www.gnome.org/projects/ Gnome Project Listing]</div>Wonderhttps://wiki.archlinux.org/index.php?title=Talk:GNOME&diff=159017Talk:GNOME2011-09-10T06:39:46Z<p>Wonder: Do not merge</p>
<hr />
<div>== deleted manual hotkeys modification ==<br />
<br />
Manual edit of accel.scm into nautilus config doesn't fit with this page. And this can't be a generic method, cause not every application has an accels.scm file, even if it has that, it's location in ~/.config is not mandatory.<br />
[[User:4javier|4javier]] 08:09, 25 April 2011 (EDT)<br />
<br />
:It fits with this page just as much as the remaining part on changing hotkeys does because both serve the same purpose. So I disagree with that it should be downright deleted, particularly as for me (thus possibly others) the ''can-change-accels'' way did not work. I added it again (a bit more carefully phrased) to the "Troubleshooting" section. -- [[User:Misc|Misc]] 15:40, 25 April 2011 (EDT)<br />
<br />
::I still think that applications' specific method of changing accels should be mentioned in the application page itself. Into this page I'd leave just a reminder (i.e. "If this method doesn't work see application's wiki page for app specific file"). But I don't delete it anymore until somebody else tell us his opinion. [[User:4javier|4javier]] 20:35, 25 April 2011 (EDT)<br />
<br />
== Gnome needs xorg ==<br />
<br />
Is it really necessary to point out that gnome needs Xorg server??? :/<br />
:[https://wiki.archlinux.org/index.php?title=GNOME_3&diff=138457&oldid=138437 Fixed]. -- [[User:Karol|Karol]] 09:05, 26 April 2011 (EDT)<br />
:[[User:Adispi|Adispi]] probably wanted Gnome 3 article to have the same note that could be found in [https://wiki.archlinux.org/index.php?title=GNOME&diff=prev&oldid=134279 the Gnome article]. [https://wiki.archlinux.org/index.php?title=GNOME&diff=138476&oldid=137791 I removed that one too.] -- [[User:Karol|Karol]] 10:11, 26 April 2011 (EDT)<br />
:: I found that note was explicitly added by an user from italian community https://wiki.archlinux.org/index.php?title=GNOME&oldid=134279. I'll ask him what's the problem with new xorg installation system. I still think it's superfluous.<br />
:::I didn't add it, I just changed a pre-existing mini procedure to install Xorg through the xorg group, which was declared out of date at that time. I agree, the note states the obvious, for me it's useless. -- [[User:Kynikos|Kynikos]] 11:02, 26 April 2011 (EDT)<br />
:::IIRC [https://bugs.archlinux.org/task/23296 this] was the problem: the contents of xorg group were changed and we had to update the installation procedure in the wiki. Users were baffled that after installing the whole xorg group they couldn't start the X server (because e.g. xorg-xinit wasn't in the xorg group anymore). -- [[User:Karol|Karol]] 11:54, 26 April 2011 (EDT)<br />
<br />
== Seamonkey and Pulseaudio ==<br />
<br />
#I cant setup seamonkey as default webbrowser.. This is imposible in gnome-control-center without some modyfication.. Google give nothing special, only garbage.<br />
#I have "Audigy2 value" and ld10k1 from alsa-tools. How can I do this to work in 5.1? (If you have that problem or/and you know what do, tell me..) Can I disable pa and where? :)<br />
[[User:3ED|3ED]] 10:03, 1 May 2011 (EDT)<br />
<br />
==Nautilus bug==<br />
I think nautilus bug has not too much to do with this page. I think move it to nautilus page should be appropriate.<br />
--[[User:4javier|4javier]] 13:53, 4 May 2011 (EDT)<br />
<br />
==Merge with [[GNOME]]==<br />
I report [https://bbs.archlinux.org/viewtopic.php?id=118012 this forum discussion]: this article needs to be merged with [[GNOME]]. -- [[User:Kynikos|Kynikos]] 17:54, 4 May 2011 (EDT)<br />
:I agree with cosmin, Gnome page should contain just Gnome3 info. At most we could move gnome 2.x info to a Gnome2 page or a Gnome Legacy page. --[[User:4javier|4javier]] 13:28, 6 May 2011 (EDT)<br />
::I'd just merge with [[GNOME]] and discard the outdated parts (almost all), keeping what still makes sense, like the external links (some need updating); the old page would stay in the history afterall. What about [[GNOME Tips]] and [[GNOME Shell]]? -- [[User:Kynikos|Kynikos]] 19:34, 6 May 2011 (EDT)<br />
<br />
I don't agree with this merge, at all. Gnome Tips is full of crap, excuse me, out of date information. If you really want to do something about it, i propose to move some tips from gnome wiki into tips but not all of it. I still want a wiki for gnome to learn how to install, what services to configure and how to start it. [[User:Wonder|Wonder]]<br />
<br />
== battery icon ==<br />
<br />
I have no battery / power indicator at all! https://live.gnome.org/GnomeShell/Design/Guidelines/SystemStatus/BatteryPower<br />
<br />
solved and added<br />
<br />
I think this is useless. gnome-power-manager is part of gnome-extra group that's already mentioned into the wiki. --[[User:4javier|4javier]] 13:31, 6 May 2011 (EDT)<br />
<br />
== Resizing massive titlebar ==<br />
<br />
Should not be better point that sed manipulation to ~/.themes/Adwaita/metacity-1/metacity-theme-3.xml ? --[[User:4javier|4javier]] 07:27, 7 May 2011 (EDT)<br />
<br />
== Xmonad section ==<br />
<br />
I think xmonad section should be generalized for every other wm: openbox, fluxbox, ratpoison etc. Is there some gnome3 user who can test the method with other wm than xmonad? --[[User:4javier|4javier]] 05:40, 16 May 2011 (EDT)<br />
<br />
== Is this still a gnome wiki? ==<br />
<br />
last tip for dpms through xset I think has nothing to do...it's not a gnome feature, and it's not permanent. It should be added to startup, but the right way should be to turn off dpms statically into xorg.conf.d. I think this page is becoming too unspecific.<br />
:[https://wiki.archlinux.org/index.php?title=GNOME&diff=next&oldid=141933 Thestinger to the rescue!] Fixed :-) -- [[User:Karol|Karol]] 15:20, 18 May 2011 (EDT)<br />
::I know I'm getting really really boring but...https://wiki.archlinux.org/index.php/GNOME#XChat --[[User:4javier|4javier]] 16:19, 24 May 2011 (EDT)<br />
:::You're not boring :-) I've moved it to [[XChat]] but I'm not sure if creating a bunch of stubs is the best way to deal with it. As I'm neither a Gnome guy nor an IRC user don't count on me to expand that article anytime soon. -- [[User:Karol|Karol]] 02:01, 25 May 2011 (EDT)<br />
::::maybe is not be a gnome app but gnome-shell has included features for xchat to stack notifications.<br />
::::http://git.gnome.org/browse/gnome-shell/tree/js/ui/notificationDaemon.js#n76 <br />
::::Maybe we should add a sectiong in gnome wiki called, Integrating apps in gnome-shell and include xchat, pidgin etc -- [[User:Wonder|Wonder]]<br />
:::::I think that infos don't need a mention into the wiki at all. They're just a possible setting of a program preference... --[[User:4javier|4javier]] 06:34, 25 May 2011 (EDT)<br />
cant quite follow your motivations, but if its consistent, please also move gtk3 and xmonad related "possible setting of a program preference" to their own page too. thanks.<br />
:gtk3 is the base of gnome3...and it's not a program, it's the main library. About xmonad https://wiki.archlinux.org/index.php/Talk:GNOME#Xmonad_section --[[User:4javier|4javier]] 06:50, 25 May 2011 (EDT)<br />
right, but the xchat options listed are specific to running it under gnome (even the new page hints that). and the gtk3 options are not specific to gnome, they are relevant under any other wm/de.<br />
:You're free to create Gtk3 page and move there theming hints. :) But talk about that to wiki admin first. --[[User:4javier|4javier]] 07:43, 25 May 2011 (EDT)</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=153053GNOME2011-08-23T11:35:00Z<p>Wonder: add a warning. our users have problems because they have other lines in ~/.xinitrc that breaks consolekit.</p>
<hr />
<div>{{i18n|GNOME 3|GNOME}}<br />
[[fr:GNOME]]<br />
[[de:GNOME]]<br />
[[pl:GNOME]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
The GNOME Project started from scratch and created a completely new desktop called GNOME 3. It has:<br />
<br />
* A modern visual theme and font<br />
* An activities view providing access to all windows and applications<br />
* A subtle notifications system and a discrete top panel<br />
* Integration with an improved Nautilus file manager<br />
* Integrated desktop services for messaging<br />
* A new system settings application <br />
* An activities search feature<br />
* Features such as snap-like window tiling<br />
<br />
Additional explanations are found on the [http://www.gnome3.org/ official GNOME3 website.]<br />
<br />
== Introduction ==<br />
<br />
GNOME 3 has ''two'' interfaces: '''GNOME Shell,''' the new standard layout; and '''fallback mode.''' Gnome-session automatically detects when your computer is incapable of running Gnome Shell and starts fallback mode when appropriate. <br />
<br />
'''Fallback mode''' is similar to GNOME 2. (Fallback mode uses gnome-panel/Metacity instead of gnome-shell/Mutter.)<br />
<br />
When you are on fallback mode you can still replace GNOME's default window manager with your preferred one.<br />
<br />
== Upgrade from GNOME 2 ==<br />
<br />
{{Warning|Upgrading to GNOME 3 from a GNOME 2 session might cause a system crash.}}<br />
<br />
It is recommended that you run the update command from a TTY session or from another Desktop Environment / Window Manager.<br />
<br />
# pacman -Syu <br />
<br />
After this update you have installed GNOME 3.x with ''fallback mode'' only. To install the new GNOME shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
Depending on your setup, you might need to delete your old configuration to get a successful session start.<br />
<br />
$ mv .config .config.bak<br />
$ mv .gconf .gconf.bak<br />
$ mv .gnome2 .gnome2.bak<br />
<br />
==Installation==<br />
<br />
GNOME 3 is in the [extra] repository. The '''gnome''' group contains the core desktop environment and applications, and gnome-extra contains the rest. You likely don't want all of the packages installed, so consider reading the package descriptions before installing them (or just remove them later).<br />
<br />
Example:<br />
<br />
# pacman -Syu gnome<br />
# pacman -S gnome-extra<br />
<br />
===D-Bus daemon===<br />
The GNOME desktop requires the [[D-Bus]] daemon. Refer to the [[dbus]] article for setup instructions.<br />
<br />
=== Running GNOME ===<br />
<br />
For the best desktop integration, login manager '''GDM''' is recommended. Other login managers (a.k.a. display managers) such as SLiM can be used in place of GDM. Check out the [[Display_Manager|wiki article on display managers]] to learn how desktop environments are started.<br />
<br />
The login manager is a limited process entrusted with duties that impact the system. The [[PolicyKit|PolicyKit wiki article]] addresses the topic of system‑wide access control.<br />
<br />
# pacman -S gdm<br />
<br />
If you prefer to start GNOME manually from the console, add the following line to your '''{{Filename|~/.xinitrc}}''' file. Making sure it is the only line (remove the ''for'' block from the standard ~/.xinitrc, it can cause problems) and the only command starting with ''exec.'' See the [[xinitrc| xinitrc wiki article.]]<br />
<br />
#ONLY THIS LINE<br />
exec ck-launch-session gnome-session<br />
<br />
After the ''exec'' command is placed, GNOME is launched by typing '''startx'''.<br />
<br />
== Using the shell ==<br />
<br />
=== GNOME cheat sheet ===<br />
<br />
The GNOME web site has a helpful [https://live.gnome.org/GnomeShell/CheatSheet GNOME Shell cheat sheet] explaining task switching, keyboard use, window control, the panel, overview mode, and more.<br />
<br />
=== Restarting the shell ===<br />
<br />
After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing {{Keypress|Alt}} + {{Keypress|F2}} then {{Keypress|r}} then {{Keypress|Enter}}<br />
<br />
=== Shell crashes ===<br />
<br />
Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes, such as switching between '''''GNOME Shell''''' and '''''fallback mode,''''' cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.<br />
<br />
It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.<br />
<br />
== Customizing GNOME appearance ==<br />
<br />
=== Overall appearance ===<br />
<br />
GNOME 3 may have "started from scratch", but like most large software projects it is assembled from parts dating to different eras. There is not '''one''' all-encompassing configuration tool. The new ''Systems Settings'' tool is a big improvement over previous control panels. ''System Settings'' is well-organized, but you may find yourself wishing for more control over system appearance.<br />
<br />
You may be familiar with existing configuration tools: some of these still work; many will not. Some settings are not readily exposed for you to change. Indubitably, many settings will migrate to newer tools and/or become exposed as time progresses and the wider community embraces and extends the latest GNOME desktop.<br />
<br />
==== Gsettings ====<br />
<br />
A new command-line tool '''gsettings''' stores data in a binary format, unlike previous tools using XML text. A tutorial [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell] explores the power of gsettings.<br />
<br />
==== GNOME tweak tool ====<br />
<br />
This graphical tool customizes fonts, themes, titlebar buttons and other settings. <br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
Version 3.0.3 only works when gnome-shell is installed (OK if forced to fallback mode). [https://bugzilla.gnome.org/show_bug.cgi?id=647132 Bugzilla bug report here.]<br />
<br />
==== GTK3 theme via settings.ini ====<br />
<br />
Like '''{{Filename|~/.gtkrc-2.0}}''' with GTK2+, it is possible to set a GTK3 theme via '''{{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
Variable <tt>$XDG_CONFIG_HOME</tt> is usually set to '''~/.config'''<br />
<br />
''Adwaita,'' the default GNOME 3 theme, is a part of '''gnome-themes-standard.''' Additional GTK3 themes are found at [http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/ Deviantart web site.] For example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It is necessary to [[#Restarting_the_shell|restart GNOME shell]] for settings to be applied. More GTK options are found at [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GNOME developer documentation.]<br />
<br />
==== Icon theme ====<br />
<br />
Using gnome-tweak-tool v. 3.0.3 and later, you can place any icon theme you wish to use inside '''{{Filename|~/.icons}}'''.<br />
<br />
Usefully, GNOME 3 is compatible with GNOME 2 icon themes, which means you're not stuck with the default icons. To install a new set of icons, copy your desired icon theme's directory to '''{{Filename|~/.icons}}'''. As an example:<br />
<br />
$ cp -R /home/user/Desktop/my_icon_theme ~/.icons<br />
<br />
The new theme ''my_icon_theme'' is now selectable using '''gnome-tweak-tool''' under '''''interface.'''''<br />
<br />
Alternatively, you may textually select your icon theme with no need for gnome-tweak-tool. Add the GTK icon theme name to '''{{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
: {{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<nowiki>... previous lines ...<br />
<br />
gtk-icon-theme-name = my_new_icon_theme</nowiki>}}<br />
<br />
=== Nautilus ===<br />
<br />
==== Removing folders from the places sidebar ====<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
==== Always show text-entry location ====<br />
<br />
The standard Nautilus toolbar shows a button bar interface for path navigation. To enter path locations using the ''keyboard'' you must expose the location text-entry field. This is done by pressing {{Keypress|Ctrl}} + {{Keypress|L}}<br />
<br />
To make the location text-entry field always present, use gsettings as shown. Note: after changing this setting you will not be able to expose the button bar. Only when the setting is '''false''' can both forms of location navigation be employed.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== GNOME panel ===<br />
<br />
==== Hide accessibility icon ====<br />
<br />
Create a folder named '''{{Filename|noa11y.icon@panel.ui}}''' in '''{{Filename|$HOME/.local/share/gnome-shell/extensions}}'''. Create two new files:<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/extension.js|content=<nowiki>const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = '';<br />
}</nowiki>}}<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/metadata.json|content=<nowiki>{<br />
"shell-version": ["3.0"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] The accessibility icon should be hidden. If this extension ceases to work in the future, adjust the shell version number in '''{{Filename|metadata.json.}}'''<br />
<br />
Alternatively, you may disable the accessibility icon system-wide. Edit '''{{Filename|/usr/share/gnome-shell/js/ui/panel.js}}''' Locate the following line and comment it out or delete it. Afterward restart the shell.<br />
<br />
'a11y': imports.ui.status.accessibility.ATIndicator,<br />
<br />
==== Hide bluetooth icon ====<br />
<br />
Deactivate bluetooth as startup-service if that is your intent. Refer to section [[#Automatic_program_launch_upon_login|Automatic program launch upon login]]<br />
<br />
Create a folder named '''{{Filename|nobluetooth.icon@panel.ui}}''' in '''{{Filename|~/.local/share/gnome-shell/extensions}}'''. Create two new files:<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js|content=<nowiki>const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = '';<br />
}</nowiki>}}<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json|content=<nowiki>{<br />
"shell-version": ["3.0"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] The icon should be hidden. If this extension ceases to work in the future, adjust the shell version number in '''{{Filename|metadata.json.}}'''<br />
<br />
==== Show battery icon ====<br />
<br />
To show the battery tray icon, install gnome-power-manager.<br />
<br />
# pacman -S gnome-power-manager<br />
<br />
==== Disable "Suspend" in the status menu ====<br />
<br />
A quick way to do it system-wide is to change line 153 of '''{{Filename|/usr/share/gnome-shell/js/ui/statusMenu.js}}'''. This change takes effect the next time GNOME Shell is started.<br />
<br />
// this._haveSuspend = this._upClient.get_can_suspend(); // Comment this line out.<br />
this._haveSuspend = false; // Use this line instead.<br />
<br />
However the effect won't last after a Gnome update. A more perennial solution would be to install ''gnome-shell-extension-alternative-status-menu''.<br />
# pacman -S gnome-shell-extension-alternative-status-menu<br />
<br />
==== Eliminate delay when logging out ====<br />
<br />
The following tweak removes the confirmation dialog and sixty second delay for logging out.<br />
<br />
This dialog normally appears when you log out with the status menu. This tweak affects the '''''Power Off''''' dialog as well. This is not a system-wide change; it affects only the user who enters this command. The change takes effect immediately after entering the command.<br />
<br />
$ gsettings set org.gnome.SessionManager logout-prompt 'false'<br />
<br />
=== Activity view ===<br />
<br />
==== How to remove application entries from the Applications view ====<br />
<br />
Like many other Desktop Environments, GNOME 3 uses the .desktop files to populate its Applications view.<br />
Those files are located in ''/usr/share/applications''.<br />
Note that Nautilus does not display them as text files, thus it is not possible to edit them. Use a terminal to display the real files.<br />
$ ls /usr/share/applications<br />
<br />
For system wide changes, edit the files directly from there. For local changes, make a copy in your home folder:<br />
$ cp /usr/share/applications/* ~/.local/share/applications/<br />
<br />
You can edit the .desktop files to fit your wishes. Note that removing a .desktop file will not uninstall the application but will mostly remove the desktop integration (MIME-Types, shortcuts, and so on).<br />
Add the following entry to the .desktop file to hide the shortcut from the Applications view:<br />
$ echo "NoDisplay=true" >> foo.desktop<br />
<br />
==== How to change Applications icon size ====<br />
<br />
For many, one of the weird thing in GNOME 3 is the giant size of the icons in the Applications view. It becomes really painful when working with a small screen resolution and a lot of apps.<br />
Thankfully there is a way to change the icon size. This is done by editing the Gnome-Shell theme. Edit the system files directly (don't forget to make a backup) or copy the theme in your local folder first.<br />
<br />
For the default theme:<br />
/usr/share/gnome-shell/theme/gnome-shell.css<br />
And for user ones:<br />
/usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css<br />
<br />
Edit the ''gnome-shell.css'' and replace the following value:<br />
<br />
.icon-grid {<br />
spacing: 18px;<br />
-shell-grid-item-size: 82px;<br />
}<br />
<br />
.icon-grid .overview-icon {<br />
icon-size: 48px;<br />
}<br />
<br />
Restart the shell (ALT+F2 then 'r'). If it crashes, restart the session.<br />
<br />
A default GNOME Shell theme clone with smaller icons is available [http://aur.archlinux.org/packages.php?ID=51586 on the AUR].<br />
<br />
=== Titlebar ===<br />
<br />
==== Reduce titlebar height ====<br />
<br />
# sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] This changes vertical padding from 14 to 0, giving windows a sleeker look.<br />
<br />
To restore the original values:<br />
<br />
sudo pacman -S gnome-themes-standard<br />
<br />
==== Reorder titlebar buttons ====<br />
<br />
At present this setting is changeable only through '''gconf-editor.'''<br />
<br />
For example, we move the close and minimize buttons to the left side of the titlebar. Open '''gconf-editor''' and locate the '''''desktop.gnome.shell.windows.button_layout''''' key. Change its value to '''<tt>close,minimize:</tt>''' (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. [[#Restarting_the_shell|Restart the shell]] to see your new button arrangement.<br />
<br />
==== Hide titlebar when maximized ====<br />
<br />
# sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.<br />
<br />
With suitable keybindings, you should be able to use {{Keypress|Alt}} + {{Keypress|F5}}, {{Keypress|Alt}} + {{Keypress|F10}} or {{Keypress|Alt}} + {{Keypress|Space}} to remedy the situation.<br />
<br />
To prevent '''{{filename|metacity-theme-3.xml}}''' from being overwritten each time package "gnome-themes-standard" is upgraded, add its name to '''{{Filename|/etc/pacman.conf}}''' with <tt>NoUpgrade</tt>.<br />
<br />
: {{File|/etc/pacman.conf|content=<nowiki>... previous lines ...<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
# IgnorePkg =<br />
# IgnoreGroup =<br />
<br />
NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml # Do not add a leading slash to the path<br />
<br />
... more lines ...</nowiki>}}<br />
<br />
To restore original Adwaita theme values:<br />
<br />
# pacman -S gnome-themes-standard<br />
<br />
=== Login screen ===<br />
<br />
To modify characteristics of the login screen (GDM, the GNOME display manager) the following lines can be executed. The first command allows all users, including "gdm", to access X settings (albeit temporarily). This command creates a temporary vulnerability, so be advised. The second command opens a bash session with the credentials of user "gdm". '''Note:''' for exposition, user gdm's terminal prompt is shown as '''$'''. In actuality, it shows something like -bash-4.2$.<br />
<br />
# xhost +<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
The third command prints DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We must export these variables.<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
The following backtick-ed command combines '''dbus-launch''' and '''export''' into a single command. (Dbus-launch has command line options which appear to obviate the need for the '''sed''' pipeline; that method seems to export no more than the first variable.)<br />
<br />
$ `dbus-launch | sed "s/^/export /"`<br />
<br />
<div style="margin: 1em 3em;"><br />
To avoid copying and pasting, you may use the script '''{{Filename|prep-gdm-vars}}''' to export the variables. The other scripts assist in setting up the GDM wallpaper. Place these files in a suitable location. Make them executable using chmod. An example of running these scripts appears below.<br />
<br />
{{File|name=/usr/local/bin/prep-gdm-vars|content=<nowiki># This script must be run using '.' or 'source'<br />
`dbus-launch | sed "s/^/export /"`</nowiki>}}<br />
<br />
{{File|name=/usr/local/bin/show-avail-gdm-bkgd|content=<nowiki>#!/bin/bash<br />
# Usage: show-avail-gdm-bkgd [folder]<br />
# Specify any folder within /usr/share/backgrounds.<br />
# If you omit the folder, you'll be shown available choices.<br />
file_part="/usr/share/backgrounds/"<br />
if ! [ $1 ]; then<br />
echo -en \\n Please specify one of these directories:\\n\\n\\040<br />
ls $file_part; echo; exit 1; fi<br />
ls ${file_part}/$1<br />
</nowiki>}}<br />
<br />
{{File|name=/usr/local/bin/revise-gdm-bkgd|content=<nowiki>#!/bin/bash<br />
# Usage: revise-gdm-bkgd gnome/filename.jpg<br />
# Specify any file path within /usr/share/backgrounds.<br />
org_part="org.gnome.desktop.background picture-uri"<br />
file_full="/usr/share/backgrounds/$1"<br />
# Trap when argument is: missing, a mere directory, a bad filename.<br />
if ( ! [ $1 ] || [ -d $file_full ] ); then<br />
echo -en \\n Specify a file. Use this example:<br />
echo -e \ \ revise-gdm-bkgd \ gnome/TwoWings.jpg\\n; exit 1; fi<br />
if ! [ -r $file_full ]; then<br />
echo -e \\n Specifed file does not exist or is not readable.\\n; exit 2; fi<br />
GSETTINGS_BACKEND=dconf gsettings set $org_part "file://${file_full}"<br />
</nowiki>}}<br />
</div><br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
==== Login background image ====<br />
<br />
Once session variables have been exported as explained above, you may issue commands to retrieve or set items used by GDM. The following commands retrieve or set the file name used for GDM's wallpaper.<br />
<pre style="overflow:auto;"><br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg'<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom'<br />
## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom</pre><br />
You must specify a file which user "gdm" has permission to read. GDM cannot read files in your home directory.<br />
<br />
<div style="margin: 1em 3em;"><br />
Here is a session showing how a user might change the GDM wallpaper using the scripts listed above. It starts with a normal user's terminal and assumes he is able to open a bash session as root. The root user then opens a session as "gdm" and changes the wallpaper.<br />
<br />
$ su -<br />
Password: <br />
<br />
# xhost +<br />
access control disabled, clients can connect from any host<br />
# su - gdm -s /bin/bash<br />
<br />
'''-bash-4.2$''' . prep-gdm-vars # Must use . to execute this script!<br />
access control disabled, clients can connect from any host<br />
<br />
'''-bash-4.2$''' show-avail-gdm-bkgd gnome<br />
Aqua.jpg FreshFlower.jpg Spaceflare-nova.jpg Terraform-green.jpg YellowFlower.jpg<br />
Blinds.jpg Garden.jpg Spaceflare-supernova.jpg Terraform-orange.jpg<br />
BlueMarbleWest.jpg GreenMeadow.jpg SundownDunes.jpg TwoWings.jpg<br />
FootFall.png Spaceflare.jpg Terraform-blue.jpg Wood.jpg<br />
<br />
'''-bash-4.2$''' revise-gdm-bkgd gnome/GreenMeadow.jpg<br />
<br />
'''-bash-4.2$''' logout<br />
<br />
# logout<br />
$<br />
<br />
Script '''{{Filename|revise-gdm-bkgd}}''' may also be used to change your normal user background from the command prompt. Admittedly, the script name does not quite fit when used for that purpose.<br />
</div><br />
<br />
==== Larger font for login ====<br />
<br />
This tweak enlarges the login font with a scaling factor. It is the same method employed by ''Accessibility Manager'' on the desktop.<br />
<br />
You must [[#Login_screen|export the GDM session variables]] before performing this tweak.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'<br />
<br />
==== Turning off the sound ====<br />
<br />
This tweak disables the audible feedback heard when the system volume is adjusted (via keyboard) on the login screen. You must first export the GDM session variables.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds 'false'<br />
<br />
==== Make the power button interactive ====<br />
<br />
The default installation sets the power button to suspend the system. '''''Power off''''' or '''''Show dialog''''' is a better choice. You must first export the GDM session variables as [[#Login_screen|outlined previously.]]<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive'<br />
$ gsettings list-recursively org.gnome.settings-daemon.plugins.power<br />
<br />
==== GDM keyboard layout ====<br />
<br />
GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the [[Beginners'_Guide#Non-US_keyboard|Beginner's Guide.]]<br />
<br />
== Miscellaneous settings ==<br />
<br />
==== Automatic program launch upon login ====<br />
<br />
Specify which programs start automatically after login using '''gnome-session-properties.''' This tool is part of the <br />
package '''gnome-session.'''<br />
<br />
$ gnome-session-properties<br />
<br />
==== Activate numlock upon login ====<br />
<br />
Install numlockx from repository '''[community]'''. Then, add a startup command to launch numlockx.<br />
<br />
# pacman -S numlockx<br />
$ gnome-session-properties<br />
<br />
The above command opens the '''Startup Applications Preferences''' applet. Click '''''Add''''' and enter the following:<br />
<br />
{| border="0"<br />
| Name: || ''Numlockx''<br />
|-<br />
| Command: || ''/usr/bin/numlockx on''<br />
|-<br />
| Comment: || ''Turns on numlock.''<br />
|}<br />
<br />
This is not a system-wide appearance tweak. Repeat these steps for each user wishing to activate numlock upon login.<br />
<br />
=== GNOME shell extensions ===<br />
<br />
Gnome Shell can be customized with extensions written by others. These provide features such as a dock or a widget for changing the theme. Details on available extensions are found at the [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html WEBUPD8] site. The most recent articles can be found using this [http://www.webupd8.org/search/label/gnome%20shell%20extensions?max-results=20 WEBUPD8 search link.]<br />
<br />
Repository '''[extras]''' has a dozen extensions which can be installed individually. (The latest version of a given extension may be installed using its code snapshot, if preferred.) [http://www.archlinux.org/packages/?sort=&q=gnome-shell-extension&maintainer=&last_update=&flagged=&limit=50 List here.]<br />
<br />
$ pacman -Ss gnome-shell-extension<br />
<br />
[[#Restarting_the_shell|Restart the GNOME Shell]] after installing an extension. See [[#When_an_extension_breaks_GNOME|when an extension breaks GNOME]] for troubleshooting information.<br />
<br />
=== Default terminal ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in GNOME 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
{{Note|For ''nautilus-open-terminal'', you may need a flag (e.g. {{Codeline|-e}}) to indicate that a command will follow: ''nautilus-open-terminal'' passes a {{Codeline|cd}} command in order to change directories to the appropriate location.}}<br />
<br />
=== Middle mouse button ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
=== Xmonad ===<br />
<br />
[[Xmonad]] is a tiling window manager.<br />
<br />
Upgrading to GNOME 3 will likely break your xmonad setup. You can use xmonad again by [[#Enabling_fallback_mode|forcing fallback mode]] and creating two files:<br />
<br />
: {{file|name=/usr/share/gnome-session/sessions/xmonad.session|content=<nowiki>[GNOME Session]<br />
Name=Xmonad session<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-notifications=notification-daemon</nowiki>}}<br />
<br />
: {{file|name=/usr/share/xsessions/xmonad-gnome-session.desktop|content=<nowiki>[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession</nowiki>}}<br />
<br />
The next time you log in, you should have the ability to choose ''Xmonad GNOME'' as your session.<br />
<br />
== Hidden features ==<br />
<br />
GNOME 3 hides many useful options which you can customize with '''dconf-editor.''' GNOME 3 also supports '''gconf-editor''' for settings that have not yet migrated to dconf.<br />
<br />
=== Changing hotkeys ===<br />
<br />
Firstly, use '''dconf-editor''' to place a checkmark next to <tt>can-change-accels</tt> in the key named ''org.gnome.desktop.interface.''<br />
<br />
We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder.<br />
<br />
The default assignment is a somewhat-awkward {{Keypress|Ctrl}} + {{Keypress|Delete}}.<br />
<br />
* Open Nautilus, select any file, and click '''Edit''' on the menu bar.<br />
* Hover over the ''Move to Trash'' menu item.<br />
* While hovering, press {{Keypress|Delete}}. The current accelerator is now unset.<br />
* Press the key that you wish to become the new keyboard accelerator.<br />
* Press {{Keypress|Delete}} to make the new accelerator be the Delete key.<br />
<br />
Unless you select a file or folder, ''Move to Trash'' will be grayed-out. Finally, disable <tt>can-change-accels</tt> to prevent accidental hotkey changes.<br />
<br />
=== Shutdown via the status menu ===<br />
<br />
Presently, GNOME designers have hidden the Shutdown option inside the status menu. To shut down your system with the status menu, click the menu and hold down the '''Alt''' key so that the '''''Suspend''''' item changes to '''''Power Off.''''' The subsequent dialog allows you to shut down or restart your system.<br />
<br />
If you disable the Suspend menu item system-wide as described [[#Disable_"Suspend"_in_the_status_menu|elsewhere in this document]] you do not have to go through these motions.<br />
<br />
Another option is to install the ''Alternative Status Menu'' extension. See the section on shell extensions. The alternative menu extension installs a new status menu with a non-hidden '''''Power Off''''' entry.<br />
<br />
== Integrated messaging (Empathy) ==<br />
<br />
Empathy, the engine behind integrated messaging, and all system settings based on messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed.<br />
<br />
These packages are not included in default Arch GNOME installs. You can install the Telepathy and optionally any backends with:<br />
<br />
# pacman -S telepathy<br />
<br />
Without telepathy, Empathy will not open the account management dialog and can get stuck in this state. If this happens -- even after quitting Empathy cleanly -- the /usr/bin/empathy-accounts application can remain running and will need to be killed before you can add any new accounts.<br />
<br />
View descriptions of telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Freedesktop.org Telepathy Wiki.]<br />
<br />
== Enabling fallback mode ==<br />
<br />
Your session automatically starts in fallback mode when '''gnome-shell''' is not present, or when your hardware cannot handle graphics acceleration — such as running within a virtual machine or running on old hardware.<br />
<br />
If you wish to enable fallback mode while still having '''gnome-shell''' installed, make the following system change:<br />
<br />
Open '''gnome-control-center.''' Click the ''System Info'' icon. Click Graphics. Change ''Forced Fallback Mode'' to <tt>ON.</tt><br />
<br />
You can alternatively choose the type of session from a terminal with a ''gsettings'' command:<br />
<br />
$ gsettings set org.gnome.desktop.session session-name 'gnome-fallback'<br />
<br />
You may want to log out after making the change. You will see the chosen type of session upon your next login.<br />
<br />
To disable forced-fallback mode (that is, launch the normal GNOME Shell) use a value of 'gnome' instead of 'gnome-fallback'.<br />
<br />
== Troubleshooting ==<br />
<br />
=== GNOME login takes a very long time ===<br />
<br />
See if you enabled ''PulseAudio Network'' settings in '''paprefs'''. When any network audio settings are enabled, Gnome hangs about a minute after login.<br />
<br />
One solution is to create a new user account and login to that account. Another solution is to move your '''~/.gconf''', '''~/.gconfd''' and '''~/.conf/dconf''' folders to a holding area. Login again to see if the delay is gone.<br />
<br />
If the excessive delay is gone, determine which setting causes the delay using trial-and-error.<br />
<br />
=== When an extension breaks GNOME ===<br />
<br />
When enabling shell extensions causes GNOME breakage, you should first remove the ''user-theme'' and ''auto-move-windows'' extensions from their installation directory.<br />
<br />
The installation directory could be one of '''{{Filename|~/.local/share/gnome‑shell/extensions,}}''' '''{{Filename|/usr/share/gnome‑shell/extensions,}}''' or '''{{Filename|/usr/local/share/gnome‑shell/extensions}}'''. Removing these two extension-containing folders may fix the breakage. Otherwise, isolate the problem extension with trial‑and‑error.<br />
<br />
Removing or adding an extension-containing folder to the aforementioned directories removes or adds the corresponding extension to your system. Details on Gnome Shell extensions are available at the [https://live.gnome.org/GnomeShell/Extensions GNOME web site.]<br />
<br />
=== Extensions don't work after GNOME 3 update ===<br />
<br />
Locate the folder where your extensions are installed. It might be '''{{Filename|~/.local/share/gnome-shell/extensions}}''' or '''{{Filename|/usr/share/gnome-shell/extensions}}'''.<br />
<br />
Edit each occurrence of '''{{Filename|metadata.json}}''' which appears in each extension sub-folder. <br />
<br />
{| border="0"<br />
| Insert: || '''<tt>"shell-version": ["3.0"]</tt>'''<br />
|-<br />
| Instead of (for example): || '''<tt>"shell-version": ["3.0.1"]</tt>'''<br />
|-<br />
| You might instead use: || '''<tt>"shell-version": ["3.0.0", "3.0.1", "3.0.2"]</tt>'''<br />
|}<br />
<br />
<br />
'''"3.0"''' is the best solution. It indicates the extension works with every '''''3.0.x''''' GNOME Shell version.<br />
<br />
=== Screen is not locked after resume ===<br />
<br />
Screen lock only works when you suspend through GNOME's status menu. If you suspend or hibernate using the power button, your screen is not locked after resume. The problem is a configuration failure in dconf.<br />
<br />
Open ''dconf-editor'' and uncheck '''<tt>lock-use-screensaver</tt>''' in the key named ''org.gnome.power-manager.'' Your screen should now be locked after resume whether you used the status menu, the power button, or a key combination. Bug report: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend #Comment 8]<br />
<br />
=== GTK2+ apps show segfaults and fail to launch ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. This theme appears to conflict with GNOME 3 or GTK3 settings. When '''oxygen-gtk''' has been set as a GTK2 theme, GTK2 apps segfault with errors like these:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current workaround is to remove '''oxygen-gtk''' from the system and use a different theme for applications.<br />
<br />
=== ATI Catalyst driver creates glitches and artifacts ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== Multiple monitors and dock extension ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== No event sounds for Empathy and other programs ===<br />
<br />
If you're using [[OSS]], you may want to install '''libcanberra-oss''' [https://aur.archlinux.org/packages.php?ID=31163 from AUR].<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== Panels don't respond to right-click in fallback mode ===<br />
<br />
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key (<Alt>, <Super>, etc) used for normal windows is also used by panels and their applets.<br />
<br />
=== "Show Desktop" keyboard shortcut does not work ===<br />
<br />
GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:<br />
<br />
System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows<br />
<br />
=== Nautilus does not start ===<br />
<br />
Start gnome-tweak-tool -> File Manager -> Have file manager handle the desktop -> Off<br />
<br />
=== Epiphany does not play flash videos ===<br />
<br />
Epiphany now uses gtk3, but Adobe's Flash Player still relies on gtk2. See [[Epiphany#Flash]] for a workaround involving nspluginwrapper. <br />
<br />
=== Unable to apply stored configuration for monitors ===<br />
<br />
If you encounter this message try to disable the xrandr gnome-settings-daemon plugin :<br />
<br />
dconf write /org/gnome/settings-daemon/plugins/xrandr/active false<br />
<br />
=== Pressing the touchpad lock button fails to re-enable touchpad ===<br />
<br />
Some laptops have a touchpad lock button that disables the touchpad so that users can type without worrying about touching the touchpad. It appears currently that although GNOME can lock the touchpad by pressing this button, it can't unlock it. If the touchpad gets locked you can do the following to unlock it.<br />
# Start a terminal. You can do this by pressing ALT+F2 , then typing gnome-terminal and then pressing enter<br />
# Type in the following command<br />
xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1<br />
<br />
=== CTRL+V shortcut does paste path instead of file in Nautilus ===<br />
<br />
If you are affected by this issue, edit ''~/.gnome2/accels/nautilus'' where you can find two lines for CTRL+V :<br />
<br />
<pre><br />
(gtk_accel_path "<Actions>/DirViewActions/Paste" "<Control>v")<br />
...<br />
(gtk_accel_path "<Actions>/ClipboardActions/Paste" "<Control>v")<br />
</pre><br />
<br />
<br />
The issue seems to come from the second entry. Deleting the line may fix the issue temporarily, so you might have to do it again some time.<br />
<br />
Another way to fix it is to change the shortcut.<br />
<br />
=== Can't Connect To Secured Wi-Fi ===<br />
If you can see the wi-fi connections, but clicking on an encrypted connection fails to show a dialog for key entry, you may need to install network-manager-applet. See [[NetworkManager#GNOME|Gnome NetworkManager setup]].<br />
<br />
==External links==<br />
* [http://www.gnome.org/ The Official Website]<br />
* Themes, icons, and backgrounds:<br />
** [http://art.gnome.org/ Gnome Art]<br />
** [http://www.gnome-look.org/ Gnome Look]<br />
* GTK/GNOME programs:<br />
** [http://www.gnomefiles.org/ Gnome Files]<br />
** [http://www.gnome.org/projects/ Gnome Project Listing]</div>Wonderhttps://wiki.archlinux.org/index.php?title=Arch_Linux_VirtualBox_Guest&diff=149574Arch Linux VirtualBox Guest2011-07-21T06:46:22Z<p>Wonder: package changed name</p>
<hr />
<div>[[Category:Emulators (English)]]<br />
Installing Arch under [[VirtualBox]] is straightforward, and additions should be installed through pacman (not through "Install Guest Additions" in VirtualBox, or a mounted ISO.) Follow these instructions after doing a basic install of the X-window system found on the [[Beginners' Guide]].<br />
<br />
==Install the required package:==<br />
# pacman -Syu virtualbox-archlinux-additions<br />
<br />
==Load vbox modules:==<br />
# modprobe vboxguest<br />
# modprobe vboxsf<br />
# modprobe vboxvideo<br />
<br />
===Auto-start modules===<br />
To autostart these modules each time you boot, you can either<br />
*1) Add the three modules above to the MODULES array in /etc/rc.conf.<br />
#MODULES(... vboxguest vboxsf vboxvideo)<br />
'''OR'''<br />
*2) Add rc.vboxadd to the DAEMONS array. This daemon probes the above listed modules. <br />
#DAEMONS(... rc.vboxadd)<br />
<br />
==Enable VboxClient-all:==<br />
If you are running something that launches /etc/xdg/autostart/vboxclient.desktop, such as GNOME, then you should be ready to go. If you use .xinitrc to launch things instead, you must add<br />
VBoxClient-all &<br />
to your .xinitrc before launching your WM.<br />
<br />
You should now be all set, and all guest additions should work properly.</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=148494GNOME2011-07-07T11:26:53Z<p>Wonder: explain how to set up a correct ~/.xinitrc</p>
<hr />
<div>{{i18n|GNOME 3|GNOME}}<br />
[[fr:GNOME]]<br />
[[de:GNOME]]<br />
[[pl:GNOME]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
The GNOME Project started from scratch and created a completely new desktop called GNOME 3. It has:<br />
<br />
* A modern visual theme and font<br />
* An activities view providing access to all windows and applications<br />
* A subtle notifications system and a discrete top panel<br />
* Integration with an improved Nautilus file manager<br />
* Integrated desktop services for messaging<br />
* A new system settings application <br />
* An activities search feature<br />
* Features such as snap-like window tiling<br />
<br />
Additional explanations are found on the [http://www.gnome3.org/ official GNOME3 website.]<br />
<br />
== Introduction ==<br />
<br />
GNOME 3 has ''two'' interfaces: '''GNOME Shell,''' the new standard layout; and '''fallback mode.''' Gnome-session automatically detects when your computer is incapable of running Gnome Shell and starts fallback mode when appropriate. <br />
<br />
'''Fallback mode''' is similar to GNOME 2. (Fallback mode uses gnome-panel/Metacity instead of gnome-shell/Mutter.)<br />
<br />
When you are on fallback mode you can still replace GNOME's default window manager with your preferred one.<br />
<br />
== Upgrade from GNOME 2 ==<br />
<br />
{{Warning|Upgrading to GNOME 3 from a GNOME 2 session might cause a system crash.}}<br />
<br />
It is recommended that you run the update command from a TTY session or from another Desktop Environment / Window Manager.<br />
<br />
# pacman -Syu <br />
<br />
After this update you have installed GNOME 3.x with ''fallback mode'' only. To install the new GNOME shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
==Installation==<br />
<br />
GNOME 3 is in the [extra] repository. The '''gnome''' group contains the core desktop environment and applications, and gnome-extra contains the rest. You likely don't want all of the packages installed, so consider reading the package descriptions before installing them (or just remove them later).<br />
<br />
Example:<br />
<br />
# pacman -Syu gnome<br />
# pacman -S gnome-extra<br />
<br />
===D-Bus daemon===<br />
The GNOME desktop requires the [[D-Bus]] daemon. Refer to the [[dbus]] article for setup instructions.<br />
<br />
=== Running GNOME ===<br />
<br />
For the best desktop integration, login manager '''GDM''' is recommended. Other login managers (a.k.a. display managers) such as SLiM can be used in place of GDM. Check out the [[Display_Manager|wiki article on display managers]] to learn how desktop environments are started.<br />
<br />
The login manager is a limited process entrusted with duties that impact the system. The [[PolicyKit|PolicyKit wiki article]] addresses the topic of system‑wide access control.<br />
<br />
# pacman -S gdm<br />
<br />
If you prefer to start GNOME manually from the console, add the following line to your '''{{Filename|~/.xinitrc}}''' file. Making sure it is the only line(remove the for block from the standard ~/.xinitrc, it can cause problems) and the only command starting with ''exec.'' See the [[xinitrc| xinitrc wiki article.]]<br />
<br />
exec ck-launch-session gnome-session<br />
<br />
After the ''exec'' command is placed, GNOME is launched by typing '''startx'''.<br />
<br />
== Using the shell ==<br />
<br />
=== GNOME cheat sheet ===<br />
<br />
The GNOME web site has a helpful [https://live.gnome.org/GnomeShell/CheatSheet GNOME Shell cheat sheet] explaining task switching, keyboard use, window control, the panel, overview mode, and more.<br />
<br />
=== Restarting the shell ===<br />
<br />
After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing {{Keypress|Alt}} + {{Keypress|F2}} then {{Keypress|r}} then {{Keypress|Enter}}<br />
<br />
=== Shell crashes ===<br />
<br />
Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes, such as switching between '''''GNOME Shell''''' and '''''fallback mode,''''' cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.<br />
<br />
It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.<br />
<br />
== Customizing GNOME appearance ==<br />
<br />
=== Overall appearance ===<br />
<br />
GNOME 3 may have "started from scratch", but like most large software projects it is assembled from parts dating to different eras. There is not '''one''' all-encompassing configuration tool. The new ''Systems Settings'' tool is a big improvement over previous control panels. ''System Settings'' is well-organized, but you may find yourself wishing for more control over system appearance.<br />
<br />
You may be familiar with existing configuration tools: some of these still work; many will not. Some settings are not readily exposed for you to change. Indubitably, many settings will migrate to newer tools and/or become exposed as time progresses and the wider community embraces and extends the latest GNOME desktop.<br />
<br />
==== Gsettings ====<br />
<br />
A new command-line tool '''gsettings''' stores data in a binary format, unlike previous tools using XML text. A tutorial [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell] explores the power of gsettings.<br />
<br />
==== GNOME tweak tool ====<br />
<br />
This graphical tool customizes fonts, themes, titlebar buttons and other settings. <br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
Version 3.0.3 only works when gnome-shell is installed (OK if forced to fallback mode). [https://bugzilla.gnome.org/show_bug.cgi?id=647132 Bugzilla bug report here.]<br />
<br />
==== GTK3 theme via settings.ini ====<br />
<br />
Like '''{{Filename|~/.gtkrc-2.0}}''' with GTK2+, it is possible to set a GTK3 theme via '''{{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
Variable <tt>$XDG_CONFIG_HOME</tt> is usually set to '''~/.config'''<br />
<br />
''Adwaita,'' the default GNOME 3 theme, is a part of '''gnome-themes-standard.''' Additional GTK3 themes are found at [http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/ Deviantart web site.] For example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It is necessary to [[#Restarting_the_shell|restart GNOME shell]] for settings to be applied. More GTK options are found at [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GNOME developer documentation.]<br />
<br />
==== Icon theme ====<br />
<br />
Using gnome-tweak-tool v. 3.0.3 and later, you can place any icon theme you wish to use inside '''{{Filename|~/.icons}}'''.<br />
<br />
Usefully, GNOME 3 is compatible with GNOME 2 icon themes, which means you're not stuck with the default icons. To install a new set of icons, copy your desired icon theme's directory to '''{{Filename|~/.icons}}'''. As an example:<br />
<br />
$ cp -R /home/user/Desktop/my_icon_theme ~/.icons<br />
<br />
The new theme ''my_icon_theme'' is now selectable using '''gnome-tweak-tool''' under '''''interface.'''''<br />
<br />
Alternatively, you may textually select your icon theme with no need for gnome-tweak-tool. Add the GTK icon theme name to '''{{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
: {{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<nowiki>... previous lines ...<br />
<br />
gtk-icon-theme-name = my_new_icon_theme</nowiki>}}<br />
<br />
=== Nautilus ===<br />
<br />
==== Removing folders from the places sidebar ====<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
==== Always show text-entry location ====<br />
<br />
The standard Nautilus toolbar shows a button bar interface for path navigation. To enter path locations using the ''keyboard'' you must expose the location text-entry field. This is done by pressing {{Keypress|Ctrl}} + {{Keypress|L}}<br />
<br />
To make the location text-entry field always present, use gsettings as shown. Note: after changing this setting you will not be able to expose the button bar. Only when the setting is '''false''' can both forms of location navigation be employed.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== GNOME panel ===<br />
<br />
==== Hide accessibility icon ====<br />
<br />
Create a folder named '''{{Filename|noa11y.icon@panel.ui}}''' in '''{{Filename|$HOME/.local/share/gnome-shell/extensions}}'''. Create two new files:<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/extension.js|content=<nowiki>const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = ''''''';<br />
}</nowiki>}}<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/metadata.json|content=<nowiki>{<br />
"shell-version": ["3.0"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] The accessibility icon should be hidden. If this extension ceases to work in the future, adjust the shell version number in '''{{Filename|metadata.json.}}'''<br />
<br />
Alternatively, you may disable the accessibility icon system-wide. Edit '''{{Filename|/usr/share/gnome-shell/js/ui/panel.js}}''' Locate the following line and comment it out or delete it. Afterward restart the shell.<br />
<br />
'a11y': imports.ui.status.accessibility.ATIndicator,<br />
<br />
==== Hide bluetooth icon ====<br />
<br />
Deactivate bluetooth as startup-service if that is your intent. Refer to section [[#Automatic_program_launch_upon_login|Automatic program launch upon login]]<br />
<br />
Create a folder named '''{{Filename|nobluetooth.icon@panel.ui}}''' in '''{{Filename|~/.local/share/gnome-shell/extensions}}'''. Create two new files:<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js|content=<nowiki>const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = ''''''';<br />
}</nowiki>}}<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json|content=<nowiki>{<br />
"shell-version": ["3.0"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] The icon should be hidden. If this extension ceases to work in the future, adjust the shell version number in '''{{Filename|metadata.json.}}'''<br />
<br />
==== Show battery icon ====<br />
<br />
To show the battery tray icon, install gnome-power-manager.<br />
<br />
# pacman -S gnome-power-manager<br />
<br />
==== Disable "Suspend" in the status menu ====<br />
<br />
A quick way to do it system-wide is to change line 153 of '''{{Filename|/usr/share/gnome-shell/js/ui/statusMenu.js}}'''. This change takes effect the next time GNOME Shell is started.<br />
<br />
// this._haveSuspend = this._upClient.get_can_suspend(); // Comment this line out.<br />
this._haveSuspend = false; // Use this line instead.<br />
<br />
==== Eliminate delay when logging out ====<br />
<br />
The following tweak removes the confirmation dialog and sixty second delay for logging out.<br />
<br />
This dialog normally appears when you log out with the status menu. This tweak affects the '''''Power Off''''' dialog as well. This is not a system-wide change; it affects only the user who enters this command. The change takes effect immediately after entering the command.<br />
<br />
$ gsettings set org.gnome.SessionManager logout-prompt 'false'<br />
<br />
=== Titlebar ===<br />
<br />
==== Reduce titlebar height ====<br />
<br />
# sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] This changes vertical padding from 14 to 0, giving windows a sleeker look.<br />
<br />
To restore the original values:<br />
<br />
sudo pacman -S gnome-themes-standard<br />
<br />
==== Reorder titlebar buttons ====<br />
<br />
At present this setting is changeable only through '''gconf-editor.'''<br />
<br />
For example, we move the close and minimize buttons to the left side of the titlebar. Open '''gconf-editor''' and locate the '''''desktop.gnome.shell.windows.button_layout''''' key. Change its value to '''<tt>close,minimize:</tt>''' (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. [[#Restarting_the_shell|Restart the shell]] to see your new button arrangement.<br />
<br />
==== Hide titlebar when maximized ====<br />
<br />
# sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.<br />
<br />
With suitable keybindings, you should be able to use {{Keypress|Alt}} + {{Keypress|F5}}, {{Keypress|Alt}} + {{Keypress|F10}} or {{Keypress|Alt}} + {{Keypress|Space}} to remedy the situation.<br />
<br />
To prevent '''{{filename|metacity-theme-3.xml}}''' from being overwritten each time package "gnome-themes-standard" is upgraded, add its name to '''{{Filename|/etc/pacman.conf}}''' with <tt>NoUpgrade</tt>.<br />
<br />
: {{File|/etc/pacman.conf|content=<nowiki>... previous lines ...<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
# IgnorePkg =<br />
# IgnoreGroup =<br />
<br />
NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml # Do not add a leading slash to the path<br />
<br />
... more lines ...</nowiki>}}<br />
<br />
To restore original Adwaita theme values:<br />
<br />
# pacman -S gnome-themes-standard<br />
<br />
=== Login screen ===<br />
<br />
To modify characteristics of the login screen (GDM, the GNOME display manager) the following lines can be executed. The first command allows all users, including "gdm", to access X settings (albeit temporarily). This command creates a temporary vulnerability, so be advised. The second command opens a bash session with the credentials of user "gdm". '''Note:''' for exposition, user gdm's terminal prompt is shown as '''$'''. In actuality, it shows something like -bash-4.2$.<br />
<br />
# xhost +<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
The third command prints DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We must export these variables.<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
The following backtick-ed command combines '''dbus-launch''' and '''export''' into a single command. (Dbus-launch has command line options which appear to obviate the need for the '''sed''' pipeline; that method seems to export no more than the first variable.)<br />
<br />
# `dbus-launch | sed "s/^/export /"`<br />
<br />
<div style="margin: 1em 3em;"><br />
To avoid copying and pasting, you may use the script '''{{Filename|prep-gdm-vars}}''' to export the variables. The other scripts assist in setting up the GDM wallpaper. Place these files in a suitable location. Make them executable using chmod. An example of running these scripts appears below.<br />
<br />
{{File|name=/usr/local/prep-gdm-vars|content=<nowiki># This script must be run using '.' or 'source'<br />
`dbus-launch | sed "s/^/export /"`</nowiki>}}<br />
<br />
{{File|name=/usr/local/show-avail-gdm-bkgd|content=<nowiki>#!/bin/bash<br />
# Usage: show-avail-gdm-bkgd [folder]<br />
# Specify any folder within /usr/share/backgrounds.<br />
# If you omit the folder, you'll be shown available choices.<br />
file_part="/usr/share/backgrounds/"<br />
if ! [ $1 ]; then<br />
echo -en \\n Please specify one of these directories:\\n\\n\\040<br />
ls $file_part; echo; exit 1; fi<br />
ls ${file_part}/$1<br />
</nowiki>}}<br />
<br />
{{File|name=/usr/local/revise-gdm-bkgd|content=<nowiki>#!/bin/bash<br />
# Usage: revise-gdm-bkgd gnome/filename.jpg<br />
# Specify any file path within /usr/share/backgrounds.<br />
org_part="org.gnome.desktop.background picture-uri"<br />
file_full="/usr/share/backgrounds/${file_part}$1"<br />
# Trap when argument is: missing, a mere directory, a bad filename.<br />
if ( ! [ $1 ] || [ -d $file_full ] ); then<br />
echo -en \\n Specify a file. Use this example:<br />
echo -e \ \ revise-gdm-bkgd \ gnome/TwoWings.jpg\\n; exit 1; fi<br />
if ! [ -r $file_full ]; then<br />
echo -e \\n Specifed file does not exist or is not readable.\\n; exit 2; fi<br />
GSETTINGS_BACKEND=dconf gsettings set $org_part "file://${file_full}"<br />
</nowiki>}}<br />
</div><br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
==== Login background image ====<br />
<br />
Once session variables have been exported as explained above, you may issue commands to retrieve or set items used by GDM. The following commands retrieve or set the file name used for GDM's wallpaper.<br />
<pre style="overflow:auto;"><br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg'<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom'<br />
## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom</pre><br />
You must specify a file which user "gdm" has permission to read. GDM cannot read files in your home directory.<br />
<br />
<div style="margin: 1em 3em;"><br />
Here is a session showing how a user might change the GDM wallpaper using the scripts shown above. It starts with a normal user's terminal and assumes he is able to open a bash session as root. The root user then opens a session as "gdm" and changes the wallpaper.<br />
<br />
$ su -<br />
Password: <br />
<br />
# xhost +<br />
access control disabled, clients can connect from any host<br />
# su - gdm -s /bin/bash<br />
<br />
'''-bash-4.2$''' . prep-gdm-vars # Must use . to execute this script!<br />
access control disabled, clients can connect from any host<br />
<br />
'''-bash-4.2$''' show-avail-gdm-bkgd gnome<br />
Aqua.jpg FreshFlower.jpg Spaceflare-nova.jpg Terraform-green.jpg YellowFlower.jpg<br />
Blinds.jpg Garden.jpg Spaceflare-supernova.jpg Terraform-orange.jpg<br />
BlueMarbleWest.jpg GreenMeadow.jpg SundownDunes.jpg TwoWings.jpg<br />
FootFall.png Spaceflare.jpg Terraform-blue.jpg Wood.jpg<br />
<br />
'''-bash-4.2$''' revise-gdm-bkgd gnome/GreenMeadow.jpg<br />
<br />
'''-bash-4.2$''' logout<br />
<br />
# logout<br />
$<br />
<br />
Script '''{{Filename|revise-gdm-bkgd}}''' may also be used to change your normal user background from the command prompt. Admittedly, the script name does not quite fit when used for that purpose.<br />
</div><br />
<br />
==== Turning off the sound ====<br />
<br />
This tweak disables the audible feedback heard when the system volume is adjusted (via keyboard) on the login screen.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
==== Make the power button interactive ====<br />
<br />
The default installation sets the power button to suspend the system. '''''Power off''''' or '''''Show dialog''''' is a better choice. You must first export the GDM session variables as [[#Login_screen|outlined previously.]]<br />
<br />
# GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'<br />
# GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive'<br />
# gsettings list-recursively org.gnome.settings-daemon.plugins.power<br />
<br />
==== GDM keyboard layout ====<br />
<br />
GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the [[Beginners'_Guide#Non-US_keyboard|Beginner's Guide.]]<br />
<br />
==== Automatic program launch upon login ====<br />
<br />
Specify which programs start automatically after login using '''gnome-session-properties.''' This tool is part of the <br />
package '''gnome-session.'''<br />
<br />
$ gnome-session-properties<br />
<br />
== Hidden features ==<br />
<br />
GNOME 3 hides many useful options which you can customize with '''dconf-editor.''' GNOME 3 also supports '''gconf-editor''' for settings that have not yet migrated to dconf.<br />
<br />
=== Changing hotkeys ===<br />
<br />
Firstly, use '''dconf-editor''' to place a checkmark next to <tt>can-change-accels</tt> in the key named ''org.gnome.desktop.interface.''<br />
<br />
We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder.<br />
<br />
The default assignment is a somewhat-awkward {{Keypress|Ctrl}} + {{Keypress|Delete}}.<br />
<br />
* Open Nautilus, select any file, and click '''Edit''' on the menu bar.<br />
* Hover over the ''Move to Trash'' menu item.<br />
* While hovering, press {{Keypress|Delete}}. The current accelerator is now unset.<br />
* Press the key that you wish to become the new keyboard accelerator.<br />
* Press {{Keypress|Delete}} to make the new accelerator be the Delete key.<br />
<br />
Unless you select a file or folder, ''Move to Trash'' will be grayed-out. Finally, disable <tt>can-change-accels</tt> to prevent accidental hotkey changes.<br />
<br />
=== Shutdown via the status menu ===<br />
<br />
Presently, GNOME designers have hidden the Shutdown option inside the status menu. To shut down your system with the status menu, click the menu and then press the '''Alt''' key.<br />
<br />
The '''''Suspend''''' item changes to '''''Power Off.''''' Keep pressing Alt and select '''''Power Off...''''' The subsequent dialog allows you to shut down or restart your system.<br />
<br />
If you disable the Suspend menu item system-wide as described [[#Disable_"Suspend"_in_the_status_menu|elsewhere in this document]] you do not have to go through these motions.<br />
<br />
Another option is to install the ''Alternative Status Menu'' extension. See the section on shell extensions. The alternative menu extension installs a new status menu with a non-hidden '''''Power Off''''' entry.<br />
<br />
== Integrated messaging ==<br />
<br />
Empathy, the engine behind integrated messaging, and all system settings based on messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed.<br />
<br />
These packages are not included in default Arch GNOME installs. The Empathy interface does not send a nice error message; it just fails to work silently. You can install the packages.<br />
<br />
# pacman -S telepathy<br />
<br />
View descriptions of telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Freedesktop.org Telepathy Wiki.]<br />
<br />
== Miscellaneous settings ==<br />
<br />
=== GNOME shell extensions ===<br />
<br />
Gnome Shell can be customized with extensions written by others. These provide features such as a dock or a widget for changing the theme. Details on available extensions are found at the [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html WEBUPD8] site. The most recent articles can be found using this [http://www.webupd8.org/search/label/gnome%20shell%20extensions?max-results=20 WEBUPD8 search link.]<br />
<br />
You can use AUR package [http://aur.archlinux.org/packages.php?ID=47501 gnome‑shell‑extensions‑git] to install several extensions or install them individually using an extension snapshot. [http://www.archlinux.org/packages/?sort=&q=gnome-shell-extension&maintainer=&last_update=&flagged=&limit=50 Listing here.] Restart GNOME shell after installing an extension.<br />
<br />
=== If an extension breaks GNOME ===<br />
<br />
When enabling shell extensions causes GNOME breakage, you should first remove the ''user-theme'' and ''auto-move-windows'' extensions from their installation directory.<br />
<br />
The installation directory could be one of '''{{Filename|~/.local/share/gnome‑shell/extensions,}}''' '''{{Filename|/usr/share/gnome‑shell/extensions,}}''' or '''{{Filename|/usr/local/share/gnome‑shell/extensions}}'''. Removing these two extension-containing folders may fix the breakage. Otherwise, isolate the problem extension with trial‑and‑error.<br />
<br />
Removing or adding an extension-containing folder to the aforementioned directories removes or adds the corresponding extension to your system. Details on Gnome Shell extensions are available at the [https://live.gnome.org/GnomeShell/Extensions GNOME web site.]<br />
<br />
=== Default terminal ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in GNOME 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
{{Note|For ''nautilus-open-terminal'', you may need a flag (e.g. {{Codeline|-e}}) to indicate that a command will follow: ''nautilus-open-terminal'' passes a {{Codeline|cd}} command in order to change directories to the appropriate location.}}<br />
<br />
=== Middle mouse button ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
=== Xmonad ===<br />
<br />
[[Xmonad]] is a tiling window manager.<br />
<br />
Upgrading to GNOME 3 will likely break your xmonad setup. You can use xmonad again by [[#Enabling_fallback_mode|forcing fallback mode]] and creating two files:<br />
<br />
: {{file|name=/usr/share/gnome-session/sessions/xmonad.session|content=<nowiki>[GNOME Session]<br />
Name=Xmonad session<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-notifications=notification-daemon</nowiki>}}<br />
<br />
: {{file|name=/usr/share/xsessions/xmonad-gnome-session.desktop|content=<nowiki>[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession</nowiki>}}<br />
<br />
The next time you log in, you should have the ability to choose ''Xmonad GNOME'' as your session.<br />
<br />
== Enabling fallback mode ==<br />
<br />
Your session automatically starts in fallback mode when '''gnome-shell''' is not present, or when your hardware cannot handle graphics acceleration — such as running within a virtual machine or running on old hardware.<br />
<br />
If you wish to enable fallback mode while still having '''gnome-shell''' installed, make the following system change:<br />
<br />
Open '''gnome-control-center.''' Click the ''System Info'' icon. Click Graphics. Change ''Forced Fallback Mode'' to <tt>ON.</tt><br />
<br />
You can alternatively choose the type of session from a terminal with a ''gsettings'' command:<br />
<br />
$ gsettings set org.gnome.desktop.session session-name 'gnome-fallback'<br />
<br />
You may want to log out after making the change. You will see the chosen type of session upon your next login.<br />
<br />
To disable forced-fallback mode (that is, launch the normal GNOME Shell) use a value of 'gnome' instead of 'gnome-fallback'.<br />
<br />
== Troubleshooting ==<br />
<br />
=== GNOME login takes a very long time ===<br />
<br />
See if you enabled ''PulseAudio Network'' settings in '''paprefs'''. When any network audio settings are enabled, Gnome hangs about a minute after login.<br />
<br />
One solution is to create a new user account and login to that account. Another solution is to move your '''~/.gconf''', '''~/.gconfd''' and '''~/.conf/dconf''' folders to a holding area. Login again to see if the delay is gone.<br />
<br />
If the excessive delay is gone, determine which setting causes the delay using trial-and-error.<br />
<br />
=== Extensions don't work after GNOME 3 update ===<br />
<br />
Locate the folder where your extensions are installed. It might be '''{{Filename|~/.local/share/gnome-shell/extensions}}''' or '''{{Filename|/usr/share/gnome-shell/extensions}}'''.<br />
<br />
Edit each occurrence of '''{{Filename|metadata.json}}''' which appears in each extension sub-folder. <br />
<br />
{| border="0"<br />
| Insert: || '''<tt>"shell-version": ["3.0"]</tt>'''<br />
|-<br />
| Instead of (for example): || '''<tt>"shell-version": ["3.0.1"]</tt>'''<br />
|-<br />
| You might instead use: || '''<tt>"shell-version": ["3.0.0", "3.0.1", "3.0.2"]</tt>'''<br />
|}<br />
<br />
<br />
'''"3.0"''' is the best solution. It indicates the extension works with every '''''3.0.x''''' GNOME Shell version.<br />
<br />
=== Screen is not locked after resume ===<br />
<br />
Screen lock only works when you suspend through GNOME's status menu. If you suspend or hibernate using the power button, your screen is not locked after resume. The problem is a configuration failure in dconf.<br />
<br />
Open ''dconf-editor'' and uncheck '''<tt>lock-use-screensaver</tt>''' in the key named ''org.gnome.power-manager.'' Your screen should now be locked after resume whether you used the status menu, the power button, or a key combination. Bug report: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend #Comment 8]<br />
<br />
=== GTK2+ apps show segfaults and fail to launch ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. This theme appears to conflict with GNOME 3 or GTK3 settings. When '''oxygen-gtk''' has been set as a GTK2 theme, GTK2 apps segfault with errors like these:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current workaround is to remove '''oxygen-gtk''' from the system and use a different theme for applications.<br />
<br />
=== ATI Catalyst driver creates glitches and artifacts ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== Multiple monitors and dock extension ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== No event sounds for Empathy and other programs ===<br />
<br />
If you're using [[OSS]], you may want to install '''libcanberra-oss''' [https://aur.archlinux.org/packages.php?ID=31163 from AUR].<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== Panels don't respond to right-click in fallback mode ===<br />
<br />
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key (<Alt>, <Super>, etc) used for normal windows is also used by panels and their applets.<br />
<br />
=== "Show Desktop" keyboard shortcut does not work ===<br />
<br />
GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:<br />
<br />
System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows<br />
<br />
=== Nautilus does not start ===<br />
<br />
Start gnome-tweak-tool -> File Manager -> Have file manager handle the desktop -> Off<br />
<br />
=== Epiphany does not play flash videos ===<br />
<br />
Epiphany now uses gtk3, but Adobe's Flash Player still relies on gtk2. See [[Epiphany#Flash]] for a workaround involving nspluginwrapper. <br />
<br />
=== Unable to apply stored configuration for monitors ===<br />
<br />
If you encounter this message try to disable the xrandr gnome-settings-daemon plugin :<br />
<br />
dconf write /org/gnome/settings-daemon/plugins/xrandr/active false<br />
<br />
==External links==<br />
* [http://www.gnome.org/ The Official Website]<br />
* Themes, icons, and backgrounds:<br />
** [http://art.gnome.org/ Gnome Art]<br />
** [http://www.gnome-look.org/ Gnome Look]<br />
* GTK/GNOME programs:<br />
** [http://www.gnomefiles.org/ Gnome Files]<br />
** [http://www.gnome.org/projects/ Gnome Project Listing]</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=148493GNOME2011-07-07T11:24:37Z<p>Wonder: gnome group contains a minimal desktop environment, you want all packages from this group</p>
<hr />
<div>{{i18n|GNOME 3|GNOME}}<br />
[[fr:GNOME]]<br />
[[de:GNOME]]<br />
[[pl:GNOME]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
The GNOME Project started from scratch and created a completely new desktop called GNOME 3. It has:<br />
<br />
* A modern visual theme and font<br />
* An activities view providing access to all windows and applications<br />
* A subtle notifications system and a discrete top panel<br />
* Integration with an improved Nautilus file manager<br />
* Integrated desktop services for messaging<br />
* A new system settings application <br />
* An activities search feature<br />
* Features such as snap-like window tiling<br />
<br />
Additional explanations are found on the [http://www.gnome3.org/ official GNOME3 website.]<br />
<br />
== Introduction ==<br />
<br />
GNOME 3 has ''two'' interfaces: '''GNOME Shell,''' the new standard layout; and '''fallback mode.''' Gnome-session automatically detects when your computer is incapable of running Gnome Shell and starts fallback mode when appropriate. <br />
<br />
'''Fallback mode''' is similar to GNOME 2. (Fallback mode uses gnome-panel/Metacity instead of gnome-shell/Mutter.)<br />
<br />
When you are on fallback mode you can still replace GNOME's default window manager with your preferred one.<br />
<br />
== Upgrade from GNOME 2 ==<br />
<br />
{{Warning|Upgrading to GNOME 3 from a GNOME 2 session might cause a system crash.}}<br />
<br />
It is recommended that you run the update command from a TTY session or from another Desktop Environment / Window Manager.<br />
<br />
# pacman -Syu <br />
<br />
After this update you have installed GNOME 3.x with ''fallback mode'' only. To install the new GNOME shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
==Installation==<br />
<br />
GNOME 3 is in the [extra] repository. The '''gnome''' group contains the core desktop environment and applications, and gnome-extra contains the rest. You likely don't want all of the packages installed, so consider reading the package descriptions before installing them (or just remove them later).<br />
<br />
Example:<br />
<br />
# pacman -Syu gnome<br />
# pacman -S gnome-extra<br />
<br />
===D-Bus daemon===<br />
The GNOME desktop requires the [[D-Bus]] daemon. Refer to the [[dbus]] article for setup instructions.<br />
<br />
=== Running GNOME ===<br />
<br />
For the best desktop integration, login manager '''GDM''' is recommended. Other login managers (a.k.a. display managers) such as SLiM can be used in place of GDM. Check out the [[Display_Manager|wiki article on display managers]] to learn how desktop environments are started.<br />
<br />
The login manager is a limited process entrusted with duties that impact the system. The [[PolicyKit|PolicyKit wiki article]] addresses the topic of system‑wide access control.<br />
<br />
# pacman -S gdm<br />
<br />
If you prefer to start GNOME manually from the console, add the following line to your '''{{Filename|~/.xinitrc}}''' file. Making sure it is the last line and the only command starting with ''exec.'' See the [[xinitrc| xinitrc wiki article.]]<br />
<br />
exec ck-launch-session gnome-session<br />
<br />
After the ''exec'' command is placed, GNOME is launched by typing '''startx'''.<br />
<br />
== Using the shell ==<br />
<br />
=== GNOME cheat sheet ===<br />
<br />
The GNOME web site has a helpful [https://live.gnome.org/GnomeShell/CheatSheet GNOME Shell cheat sheet] explaining task switching, keyboard use, window control, the panel, overview mode, and more.<br />
<br />
=== Restarting the shell ===<br />
<br />
After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing {{Keypress|Alt}} + {{Keypress|F2}} then {{Keypress|r}} then {{Keypress|Enter}}<br />
<br />
=== Shell crashes ===<br />
<br />
Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes, such as switching between '''''GNOME Shell''''' and '''''fallback mode,''''' cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.<br />
<br />
It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.<br />
<br />
== Customizing GNOME appearance ==<br />
<br />
=== Overall appearance ===<br />
<br />
GNOME 3 may have "started from scratch", but like most large software projects it is assembled from parts dating to different eras. There is not '''one''' all-encompassing configuration tool. The new ''Systems Settings'' tool is a big improvement over previous control panels. ''System Settings'' is well-organized, but you may find yourself wishing for more control over system appearance.<br />
<br />
You may be familiar with existing configuration tools: some of these still work; many will not. Some settings are not readily exposed for you to change. Indubitably, many settings will migrate to newer tools and/or become exposed as time progresses and the wider community embraces and extends the latest GNOME desktop.<br />
<br />
==== Gsettings ====<br />
<br />
A new command-line tool '''gsettings''' stores data in a binary format, unlike previous tools using XML text. A tutorial [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell] explores the power of gsettings.<br />
<br />
==== GNOME tweak tool ====<br />
<br />
This graphical tool customizes fonts, themes, titlebar buttons and other settings. <br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
Version 3.0.3 only works when gnome-shell is installed (OK if forced to fallback mode). [https://bugzilla.gnome.org/show_bug.cgi?id=647132 Bugzilla bug report here.]<br />
<br />
==== GTK3 theme via settings.ini ====<br />
<br />
Like '''{{Filename|~/.gtkrc-2.0}}''' with GTK2+, it is possible to set a GTK3 theme via '''{{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
Variable <tt>$XDG_CONFIG_HOME</tt> is usually set to '''~/.config'''<br />
<br />
''Adwaita,'' the default GNOME 3 theme, is a part of '''gnome-themes-standard.''' Additional GTK3 themes are found at [http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/ Deviantart web site.] For example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It is necessary to [[#Restarting_the_shell|restart GNOME shell]] for settings to be applied. More GTK options are found at [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GNOME developer documentation.]<br />
<br />
==== Icon theme ====<br />
<br />
Using gnome-tweak-tool v. 3.0.3 and later, you can place any icon theme you wish to use inside '''{{Filename|~/.icons}}'''.<br />
<br />
Usefully, GNOME 3 is compatible with GNOME 2 icon themes, which means you're not stuck with the default icons. To install a new set of icons, copy your desired icon theme's directory to '''{{Filename|~/.icons}}'''. As an example:<br />
<br />
$ cp -R /home/user/Desktop/my_icon_theme ~/.icons<br />
<br />
The new theme ''my_icon_theme'' is now selectable using '''gnome-tweak-tool''' under '''''interface.'''''<br />
<br />
Alternatively, you may textually select your icon theme with no need for gnome-tweak-tool. Add the GTK icon theme name to '''{{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}'''.<br />
<br />
: {{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<nowiki>... previous lines ...<br />
<br />
gtk-icon-theme-name = my_new_icon_theme</nowiki>}}<br />
<br />
=== Nautilus ===<br />
<br />
==== Removing folders from the places sidebar ====<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
==== Always show text-entry location ====<br />
<br />
The standard Nautilus toolbar shows a button bar interface for path navigation. To enter path locations using the ''keyboard'' you must expose the location text-entry field. This is done by pressing {{Keypress|Ctrl}} + {{Keypress|L}}<br />
<br />
To make the location text-entry field always present, use gsettings as shown. Note: after changing this setting you will not be able to expose the button bar. Only when the setting is '''false''' can both forms of location navigation be employed.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== GNOME panel ===<br />
<br />
==== Hide accessibility icon ====<br />
<br />
Create a folder named '''{{Filename|noa11y.icon@panel.ui}}''' in '''{{Filename|$HOME/.local/share/gnome-shell/extensions}}'''. Create two new files:<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/extension.js|content=<nowiki>const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = ''''''';<br />
}</nowiki>}}<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/noa11y.icon@panel.ui/metadata.json|content=<nowiki>{<br />
"shell-version": ["3.0"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] The accessibility icon should be hidden. If this extension ceases to work in the future, adjust the shell version number in '''{{Filename|metadata.json.}}'''<br />
<br />
Alternatively, you may disable the accessibility icon system-wide. Edit '''{{Filename|/usr/share/gnome-shell/js/ui/panel.js}}''' Locate the following line and comment it out or delete it. Afterward restart the shell.<br />
<br />
'a11y': imports.ui.status.accessibility.ATIndicator,<br />
<br />
==== Hide bluetooth icon ====<br />
<br />
Deactivate bluetooth as startup-service if that is your intent. Refer to section [[#Automatic_program_launch_upon_login|Automatic program launch upon login]]<br />
<br />
Create a folder named '''{{Filename|nobluetooth.icon@panel.ui}}''' in '''{{Filename|~/.local/share/gnome-shell/extensions}}'''. Create two new files:<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js|content=<nowiki>const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = ''''''';<br />
}</nowiki>}}<br />
<br />
: {{File|~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json|content=<nowiki>{<br />
"shell-version": ["3.0"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}</nowiki>}}<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] The icon should be hidden. If this extension ceases to work in the future, adjust the shell version number in '''{{Filename|metadata.json.}}'''<br />
<br />
==== Show battery icon ====<br />
<br />
To show the battery tray icon, install gnome-power-manager.<br />
<br />
# pacman -S gnome-power-manager<br />
<br />
==== Disable "Suspend" in the status menu ====<br />
<br />
A quick way to do it system-wide is to change line 153 of '''{{Filename|/usr/share/gnome-shell/js/ui/statusMenu.js}}'''. This change takes effect the next time GNOME Shell is started.<br />
<br />
// this._haveSuspend = this._upClient.get_can_suspend(); // Comment this line out.<br />
this._haveSuspend = false; // Use this line instead.<br />
<br />
==== Eliminate delay when logging out ====<br />
<br />
The following tweak removes the confirmation dialog and sixty second delay for logging out.<br />
<br />
This dialog normally appears when you log out with the status menu. This tweak affects the '''''Power Off''''' dialog as well. This is not a system-wide change; it affects only the user who enters this command. The change takes effect immediately after entering the command.<br />
<br />
$ gsettings set org.gnome.SessionManager logout-prompt 'false'<br />
<br />
=== Titlebar ===<br />
<br />
==== Reduce titlebar height ====<br />
<br />
# sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] This changes vertical padding from 14 to 0, giving windows a sleeker look.<br />
<br />
To restore the original values:<br />
<br />
sudo pacman -S gnome-themes-standard<br />
<br />
==== Reorder titlebar buttons ====<br />
<br />
At present this setting is changeable only through '''gconf-editor.'''<br />
<br />
For example, we move the close and minimize buttons to the left side of the titlebar. Open '''gconf-editor''' and locate the '''''desktop.gnome.shell.windows.button_layout''''' key. Change its value to '''<tt>close,minimize:</tt>''' (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. [[#Restarting_the_shell|Restart the shell]] to see your new button arrangement.<br />
<br />
==== Hide titlebar when maximized ====<br />
<br />
# sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
[[#Restarting_the_shell|Restart the GNOME shell.]] After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.<br />
<br />
With suitable keybindings, you should be able to use {{Keypress|Alt}} + {{Keypress|F5}}, {{Keypress|Alt}} + {{Keypress|F10}} or {{Keypress|Alt}} + {{Keypress|Space}} to remedy the situation.<br />
<br />
To prevent '''{{filename|metacity-theme-3.xml}}''' from being overwritten each time package "gnome-themes-standard" is upgraded, add its name to '''{{Filename|/etc/pacman.conf}}''' with <tt>NoUpgrade</tt>.<br />
<br />
: {{File|/etc/pacman.conf|content=<nowiki>... previous lines ...<br />
<br />
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup<br />
# IgnorePkg =<br />
# IgnoreGroup =<br />
<br />
NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml # Do not add a leading slash to the path<br />
<br />
... more lines ...</nowiki>}}<br />
<br />
To restore original Adwaita theme values:<br />
<br />
# pacman -S gnome-themes-standard<br />
<br />
=== Login screen ===<br />
<br />
To modify characteristics of the login screen (GDM, the GNOME display manager) the following lines can be executed. The first command allows all users, including "gdm", to access X settings (albeit temporarily). This command creates a temporary vulnerability, so be advised. The second command opens a bash session with the credentials of user "gdm". '''Note:''' for exposition, user gdm's terminal prompt is shown as '''$'''. In actuality, it shows something like -bash-4.2$.<br />
<br />
# xhost +<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
The third command prints DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We must export these variables.<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
The following backtick-ed command combines '''dbus-launch''' and '''export''' into a single command. (Dbus-launch has command line options which appear to obviate the need for the '''sed''' pipeline; that method seems to export no more than the first variable.)<br />
<br />
# `dbus-launch | sed "s/^/export /"`<br />
<br />
<div style="margin: 1em 3em;"><br />
To avoid copying and pasting, you may use the script '''{{Filename|prep-gdm-vars}}''' to export the variables. The other scripts assist in setting up the GDM wallpaper. Place these files in a suitable location. Make them executable using chmod. An example of running these scripts appears below.<br />
<br />
{{File|name=/usr/local/prep-gdm-vars|content=<nowiki># This script must be run using '.' or 'source'<br />
`dbus-launch | sed "s/^/export /"`</nowiki>}}<br />
<br />
{{File|name=/usr/local/show-avail-gdm-bkgd|content=<nowiki>#!/bin/bash<br />
# Usage: show-avail-gdm-bkgd [folder]<br />
# Specify any folder within /usr/share/backgrounds.<br />
# If you omit the folder, you'll be shown available choices.<br />
file_part="/usr/share/backgrounds/"<br />
if ! [ $1 ]; then<br />
echo -en \\n Please specify one of these directories:\\n\\n\\040<br />
ls $file_part; echo; exit 1; fi<br />
ls ${file_part}/$1<br />
</nowiki>}}<br />
<br />
{{File|name=/usr/local/revise-gdm-bkgd|content=<nowiki>#!/bin/bash<br />
# Usage: revise-gdm-bkgd gnome/filename.jpg<br />
# Specify any file path within /usr/share/backgrounds.<br />
org_part="org.gnome.desktop.background picture-uri"<br />
file_full="/usr/share/backgrounds/${file_part}$1"<br />
# Trap when argument is: missing, a mere directory, a bad filename.<br />
if ( ! [ $1 ] || [ -d $file_full ] ); then<br />
echo -en \\n Specify a file. Use this example:<br />
echo -e \ \ revise-gdm-bkgd \ gnome/TwoWings.jpg\\n; exit 1; fi<br />
if ! [ -r $file_full ]; then<br />
echo -e \\n Specifed file does not exist or is not readable.\\n; exit 2; fi<br />
GSETTINGS_BACKEND=dconf gsettings set $org_part "file://${file_full}"<br />
</nowiki>}}<br />
</div><br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
==== Login background image ====<br />
<br />
Once session variables have been exported as explained above, you may issue commands to retrieve or set items used by GDM. The following commands retrieve or set the file name used for GDM's wallpaper.<br />
<pre style="overflow:auto;"><br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg'<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom'<br />
## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom</pre><br />
You must specify a file which user "gdm" has permission to read. GDM cannot read files in your home directory.<br />
<br />
<div style="margin: 1em 3em;"><br />
Here is a session showing how a user might change the GDM wallpaper using the scripts shown above. It starts with a normal user's terminal and assumes he is able to open a bash session as root. The root user then opens a session as "gdm" and changes the wallpaper.<br />
<br />
$ su -<br />
Password: <br />
<br />
# xhost +<br />
access control disabled, clients can connect from any host<br />
# su - gdm -s /bin/bash<br />
<br />
'''-bash-4.2$''' . prep-gdm-vars # Must use . to execute this script!<br />
access control disabled, clients can connect from any host<br />
<br />
'''-bash-4.2$''' show-avail-gdm-bkgd gnome<br />
Aqua.jpg FreshFlower.jpg Spaceflare-nova.jpg Terraform-green.jpg YellowFlower.jpg<br />
Blinds.jpg Garden.jpg Spaceflare-supernova.jpg Terraform-orange.jpg<br />
BlueMarbleWest.jpg GreenMeadow.jpg SundownDunes.jpg TwoWings.jpg<br />
FootFall.png Spaceflare.jpg Terraform-blue.jpg Wood.jpg<br />
<br />
'''-bash-4.2$''' revise-gdm-bkgd gnome/GreenMeadow.jpg<br />
<br />
'''-bash-4.2$''' logout<br />
<br />
# logout<br />
$<br />
<br />
Script '''{{Filename|revise-gdm-bkgd}}''' may also be used to change your normal user background from the command prompt. Admittedly, the script name does not quite fit when used for that purpose.<br />
</div><br />
<br />
==== Turning off the sound ====<br />
<br />
This tweak disables the audible feedback heard when the system volume is adjusted (via keyboard) on the login screen.<br />
<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
==== Make the power button interactive ====<br />
<br />
The default installation sets the power button to suspend the system. '''''Power off''''' or '''''Show dialog''''' is a better choice. You must first export the GDM session variables as [[#Login_screen|outlined previously.]]<br />
<br />
# GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'<br />
# GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive'<br />
# gsettings list-recursively org.gnome.settings-daemon.plugins.power<br />
<br />
==== GDM keyboard layout ====<br />
<br />
GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the [[Beginners'_Guide#Non-US_keyboard|Beginner's Guide.]]<br />
<br />
==== Automatic program launch upon login ====<br />
<br />
Specify which programs start automatically after login using '''gnome-session-properties.''' This tool is part of the <br />
package '''gnome-session.'''<br />
<br />
$ gnome-session-properties<br />
<br />
== Hidden features ==<br />
<br />
GNOME 3 hides many useful options which you can customize with '''dconf-editor.''' GNOME 3 also supports '''gconf-editor''' for settings that have not yet migrated to dconf.<br />
<br />
=== Changing hotkeys ===<br />
<br />
Firstly, use '''dconf-editor''' to place a checkmark next to <tt>can-change-accels</tt> in the key named ''org.gnome.desktop.interface.''<br />
<br />
We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder.<br />
<br />
The default assignment is a somewhat-awkward {{Keypress|Ctrl}} + {{Keypress|Delete}}.<br />
<br />
* Open Nautilus, select any file, and click '''Edit''' on the menu bar.<br />
* Hover over the ''Move to Trash'' menu item.<br />
* While hovering, press {{Keypress|Delete}}. The current accelerator is now unset.<br />
* Press the key that you wish to become the new keyboard accelerator.<br />
* Press {{Keypress|Delete}} to make the new accelerator be the Delete key.<br />
<br />
Unless you select a file or folder, ''Move to Trash'' will be grayed-out. Finally, disable <tt>can-change-accels</tt> to prevent accidental hotkey changes.<br />
<br />
=== Shutdown via the status menu ===<br />
<br />
Presently, GNOME designers have hidden the Shutdown option inside the status menu. To shut down your system with the status menu, click the menu and then press the '''Alt''' key.<br />
<br />
The '''''Suspend''''' item changes to '''''Power Off.''''' Keep pressing Alt and select '''''Power Off...''''' The subsequent dialog allows you to shut down or restart your system.<br />
<br />
If you disable the Suspend menu item system-wide as described [[#Disable_"Suspend"_in_the_status_menu|elsewhere in this document]] you do not have to go through these motions.<br />
<br />
Another option is to install the ''Alternative Status Menu'' extension. See the section on shell extensions. The alternative menu extension installs a new status menu with a non-hidden '''''Power Off''''' entry.<br />
<br />
== Integrated messaging ==<br />
<br />
Empathy, the engine behind integrated messaging, and all system settings based on messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed.<br />
<br />
These packages are not included in default Arch GNOME installs. The Empathy interface does not send a nice error message; it just fails to work silently. You can install the packages.<br />
<br />
# pacman -S telepathy<br />
<br />
View descriptions of telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Freedesktop.org Telepathy Wiki.]<br />
<br />
== Miscellaneous settings ==<br />
<br />
=== GNOME shell extensions ===<br />
<br />
Gnome Shell can be customized with extensions written by others. These provide features such as a dock or a widget for changing the theme. Details on available extensions are found at the [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html WEBUPD8] site. The most recent articles can be found using this [http://www.webupd8.org/search/label/gnome%20shell%20extensions?max-results=20 WEBUPD8 search link.]<br />
<br />
You can use AUR package [http://aur.archlinux.org/packages.php?ID=47501 gnome‑shell‑extensions‑git] to install several extensions or install them individually using an extension snapshot. [http://www.archlinux.org/packages/?sort=&q=gnome-shell-extension&maintainer=&last_update=&flagged=&limit=50 Listing here.] Restart GNOME shell after installing an extension.<br />
<br />
=== If an extension breaks GNOME ===<br />
<br />
When enabling shell extensions causes GNOME breakage, you should first remove the ''user-theme'' and ''auto-move-windows'' extensions from their installation directory.<br />
<br />
The installation directory could be one of '''{{Filename|~/.local/share/gnome‑shell/extensions,}}''' '''{{Filename|/usr/share/gnome‑shell/extensions,}}''' or '''{{Filename|/usr/local/share/gnome‑shell/extensions}}'''. Removing these two extension-containing folders may fix the breakage. Otherwise, isolate the problem extension with trial‑and‑error.<br />
<br />
Removing or adding an extension-containing folder to the aforementioned directories removes or adds the corresponding extension to your system. Details on Gnome Shell extensions are available at the [https://live.gnome.org/GnomeShell/Extensions GNOME web site.]<br />
<br />
=== Default terminal ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in GNOME 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
{{Note|For ''nautilus-open-terminal'', you may need a flag (e.g. {{Codeline|-e}}) to indicate that a command will follow: ''nautilus-open-terminal'' passes a {{Codeline|cd}} command in order to change directories to the appropriate location.}}<br />
<br />
=== Middle mouse button ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
=== Xmonad ===<br />
<br />
[[Xmonad]] is a tiling window manager.<br />
<br />
Upgrading to GNOME 3 will likely break your xmonad setup. You can use xmonad again by [[#Enabling_fallback_mode|forcing fallback mode]] and creating two files:<br />
<br />
: {{file|name=/usr/share/gnome-session/sessions/xmonad.session|content=<nowiki>[GNOME Session]<br />
Name=Xmonad session<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-notifications=notification-daemon</nowiki>}}<br />
<br />
: {{file|name=/usr/share/xsessions/xmonad-gnome-session.desktop|content=<nowiki>[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession</nowiki>}}<br />
<br />
The next time you log in, you should have the ability to choose ''Xmonad GNOME'' as your session.<br />
<br />
== Enabling fallback mode ==<br />
<br />
Your session automatically starts in fallback mode when '''gnome-shell''' is not present, or when your hardware cannot handle graphics acceleration — such as running within a virtual machine or running on old hardware.<br />
<br />
If you wish to enable fallback mode while still having '''gnome-shell''' installed, make the following system change:<br />
<br />
Open '''gnome-control-center.''' Click the ''System Info'' icon. Click Graphics. Change ''Forced Fallback Mode'' to <tt>ON.</tt><br />
<br />
You can alternatively choose the type of session from a terminal with a ''gsettings'' command:<br />
<br />
$ gsettings set org.gnome.desktop.session session-name 'gnome-fallback'<br />
<br />
You may want to log out after making the change. You will see the chosen type of session upon your next login.<br />
<br />
To disable forced-fallback mode (that is, launch the normal GNOME Shell) use a value of 'gnome' instead of 'gnome-fallback'.<br />
<br />
== Troubleshooting ==<br />
<br />
=== GNOME login takes a very long time ===<br />
<br />
See if you enabled ''PulseAudio Network'' settings in '''paprefs'''. When any network audio settings are enabled, Gnome hangs about a minute after login.<br />
<br />
One solution is to create a new user account and login to that account. Another solution is to move your '''~/.gconf''', '''~/.gconfd''' and '''~/.conf/dconf''' folders to a holding area. Login again to see if the delay is gone.<br />
<br />
If the excessive delay is gone, determine which setting causes the delay using trial-and-error.<br />
<br />
=== Extensions don't work after GNOME 3 update ===<br />
<br />
Locate the folder where your extensions are installed. It might be '''{{Filename|~/.local/share/gnome-shell/extensions}}''' or '''{{Filename|/usr/share/gnome-shell/extensions}}'''.<br />
<br />
Edit each occurrence of '''{{Filename|metadata.json}}''' which appears in each extension sub-folder. <br />
<br />
{| border="0"<br />
| Insert: || '''<tt>"shell-version": ["3.0"]</tt>'''<br />
|-<br />
| Instead of (for example): || '''<tt>"shell-version": ["3.0.1"]</tt>'''<br />
|-<br />
| You might instead use: || '''<tt>"shell-version": ["3.0.0", "3.0.1", "3.0.2"]</tt>'''<br />
|}<br />
<br />
<br />
'''"3.0"''' is the best solution. It indicates the extension works with every '''''3.0.x''''' GNOME Shell version.<br />
<br />
=== Screen is not locked after resume ===<br />
<br />
Screen lock only works when you suspend through GNOME's status menu. If you suspend or hibernate using the power button, your screen is not locked after resume. The problem is a configuration failure in dconf.<br />
<br />
Open ''dconf-editor'' and uncheck '''<tt>lock-use-screensaver</tt>''' in the key named ''org.gnome.power-manager.'' Your screen should now be locked after resume whether you used the status menu, the power button, or a key combination. Bug report: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend #Comment 8]<br />
<br />
=== GTK2+ apps show segfaults and fail to launch ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. This theme appears to conflict with GNOME 3 or GTK3 settings. When '''oxygen-gtk''' has been set as a GTK2 theme, GTK2 apps segfault with errors like these:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current workaround is to remove '''oxygen-gtk''' from the system and use a different theme for applications.<br />
<br />
=== ATI Catalyst driver creates glitches and artifacts ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== Multiple monitors and dock extension ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== No event sounds for Empathy and other programs ===<br />
<br />
If you're using [[OSS]], you may want to install '''libcanberra-oss''' [https://aur.archlinux.org/packages.php?ID=31163 from AUR].<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== Panels don't respond to right-click in fallback mode ===<br />
<br />
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key (<Alt>, <Super>, etc) used for normal windows is also used by panels and their applets.<br />
<br />
=== "Show Desktop" keyboard shortcut does not work ===<br />
<br />
GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:<br />
<br />
System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows<br />
<br />
=== Nautilus does not start ===<br />
<br />
Start gnome-tweak-tool -> File Manager -> Have file manager handle the desktop -> Off<br />
<br />
=== Epiphany does not play flash videos ===<br />
<br />
Epiphany now uses gtk3, but Adobe's Flash Player still relies on gtk2. See [[Epiphany#Flash]] for a workaround involving nspluginwrapper. <br />
<br />
=== Unable to apply stored configuration for monitors ===<br />
<br />
If you encounter this message try to disable the xrandr gnome-settings-daemon plugin :<br />
<br />
dconf write /org/gnome/settings-daemon/plugins/xrandr/active false<br />
<br />
==External links==<br />
* [http://www.gnome.org/ The Official Website]<br />
* Themes, icons, and backgrounds:<br />
** [http://art.gnome.org/ Gnome Art]<br />
** [http://www.gnome-look.org/ Gnome Look]<br />
* GTK/GNOME programs:<br />
** [http://www.gnomefiles.org/ Gnome Files]<br />
** [http://www.gnome.org/projects/ Gnome Project Listing]</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=147178GNOME2011-06-24T15:50:48Z<p>Wonder: delete stupid suggestion. gnome-bluetooth works out of the box and the udev rule is present in the package in /lib/udev/rules.d/61-gnome-bluetooth-rfkill.rules</p>
<hr />
<div>{{i18n|GNOME 3|GNOME}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from GNOME 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu<br />
# pacman -S gnome<br />
<br />
For additional applications<br />
<br />
# pacman -S gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
{{Daemon|dbus}}<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''')<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
Version 3.0.3 only works if gnome-shell is installed (OK if forced to fallback mode), bug: https://bugzilla.gnome.org/show_bug.cgi?id=647132<br />
<br />
===GDM Customization===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
You will need to point to a file where the gdm user has permission to read, not in your home directory.<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
====Change GDM's keyboard layout====<br />
Since GDM 3 does not care about your gnome keyboard settings, you have to set your layout to Xorg config.<br />
See here: [https://wiki.archlinux.org/index.php/Beginners'_Guide#Non-US_keyboard Beginners'_Guide#Non-US_keyboard]<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Adwaita, the default gnome3 theme is available in '''gnome-themes-standard''' package.<br />
A few third-party themes for gtk3 exist now. Check them out at http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
{{Note|More options can be find there: [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GtkSettings documentation]}}<br />
<br />
=== Hide Titlebar when Maximized ===<br />
# sed -i "s|<frame_geometry name=\"max\" |<frame_geometry name=\"max\" has_title=\"false\" |" /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
Hit {{Keypress|Alt}} + {{Keypress|F2}} and type ''restart'' (or just ''r'') followed by {{Keypress|Enter}} to reload.<br />
<br />
To prevent this file from being overwritten each time the package "gnome-themes-standard" is upgraded, add it to {{Filename|/etc/pacman.conf}} with the <tt>NoUpgrade</tt> option:<br />
<br />
{{File|name=/etc/pacman.conf|content=...<br />
NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml # Do not add the leading slash (root directory) to the path<br />
...}}<br />
<br />
To restore the original values:<br />
# pacman -S gnome-themes-standard<br />
<br />
=== Resizing the Massive Titlebar ===<br />
# sed -i "/title_vertical_pad/s/value=\"[0-9]\{1,2\}\"/value=\"0\"/g" /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
Hit {{Keypress|Alt}} + {{Keypress|F2}} and type ''restart'' followed by {{Keypress|Enter}} <br />
<br />
This will change the title_vertical_pad from 14 to 0 giving a much sleeker look to windows.<br />
<br />
To restore the original values:<br />
sudo pacman -S gnome-themes-standard<br />
<br />
===Setting an icon theme===<br />
<br />
{{Note | With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.}}<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme ~/.icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface'), otherwise it can be set with no need of gnome-tweak-tool by adding the gtk-icon-theme-name entry inside ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini.<br />
{{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<br />
.....<br />
gtk-icon-theme-name = my_new_icon_theme<br />
.....<br />
}}<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
{{Note|For ''nautilus-open-terminal'', you may need a flag (e.g. {{Codeline|-e}}) to indicate that a command will follow: ''nautilus-open-terminal'' passes a {{Codeline|cd}} command in order to change directories to the appropriate location.}}<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press '''Ctrl+L'''. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== Disable accessibility icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''noa11y.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = ''''''';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
If the above method doesn't work, you can try disabling the accessibility icon system wide. Edit the file '''/usr/share/gnome-shell/js/ui/panel.js''', find this line:<br />
'a11y': imports.ui.status.accessibility.ATIndicator,<br />
and comment it out e.g.:<br />
/* 'a11y': imports.ui.status.accessibility.ATIndicator, */<br />
Afterwards restart the shell.<br />
<br />
=== Disable bluetooth icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''nobluetooth.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = ''''''';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
=== Disable suspend capability in the status menu ===<br />
A quick way to do it for all the users is to change the line 153 of "/usr/share/gnome-shell/js/ui/statusMenu.js" from :<br />
this._haveSuspend = this._upClient.get_can_suspend();<br />
to<br />
this._haveSuspend = false;<br />
<br />
=== Middle Mouse Button Emulation ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
=== Battery icon ===<br />
To have battery tray icon, install gnome-power-manager package:<br />
# pacman -S gnome-power-manager<br />
<br />
=== Xmonad ===<br />
<br />
Upgrading to Gnome 3 will (most-likely) break your xmonad setup. You can use xmonad again by forcing fallback mode (see below) and creating the following two files:<br />
<br />
{{file|name=/usr/share/gnome-session/sessions/xmonad.session|content=<br />
[GNOME Session]<br />
Name=Xmonad session<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-notifications=notification-daemon<br />
}}<br />
<br />
{{file|name=/usr/share/xsessions/xmonad-gnome-session.desktop|content=<br />
[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession<br />
}}<br />
<br />
The next time you log in, you'll have the ability to choose ''Xmonad GNOME'' as your session.<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present or if your desktop cannot handle graphics acceleration (such as running in a Virtual Machine or on old hardware). If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
You can also use gsettings to set the session manually from a terminal using the next command:<br />
<br />
<pre>$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.session session-name gnome-fallback</pre><br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push '''delete''', and default accel will be unset. Now push the key that you want to set as accel. <br />
i.e. Pushing again '''delete''', will make the accel change to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
You may view a description of the various telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Telepathy Wiki].<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them or [http://www.archlinux.org/packages/?sort=&q=gnome-shell-extension&maintainer=&last_update=&flagged=&limit=50 install them individually using the [extra] extensions' snapshots] . Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
<br />
=== Gnome does take very long (~ 1 minute) to login ===<br />
Check if you enabled PulseAudio Network settings in paprefs - If there are any network audio settings enabled, Gnome will hang about a minute after login.<br />
Another solution is to try a new useraccount or to move $HOME/.gconf $HOME/.gconfd $HOME/.conf/dconf to a backup folder. Try again to login to see if the delay is gone. If it is gone, you have to look what setting causes that delay.<br />
<br />
=== My extensions don't work anymore after a Gnome 3 update ===<br />
Go to '''$HOME/.local/share/gnome-shell/extensions''' or '''/usr/share/gnome-shell/extensions''' (depends on where you have installed your extensions) and open '''metadata.json''' in every subfolder. <br />
Insert <br />
"shell-version": ["3.0"] <br />
instead of (for example)<br />
"shell-version": ["3.0.1"]<br />
you also could insert<br />
"shell-version": ["3.0.0", "3.0.1", "3.0.2"]<br />
<br />
but in my opinion '''"shell-version": ["3.0"]''' is the best solution, because this means that a extension works for every 3.0.x gnome-shell version, without changing it every time.<br />
<br />
=== My screen isn't locked after resume from suspend/hibernate ===<br />
<br />
Screen lock does only work when you suspend through gnome status menu. If you suspend or hibernate with powerbutton/etc. you screen is not locked after resume. This problem occours because of an config failure in dconf, so just open dconf-editor and change lock-use screensaver to false (unchecked) in org/gnome/power-manager. Your screen will now be locked after resume, regardless whether you used gnome status menu or power button or key combination.<br />
For more information see bugreport: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend#Comment 8]<br />
<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== I use the ATI Catalyst driver and I encounter glitches and artifacts while using GNOME Shell ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
If you're using [[OSS]], you may want to install '''libcanberra-oss''' [https://aur.archlinux.org/packages.php?ID=31163 from AUR].<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== [fallback mode] Panels and applets don't respond to right click to remove, etc, as in GNOME 2 ===<br />
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key (<Alt>, <Super>, etc) used for normal windows is also used by panels and their applets.<br />
<br />
=== Show Desktop: ALT+STRG+D does not work ===<br />
The GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:<br />
System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows<br />
<br />
=== Starting Nautilus does not work ===<br />
Start gnome-tweak-tool -> File Manager -> Have file manager handle the desktop -> Off<br />
<br />
=== Epiphany does not play flash videos ===<br />
Epiphany now uses gtk3, but Adobe's Flash Player still relies on gtk2. See [[Epiphany#Flash]] for a workaround involving nspluginwrapper. <br />
<br />
=== Could not apply the stored configuration for monitors ===<br />
If you encounter this message try to disable the xrandr gnome-settings-daemon plugin :<br />
dconf write /org/gnome/settings-daemon/plugins/xrandr/active false<br />
<br />
==External links==<br />
* [http://www.gnome.org/ The Official Website]<br />
* Themes, icons, and backgrounds:<br />
** [http://art.gnome.org/ Gnome Art]<br />
** [http://www.gnome-look.org/ Gnome Look]<br />
* GTK/GNOME programs:<br />
** [http://www.gnomefiles.org/ Gnome Files]<br />
** [http://www.gnome.org/projects/ Gnome Project Listing]</div>Wonderhttps://wiki.archlinux.org/index.php?title=Nouveau&diff=143082Nouveau2011-05-29T12:24:33Z<p>Wonder: change the prioritization number to allow loading nvidia if user intent to switch back</p>
<hr />
<div>[[Category: Graphics (English)]]<br />
[[Category: X Server (English)]]<br />
[[Category: HOWTOs (English)]]<br />
{{i18n|Nouveau}}<br />
{{Article summary start}}<br />
{{Article summary text|This article details the installation of the Nouveau Open Source 3D acceleration graphics driver for NVIDIA cards. The name of the project refers to the fact that "nouveau" means "new" in French.}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|KMS}}<br />
{{Article summary wiki|Xorg}}<br />
{{Article summary wiki|NVIDIA}}<br />
{{Article summary end}}<br />
<br />
[http://nouveau.freedesktop.org/wiki/ Nouveau] is an open source graphic driver for NVIDIA cards.<br />
Do not forget to check out the [http://nouveau.freedesktop.org/wiki/FAQ FAQ] if you have any questions, as there is a lot of valuable information there.<br />
<br />
==Installation==<br />
Before proceeding, have a look at the [http://nouveau.freedesktop.org/wiki/FeatureMatrix FeatureMatrix] to see what features are supported for a given architecture, and the list of [http://nouveau.freedesktop.org/wiki/CodeNames codenames] to determine the card's category.<br />
<br />
You could also consult [[Wikipedia:Comparison of Nvidia Graphics Processing Units|wikipedia]] for an even more detailed list.<br />
<br />
Install the following packages:<br />
# pacman -S xf86-video-nouveau<br />
<br />
If you want experimental Gallium3D features:<br />
# pacman -S nouveau-dri mesa libgl<br />
<br />
Also make sure you have Xorg properly installed.<br />
<br />
Don't forget to [[Nouveau#Configuration|enable the Xorg driver]] after installing the Nouveau packages.<br />
<br />
{{Warning|3D acceleration is still not officially supported, so don't report any bugs unless you are looking to contribute patches.}}<br />
<br />
==Loading==<br />
<br />
If you kept the proprietary nvidia driver installed, nouveau is probably not going to work.<br />
Either '''uninstall the proprietary Nvidia driver''' <br />
<br />
pacman -Rdd nvidia nvidia-utils<br />
<br />
or '''blacklist it''' by adding the following line to /etc/modprobe.d/modprobe.conf<br />
<br />
blacklist nvidia<br />
<br />
Then nouveau should load fine automatically on next reboot. To test it now, first make sure nvidia is no longer loaded<br />
# rmmod nvidia<br />
Then load nouveau<br />
# modprobe nouveau<br />
And check that it loaded fine by looking at kernel messages<br />
$ dmesg<br />
<br />
'''Note:''' You can use [https://wiki.archlinux.org/index.php/NVIDIA#Switching_between_nvidia_and_nouveau_drivers those scripts] if you are switching between open and closed drivers often.<br />
<br />
==Configuration==<br />
Create the file {{Filename|/etc/X11/xorg.conf.d/30-nouveau.conf}}, and input the following contents:<br />
Section "Device"<br />
Identifier "Nvidia card"<br />
Driver "nouveau"<br />
EndSection<br />
<br />
This is '''required''' to ensure that nouveau driver is loaded. Xorg''' does not yet automatically load the xf86-video-nouveau driver'''.<br />
<br />
==KMS==<br />
Kernel Mode-Setting ([[KMS]]) is required by the Nouveau driver. See the [http://nouveau.freedesktop.org/wiki/KernelModeSetting KernelModeSetting] page for more information.<br />
<br />
===Late start===<br />
With this choice, KMS will be enabled when the boot process says, "Loading modules." This may cause an undesirable screen flicker as the mode changes.<br />
<br />
Remove all "vga=" options from your kernel commandline in {{Filename|/boot/grub/menu.lst}}. Using other framebuffer drivers (such as uvesafb) will conflict with KMS.<br />
<br />
===Early start===<br />
{{Warning|If you have troubles with nouveau, and are led to rebuild nouveau-drm several times for testing purpose, do not add nouveau to the initramfs. It is too easy to forget to rebuild the initramfs and it will just make any testing harder. Just use ''late start''. There might be additional problems with initramfs if you need a firmware for the nv50 family}}<br />
<br />
This method will start KMS as early as possible in the boot process, when the [[initramfs]] is loaded. Here is how to do this with the official packages:<br />
<br />
1) Add "nouveau" to the ''MODULES'' array in {{Filename|/etc/mkinitcpio.conf}}:<br />
MODULES="'''nouveau''' ..."<br />
<br />
2) Add "/etc/modprobe.d/modprobe.conf" to the FILES section in {{Filename|/etc/mkinitcpio.conf}}:<br />
FILES="/etc/modprobe.d/modprobe.conf"<br />
<br />
3) Re-generate your initcpio:<br />
# mkinitcpio -p <''your kernel preset (kernel26, etc.)''><br />
<br />
<small>You can also look at the [[Intel]] instructions for an early start: [[Intel#KMS_.28Kernel_Mode_Setting.29|Intel Graphics:KMS (Kernel Mode Setting)]]</small><br />
<br />
==Alternative installation [latest Mesa]==<br />
<br />
You may install the latest -git packages, through AUR. You can use [http://aur.archlinux.org/packages.php?ID=8266 mesa-git] which will allow the installation of the latest Mesa.<br />
<br />
You can also try installing a newer kernel version, through packages like [http://aur.archlinux.org/packages.php?ID=39965 kernel26-mainline] in which the Nouveau DRM code would allow better performance.<br />
<br />
==DualHead==<br />
Nouveau supports the xrandr extension for modesetting and multiple monitors. See the [[RandR12]] page for tutorials.<br />
<br />
Here is a full sample {{Filename|/etc/X11/xorg.conf}} above for running 2 monitors in dual head mode. You may prefer to use a graphical tool to configure monitors like gnome-display-properties (System -> Preferences -> Display).<br />
<pre><br />
# the right one<br />
Section "Monitor"<br />
Identifier "NEC"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
EndSection<br />
<br />
# the left one<br />
Section "Monitor"<br />
Identifier "FUS"<br />
Option "PreferredMode" "1280x1024_60.00"<br />
Option "LeftOf" "NEC"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "nvidia card"<br />
Driver "nouveau"<br />
Option "Monitor-DVI-I-0" "NEC"<br />
Option "Monitor-DVI-I-1" "FUS"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "screen1"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Depth 24<br />
Virtual 2560 1024<br />
EndSubSection<br />
Device "nvidia card"<br />
EndSection<br />
<br />
Section "ServerLayout"<br />
Identifier "layout1"<br />
Screen "screen1"<br />
EndSection<br />
</pre><br />
<br />
==Setting console resolution==<br />
Use the {{Package Official|fbset}} tool to adjust console resolution.<br />
<br />
You can also pass the resolution to nouveau with the video= kernel line option (see [[KMS]]).</div>Wonderhttps://wiki.archlinux.org/index.php?title=Talk:GNOME&diff=142757Talk:GNOME2011-05-25T10:19:50Z<p>Wonder: /* Is this still a gnome wiki? */</p>
<hr />
<div>Could somebody add an installation section? --[[User:Axanon|Axanon]] 10:49, 16 March 2011 (EDT)<br />
<br />
Does installing gnome 3 remove Gnome 2? --[[User:Gdw2|Gdw2]] 16:58, 28 March 2011 (EDT)<br />
<br />
Followed installation instructions and cannot start gnome-shell. <br />
<br />
$ gnome-shell --replace<br />
gnome-shell: error while loading shared libraries: libgtk-3.so.0: cannot open shared object file: No such file or directory [[User:Arangel|Arangel]] 17:50, 2 April 2011 (CET)<br />
<br />
<br />
@Atmospherian please don't add that nautilus section. <br />
<br />
default nautilus is installed because is a member in gnome group<br />
<br />
Name : nautilus<br />
Version : 3.0.0-1<br />
URL : http://www.gnome.org<br />
Licenses : GPL<br />
Groups : gnome<br />
<br />
also in an update case, you already have nautilus and it would be automatically updated when doing pacman -Syu. If is not then your repo configuration order is wrong. [[User:Wonder|Wonder]] 7 April 2011 (CET)<br />
<br />
@Wonder it was my experience when i upgraded that nautilus was not automatically included in that process, even though i did have my repos configured correctly. It could be possible that other people would experience the same thing as i imagine most people trying gnome 3 would be upgrading, not performing a clean install. <br />
<br />
== NetworkManager is unstable in that repo ==<br />
<br />
it that worths an information! Becease if you use KDE as fallback you cant use the NetworkManager anymore. GNOME Unstable contains a mix of stable and unstable packages now which causes some applications to break (in a lot of cases also firefox dont work anymore)<br />
<br />
<br />
you are very vague, please report a bug containing errors, how firefox doesn't work, the mix with stable and unstable...<br />
<br />
== Multilib-testing needed? ==<br />
<br />
Without the addition of [multilib-testing] for example gparted won't work. ([https://bugs.archlinux.org/task/23755 #23755])<br />
<br />
== deleted manual hotkeys modification ==<br />
<br />
Manual edit of accel.scm into nautilus config doesn't fit with this page. And this can't be a generic method, cause not every application has an accels.scm file, even if it has that, it's location in ~/.config is not mandatory.<br />
[[User:4javier|4javier]] 08:09, 25 April 2011 (EDT)<br />
<br />
:It fits with this page just as much as the remaining part on changing hotkeys does because both serve the same purpose. So I disagree with that it should be downright deleted, particularly as for me (thus possibly others) the ''can-change-accels'' way did not work. I added it again (a bit more carefully phrased) to the "Troubleshooting" section. -- [[User:Misc|Misc]] 15:40, 25 April 2011 (EDT)<br />
<br />
::I still think that applications' specific method of changing accels should be mentioned in the application page itself. Into this page I'd leave just a reminder (i.e. "If this method doesn't work see application's wiki page for app specific file"). But I don't delete it anymore until somebody else tell us his opinion. [[User:4javier|4javier]] 20:35, 25 April 2011 (EDT)<br />
<br />
== Gnome needs xorg ==<br />
<br />
Is it really necessary to point out that gnome needs Xorg server??? :/<br />
:[https://wiki.archlinux.org/index.php?title=GNOME_3&diff=138457&oldid=138437 Fixed]. -- [[User:Karol|Karol]] 09:05, 26 April 2011 (EDT)<br />
:[[User:Adispi|Adispi]] probably wanted Gnome 3 article to have the same note that could be found in [https://wiki.archlinux.org/index.php?title=GNOME&diff=prev&oldid=134279 the Gnome article]. [https://wiki.archlinux.org/index.php?title=GNOME&diff=138476&oldid=137791 I removed that one too.] -- [[User:Karol|Karol]] 10:11, 26 April 2011 (EDT)<br />
:: I found that note was explicitly added by an user from italian community https://wiki.archlinux.org/index.php?title=GNOME&oldid=134279. I'll ask him what's the problem with new xorg installation system. I still think it's superfluous.<br />
:::I didn't add it, I just changed a pre-existing mini procedure to install Xorg through the xorg group, which was declared out of date at that time. I agree, the note states the obvious, for me it's useless. -- [[User:Kynikos|Kynikos]] 11:02, 26 April 2011 (EDT)<br />
:::IIRC [https://bugs.archlinux.org/task/23296 this] was the problem: the contents of xorg group were changed and we had to update the installation procedure in the wiki. Users were baffled that after installing the whole xorg group they couldn't start the X server (because e.g. xorg-xinit wasn't in the xorg group anymore). -- [[User:Karol|Karol]] 11:54, 26 April 2011 (EDT)<br />
<br />
== Seamonkey and Pulseaudio ==<br />
<br />
#I cant setup seamonkey as default webbrowser.. This is imposible in gnome-control-center without some modyfication.. Google give nothing special, only garbage.<br />
#I have "Audigy2 value" and ld10k1 from alsa-tools. How can I do this to work in 5.1? (If you have that problem or/and you know what do, tell me..) Can I disable pa and where? :)<br />
[[User:3ED|3ED]] 10:03, 1 May 2011 (EDT)<br />
<br />
==Nautilus bug==<br />
I think nautilus bug has not too much to do with this page. I think move it to nautilus page should be appropriate.<br />
--[[User:4javier|4javier]] 13:53, 4 May 2011 (EDT)<br />
<br />
==Merge with [[GNOME]]==<br />
I report [https://bbs.archlinux.org/viewtopic.php?id=118012 this forum discussion]: this article needs to be merged with [[GNOME]]. -- [[User:Kynikos|Kynikos]] 17:54, 4 May 2011 (EDT)<br />
:I agree with cosmin, Gnome page should contain just Gnome3 info. At most we could move gnome 2.x info to a Gnome2 page or a Gnome Legacy page. --[[User:4javier|4javier]] 13:28, 6 May 2011 (EDT)<br />
::I'd just merge with [[GNOME]] and discard the outdated parts (almost all), keeping what still makes sense, like the external links (some need updating); the old page would stay in the history afterall. What about [[GNOME Tips]] and [[GNOME Shell]]? -- [[User:Kynikos|Kynikos]] 19:34, 6 May 2011 (EDT)<br />
<br />
== battery icon ==<br />
<br />
I have no battery / power indicator at all! https://live.gnome.org/GnomeShell/Design/Guidelines/SystemStatus/BatteryPower<br />
<br />
solved and added<br />
<br />
I think this is useless. gnome-power-manager is part of gnome-extra group that's already mentioned into the wiki. --[[User:4javier|4javier]] 13:31, 6 May 2011 (EDT)<br />
<br />
== Resizing massive titlebar ==<br />
<br />
Should not be better point that sed manipulation to ~/.themes/Adwaita/metacity-1/metacity-theme-3.xml ? --[[User:4javier|4javier]] 07:27, 7 May 2011 (EDT)<br />
<br />
== Xmonad section ==<br />
<br />
I think xmonad section should be generalized for every other wm: openbox, fluxbox, ratpoison etc. Is there some gnome3 user who can test the method with other wm than xmonad? --[[User:4javier|4javier]] 05:40, 16 May 2011 (EDT)<br />
<br />
== Is this still a gnome wiki? ==<br />
<br />
last tip for dpms through xset I think has nothing to do...it's not a gnome feature, and it's not permanent. It should be added to startup, but the right way should be to turn off dpms statically into xorg.conf.d. I think this page is becoming too unspecific.<br />
:[https://wiki.archlinux.org/index.php?title=GNOME&diff=next&oldid=141933 Thestinger to the rescue!] Fixed :-) -- [[User:Karol|Karol]] 15:20, 18 May 2011 (EDT)<br />
::I know I'm getting really really boring but...https://wiki.archlinux.org/index.php/GNOME#XChat --[[User:4javier|4javier]] 16:19, 24 May 2011 (EDT)<br />
:::You're not boring :-) I've moved it to [[XChat]] but I'm not sure if creating a bunch of stubs is the best way to deal with it. As I'm neither a Gnome guy nor an IRC user don't count on me to expand that article anytime soon. -- [[User:Karol|Karol]] 02:01, 25 May 2011 (EDT)<br />
::::maybe is not be a gnome app but gnome-shell has included features for xchat to stack notifications.<br />
::::http://git.gnome.org/browse/gnome-shell/tree/js/ui/notificationDaemon.js#n76 <br />
::::Maybe we should add a sectiong in gnome wiki called, Integrating apps in gnome-shell and include xchat, pidgin etc -- [[User:Wonder|Wonder]]</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=142755GNOME2011-05-25T10:16:04Z<p>Wonder: drop workarounds that are fixed in packaging</p>
<hr />
<div>{{i18n|GNOME 3|GNOME}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from GNOME 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu<br />
# pacman -S gnome<br />
<br />
For additional applications<br />
<br />
# pacman -S gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
{{Daemon|dbus}}<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''' usblp)<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
Version 3.0.3 only works if gnome-shell is installed (OK if forced to fallback mode), bug: https://bugzilla.gnome.org/show_bug.cgi?id=647132<br />
<br />
===GDM Customization===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
You will need to point to a file where the gdm user has permission to read, not in your home directory.<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
====Change GDM's keyboard layout====<br />
Since GDM 3 does not care about your gnome keyboard settings, you have to set your layout to Xorg config.<br />
See here: [https://wiki.archlinux.org/index.php/Beginners'_Guide#Non-US_keyboard Beginners'_Guide#Non-US_keyboard]<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Only Adwaita theme exists in this moment for gtk3 and is available in '''gnome-themes-standard''' package.<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
{{Note|More options can be find there: [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GtkSettings documentation]}}<br />
<br />
=== Hide Titlebar when Maximized ===<br />
# sed -i "s|<frame_geometry name=\"max\" |<frame_geometry name=\"max\" has_title=\"false\" |" /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
Hit {{Keypress|Alt}} + {{Keypress|F2}} and type ''restart'' (or just ''r'') followed by {{Keypress|Enter}} to reload.<br />
<br />
To prevent this file from being overwritten each time the package "gnome-themes-standard" is upgraded, add it to {{Filename|/etc/pacman.conf}} with the <tt>NoUpgrade</tt> option:<br />
<br />
{{File|name=/etc/pacman.conf|content=...<br />
NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml # Do not add the leading slash (root directory) to the path<br />
...}}<br />
<br />
To restore the original values:<br />
# pacman -S gnome-themes-standard<br />
<br />
=== Resizing the Massive Titlebar ===<br />
# sed -i "/title_vertical_pad/s/value=\"[0-9]\{1,2\}\"/value=\"0\"/g" /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
Hit {{Keypress|Alt}} + {{Keypress|F2}} and type ''restart'' followed by {{Keypress|Enter}} <br />
<br />
This will change the title_vertical_pad from 14 to 0 giving a much sleeker look to windows.<br />
<br />
To restore the original values:<br />
sudo pacman -S gnome-themes-standard<br />
<br />
===Setting an icon theme===<br />
<br />
{{Note | With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.}}<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme ~/.icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface'), otherwise it can be set with no need of gnome-tweak-tool by adding the gtk-icon-theme-name entry inside ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini.<br />
{{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<br />
.....<br />
gtk-icon-theme-name = my_new_icon_theme<br />
.....<br />
}}<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press ctrl+l. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== Disable accessibility icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''noa11y.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = ''''''';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
If the above method doesn't work, you can try disabling the accessibility icon system wide. Edit the file '''/usr/share/gnome-shell/js/ui/panel.js''', find this line:<br />
'a11y': imports.ui.status.accessibility.ATIndicator,<br />
and comment it out e.g.:<br />
/* 'a11y': imports.ui.status.accessibility.ATIndicator, */<br />
Afterwards restart the shell.<br />
<br />
=== Disable bluetooth icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''nobluetooth.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = ''''''';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
=== Middle Mouse Button Emulation ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
=== Battery icon ===<br />
To have battery tray icon, install gnome-power-manager package:<br />
# pacman -S gnome-power-manager<br />
<br />
=== Xmonad ===<br />
<br />
Upgrading to Gnome 3 will (most-likely) break your xmonad setup. You can use xmonad again by forcing fallback mode (see below) and creating the following two files:<br />
<br />
{{file|name=/usr/share/gnome-session/sessions/xmonad.session|content=<br />
[GNOME Session]<br />
Name=Xmonad session<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-notifications=notification-daemon<br />
}}<br />
<br />
{{file|name=/usr/share/xsessions/xmonad-gnome-session.desktop|content=<br />
[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession<br />
}}<br />
<br />
The next time you log in, you'll have the ability to choose ''Xmonad GNOME'' as your session.<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present or if your desktop cannot handle graphics acceleration (such as running in a Virtual Machine or on old hardware). If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
You can also use gsettings to set the session manually from a terminal using the next command:<br />
<br />
<pre>$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.session session-name gnome-fallback</pre><br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push '''delete''', and default accel will be unset. Now push the key that you want to set as accel. <br />
i.e. Pushing again '''delete''', will make the accel change to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
You may view a description of the various telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Telepathy Wiki].<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them or [http://www.archlinux.org/packages/?sort=&q=gnome-shell-extension&maintainer=&last_update=&flagged=&limit=50 install them individually using the [extra] extensions' snapshots] . Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
<br />
=== My screen isn't locked after resume from suspend/hibernate ===<br />
<br />
Screen lock does only work when you suspend through gnome status menu. If you suspend or hibernate with powerbutton/etc. you screen is not locked after resume. This problem occours because of an config failure in dconf, so just open dconf-editor and change lock-use screensaver to false (unchecked) in org/gnome/power-manager. Your screen will no be locked after resume, regardless whether you used gnome status menu or power button or key combination.<br />
For more information see bugreport: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend#Comment 8]<br />
<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== I use the ATI Catalyst driver and I encounter glitches and artifacts while using GNOME Shell ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
If you're using [[OSS]], you may want to install '''libcanberra-oss''' [https://aur.archlinux.org/packages.php?ID=31163 from AUR].<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== [fallback mode] Panels and applets don't respond to right click to remove, etc, as in GNOME 2 ===<br />
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key (<Alt>, <Super>, etc) used for normal windows is also used by panels and their applets.<br />
<br />
=== Show Desktop: ALT+STRG+D does not work ===<br />
The GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:<br />
System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows<br />
<br />
=== Starting Nautilus does not work ===<br />
Start gnome-tweak-tool -> File Manager -> Have file manager handle the desktop -> Off</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=142684GNOME2011-05-24T19:36:24Z<p>Wonder: system tray should be disabled</p>
<hr />
<div>{{i18n|GNOME 3|GNOME}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from GNOME 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu<br />
# pacman -S gnome<br />
<br />
For additional applications<br />
<br />
# pacman -S gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
{{Daemon|dbus}}<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''' usblp)<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
Version 3.0.3 only works if gnome-shell is installed (OK if forced to fallback mode), bug: https://bugzilla.gnome.org/show_bug.cgi?id=647132<br />
<br />
===GDM Customization===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
You will need to point to a file where the gdm user has permission to read, not in your home directory.<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
====Change GDM's keyboard layout====<br />
Since GDM 3 does not care about your gnome keyboard settings, you have to set your layout to Xorg config.<br />
See here: [https://wiki.archlinux.org/index.php/Beginners'_Guide#Non-US_keyboard Beginners'_Guide#Non-US_keyboard]<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Only Adwaita theme exists in this moment for gtk3 and is available in '''gnome-themes-standard''' package.<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
{{Note|More options can be find there: [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GtkSettings documentation]}}<br />
<br />
=== Hide Titlebar when Maximized ===<br />
# sed -i "s|<frame_geometry name=\"max\" |<frame_geometry name=\"max\" has_title=\"false\" |" /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
Hit {{Keypress|Alt}} + {{Keypress|F2}} and type ''restart'' (or just ''r'') followed by {{Keypress|Enter}} to reload.<br />
<br />
To prevent this file from being overwritten each time the package "gnome-themes-standard" is upgraded, add it to {{Filename|/etc/pacman.conf}} with the <tt>NoUpgrade</tt> option:<br />
<br />
{{File|name=/etc/pacman.conf|content=...<br />
NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml # Do not add the leading slash (root directory) to the path<br />
...}}<br />
<br />
To restore the original values:<br />
# pacman -S gnome-themes-standard<br />
<br />
=== Resizing the Massive Titlebar ===<br />
# sed -i "/title_vertical_pad/s/value=\"[0-9]\{1,2\}\"/value=\"0\"/g" /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
Hit {{Keypress|Alt}} + {{Keypress|F2}} and type ''restart'' followed by {{Keypress|Enter}} <br />
<br />
This will change the title_vertical_pad from 14 to 0 giving a much sleeker look to windows.<br />
<br />
To restore the original values:<br />
sudo pacman -S gnome-themes-standard<br />
<br />
===Setting an icon theme===<br />
<br />
{{Note | With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.}}<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme ~/.icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface'), otherwise it can be set with no need of gnome-tweak-tool by adding the gtk-icon-theme-name entry inside ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini.<br />
{{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<br />
.....<br />
gtk-icon-theme-name = my_new_icon_theme<br />
.....<br />
}}<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press ctrl+l. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== Disable accessibility icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''noa11y.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = ''''''';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
If the above method doesn't work, you can try disabling the accessibility icon system wide. Edit the file '''/usr/share/gnome-shell/js/ui/panel.js''', find this line:<br />
'a11y': imports.ui.status.accessibility.ATIndicator,<br />
and comment it out e.g.:<br />
/* 'a11y': imports.ui.status.accessibility.ATIndicator, */<br />
Afterwards restart the shell.<br />
<br />
=== Disable bluetooth icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''nobluetooth.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = ''''''';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
=== Middle Mouse Button Emulation ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
=== Battery icon ===<br />
To have battery tray icon, install gnome-power-manager package:<br />
# pacman -S gnome-power-manager<br />
<br />
=== Xmonad ===<br />
<br />
Upgrading to Gnome 3 will (most-likely) break your xmonad setup. You can use xmonad again by forcing fallback mode (see below) and creating the following two files:<br />
<br />
{{file|name=/usr/share/gnome-session/sessions/xmonad.session|content=<br />
[GNOME Session]<br />
Name=Xmonad session<br />
RequiredComponents=gnome-panel;gnome-settings-daemon;<br />
RequiredProviders=windowmanager;notifications;<br />
DefaultProvider-windowmanager=xmonad<br />
DefaultProvider-notifications=notification-daemon<br />
}}<br />
<br />
{{file|name=/usr/share/xsessions/xmonad-gnome-session.desktop|content=<br />
[Desktop Entry]<br />
Name=Xmonad GNOME<br />
Comment=Tiling window manager<br />
TryExec=/usr/bin/gnome-session<br />
Exec=gnome-session --session=xmonad<br />
Type=XSession<br />
}}<br />
<br />
The next time you log in, you'll have the ability to choose ''Xmonad GNOME'' as your session.<br />
<br />
=== XChat ===<br />
<br />
To use the new Notifications and messaging tray, activate the following options in Settings > Preferences > Chatting > Alerts:<br />
* Show tray balloons<br />
* Blink tray icon (optional)<br />
* Enable system tray icon:unchecked<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present or if your desktop cannot handle graphics acceleration (such as running in a Virtual Machine or on old hardware). If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
You can also use gsettings to set the session manually from a terminal using the next command:<br />
<br />
<pre>$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.session session-name gnome-fallback</pre><br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push '''delete''', and default accel will be unset. Now push the key that you want to set as accel. <br />
i.e. Pushing again '''delete''', will make the accel change to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
You may view a description of the various telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Telepathy Wiki].<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them or [http://www.archlinux.org/packages/?sort=&q=gnome-shell-extension&maintainer=&last_update=&flagged=&limit=50 install them individually using the [extra] extensions' snapshots] . Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
<br />
=== My screen isn't locked after resume from suspend/hibernate ===<br />
<br />
Screen lock does only work when you suspend through gnome status menu. If you suspend or hibernate with powerbutton/etc. you screen is not locked after resume. This problem occours because of an config failure in dconf, so just open dconf-editor and change lock-use screensaver to false (unchecked) in org/gnome/power-manager. Your screen will no be locked after resume, regardless whether you used gnome status menu or power button or key combination.<br />
For more information see bugreport: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend#Comment 8]<br />
<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== I use the ATI Catalyst driver and I encounter glitches and artifacts while using GNOME Shell ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
The '''sound-theme-freedesktop''' package must be installed for the default event sounds:<br />
# pacman -S sound-theme-freedesktop<br />
If you're using [[OSS]], you may want to install '''libcanberra-oss''' [https://aur.archlinux.org/packages.php?ID=31163 from AUR].<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== "Failed to load session 'gnome-fallback'" message ===<br />
Check if '''notification-daemon''' is installed.<br />
# pacman -S notification-daemon<br />
<br />
=== [fallback mode] Panels and applets don't respond to right click to remove, etc, as in GNOME 2 ===<br />
Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key (<Alt>, <Super>, etc) used for normal windows is also used by panels and their applets.<br />
<br />
=== Show Desktop: ALT+STRG+D does not work ===<br />
The GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:<br />
System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows<br />
<br />
=== Starting Nautilus does not work ===<br />
Start gnome-tweak-tool -> File Manager -> Have file manager handle the desktop -> Off</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=140410GNOME2011-05-08T13:25:17Z<p>Wonder: package bug already fixed</p>
<hr />
<div>{{i18n|GNOME 3}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from the current gnome 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu gnome<br />
<br />
For additional applications<br />
<br />
# pacman -Syu gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
To start the DBUS daemon:<br />
# rc start dbus<br />
<br />
Or add these daemons to the '''DAEMONS''' array in {{Filename|/etc/[[rc.conf]]}} so they will start on boot up, e.g.:<br />
<br />
DAEMONS=(syslog-ng '''dbus''' network crond)<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''' usblp)<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
===GDM Customization===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
You will need to point to a file where the gdm user has permission to read, not in your home directory.<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
====Change GDM's keyboard layout====<br />
Since GDM 3 does not care about your gnome keyboard settings, you have to set your layout to Xorg config.<br />
See here: [https://wiki.archlinux.org/index.php/Beginners'_Guide#Non-US_keyboard Beginners'_Guide#Non-US_keyboard]<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Only Adwaita theme exists in this moment for gtk3 and is available in '''gnome-themes-standard''' package.<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
{{Note|More options can be find there: [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GtkSettings documentation]}}<br />
<br />
=== Resizing the Massive Titlebar ===<br />
# sed -i "/title_vertical_pad/s/value=\"[0-9]\{1,2\}\"/value=\"0\"/g" /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml<br />
<br />
Hit {{Keypress|Alt}} + {{Keypress|F2}} and type ''restart'' followed by {{Keypress|Enter}} <br />
<br />
This will change the title_vertical_pad from 14 to 0 giving a much sleeker look to windows.<br />
<br />
To restore the original values:<br />
sudo pacman -S gnome-themes-standard<br />
<br />
===Setting an icon theme===<br />
<br />
{{Note | With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.}}<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme ~/.icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface'), otherwise it can be set with no need of gnome-tweak-tool by adding the gtk-icon-theme-name entry inside ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini.<br />
{{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<br />
.....<br />
gtk-icon-theme-name = my_new_icon_theme<br />
.....<br />
}}<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press ctrl+l. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== Disable accessibility icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''noa11y.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = ''''''';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
=== Disable bluetooth icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''nobluetooth.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = ''''''';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
=== Middle Mouse Button Emulation ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
=== Battery icon ===<br />
To have battery tray icon, install gnome-power-manager package:<br />
# pacman -S gnome-power-manager<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present or if your desktop cannot handle graphics acceleration (such as running in a Virtual Machine or on old hardware). If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push '''delete''', and default accel will be unset. Now push the key that you want to set as accel. <br />
i.e. Pushing again '''delete''', will make the accel change to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them. Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
<br />
=== My screen isn't locked after resume from suspend/hibernate ===<br />
<br />
Screen lock does only work when you suspend through gnome status menu. If you suspend or hibernate with powerbutton/etc. you screen is not locked after resume. This problem occours because of an config failure in dconf, so just open dconf-editor and change lock-use screensaver to false (unchecked) in org/gnome/power-manager. Your screen will no be locked after resume, regardless whether you used gnome status menu or power button or key combination.<br />
For more information see bugreport: [https://bugzilla.redhat.com/show_bug.cgi?id=698135#c8 Screen gets no more locked after suspend#Comment 8]<br />
<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== I use the ATI Catalyst driver and I encounter glitches and artifacts while using GNOME Shell ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
The '''sound-theme-freedesktop''' package must be installed for the default event sounds:<br />
# pacman -S sound-theme-freedesktop<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== "Failed to load session 'gnome-fallback'" message ===<br />
Check if '''notification-daemon''' is installed.<br />
# pacman -S notification-daemon</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=139725GNOME2011-05-04T20:06:12Z<p>Wonder: drop stupid suggestion. notice # prompt</p>
<hr />
<div>{{i18n|GNOME 3}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from the current gnome 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu gnome<br />
<br />
For additional applications<br />
<br />
# pacman -Syu gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
To start the DBUS daemon:<br />
# /etc/rc.d/dbus start<br />
<br />
Or add these daemons to the '''DAEMONS''' array in {{Filename|/etc/[[rc.conf]]}} so they will start on boot up, e.g.:<br />
<br />
DAEMONS=(syslog-ng '''dbus''' network crond)<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''' usblp)<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
===GDM Customization===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
You will need to point to a file where the gdm user has permission to read, not in your home directory.<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
Insert a "1" back into /etc/shadow to disable gdm user login.<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Only Adwaita theme exists in this moment for gtk3 and is available in '''gnome-themes-standard''' package.<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
{{Note|More options can be find there: [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GtkSettings documentation]}}<br />
<br />
===Setting an icon theme===<br />
<br />
{{Note | With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.}}<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme ~/.icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface'), otherwise it can be set with no need of gnome-tweak-tool by adding the gtk-icon-theme-name entry inside ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini.<br />
{{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<br />
.....<br />
gtk-icon-theme-name = my_new_icon_theme<br />
.....<br />
}}<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press ctrl+l. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== Disable accessibility icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''noa11y.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = '';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
=== Disable bluetooth icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''nobluetooth.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = '';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
=== Middle Mouse Button Emulation ===<br />
<br />
By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:<br />
<br />
gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present. If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push delete. The accel should change from "ctrl+del" to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them. Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== Nautilus segmentation fault in non-GNOME environments ===<br />
Nautilus 3.x depends on gnome-icon-theme and will seg fault if it's missing. See [https://bugs.archlinux.org/task/24099 bug #24099].<br />
<br />
=== I use the ATI Catalyst driver and I encounter glitches and artifacts while using GNOME Shell ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
The '''sound-theme-freedesktop''' package must be installed for the default event sounds:<br />
# pacman -S sound-theme-freedesktop<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== "Failed to load session 'gnome-fallback'" message ===<br />
Check if '''notification-daemon''' is installed.<br />
# pacman -S notification-daemon</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=139600GNOME2011-05-03T22:58:36Z<p>Wonder: drop symlink suggestion. is basically the same thing as creating new settings.ini</p>
<hr />
<div>{{i18n|GNOME 3}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from the current gnome 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu gnome<br />
<br />
For additional applications<br />
<br />
# pacman -Syu gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
To start the DBUS daemon:<br />
# /etc/rc.d/dbus start<br />
<br />
Or add these daemons to the '''DAEMONS''' array in {{Filename|/etc/[[rc.conf]]}} so they will start on boot up, e.g.:<br />
<br />
DAEMONS=(syslog-ng '''dbus''' network crond)<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''' usblp)<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
===GDM===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Only Adwaita theme exists in this moment for gtk3 and is available in '''gnome-themes-standard''' package.<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
{{Note|More options can be find there: [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GtkSettings documentation]}}<br />
<br />
===Setting an icon theme===<br />
<br />
{{Note | With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.}}<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme ~/.icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface'), otherwise it can be set with no need of gnome-tweak-tool by adding the gtk-icon-theme-name entry inside ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini.<br />
{{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<br />
.....<br />
gtk-icon-theme-name = my_new_icon_theme<br />
.....<br />
}}<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press ctrl+l. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== disable accessibility icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''noa11y.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = '';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
=== disable bluetooth icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''nobluetooth.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = '';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present. If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push delete. The accel should change from "ctrl+del" to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them. Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== I use the ATI Catalyst driver and I encounter glitches and artifacts while using GNOME Shell ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
The '''sound-theme-freedesktop''' package must be installed for the default event sounds:<br />
# pacman -S sound-theme-freedesktop<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== "Failed to load session 'gnome-fallback'" message ===<br />
Check if '''notification-daemon''' is installed.<br />
# pacman -S notification-daemon</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=139599GNOME2011-05-03T22:57:35Z<p>Wonder: proper order the customization. first introduce the gtk3 configuration file and then how to set up an icon theme</p>
<hr />
<div>{{i18n|GNOME 3}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from the current gnome 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu gnome<br />
<br />
For additional applications<br />
<br />
# pacman -Syu gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
To start the DBUS daemon:<br />
# /etc/rc.d/dbus start<br />
<br />
Or add these daemons to the '''DAEMONS''' array in {{Filename|/etc/[[rc.conf]]}} so they will start on boot up, e.g.:<br />
<br />
DAEMONS=(syslog-ng '''dbus''' network crond)<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''' usblp)<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
===GDM===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Only Adwaita theme exists in this moment for gtk3 and is available in '''gnome-themes-standard''' package.<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
# next option is applicable only if selected theme supports it<br />
gtk-application-prefer-dark-theme = true<br />
# set font name and dimension<br />
gtk-font-name = Sans 10<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
{{Note|More options can be find there: [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GtkSettings documentation]}}<br />
<br />
<br />
If the first method does not work for you, try symlinking to Adwaita theme:<br />
<br />
ln -s /usr/share/themes/Adwaita/gtk-3.0 ~/.config/gtk-3.0<br />
<br />
===Setting an icon theme===<br />
<br />
{{Note | With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.}}<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme ~/.icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface'), otherwise it can be set with no need of gnome-tweak-tool by adding the gtk-icon-theme-name entry inside ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini.<br />
{{file|name=${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|content=<br />
.....<br />
gtk-icon-theme-name = my_new_icon_theme<br />
.....<br />
}}<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press ctrl+l. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
=== disable accessibility icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''noa11y.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['a11y'] = '';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "noa11y.icon@panel.ui",<br />
"name": "na11y",<br />
"description": "Turn off the ally icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
=== disable bluetooth icon in panel ===<br />
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]<br />
<br />
After that create a folder named '''nobluetooth.icon@panel.ui''' in '''$HOME/.local/share/gnome-shell/extensions'''. In this folder create two files. The first one is named '''extension.js''' and has this content:<br />
const Panel = imports.ui.panel;<br />
<br />
function main() {<br />
Panel.STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = '';<br />
}<br />
The second one is named '''metadata.json''' and has this content:<br />
{<br />
"shell-version": ["3.0.1"],<br />
"uuid": "nobluetooth.icon@panel.ui",<br />
"name": "nbluetooth",<br />
"description": "Turn off the bluetooth icon in the panel"<br />
}<br />
Now restart the gnome-shell (press '''ALT+F2''', type '''r''' and press '''Enter''') and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present. If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push delete. The accel should change from "ctrl+del" to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them. Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== I use the ATI Catalyst driver and I encounter glitches and artifacts while using GNOME Shell ===<br />
<br />
For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
The '''sound-theme-freedesktop''' package must be installed for the default event sounds:<br />
# pacman -S sound-theme-freedesktop<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== "Failed to load session 'gnome-fallback'" message ===<br />
Check if '''notification-daemon''' is installed.<br />
# pacman -S notification-daemon</div>Wonderhttps://wiki.archlinux.org/index.php?title=DeveloperWiki:Repo_Cleanup&diff=139542DeveloperWiki:Repo Cleanup2011-05-03T17:42:43Z<p>Wonder: keep some</p>
<hr />
<div>[[Category:Package development (English)]]<br />
<br />
= Extra package cleanup =<br />
<br />
== Goals and ideas ==<br />
* A cleanup of the extra repository<br />
* Currently we have 441 orphans packages in [extra] (any, i686, x86_64)<br />
* Reduce the packaging work load of the developers<br />
* Minimise the number of apps per task<br />
* TUs are easier to appoint and find, it makes sense to move some of the workload to the community repo<br />
* Games should all go to community (except those that come with KDE and Gnome)<br />
<br />
== Packages list ==<br />
This packages will be moved to Unsupported, if you want to maintain a package in [community] DO NOT cross it out, but add it to [[ArchWiki DeveloperWiki:Repo_Cleanup#Candidate_to_.5Bcommunity.5D | this list]]<br />
<br />
* abcde<br />
* <s>archlinux-artwork</s> - artwork<br />
* <s>archlinux-themes-slim</s> - artwork<br />
* <s>archlinux-wallpaper</s> - artwork<br />
* aria2<br />
* artwiz-fonts<br />
* <s>aspell-*</s> - languages support<br />
* <s>atkmm-docs</s> - part of the atkmm package<br />
* <s>aufs2</s> - needed by aufs2-util<br />
* <s>banshee</s><br />
* bladeenc<br />
* bs<br />
* chrootkit<br />
* chromium<br />
* clang-analyzer<br />
* cscope<br />
* dosbox<br />
* <s>eog-plugins</s> - recently updated, ioni/heftig should adopt it<br />
* eric4-plugins<br />
* ettercap-gtk<br />
* <s>festival-english</s> - voices for festival<br />
* <s>festival-us</s> - voices for festival<br />
* gcdmaster<br />
* gnome-alsamixer<br />
* gnupod<br />
* <s>gperf</s> - makedependence of various packages<br />
* gptfdisk<br />
* gqmpeg<br />
* gtk-theme-switch2<br />
* <s>gtkmm3-docs</s> - parf ot the gtkmm3 package<br />
* <s>haskell-platform</s> - up to Vesa<br />
* <s>haskell-tar</s> - up to Vesa<br />
* <s>hunspell-hu</s> - languages support<br />
* <s>hunspell-ln</s> - languages support<br />
* <s>hyphen-hu</s> - languages support<br />
* <s>hyphen-nl</s> - languages support<br />
* icecast<br />
* <s>imap</s> - needed by php<br />
* <s>ipod-sharp</s><br />
* <s>iptraf-ng</s><br />
* <s>ispell</s> - needed by hunspell-de<br />
* <s>kernel26-manpages</s> - part of the kernel26 package<br />
* kmldonkey<br />
* kmplayer<br />
* krusader<br />
* <s>laptop-mode-tools</s> - keep this, Andrea<br />
* libbtctl<br />
* llvm-ocaml<br />
* ltrace<br />
* <s>mailman</s> - keep this, Andrea<br />
* mc<br />
* <s>meld</s><br />
* <s>mm-common</s> - needed by gtkmm3<br />
* monotone<br />
* <s>mythes-hu</s> - languages support<br />
* <s>mythes-nl</s> - languages support<br />
* nbsmtp<br />
* nickle<br />
* nppangband<br />
* numlockx<br />
* <s>obconf</s> - keep this for OpenBox users, Andrea<br />
* perl-text-csv<br />
* <s>perl-text-patch</s> - needed by perl-alien-sdl<br />
* proftpd<br />
* python-gtkglext<br />
* <s>qt3-doc</s> - part of the qt3 package<br />
* <s>ruby-docs</s> - part of the ruby package<br />
* <s>slim-themes</s> - themes for slim<br />
* speedcrunch<br />
* tango-icon-theme-extras<br />
* <s>texi2html</s> - needed by qemu<br />
* ttf-cheapskate<br />
* <s>ttf-fireflysung</s> - keep this for i18n support, Eric<br />
* <s>ttf-tibetan-machine</s> - keep this for i18n support, Eric<br />
* <s>ttf-ubraille</s> - keep this for blind users, Andrea<br />
* vbetool<br />
* vim-a<br />
* vim-bufexplorer<br />
* vim-colorsamplerpack<br />
* vim-doxygentoolkit<br />
* vim-guicolorscheme<br />
* vim-minibufexpl<br />
* vim-omnicppcomplete<br />
* vim-project<br />
* vim-taglist<br />
* vim-vcscommand<br />
* vim-workspace<br />
* xchat-gnome<br />
* <s>xf86-input-wacom</s> - up to Jan<br />
* <s>xorg-xfontsel</s> - up to Jan<br />
* <s>xorg-xlsfonts</s> - up to Jan<br />
* <s>xorg-xvidtune</s> - up to Jan<br />
<br />
== Candidate to [community] ==<br />
<br />
= Progress =<br />
<br />
== Moved to community ==<br />
<br />
== Moved to unsupported ==<br />
<br />
= Issues =</div>Wonderhttps://wiki.archlinux.org/index.php?title=Pacman&diff=139411Pacman2011-05-03T11:21:26Z<p>Wonder: add romanian link</p>
<hr />
<div>[[Category:Package management (English)]]<br />
[[Category:Utilities (English)]]<br />
[[Category:HOWTOs (English)]]<br />
[[de:Pacman]]<br />
[[fr:Pacman]]<br />
[[ro:Pacman]]<br />
{{i18n|pacman}} {{DISPLAYTITLE:pacman}}<br />
<br />
{{Article summary start}}<br />
{{Article summary text|pacman is the Arch Linux package manager. Package managers are used to install, upgrade, and remove software. This article covers basic usage and troubleshooting tips.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Package management overview}}}}<br />
{{Article summary heading|Related}}<br />
{{Article summary wiki|Downgrading Packages}}<br />
{{Article summary wiki|Improve Pacman Performance}}<br />
{{Article summary wiki|pacman GUI Frontends}}<br />
{{Article summary wiki|pacman Rosetta}}<br />
{{Article summary wiki|pacman Tips}}<br />
{{Article summary heading|Resources}}<br />
{{Article summary link|libalpm(3) Manual Page|http://www.archlinux.org/pacman/libalpm.3.html}}<br />
{{Article summary link|pacman(8) Manual Page|http://www.archlinux.org/pacman/pacman.8.html}}<br />
{{Article summary link|pacman.conf(5) Manual Page|http://www.archlinux.org/pacman/pacman.conf.5.html}}<br />
{{Article summary link|repo-add(8) Manual Page|http://www.archlinux.org/pacman/repo-add.8.html}}<br />
{{Article summary end}}<br />
<br />
The '''[http://archlinux.org/pacman/ pacman]''' package manager is one of the main features of Arch Linux. It combines a simple binary package format with an easy-to-use build system (see [[makepkg]] and [[Arch Build System]]). The goal of pacman is to make it possible to easily manage packages, whether they are from the official Arch repositories or the user's own builds.<br />
<br />
pacman keeps the system up to date by synchronizing package lists with the master server. This server/client model also allows you to download/install packages with a simple command, complete with all required dependencies.<br />
<br />
pacman is written in the C programming language and uses the {{Filename|.pkg.tar.xz}} package format.<br />
<br />
== Configuration ==<br />
<br />
pacman configuration is located in {{Filename|/etc/pacman.conf}}. This is the place where the user configures the program to work in the desired manner. In-depth information about the configuration file can be found in [http://www.archlinux.org/pacman/pacman.conf.5.html man pacman.conf].<br />
<br />
=== General options ===<br />
<br />
General options are in the {{Codeline|[options]}} section. Read the man page or look in the default {{Filename|pacman.conf}} for information on what can be done here.<br />
<br />
==== Skip package from being upgraded ====<br />
<br />
To skip upgrading a specific package, specify it as such:<br />
<br />
IgnorePkg=kernel26<br />
<br />
For multiple packages use a space.<br />
<br />
==== Skip package group from being upgraded ====<br />
<br />
As with packages, skipping a whole package group is also possible:<br />
<br />
IgnoreGroup=gnome<br />
<br />
=== Repositories ===<br />
<br />
This section defines which repositories to use, as referred to in {{Filename|pacman.conf}}. They can be stated here directly, or included from another file.<br />
<br />
All official repositories use the same {{Filename|/etc/pacman.d/mirrorlist}} file which contains a variable, '{{Codeline|$repo}}', making it a requisite to maintain only one list.<br />
<br />
The following is an example for the [[official repositories]] that defers [[mirrors]] to the mirrorlist.<br />
<br />
<pre><br />
[core]<br />
# Add your preferred servers here, they will be used first<br />
Include=/etc/pacman.d/mirrorlist<br />
<br />
[extra]<br />
# Add your preferred servers here, they will be used first<br />
Include=/etc/pacman.d/mirrorlist<br />
<br />
[community]<br />
# Add your preferred servers here, they will be used first<br />
Include=/etc/pacman.d/mirrorlist<br />
</pre><br />
<br />
{{Note|Care should be taken when using the {{Codeline|[testing]}} repository. It is in active development and updating may cause some packages to stop working. People who use the {{Codeline|[testing]}} repository are encouraged to subscribe to the [http://mailman.archlinux.org/mailman/listinfo/arch-dev-public arch-dev-public mailing list] for current information.}}<br />
<br />
== Usage ==<br />
<br />
To read other examples of what pacman can do, refer to [http://archlinux.org/pacman/pacman.8.html man pacman]. The examples below are just a small sample of operations that can be performed.<br />
<br />
=== Installing packages ===<br />
<br />
To install a single package or list of packages (including dependencies), issue the following command:<br />
<br />
# pacman -S package_name1 package_name2<br />
<br />
Sometimes there are multiple versions of a package in different repositories (e.g. extra and testing). Specify which one to install:<br />
<br />
# pacman -S extra/package_name<br />
# pacman -S testing/package_name<br />
<br />
{{Note|1=Do '''not''' refresh the package list when installing packages (i.e. {{Codeline|pacman -Sy package_name}}); this can lead to dependency issues.[http://bbs.archlinux.org/viewtopic.php?id=89328] [[#Upgrading packages|Upgrade]] explicitly first; before installing new packages.}}<br />
<br />
=== Removing packages ===<br />
<br />
To remove a single package, leaving all of its dependencies installed:<br />
<br />
# pacman -R package_name<br />
<br />
To remove a package and it's dependencies which are not required by any other installed package:<br />
<br />
# pacman -Rs package_name<br />
<br />
pacman saves important configuration files when removing certain applications and names them with the extension: {{Filename|.pacsave}}. To delete these backup files use the -n option:<br />
<br />
# pacman -Rn package_name<br />
# pacman -Rns package_name<br />
<br />
{{Note|pacman will not remove configurations that the application itself creates (for example {{Filename|.dot}} files in the home folder).}}<br />
<br />
=== Upgrading packages ===<br />
<br />
pacman can update all packages on the system with just one command. This could take quite a while depending on how up-to-date the system is. This command can synchronize the repository databases ''and'' update the system's packages:<br />
<br />
# pacman -Syu<br />
<br />
{{Note|As a rolling-release distribution, updating your Arch Linux system is not always as straightforward as with other fixed-release distributions. Furthermore, pacman is not a "fire-and-forget" package manager. As a result, properly maintaining an Arch Linux system with pacman tends to confuse new users (as recurring forum discussions would indicate).<br />
<br />
Please read the following section ''thoroughly'' before continuing.}}<br />
<br />
pacman is a powerful package management tool, but it does not attempt to "do everything", as it were. Read [[The Arch Way]] if this confuses you. Rather, users must be vigilant and take responsibility for maintaining their own system. When performing a system update ({{Codeline|pacman -Syu}}), for example, '''it is essential that users read all information output by pacman and use common sense.''' <br />
<br />
Instead of immediately updating as soon as updates are available, users must recognize that an update to a ''critical'' package may have unforeseen consequences. This means that is not wise to update {{Codeline|xorg-server}} if one is about to deliver an important presentation, for example. Rather, update during free time and be prepared to deal with any problems that may arise due to the update.<br />
<br />
Next, a visit to the [http://archlinux.org/ Arch Linux home page] is always warranted. Often when updates require user intervention, an appropriate post on http://archlinux.org will be made. Normally there will be forum posts describing the very same issue shortly after the update becomes available across the mirrors, detailing the solutions to any problems. <br />
<br />
When the actual update is performed, be sure to read the messages printed out by pacman. Packagers often describe the changes and the expected problems, and direct the users to the appropriate wiki page or resource. Finally, '''always read all information output by pacman!'''<br />
<br />
{{Tip|Remember that the pacman's output is logged in {{Filename|/var/log/pacman.log}}.}}<br />
<br />
=== Querying package databases ===<br />
<br />
pacman queries the local package database with the -Q flag; see:<br />
<br />
$ pacman -Q --help<br />
<br />
and queries the sync databases with the -S flag; see:<br />
<br />
$ pacman -S --help<br />
<br />
pacman can search for packages in the database, searching both in packages' names and descriptions:<br />
<br />
$ pacman -Ss package<br />
<br />
To search for already installed packages:<br />
<br />
$ pacman -Qs package<br />
<br />
To display extensive information about a given package:<br />
<br />
$ pacman -Si package<br />
<br />
for locally installed packages:<br />
<br />
$ pacman -Qi package<br />
<br />
To retrieve a list of the files installed by a package:<br />
<br />
$ pacman -Ql package<br />
<br />
One can also query the database to know which package a file in the file system belongs to.<br />
<br />
$ pacman -Qo /path/to/a/file<br />
<br />
To list all packages no longer required as dependencies (orphans):<br />
<br />
$ pacman -Qdt<br />
<br />
=== Additional commands ===<br />
<br />
Download a package without installing it:<br />
<br />
# pacman -Sw package<br />
<br />
Install a 'local' package that is not from a repository:<br />
<br />
# pacman -U /path/to/package/package_name-version.pkg.tar.xz<br />
<br />
Install a 'remote' package (not from a repository):<br />
<br />
# pacman -U <nowiki>http://www.example.com/repo/example.pkg.tar.xz</nowiki><br />
<br />
Clean the package cache of packages that are not currently installed ({{Filename|/var/cache/pacman/pkg}}):<br />
<br />
# pacman -Sc<br />
<br />
Clean the entire package cache:<br />
<br />
{{Warning|Only do this when certain that [[Downgrading Packages]] will not be a necessity, as pacman -Scc removes ''all'' packages from the cache.}}<br />
<br />
# pacman -Scc<br />
<br />
== Troubleshooting ==<br />
<br />
{{FAQ<br />
|question=An update to package XYZ broke my system!<br />
|answer=Arch Linux is a rolling-release cutting-edge distribution. Package updates are available as soon as they are deemed stable enough for general use. However, updates sometimes require user intervention: configuration files may need to be updated, optional dependencies may change, etc.<br />
<br />
The most important tip to remember is to not "blindly" update your system. Always read the list of packages to be updated. Note whether "critical" packages are going to be updated ({{Codeline|kernel26}}, {{Codeline|xorg-server}}, and so on). If so, it is usually a good idea to check for any news at http://archlinux.org and scan recent forum posts to see if people are experiencing problems as a result of an update.<br />
<br />
If a package update is expected/known to cause problems, packagers will ensure that pacman displays an appropriate message when the package is updated. If experiencing trouble after an update, double-check pacman's output by looking at the log ({{Filename|/var/log/pacman.log}}). <br />
<br />
At this point, '''only after ensuring there is no information available through pacman, there is no relative news on http://archlinux.org, and there are no forum posts regarding the update''', you should consider seeking help on the forum, over [[IRC Channel|IRC]], or [[Downgrading Packages|downgrading the offending package]].<br />
<br />
Re-read the last paragraph.}}<br />
<br />
{{FAQ<br />
|question=I know an update to package ABC was released, but pacman says my system is up to date!<br />
|answer=pacman mirrors are not synced immediately. It may take over 24 hours before an update is available to you. <br />
<br />
The only options are be patient or use another mirror. [https://www.archlinux.de/?page=MirrorStatus MirrorStatus] can help you identify an up-to-date mirror.}}<br />
<br />
{{FAQ<br />
|question=I get an error when updating: "file exists in filesystem"!<br />
|answer=ASIDE: ''Taken from http://bbs.archlinux.org/viewtopic.php?id=56373 by Misfit138.''<br />
<br />
error: could not prepare transaction<br />
error: failed to commit transaction (conflicting files)<br />
package: /path/to/file exists in filesystem<br />
Errors occurred, no packages were upgraded.<br />
<br />
Why this is happening: pacman has detected a file conflict, and by design, will not overwrite files for you. This is a design feature, not a flaw.<br />
<br />
It is the user's responsibility to maintain their system, not the package manager's. ({{Codeline|pacman -Qo}} may be invoked to query which package owns the file, if any.)<br />
<br />
The issue is usually trivial to solve. A safe way is to first check if another package owns the file ({{Codeline|pacman -Qo /path/to/file}}). If the file is owned by another package, [[Reporting Bug Guidelines|file a bug report]]. If the file is not owned by another package, rename the file which 'exists in filesystem' and re-issue the update command. If all goes well, the file may then be removed.}}<br />
<br />
{{FAQ<br />
|question=I get an error when installing a package: "not found in sync db"<br />
|answer=Firstly, ensure the package actually exists (and watch out for typos!) If certain the package exists, your package list may be out-of-date or your repositories may be incorrectly configured. Try running {{Codeline|pacman -Syy}} to force a refresh of all package lists.}}<br />
<br />
{{FAQ<br />
|question=pacman is repeatedly upgrading the same package!<br />
|answer=This is due to duplicate entries in {{Filename|/var/lib/pacman/local/}}, such as two {{Codeline|kernel26}} instances. {{Codeline|pacman -Qi}} outputs the correct version, but {{Codeline|pacman -Qu}} recognizes the old version and therefore will attempt to upgrade.<br />
<br />
Solution: delete the offending entry in {{Filename|/var/lib/pacman/local/}}.<br />
<br />
{{Note|pacman version 3.4 should display an error in case of duplicate entries, which should make this note obsolete.}}}}<br />
<br />
{{FAQ<br />
|question=pacman crashes during an upgrade!<br />
|answer=In the case that pacman crashes with a "database write" error whilst removing packages, and reinstalling or upgrading packages fails:<br />
#Boot using the Arch live CD<br />
#Mount your root filesystem<br />
#Update the pacman database via {{Codeline|pacman -Syy}}<br />
#Reinstall the broken package via {{Codeline|pacman -r /path/to/root -S package}}}}<br />
<br />
{{FAQ<br />
|question=I installed software using {{Codeline|make install}}; these files don't belong to any package!<br />
|answer=If receiving a "conflicting files" error, note that pacman will overwrite manually-installed software if supplied with the {{Codeline|-f}} switch ({{Codeline|pacman -Sf}}).<br />
<br />
See [[pacman Tips#Getting a list of files not owned by any package]] for a script that searches the filesystem for ''disowned'' files.}}<br />
<br />
{{FAQ<br />
|question=pacman is completely broken! How do I reinstall it?<br />
|answer=In the case that pacman is broken beyond repair, manually download or build the necessary packages (openssl, libarchive, libfetch and pacman) and extract them to root. The pacman binary will be restored along with its default configuration file. Afterwards, reinstall these packages with pacman to maintain package database integrity. Additional information and an example (outdated) script that automates the process is available in [https://bbs.archlinux.org/viewtopic.php?id=95007 this] forum post.}}</div>Wonderhttps://wiki.archlinux.org/index.php?title=Arch_Linux&diff=139326Arch Linux2011-05-02T17:52:58Z<p>Wonder: link francais translation</p>
<hr />
<div>[[Category:About Arch (English)]]<br />
[[Category:General (English)]]<br />
{{i18n|Arch Linux}}<br />
[[de:Über Arch Linux]]<br />
[[pl:Arch Linux]]<br />
[[fr:Arch Linux]]<br />
<br />
Arch Linux is an independently-developed i686/x86-64 community distribution, based on a rolling-release model and targeted at competent GNU/Linux users which offers large binary repositories and full-featured package management as well as a ports-like packaging system. Development focuses on a balance of minimalism, elegance, code correctness and modernity. Version 0.1 (Homer) was released March 11, 2002.<br />
<br />
== Advantages ==<br />
<br />
Arch provides a minimal environment upon installation, (no GUI), compiled for i686/x86-64 architectures. Arch is lightweight, flexible, simple and aims to be very UNIX-like. Its design philosophy and implementation make it easy to extend and mold into whatever kind of system you're building- from a minimalist console machine to the most grandiose and feature rich desktop environments available. Rather than tearing out unneeded and unwanted packages, Arch offers the power user the ability to build up from a minimal foundation without any defaults chosen for them. It is ''the user'' who decides what Arch Linux will be.<br />
<br />
== Unique package management ==<br />
<br />
Arch is backed by an easy-to-use binary package system ([[pacman]]) that allows you to upgrade your entire system with one command. Pacman is coded in '''C''' and designed from the ground up to be lightweight, simple and very fast. Arch also provides a ports-like package build system ([[Arch Build System]]) to make it easy to build and install packages from source, which can also be synchronized with one command. You can even rebuild your entire system with one command. Everything is done quite simply and transparently.<br />
The rolling release model allows one-time installation and continuous seamless upgrades, without ever having to reinstall or perform elaborate system upgrades from one version to the next.<br />
<br />
== Modernity ==<br />
<br />
Arch Linux strives to maintain the latest stable version of its software, based on a rolling-release system. We currently support a streamlined core package set for the minimal i686 and x86-64 base systems, thousands of additional, high-quality binary packages among both developer and user maintained repositories, and many thousands of PKGBUILD scripts, for building and packaging from source. Arch provides non-patched, vanilla software; packages are offered from pure upstream sources, how the author originally intended it be distributed. Patching only occurs in extremely rare cases, to prevent severe breakage in the instance of version mismatches that may occur within a rolling release model.<br />
Arch incorporates many of the newer features available to GNU/Linux users, including modern filesystems (Ext2/3/4, Reiser, XFS, JFS), LVM2/EVMS, software RAID, udev support and initcpio, as well as the latest available kernels.<br />
<br />
== Simplicity ==<br />
<br />
[[The Arch Way]] is a philosophy aimed at keeping it simple. The Arch Linux base system is quite simply the minimal, yet functional GNU/Linux environment; the Linux kernel, GNU toolchain, and a handful of optional, extra command line utilities like '''links''' and '''Vi'''. This clean and simple starting point provides the foundation for expanding the system into whatever the user requires.<br />
<br />
Arch's simple init system is heavily inspired by the *BSD way of incorporating calls from a ''single file'' ([[rc.conf]]) rather than the SysVinit directory structure containing dozens of symlinks for each runlevel.<br />
<br />
System configuration is achieved through editing simple text files.<br />
<br />
== Further reading ==<br />
<br />
Arch's home page is at http://www.archlinux.org/ where you can also find links to the user forums, official documentation, and everything else that is Arch. You can also read [[The Arch Way]] for a bit more insight in case you missed it here.</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=139059GNOME2011-05-01T08:21:35Z<p>Wonder: main section</p>
<hr />
<div>{{i18n|GNOME 3}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from the current gnome 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu gnome<br />
<br />
For additional applications<br />
<br />
# pacman -Syu gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
To start the DBUS daemon:<br />
# /etc/rc.d/dbus start<br />
<br />
Or add these daemons to the '''DAEMONS''' array in {{Filename|/etc/[[rc.conf]]}} so they will start on boot up, e.g.:<br />
<br />
DAEMONS=(syslog-ng '''dbus''' network crond)<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''' usblp)<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
===Setting an icon theme===<br />
<br />
{{Note | With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.}}<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme ~/.icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface').<br />
<br />
===GDM===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Only Adwaita theme exists in this moment for gtk3 and is available in '''gnome-themes-standard''' package.<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
gtk-application-prefer-dark-theme = true # applicable only if selected theme supports it<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press ctrl+l. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present. If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push delete. The accel should change from "ctrl+del" to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them. Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
The '''sound-theme-freedesktop''' package must be installed for the default event sounds:<br />
# pacman -S sound-theme-freedesktop<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
== How to remove GNOME ==<br />
If GNOME3 doesn't suite your needs do:<br />
<br />
# pacman -Rnsc gnome gnome-extra</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=139058GNOME2011-05-01T08:21:10Z<p>Wonder: adding how to remove gnome section</p>
<hr />
<div>{{i18n|GNOME 3}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from the current gnome 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu gnome<br />
<br />
For additional applications<br />
<br />
# pacman -Syu gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
To start the DBUS daemon:<br />
# /etc/rc.d/dbus start<br />
<br />
Or add these daemons to the '''DAEMONS''' array in {{Filename|/etc/[[rc.conf]]}} so they will start on boot up, e.g.:<br />
<br />
DAEMONS=(syslog-ng '''dbus''' network crond)<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''' usblp)<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
===Setting an icon theme===<br />
<br />
{{Note | With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.}}<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme ~/.icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface').<br />
<br />
===GDM===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Only Adwaita theme exists in this moment for gtk3 and is available in '''gnome-themes-standard''' package.<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
gtk-application-prefer-dark-theme = true # applicable only if selected theme supports it<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press ctrl+l. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present. If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push delete. The accel should change from "ctrl+del" to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them. Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
The '''sound-theme-freedesktop''' package must be installed for the default event sounds:<br />
# pacman -S sound-theme-freedesktop<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.<br />
<br />
=== How to remove GNOME ===<br />
If GNOME3 doesn't suite your needs do:<br />
<br />
# pacman -Rnsc gnome gnome-extra</div>Wonderhttps://wiki.archlinux.org/index.php?title=GNOME&diff=139027GNOME2011-04-30T23:20:38Z<p>Wonder: specify what package to install for Adwaita theme</p>
<hr />
<div>{{i18n|GNOME 3}}<br />
[[fr:gnome3]]<br />
<br />
[[Category:Desktop environments (English)]]<br />
[[Category:HOWTOs (English)]]<br />
<br />
{{Article summary start}}<br />
{{Article summary text|GNOME 3 provides a modern desktop, rewritten from scratch, using the GTK3+ toolkit.}}<br />
{{Article summary heading|Overview}}<br />
{{Article summary text|{{Graphical user interface overview}}}}<br />
{{Article summary end}}<br />
<br />
For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:<br />
* There is a new default modern visual theme and font<br />
* The Activities view which provides an easy way to access all your windows and applications<br />
* Built-in (integrated) messaging desktop services<br />
* A more subtle notifications system and a more discrete panel<br />
* A fast Activities search feature<br />
* A new System Settings application <br />
* ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc. <br />
<br />
[more details on the [http://www.gnome3.org/ GNOME3] website]<br />
<br />
== Introduction ==<br />
<br />
GNOME3 comes with '''two''' interfaces, '''gnome-shell''' (the new, standard layout) and '''fallback''' mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not. <br />
<br />
'''Fallback''' mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).<br />
<br />
If you are on fallback mode you can still change the window manager with your preferred one.<br />
<br />
== Upgrade from the current gnome 2.32 ==<br />
<br />
{{Warning|The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty}}<br />
<br />
# pacman -Syu <br />
<br />
'''Important''': You will end up with a system that has GNOME 3.x '''fallback''' mode. To install the new shell:<br />
<br />
# pacman -S gnome-shell<br />
<br />
== Installing to a new system ==<br />
<br />
GNOME 3 is in [extra]. You can install it by running the following command:<br />
<br />
# pacman -Syu gnome<br />
<br />
For additional applications<br />
<br />
# pacman -Syu gnome-extra<br />
<br />
===Daemons and modules needed by GNOME===<br />
<br />
The GNOME desktop requires one daemon, '''DBUS''' for proper operation. <br />
<br />
To start the DBUS daemon:<br />
# /etc/rc.d/dbus start<br />
<br />
Or add these daemons to the '''DAEMONS''' array in {{Filename|/etc/[[rc.conf]]}} so they will start on boot up, e.g.:<br />
<br />
DAEMONS=(syslog-ng '''dbus''' network crond)<br />
<br />
'''GVFS''' allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of '''FUSE''': a user space virtual file system layer kernel module.<br />
<br />
To load the FUSE kernel module:<br />
# modprobe fuse<br />
<br />
Or add the module to the '''MODULES''' array in {{Filename|/etc/rc.conf}} so they will load at boot up, e.g.:<br />
<br />
MODULES=('''fuse''' usblp)<br />
<br />
{{Note|FUSE is a kernel module, not a daemon.}}<br />
<br />
===Running GNOME===<br />
<br />
For better desktop integration '''GDM''' is recommended (but other login managers, such as SLiM also work, see Policykit section).<br />
<br />
# pacman -S gdm<br />
<br />
Check out [[Display_Manager]] to learn how to start it correctly.<br />
<br />
If you prefer to start it from the console, add the following line to your {{Filename|~/.xinitrc}} file, making sure it's the last line and the only one that starts with ''exec'' (see [[xinitrc]]):<br />
exec ck-launch-session gnome-session<br />
<br />
Now GNOME will start when you enter the following command:<br />
$ startx<br />
<br />
== Using the shell ==<br />
<br />
See https://live.gnome.org/GnomeShell/CheatSheet<br />
<br />
== Customization ==<br />
=== Using Gnome-tweak-tool ===<br />
<br />
# pacman -S gnome-tweak-tool<br />
<br />
This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.<br />
<br />
A good customization tutorial is http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.<br />
<br />
===Setting an icon theme===<br />
<br />
Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to /usr/share/icons. For example:<br />
<br />
$ cp -R /home/user/Desktop/my_new_icon_theme /usr/share/icons<br />
<br />
The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface').<br />
<br />
===GDM===<br />
<br />
# su - gdm -s /bin/bash<br />
$ dbus-launch<br />
<br />
This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them<br />
<br />
$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38<br />
$ export DBUS_SESSION_BUS_PID=4283<br />
<br />
Check to see if dconf-service is running and if not, start it like this<br />
<br />
$ /usr/lib/dconf/dconf-service &<br />
<br />
====Wallpaper====<br />
$ GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file:///usr/share/backgrounds/gnome/SundownDunes.jpg"<br />
<br />
====Turning off the sound====<br />
$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds false<br />
<br />
=== Changing the GTK3 theme using settings.ini ===<br />
<br />
Similar to {{Filename|~/.gtkrc-2.0}} for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via {{Filename|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. By default {{Filename|${XDG_CONFIG_HOME} }} is interpreted as {{Filename|~/.config}}.<br />
<br />
Only Adwaita theme exists in this moment for gtk3 and is available in '''gnome-themes-standard''' package.<br />
<br />
Example:<br />
<br />
[Settings]<br />
gtk-theme-name = Adwaita<br />
gtk-fallback-icon-theme = gnome<br />
gtk-application-prefer-dark-theme = true # applicable only if selected theme supports it<br />
<br />
It may be necessary to restart one's DE or WM for the settings to be applied.<br />
<br />
=== Start program automatically after login to GNOME 3 ===<br />
You can specify which programs to start automatically after login using the '''gnome-session-properties''' tool, which is a part of the '''gnome-session''' package.<br />
$ gnome-session-properties<br />
<br />
=== Removing folders from the "Computer" section in Nautilus's Places sidebar ===<br />
<br />
The displayed folders are specified in {{Filename|~/.config/user-dirs.dirs}} and can be altered with any editor. An execution of {{codeline|xdg-user-dirs-update}} will change them again, thus it may be advisable to set the file permissions to read-only.<br />
<br />
=== Setting the default terminal via console ===<br />
<br />
{{codeline|gsettings}}, which replaces {{codeline|gconftool-2}} in Gnome 3, is used to set e. g. the default terminal manually. The setting is relevant for ''nautilus-open-terminal''.<br />
<br />
The commands for [[rxvt-unicode|urxvt]] run as daemon:<br />
<br />
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc<br />
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"<br />
<br />
=== Setting Nautilus to Use Location Bar Entry ===<br />
<br />
If you want to enter path locations manually in Nautilus you can press ctrl+l. To make this persistent you can use gsettings.<br />
<br />
gsettings set org.gnome.nautilus.preferences always-use-location-entry true<br />
<br />
== Enabling fallback mode==<br />
<br />
Your session will automatically start in fallback mode if gnome-shell is not present. If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change ''Forced Fallback Mode'' to ''ON''.<br />
<br />
== Enabling hidden features ==<br />
<br />
Gnome 3.0 hides a lot of useful options which you can customize with '''dconf-editor''' or '''gconf-editor''' for settings not yet migrated to dconf.<br />
<br />
=== Changing Hotkeys ===<br />
<br />
In '''dconf-editor''', enable org.gnome.desktop.interface "can-change-accels".<br />
<br />
An example of changing the delete hotkey:<br />
Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem.<br />
While hovering, push delete. The accel should change from "ctrl+del" to "del".<br />
<br />
Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out.<br />
You should disable "can-change-accels" afterwards, to prevent accidental accel changes.<br />
<br />
== How to shutdown through the Status menu ==<br />
<br />
For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the '''Alt''' button. The "'''Suspend'''" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.<br />
<br />
You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.<br />
<br />
== Enabling integrated messaging ==<br />
<br />
Empathy, the engine behind the integrated messaging, and all of the system settings based on your messaging accounts will not show up unless the '''telepathy''' group of packages or at least one of the backends ('''telepathy-gabble''', or '''telepathy-haze''', for example) is installed. These are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:<br />
<br />
# pacman -S telepathy<br />
<br />
== Enabling extensions ==<br />
<br />
Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given [http://www.webupd8.org/2011/04/gnome-shell-extensions-additional.html here] You can use the [http://aur.archlinux.org/packages.php?ID=47501 gnome-shell-extensions-git] package in the AUR to install them. Restart Gnome to enable them.<br />
<br />
If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available [https://live.gnome.org/GnomeShell/Extensions here].<br />
<br />
== Troubleshooting ==<br />
=== My GTK2+ apps show segfaults and won't start ===<br />
<br />
That usually happens when '''oxygen-gtk''' is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:<br />
<br />
<pre> (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance<br />
<br />
(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed<br />
<br />
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed<br />
Segmentation fault<br />
</pre><br />
<br />
The current "workaround" is to '''remove''' '''oxygen-gtk''' from the system completely and set another theme for your apps.<br />
<br />
=== I have multiple monitors and the Dock extension appears stuck between them ===<br />
<br />
If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.<br />
<br />
Edit '''/usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js''' and locate this line in the source:<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);<br />
<br />
The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.<br />
<br />
this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);<br />
<br />
=== There are no event sounds for Empathy and other programs ===<br />
The '''sound-theme-freedesktop''' package must be installed for the default event sounds:<br />
# pacman -S sound-theme-freedesktop<br />
<br />
=== Editing hotkeys via can-change-accels fails ===<br />
It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at {{Filename|~/.config/Thunar/accels.scm}}, whereas Nautilus's is located at {{Filename|~/.gnome2/accels/nautilus}}. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.</div>Wonder