Difference between pages "Funtoo Profiles" and "GNOME First Steps"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
 
Line 1: Line 1:
== What is a profile? ==
== What is GNOME? ==
"GNOME 3 is an easy and elegant way to use your computer. It is designed to put you in control and bring freedom to everybody. GNOME 3 is developed by the GNOME community, a diverse, international group of contributors that is supported by an independent, non-profit foundation." [http://gnome.org GNOME]


In Gentoo and Funtoo Linux, profiles are used to define base system settings, and have historically had a lot of untapped potential. In Funtoo Linux, I wanted to take advantage of some of this potential to allow Funtoo Linux users to easily tailor their system for various types of roles. Enter the new Funtoo profile system.
== Prerequisites ==


== What It Is ==
Before installing GNOME, ensure that the [[X Window System]] has been installed.


Historically, users have had to add a ton of settings to <tt>/etc/make.conf</tt> to customize their Gentoo or Funtoo Linux system, which made setup of the operating system more difficult than it should be.
{{fancywarning|1=
Please note that Linux kernel 3.15.* may still have serious incompatibility with various graphics drivers. If you like to use <tt>gentoo-sources</tt> or <tt>vanilla-sources</tt>, please use a 3.14.* kernel. This is of particular importance if you plan to run GNOME, and want to use NVIDIA (commercial or nouveau) or ATI (ati-drivers) graphics drivers.}}


In Gentoo Linux, it is possible to only define one ''system profile''. Think of a system profile as the default settings that Portage uses for building everything on your system.
== Preparing to emerge ==


In Funtoo Linux, multiple profiles can be enabled at the same time. These include:
To get your system ready to emerge gnome, it is recommended that you first set the gnome profile mix-in. To accomplish this, do the following:
<console>
##r### ##b## eselect profile list
##g##Currently available mix-ins profiles
  [11]  funtoo/1.0/linux-gnu/mix-ins/audio 
  [12]  funtoo/1.0/linux-gnu/mix-ins/console-extras 
  [13]  funtoo/1.0/linux-gnu/mix-ins/dvd 
  [14]  funtoo/1.0/linux-gnu/mix-ins/gnome 
  [15]  funtoo/1.0/linux-gnu/mix-ins/kde 
  [16]  funtoo/1.0/linux-gnu/mix-ins/mate 
  [17]  funtoo/1.0/linux-gnu/mix-ins/media 
  [18]  funtoo/1.0/linux-gnu/mix-ins/print 
  [19]  funtoo/1.0/linux-gnu/mix-ins/python3-only
  [20]  funtoo/1.0/linux-gnu/mix-ins/rhel5-compat
  [21]  funtoo/1.0/linux-gnu/mix-ins/server-db 
  [22]  funtoo/1.0/linux-gnu/mix-ins/server-mail
  [23]  funtoo/1.0/linux-gnu/mix-ins/server-web
  [24]  funtoo/1.0/linux-gnu/mix-ins/X
  [25]  funtoo/1.0/linux-gnu/mix-ins/xfce
  [26]  funtoo/1.0/linux-gnu/mix-ins/vmware-guest
  [27]  funtoo/1.0/linux-gnu/mix-ins/hardened
</console>
After seeing a list of available profiles, we want to add in the appropriate number for the gnome mix-in. To do this, run the following:
<console>
##r### ##b##eselect profile add 14
</console>
 
By enabling the gnome mix-in, various USE and other settings will be optimized to provide you with a pain-free GNOME installation experience.
 
== Emerging ==
 
You are provided with two packages that will pull in this desktop environment:  


* '''arch''' - one arch profile is enabled, at build time, and is not changed. This defines CPU architecture-specific settings.
* ''gnome''
* '''build''' - one build profile is enabled, at build time, and is generally not changed. It defines the type of build, such as 'current' or 'stable', and associated settings.
* '''flavor''' - one flavor is enabled per system, and can be changed by the user. This defines the general use of the system, such as 'minimal', 'core', 'desktop', 'workstation'
* '''mix-in''' - zero or more mix-ins can be enabled that enable settings specific to a particular subset of features, such as 'gnome', 'kde', 'media', 'mate', 'X', 'hardened'


{{Fancynote|1=
{{fancynote|This is the "whole shabang" - pulls in a range of applications made for the gnome desktop environment including a few games, an archive manager, a system monitor, a web browser, a terminal, etc.}}
See [[Flavors and Mix-ins]] for a complete list of all flavors and mix-ins available in Funtoo Linux, along with descriptions of what each one does.}}


=== Origins and Benefits ===
* ''gnome-light''


This new system is really a completion of the original cascading profile design that was designed by Daniel Robbins and implemented by Seemant Kulleen as part of Portage. Funtoo Profiles designed to leverage the existing cascading profile system and provide something much more useable and maintainable for users and developers alike. Here are some of its benefits:
{{fancynote|As the name implies, this pulls in the base minimal you need to get a functioning GNOME Desktop Environment.}}


* Fewer settings in /etc/make.conf. <tt>CHOST</tt> and <tt>ARCH</tt> no longer set in <tt>/etc/make.conf</tt>.
=== GNOME 3.12 from a clean install ===
* Separation of concerns -- arch, build, and flavor-related settings are organized together.
* User flexibility - any number of mix-ins can be enabled to tweak masks or USE settings as needed.


{{fancynote|See [[Custom Profiles]] for information on how to extend the profile system.}}
==== gnome ====
 
To emerge ''gnome'' run the following command


== What It Looks Like ==
Here's a what a list of profiles looks like:
<console>
<console>
###i## eselect profile list
# ##i## emerge -va gnome
Currently available arch profiles:
  [1]  funtoo/1.0/linux-gnu/arch/x86-32bit
  [2]  funtoo/1.0/linux-gnu/arch/x86-64bit
Currently available build profiles:
  [3]  funtoo/1.0/linux-gnu/build/stable
  [4]  funtoo/1.0/linux-gnu/build/current
  [5]  funtoo/1.0/linux-gnu/build/experimental
Currently available flavor profiles:
  [6]  funtoo/1.0/linux-gnu/flavor/minimal
  [7]  funtoo/1.0/linux-gnu/flavor/core
  [8]  funtoo/1.0/linux-gnu/flavor/desktop
  [9]  funtoo/1.0/linux-gnu/flavor/workstation
Currently available mix-ins profiles:
  [10]  funtoo/1.0/linux-gnu/mix-ins/audio
  [11]  funtoo/1.0/linux-gnu/mix-ins/console-extras
  [12]  funtoo/1.0/linux-gnu/mix-ins/dvd
  [13]  funtoo/1.0/linux-gnu/mix-ins/gnome
  [14]  funtoo/1.0/linux-gnu/mix-ins/kde
  [15]  funtoo/1.0/linux-gnu/mix-ins/media
  [16]  funtoo/1.0/linux-gnu/mix-ins/print
  [17]  funtoo/1.0/linux-gnu/mix-ins/python3-only
  [18]  funtoo/1.0/linux-gnu/mix-ins/rhel5-compat
  [19]  funtoo/1.0/linux-gnu/mix-ins/server-db
  [20]  funtoo/1.0/linux-gnu/mix-ins/server-mail
  [21]  funtoo/1.0/linux-gnu/mix-ins/server-web
  [22]  funtoo/1.0/linux-gnu/mix-ins/X
  [23]  funtoo/1.0/linux-gnu/mix-ins/xfce
</console>
</console>
As you can see, there are multiple types of profiles to choose from.
Let's move on to how to start using it.


== Switch to the Funtoo 1.0 Profile ==
==== gnome-light ====


=== Using eselect ===
To emerge ''gnome-light'' run the following command
The preferred method of adding and removing profiles is to use [[eselect|eselect profile]]. This will ensure that profiles are added correctly and in the proper order. The order is imperative for things to work right.


Type the following to view a list of available options for '''eselect profile''':
<console>
<console>
###i## eselect profile help
# ##i## emerge -va gnome-light
</console>
</console>


=== Upgrading from GNOME 3.6 ===
==== gnome ====
To emerge ''gnome'', remove nautilus-open-terminal if it is installed as it now bundled into gnome-terminal


For a start, let's see what the default configuration has to offer. Get an overview using the '''list''' command:
<console>
<console>
###i## eselect profile list
# ##i## emerge -vaC nautilus-open-terminal
##b####g##Currently available arch profiles:
  ##b##[1]  funtoo/1.0/linux-gnu/arch/x86-64bit##!b## *
  ##b##[2]##!b##  funtoo/1.0/linux-gnu/arch/pure64
##b####g##Currently available build profiles:
  ##b##[3]##!b##  funtoo/1.0/linux-gnu/build/stable
  ##b##[4]  funtoo/1.0/linux-gnu/build/current##!b## *
  ##b##[5]##!b##  funtoo/1.0/linux-gnu/build/experimental
##b####g##Currently available flavor profiles:
  ##b##[6]##!b##  funtoo/1.0/linux-gnu/flavor/minimal
  ##b##[7]  funtoo/1.0/linux-gnu/flavor/core##!b## *
  ##b##[8]##!b##  funtoo/1.0/linux-gnu/flavor/desktop
  ##b##[9]##!b##  funtoo/1.0/linux-gnu/flavor/workstation
  ##b##[10]##!b##  funtoo/1.0/linux-gnu/flavor/hardened
##b####g##Currently available mix-ins profiles:
  ##b##[11]##!b##  funtoo/1.0/linux-gnu/mix-ins/audio
  ##b##[12]##!b##  funtoo/1.0/linux-gnu/mix-ins/cinnamon
  ##b##[13]##!b##  funtoo/1.0/linux-gnu/mix-ins/console-extras
  ##b##[14]##!b##  funtoo/1.0/linux-gnu/mix-ins/dvd
  ##b##[15]##!b##  funtoo/1.0/linux-gnu/mix-ins/gnome
  ##b##[16]##!b##  funtoo/1.0/linux-gnu/mix-ins/kde
  ##b##[17]##!b##  funtoo/1.0/linux-gnu/mix-ins/mate
  ##b##[18]##!b##  funtoo/1.0/linux-gnu/mix-ins/media
  ##b##[19]##!b##  funtoo/1.0/linux-gnu/mix-ins/print
  ##b##[20]##!b##  funtoo/1.0/linux-gnu/mix-ins/python3-only
  ##b##[21]##!b##  funtoo/1.0/linux-gnu/mix-ins/rhel5-compat
  ##b##[22]##!b##  funtoo/1.0/linux-gnu/mix-ins/server-db
  ##b##[23]##!b##  funtoo/1.0/linux-gnu/mix-ins/server-mail
  ##b##[24]##!b##  funtoo/1.0/linux-gnu/mix-ins/server-web
  ##b##[25]##!b##  funtoo/1.0/linux-gnu/mix-ins/X
  ##b##[26]##!b##  funtoo/1.0/linux-gnu/mix-ins/xfce
  ##b##[27]##!b##  funtoo/1.0/linux-gnu/mix-ins/vmware-guest
  ##b##[28]##!b##  funtoo/1.0/linux-gnu/mix-ins/hardened
</console>
</console>


As in several other Funtoo utilities, a star ('''*''') on the right indicates an active item (your case may differ from the example above).
Then, run the following command
In most cases you will want to set your "flavor" first. Remember that you can only set ''one'' flavor at time.


To choose your favorite flavor use the '''set-flavor''' command including your selection. In this example, we will set the '''desktop''' flavor:
<console>
{{Fancynote| You ''must'' use numbers to reference to the profiles you want.}}
# ##i## emerge -vauDN world
<console>###i## eselect profile set-flavor 8</console>
View the result:
<console>###i## eselect profile list
##b####g##Currently available arch profiles:
  ##b##[1]  funtoo/1.0/linux-gnu/arch/x86-64bit##!b## *
  ##b##[2]##!b##  funtoo/1.0/linux-gnu/arch/pure64
##b####g##Currently available build profiles:
  ##b##[3]##!b##  funtoo/1.0/linux-gnu/build/stable
  ##b##[4]  funtoo/1.0/linux-gnu/build/current##!b## *
  ##b##[5]##!b##  funtoo/1.0/linux-gnu/build/experimental
##b####g##Currently available flavor profiles:
  ##b##[6]##!b##  funtoo/1.0/linux-gnu/flavor/minimal
  ##b##[7]##!b##  funtoo/1.0/linux-gnu/flavor/core
  ##b##[8]  funtoo/1.0/linux-gnu/flavor/desktop##!b## *
  ##b##[9]##!b##  funtoo/1.0/linux-gnu/flavor/workstation
  ##b##[10]##!b##  funtoo/1.0/linux-gnu/flavor/hardened
##b####g##Currently available mix-ins profiles:
  ##b##[11]  funtoo/1.0/linux-gnu/mix-ins/audio (auto)
  ##b##[12]##!b##  funtoo/1.0/linux-gnu/mix-ins/cinnamon
  ##b##[13]  funtoo/1.0/linux-gnu/mix-ins/console-extras (auto)
  ##b##[14]  funtoo/1.0/linux-gnu/mix-ins/dvd (auto)
  ##b##[15]##!b##  funtoo/1.0/linux-gnu/mix-ins/gnome
  ##b##[16]##!b##  funtoo/1.0/linux-gnu/mix-ins/kde
  ##b##[17]##!b##  funtoo/1.0/linux-gnu/mix-ins/mate
  ##b##[18]  funtoo/1.0/linux-gnu/mix-ins/media (auto)
  ##b##[19]  funtoo/1.0/linux-gnu/mix-ins/print (auto)
  ##b##[20]##!b##  funtoo/1.0/linux-gnu/mix-ins/python3-only
  ##b##[21]##!b##  funtoo/1.0/linux-gnu/mix-ins/rhel5-compat
  ##b##[22]##!b##  funtoo/1.0/linux-gnu/mix-ins/server-db
  ##b##[23]##!b##  funtoo/1.0/linux-gnu/mix-ins/server-mail
  ##b##[24]##!b##  funtoo/1.0/linux-gnu/mix-ins/server-web
  ##b##[25]  funtoo/1.0/linux-gnu/mix-ins/X (auto)
  ##b##[26]##!b##  funtoo/1.0/linux-gnu/mix-ins/xfce
  ##b##[27]##!b##  funtoo/1.0/linux-gnu/mix-ins/vmware-guest
  ##b##[28]##!b##  funtoo/1.0/linux-gnu/mix-ins/hardened
</console>
</console>
As you see by the '''(auto)''' entries, the <code>desktop</code> flavor already pre-set some mix-ins for you.


Now, let's head over and add some mix-ins. To add, say, the mix-ins '''gnome''' and '''kde''' we'd have to enter:
==== gnome-light ====
 
To emerge ''gnome-light'' remove the following packages as there have been changes since 3.6 (you will have up reinstall any packages that have been renamed after gnome-light completes).


<console>
<console>
###i## eselect profile add 15
# ##i## emerge -vaC gnome-fallback gnome-panel gnome-screensaver metacity gnome-games gcalctool nautilus-open-terminal
###i## eselect profile add 16
</console>
</console>


Or, in a one-shot:
Then, run the following command


<console>
<console>
###i## eselect profile add 15 16
# ##i## emerge -vauDN world
</console>
</console>


If we want to remove a mix-in, for example '''gnome''', simply enter:
Finally, restore any applications that have been renamed (such as gcalctool => gnome-calculator)


<console>
<console>
###i## eselect profile remove 15
# ##i## emerge -va gnome-calculator
</console>
</console>


Verification:
== Subsystems ==


<console>###i## eselect profile list
=== Bluetooth ===
##b####g##Currently available arch profiles:
 
  ##b##[1]  funtoo/1.0/linux-gnu/arch/x86-64bit##!b## *
For bluetooth support, ensure that:
  ##b##[2]##!b##  funtoo/1.0/linux-gnu/arch/pure64
 
##b####g##Currently available build profiles:
# Bluetooth support is enabled in your kernel (using modules is fine).
  ##b##[3]##!b##  funtoo/1.0/linux-gnu/build/stable
# Your bluetooth hardware is turned on.
  ##b##[4]  funtoo/1.0/linux-gnu/build/current##!b## *
# Add the <code>bluetooth</code> startup script to the default runlevel, and start it.
  ##b##[5]##!b##  funtoo/1.0/linux-gnu/build/experimental
 
##b####g##Currently available flavor profiles:
This can be done as follows:
  ##b##[6]##!b##  funtoo/1.0/linux-gnu/flavor/minimal
 
  ##b##[7]##!b##  funtoo/1.0/linux-gnu/flavor/core
<console>
  ##b##[8]  funtoo/1.0/linux-gnu/flavor/desktop##!b## *
# ##i##rc-update add bluetooth default
  ##b##[9]##!b##  funtoo/1.0/linux-gnu/flavor/workstation
# ##i##rc
  ##b##[10]##!b##  funtoo/1.0/linux-gnu/flavor/hardened
##b####g##Currently available mix-ins profiles:
  ##b##[11]  funtoo/1.0/linux-gnu/mix-ins/audio (auto)
  ##b##[12]##!b##  funtoo/1.0/linux-gnu/mix-ins/cinnamon
  ##b##[13]  funtoo/1.0/linux-gnu/mix-ins/console-extras (auto)
  ##b##[14] funtoo/1.0/linux-gnu/mix-ins/dvd (auto)
  ##b##[15]##!b##  funtoo/1.0/linux-gnu/mix-ins/gnome
  ##b##[16]  funtoo/1.0/linux-gnu/mix-ins/kde *
  ##b##[17]##!b##  funtoo/1.0/linux-gnu/mix-ins/mate
  ##b##[18]  funtoo/1.0/linux-gnu/mix-ins/media (auto)
  ##b##[19]  funtoo/1.0/linux-gnu/mix-ins/print (auto)
  ##b##[20]##!b##  funtoo/1.0/linux-gnu/mix-ins/python3-only
  ##b##[21]##!b##  funtoo/1.0/linux-gnu/mix-ins/rhel5-compat
  ##b##[22]##!b##  funtoo/1.0/linux-gnu/mix-ins/server-db
  ##b##[23]##!b##  funtoo/1.0/linux-gnu/mix-ins/server-mail
  ##b##[24]##!b##  funtoo/1.0/linux-gnu/mix-ins/server-web
  ##b##[25]  funtoo/1.0/linux-gnu/mix-ins/X (auto)
  ##b##[26]##!b##  funtoo/1.0/linux-gnu/mix-ins/xfce
  ##b##[27]##!b##  funtoo/1.0/linux-gnu/mix-ins/vmware-guest
  ##b##[28]##!b##  funtoo/1.0/linux-gnu/mix-ins/hardened
</console>
</console>


Once this is done, you should now be able to navigate to ''Settings'' -> ''Bluetooth'' and turn bluetooth on. The icon next to devices should now animate and you should be able to discover and add devices such as keyboards.


No magic here, whatever you add gets put into the <code>/etc/portage/make.profile/parent</code> file by portage.
=== Printing ===
 
To enable printing support, add <code>cupsd</code> to the default runlevel:


In our case, this file contains:
<console>
<console>
###i## cat /etc/portage/make.profile/parent
# ##i##rc-update add cupsd default
gentoo:funtoo/1.0/linux-gnu/arch/x86-64bit
# ##i##rc
gentoo:funtoo/1.0/linux-gnu/build/current
gentoo:funtoo/1.0/linux-gnu/flavor/desktop
gentoo:funtoo/1.0/linux-gnu/mix-ins/kde
</console>
</console>
{{fancywarning|Please, do not add anything manually into <tt>parent</tt> file. This may result in profile breakage.}}


== For Developers ==
You should now be able to navigate to ''Settings'' -> ''Printers'' and add printers to your system, and print.


=== Define the profile sub-sets you will use ===
=== Scanning ===


So far in Funtoo we have used the exact same profiles as Gentoo thus Funtoo/2008.0 was strictly the same thing as Gentoo/2008.0 or the barely the same 10.0. This (monolithic) profile was set though a symbolic link named '''/etc/make.profile''' pointing on a complex directory architecture located somewhere under '''/usr/portage/profiles'''. This is no longer valid with the Funtoo 1.0 profiles as they are split in several smaller bricks which are then glued together via the  '''/etc/portage/make.profile/parent''' file (You do not need to include everything, just use the "bricks" you need). Those bricks belongs to several categories:
To enable scanning support, add your user account to the <code>lp</code> group. This will allow your user to access the USB scanner.


1. MANDATORY -- An "arch" profile which defines settings for a particular architecture. You'll want to set this to whatever arch your system is and leave it alone. '''Setting it to a different arch than your system could severely break it.'''
Then, <code>emerge xsane</code>, and run it. It should be able to access your scanner.


2. MANDATORY -- A "build" profile which should match the tree you wish to use. '''Stable''', '''Current''' (~arch), or '''Experimental''' (use it if you are brave enough and find '''current''' too stable).
== Finishing Touches ==


3. MANDATORY -- A "flavor" profile (what was previously known as ''profiles'' is still known as such in Gentoo) which describes the kind of system you want.
=== X ===
* minimal - Be warned, minimal is exactly what it says, the minimal profile stuff you need for a usable system, nothing else. This is really for people who know what they're doing.
* core - This is the core profile. This is for stuff that affects both desktops and servers.
* desktop - Exactly what it says. If you're using a desktop, you should set this as your flavor.
* server - If you're running a server, you should set this as your flavor.


4. OPTIONAL -- One or more "mix-ins" profiles which describe optional add-ons. 'mix-ins' are the heart of the Funtoo 1.0 profiles. Unlike the monolithic profiles which sets a massive amount of use flags and options for you, we've split them into logical add-on profiles. For instance if you want support for gnome, you would add the gnome mix-in to your current profiles. That mix-in sets all the proper use flags and such for gnome. Same with others. Want dvd support? Add that one in. Using a rhel5 kernel which requires special versions of packages such as udev? There's a mix-in for that too. Run a mail server? web server? There's mix-ins for those also. Expect this category to grow in the future as new mix-ins are created.
==== Setting up xdm (GUI log-in) ====


The contents of '''/etc/portage/make.profile/parent''' for a basic setup might look like this:
Typically, you will want to use <tt>gdm</tt>, the GNOME display manager, to log in to GNOME. This will allow you to log in graphically, rather than using the text console.
 
To enable gdm, edit <tt>/etc/conf.d/xdm</tt> and set <tt>DISPLAYMANAGER</tt> to <tt>gdm</tt> instead of <tt>xdm</tt>. Then, perform the following steps to add <tt>xdm</tt> to the default runlevel, and have it start automatically from now on when your system starts:
 
<console>
# ##i##rc-update add xdm default
</console>
 
Then, if you want to start it now do
 
<console>
# ##i##rc
</console>
 
But you should reboot to avoid having an open login terminal
 
==== Setting up xinitrc (text log-in) ====
 
Adding the following to your <tt>~/.xinitrc</tt> file is sufficient:
 
<pre>
# Fix Missing Applications in Gnome
export XDG_MENU_PREFIX=gnome-
 
# Properly Launch the Desired X Session
exec ck-launch-session gnome-session
</pre>
 
Additionaly, if you need support for different input sources, there is no longer a need to configure ibus or scrim in your <tt>.xinitrc</tt> file as GNOME uses ibus natively. Simply configure it in the Control Center under Region & Langauge.
 
=== Disable Adwaita Dark Theme ===
 
If you do not like the Adwaita Dark Theme it can be disabled by copying then modifying it like so:
 
<console>
mkdir -p ~/.themes/Adwaita-NoDark
cp -r /usr/share/themes/Adwaita/gtk-* ~/.themes/Adwaita-NoDarkhttp://www.funtoo.org/Category:Ebuild_Category
rm ~/.themes/Adwaita-NoDark/gtk-3.0/gtk-dark.css
ln -s gtk.css ~/.themes/Adwaita-NoDark/gtk-3.0/gtk-dark.css
</console>
 
Then, run gnome-tweak-tool and select select Theme -> GTK+ Theme -> Adwaita-NoDark.
 
{{fancynote|If you run GUI programs with the sudo command, then the above steps (excluding running gnome-tweak-tool) must be repeated for the root account.}}
 
[https://ask.fedoraproject.org/en/question/10304/how-do-i-ban-apps-from-using-gnome-3-adwaita-dark-theme/ Reference]
 
=== Verify the inode/directory MimeType Handler ===
 
In some odd instances, baobab might take priority over nautilus when handling the inode/directory MimeType. If this behavior is not desired, add the following to /home/~/.local/share/applications/mimeapps.list:


<pre>
<pre>
gentoo:funtoo/1.0/linux-gnu/arch/x86-64bit
[Added Associations]
gentoo:funtoo/1.0/linux-gnu/build/current
inode/directory=nautilus.desktop;baobab.desktop;
gentoo:funtoo/1.0/linux-gnu/flavor/core
</pre>
</pre>


A more rounded setup for a desktop might look like this:
=== Automatically Starting Applications at Login ===
 
When using an old-fashioned <tt>.xinitrc</tt>, starting up applications when X starts is relatively easy. When using GDM, this can still be accomplished, by using the <tt>~/.xprofile</tt> file. Here's my sample <tt>.xprofile</tt> to start <tt>xflux</tt> to dim the screen at night:


<pre>
<pre>
gentoo:funtoo/1.0/linux-gnu/arch/x86-64bit
xflux -z 87107
gentoo:funtoo/1.0/linux-gnu/build/current
gentoo:funtoo/1.0/linux-gnu/flavor/desktop
gentoo:funtoo/1.0/linux-gnu/mix-ins/dvd
gentoo:funtoo/1.0/linux-gnu/mix-ins/media
</pre>
</pre>


== Related ==
Remember to add a <tt>&</tt> at the end of any command that doesn't return to the shell prompt after running.
* [[Flavors and Mix-ins]]


[[Category:Funtoo features]]
[[Category:Desktop]]
[[Category:Portage]]
[[Category:First Steps]]
[[Category:Labs]]
[[Category:HOWTO]]
[[Category:Official Documentation]]
[[Category:Official Documentation]]

Revision as of 23:17, September 18, 2014

What is GNOME?

"GNOME 3 is an easy and elegant way to use your computer. It is designed to put you in control and bring freedom to everybody. GNOME 3 is developed by the GNOME community, a diverse, international group of contributors that is supported by an independent, non-profit foundation." GNOME

Prerequisites

Before installing GNOME, ensure that the X Window System has been installed.

   Warning

Please note that Linux kernel 3.15.* may still have serious incompatibility with various graphics drivers. If you like to use gentoo-sources or vanilla-sources, please use a 3.14.* kernel. This is of particular importance if you plan to run GNOME, and want to use NVIDIA (commercial or nouveau) or ATI (ati-drivers) graphics drivers.

Preparing to emerge

To get your system ready to emerge gnome, it is recommended that you first set the gnome profile mix-in. To accomplish this, do the following:

root ##r###  eselect profile list
root ##g##Currently available mix-ins profiles:  
  [11]  funtoo/1.0/linux-gnu/mix-ins/audio  
  [12]  funtoo/1.0/linux-gnu/mix-ins/console-extras  
  [13]  funtoo/1.0/linux-gnu/mix-ins/dvd  
  [14]  funtoo/1.0/linux-gnu/mix-ins/gnome  
  [15]  funtoo/1.0/linux-gnu/mix-ins/kde  
  [16]  funtoo/1.0/linux-gnu/mix-ins/mate  
  [17]  funtoo/1.0/linux-gnu/mix-ins/media  
  [18]  funtoo/1.0/linux-gnu/mix-ins/print  
  [19]  funtoo/1.0/linux-gnu/mix-ins/python3-only 
  [20]  funtoo/1.0/linux-gnu/mix-ins/rhel5-compat 
  [21]  funtoo/1.0/linux-gnu/mix-ins/server-db  
  [22]  funtoo/1.0/linux-gnu/mix-ins/server-mail 
  [23]  funtoo/1.0/linux-gnu/mix-ins/server-web
  [24]  funtoo/1.0/linux-gnu/mix-ins/X 
  [25]  funtoo/1.0/linux-gnu/mix-ins/xfce 
  [26]  funtoo/1.0/linux-gnu/mix-ins/vmware-guest 
  [27]  funtoo/1.0/linux-gnu/mix-ins/hardened

After seeing a list of available profiles, we want to add in the appropriate number for the gnome mix-in. To do this, run the following:

root ##r### eselect profile add 14

By enabling the gnome mix-in, various USE and other settings will be optimized to provide you with a pain-free GNOME installation experience.

Emerging

You are provided with two packages that will pull in this desktop environment:

  • gnome
   Note

This is the "whole shabang" - pulls in a range of applications made for the gnome desktop environment including a few games, an archive manager, a system monitor, a web browser, a terminal, etc.

  • gnome-light
   Note

As the name implies, this pulls in the base minimal you need to get a functioning GNOME Desktop Environment.

GNOME 3.12 from a clean install

gnome

To emerge gnome run the following command

root #  emerge -va gnome

gnome-light

To emerge gnome-light run the following command

root #  emerge -va gnome-light

Upgrading from GNOME 3.6

gnome

To emerge gnome, remove nautilus-open-terminal if it is installed as it now bundled into gnome-terminal

root #  emerge -vaC nautilus-open-terminal

Then, run the following command

root #  emerge -vauDN world

gnome-light

To emerge gnome-light remove the following packages as there have been changes since 3.6 (you will have up reinstall any packages that have been renamed after gnome-light completes).

root #  emerge -vaC gnome-fallback gnome-panel gnome-screensaver metacity gnome-games gcalctool nautilus-open-terminal

Then, run the following command

root #  emerge -vauDN world

Finally, restore any applications that have been renamed (such as gcalctool => gnome-calculator)

root #  emerge -va gnome-calculator

Subsystems

Bluetooth

For bluetooth support, ensure that:

  1. Bluetooth support is enabled in your kernel (using modules is fine).
  2. Your bluetooth hardware is turned on.
  3. Add the bluetooth startup script to the default runlevel, and start it.

This can be done as follows:

root # rc-update add bluetooth default
root # rc

Once this is done, you should now be able to navigate to Settings -> Bluetooth and turn bluetooth on. The icon next to devices should now animate and you should be able to discover and add devices such as keyboards.

Printing

To enable printing support, add cupsd to the default runlevel:

root # rc-update add cupsd default
root # rc

You should now be able to navigate to Settings -> Printers and add printers to your system, and print.

Scanning

To enable scanning support, add your user account to the lp group. This will allow your user to access the USB scanner.

Then, emerge xsane, and run it. It should be able to access your scanner.

Finishing Touches

X

Setting up xdm (GUI log-in)

Typically, you will want to use gdm, the GNOME display manager, to log in to GNOME. This will allow you to log in graphically, rather than using the text console.

To enable gdm, edit /etc/conf.d/xdm and set DISPLAYMANAGER to gdm instead of xdm. Then, perform the following steps to add xdm to the default runlevel, and have it start automatically from now on when your system starts:

root # rc-update add xdm default

Then, if you want to start it now do

root # rc

But you should reboot to avoid having an open login terminal

Setting up xinitrc (text log-in)

Adding the following to your ~/.xinitrc file is sufficient:

# Fix Missing Applications in Gnome
export XDG_MENU_PREFIX=gnome-

# Properly Launch the Desired X Session
exec ck-launch-session gnome-session

Additionaly, if you need support for different input sources, there is no longer a need to configure ibus or scrim in your .xinitrc file as GNOME uses ibus natively. Simply configure it in the Control Center under Region & Langauge.

Disable Adwaita Dark Theme

If you do not like the Adwaita Dark Theme it can be disabled by copying then modifying it like so:

mkdir -p ~/.themes/Adwaita-NoDark
cp -r /usr/share/themes/Adwaita/gtk-* ~/.themes/Adwaita-NoDarkhttp://www.funtoo.org/Category:Ebuild_Category
rm ~/.themes/Adwaita-NoDark/gtk-3.0/gtk-dark.css
ln -s gtk.css ~/.themes/Adwaita-NoDark/gtk-3.0/gtk-dark.css

Then, run gnome-tweak-tool and select select Theme -> GTK+ Theme -> Adwaita-NoDark.

   Note

If you run GUI programs with the sudo command, then the above steps (excluding running gnome-tweak-tool) must be repeated for the root account.

Reference

Verify the inode/directory MimeType Handler

In some odd instances, baobab might take priority over nautilus when handling the inode/directory MimeType. If this behavior is not desired, add the following to /home/~/.local/share/applications/mimeapps.list:

[Added Associations]
inode/directory=nautilus.desktop;baobab.desktop;

Automatically Starting Applications at Login

When using an old-fashioned .xinitrc, starting up applications when X starts is relatively easy. When using GDM, this can still be accomplished, by using the ~/.xprofile file. Here's my sample .xprofile to start xflux to dim the screen at night:

xflux -z 87107

Remember to add a & at the end of any command that doesn't return to the shell prompt after running.