Difference between pages "Funtoo:About/pt-br" and "GNOME First Steps"

(Difference between pages)
m (Tocadotux moved page Http://www.funtoo.org/pt-br/Funtoo:About to Pt-br/Funtoo:About: changing of directory)
 
(GNOME 3.14 from a clean install)
 
Line 1: Line 1:
= Visão do Projeto =
+
=== What is GNOME? ===
  
Daniel Robbins originalmente escreveu a [[ Gentoo Linux Philosophy|Filosofia Gentoo Linux]], e nisso definiu o conceito de uma ferramenta ideal assim sendo algo que "simplesmente funciona", não fica no caminho do usuário, e responde a vontade do usuário ao invés de forçar o usuário a trabalhar de um jeito particular.
+
"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]
  
Funtoo Linux é um projeto de pessoas que concordam filosofia da ferramenta ideal, e que são ''apaixonados'' pelo nosso desejo de melhorar a tecnologia de ser tão próximo desse ideial quanto possível. O foco de nossos esforços é o melhoramento contínuo da distribuição Gentoo Linux distribution.
+
=== Prerequisites ===
  
The development focus of Funtoo Linux is currently directed at the core system, meaning anything on a stage3, portage, core languages, kernels, server applications, and up through X11 and simple window managers, and including desktop environments like GNOME and KDE.
+
==== From a Clean Install ====
  
== Focus, Focus, Focus ==
+
Ensure that the [[X Window System]] is installed.
  
Developers should use these general principles to determine what priorities to focus on first. These areas below are listed in order of priority, so the next paragraph is the top priority, followed by next priority, etc. Just because something is lower priority doesn't mean it is "less important" - it just means to address the higher-priority things first.
+
=== Preparing to emerge ===
  
=== Does It Build? ===
+
To get your system ready to emerge gnome, first set your system flavor to desktop, and enable the gnome profile mix-in. To accomplish this, do the following:
 +
{{console|recipe=setup,setup-light|desc=Set profile|body=
 +
# ##i##eselect profile set-flavor funtoo/1.0/linux-gnu/flavor/desktop
 +
# ##i##eselect profile add funtoo/1.0/linux-gnu/mix-ins/gnome
 +
}}
  
* '''Does it Build Reliably?'''
+
By enabling the gnome mix-in, various USE and other settings will be optimized to provide you with a pain-free GNOME installation experience.
  
The first test - does the software build from source properly? This isn't just about emerging ebuilds on your system -- do stage builds work with no issues using Metro? If not, this needs to be fixed first. Funtoo Linux continually builds updated operating system releases, and these must build reliably at all times. The focus here is for 100% correct and efficient builds using Metro, and then emerging initial applications on a Funtoo Linux system.
+
=== Emerging ===
  
=== Does It Run? ===
+
You are provided with two packages that will pull in this desktop environment:
  
* '''Does it Run Well?'''
+
* ''gnome''
  
OK, it builds. Does it run properly? Does it work? This is pretty vague, so let's put some specifics here. When installing Funtoo Linux from a stage3, does everything work? What complications or failures were encountered on initial install? These should be fixed, or work-arounds should be put in place, and long-term fixes should be worked on to improve the user experience. Remember that the focus of Funtoo Linux is on the core system - this is the stuff you touch when you first install Funtoo Linux. You should regularly re-install Funtoo Linux to check for any issues and prioritize user install issues and the initial user experience.
+
{{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.}}
  
=== Can I Use It? ===
+
* ''gnome-light''
  
* '''Easily?'''
+
{{fancynote|As the name implies, this pulls in the base minimal you need to get a functioning GNOME Desktop Environment.}}
* '''For Real Work?'''
+
  
OK, it builds, and it runs. But can I actually perform tasks with the tool? How easy or hard is it to perform these tasks? The technology (and documentation) must be designed to support the user in performing these tasks, rather than forcing the user to jump through hoops to get something set up correctly. Things should be automated as much as possible without taking control away from the user. Reasonable, secure defaults that are suitable for production workloads must be used for all applications. Things should emerge without blockers or missing features that must be enabled manually by the user. And a pet peeve - if emerge stops to tell the user that they must define a USE variable to continue, this is something that should be fixed one way or another. Then, when everything is said and done, it should work.
+
==== GNOME 3.14 from a clean install ====
  
=== Is It Documented? ===
+
===== gnome =====
  
* '''For free software projects, documentation is key.'''
+
To emerge ''gnome'' run the following command
  
If software builds, runs and works, others still may not be able to use it until proper documentation is available. Upstream documentation isn't always complete or easy to understand, so often additional user documentation is required. If manual steps are required, they should be documented clearly and correctly. The documentation option of choice is the Funtoo wiki as well as man pages.
+
{{console|desc=Emerging GNOME|body=
 +
# ##i## emerge gnome
 +
}}
  
For source code, verbose comments should be used. You may be working on the code now, but someone else might be working on it six months from now. Developers are expected to write clear comments that are sufficiently non-technical and provide the necessary context to allow less experienced developers to understand critical parts of code, and ideally '''all''' parts of the code. Please see [[Coding Standards]].
+
===== gnome-light =====
  
=== Is It Well-Designed? ===
+
To emerge ''gnome-light'' run the following command
  
* '''Optimized?'''
+
{{console|recipe=setup-light|desc=Emerging a minimal GNOME environment (alternative)|body=
* '''Maintainable?'''
+
# ##i## emerge gnome-light
 +
}}
  
It builds and runs, and I can use it to perform real work. But is the system well-designed? Does it work reliably? Are all available patches and fixes in place to ensure a reliable computing experience? Is Funtoo Linux providing the best technology possible to users? And is this technology easy to maintain? Remember, all things being equal, less code is better than more code because it is easier to maintain. Are there verbose comments in code where necessary?
+
==== Upgrading from GNOME 3.12 ====
  
=== Are We Getting Better? ===
+
To update either ''gnome'' or ''gnome-light'' run the following command:
  
OK, we're doing all of the above steps. Here is the next test - are we getting better? Is the quality, security, usability and maintainability of the distribution improving over time, or is it going up, and then going down, and we're not really making any forward progress? The ultimate goal at the end of the day is to make forward progress in the quality of the distribution. This requires better automation, better tools, better processes, and investment in research and development and new ways of doing things. It also requires the right attitude. If we are doing a lot of work and the overall quality of the distribution is not improving, then our efforts are not making a long-term difference, even though they may be addressing immediate bugs and issues. We must ensure that our efforts are worthwhile, and they are making a positive long-term difference in the quality of the distribution.
+
{{console|body=
 +
# ##i## emerge -vauDN world
 +
}}
 +
=== Subsystems ===
  
=== What is The Real Problem? ===
+
==== Bluetooth ====
  
Building on this theme - when a bug is encountered, what is the ''real'' problem, or ''root cause''? Strategic thinking as well as in-depth troubleshooting is required to identify the root cause of a problem. Should we just fix root causes? No, this is impractical, because doing this takes a lot of time. Instead, workarounds are often used to quickly restore quality to acceptable levels. However, just implementing workarounds is dangerous, because bugs tend to multiply while the underlying issue goes unresolved. The proper solution is to implement workarounds but to not lose focus on the need to address the underlying issues, or root causes, of the problem. In fact, much of the focus of Funtoo Linux is on this last step - aggressively fixing a bunch of immediate issues so we can start to address the deeper problems once and for all...
+
For bluetooth support, ensure that:
  
=== Architecture ===
+
# Bluetooth support is enabled in your kernel (using modules is fine).
 +
# Your bluetooth hardware is turned on.
 +
# Add the <code>bluetooth</code> startup script to the default runlevel, and start it.
  
...and addressing root causes of problems often requires a significant change in software architecture. Funtoo Linux is a project that is not afraid of making significant, even aggressive, architectural changes in order to fix problems. This is what our users expect us to do, and ''as long as these changes are properly tested, managed, planned, automated and communicated to users'', they will not get upset. As stated in the previous paragraph, the Funtoo Linux project is zealous about addressing these core architectural issues -- but we need to get a handle on the more fundamental challenges first. Once workarounds are in place, we'll take a stab at some core system change that will pay dividends well into the future.
+
This can be done as follows:
  
== Examples ==
+
<console>
 +
# ##i##rc-update add bluetooth default
 +
# ##i##rc
 +
</console>
  
Below, you will find examples of existing efforts that have aligned with these goals. This section will give you a feel for how real projects can be started that align with the Funtoo Linux vision defined above.
+
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.
  
=== Boot-Update ===
+
{{Note|1=
 +
Additional kernel drivers may need to be enabled for certain input devices. For example, for the bluetooth Apple Magic Trackpad, the following option must be enabled in your kernel:
  
[[Boot-Update]] was designed by Daniel Robbins to provide a more elegant way to configure boot loaders under Funtoo Linux. This project was prioritized for several reasons. For one, it had to do with the initial installation experience (see [[#Does it Run?]]) Also, lack of GRUB2 support, as well as GPT/GUID support, was identified as a critical weakness in current Gentoo Linux functionality (see [[#Is it Well-Designed?]]) Because of this, a new unified configurator was written which uses <tt>/etc/boot.conf</tt> as the global boot loader configuration file. This represented a change in boot loader architecture (see [[#Architecture]]) under Funtoo Linux, in order to improve usability and flexibilty over existing solutions, and to attempt to reduce or eliminate a class of problems related to boot loader configuration, which is especially troublesome with GRUB2.
+
{{kernelop|title=Device Drivers,HID support,HID bus support,Special HID drivers|desc=
 +
<M> Apple Magic Mouse/Trackpad multi-touch support
 +
}}}}
  
=== Metro ===
+
==== Printing ====
  
[[Metro]] was designed by Daniel Robbins and is used to address the "[[#Does It Build?]]" question. The existing solution, catalyst, was difficult to maintain (see [[#Is It Well-Designed?]]), so Metro was developed to provide a new mechanism for building OS releases.
+
To enable printing support, add <code>cupsd</code> to the default runlevel:
  
=== Forked Ebuilds ===
+
<console>
 +
# ##i##rc-update add cupsd default
 +
# ##i##rc
 +
</console>
  
Not all improvements involve large software development efforts. In fact, the majority of fixes involve relatively small fixes to ebuilds. These fixes are often made to fix a Metro build failure (see [[#Does it Build?]]) or address some quality issue (see [[#Is It Well-Designed?]]). The <tt>www-servers/nginx</tt> ebuild was improved to provide better default settings for production systems, with corresponding changes made to <tt>sys-libs/pam</tt> to allow this to work. <tt>dev-lang/python</tt> contains fixes to ensure that Metro builds complete properly and a valid <tt>/usr/bin/python</tt> symlink always exists.
+
You should now be able to navigate to ''Settings'' -> ''Printers'' and add printers to your system, and print.
  
=== OpenVZ ===
+
==== Scanning ====
  
OpenVZ support is a specific priority of Funtoo Linux. Funtoo Linux maintains a patched <tt>sys-cluster/vzctl</tt> with various patches to fix a variety of problems. In addition, <tt>openvz-rhel6-stable</tt> and <tt>openvz-rhel5-stable</tt> ebuilds have been created to ease installation of production-quality OpenVZ kernels (see [[#Can I Use It?]]) In addition, [[OpenVZ]] documentation exists on the wiki (see [[#Can I Use It?]])
+
To enable scanning support, add your user account to the <code>lp</code> group. This will allow your user to access the USB scanner.
  
[[Category:QA]]
+
Then, <code>emerge xsane</code>, 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 <code>gdm</code>, 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 <code>/etc/conf.d/xdm</code> and set <code>DISPLAYMANAGER</code> to <code>gdm</code> instead of <code>xdm</code>. Then, perform the following steps to add <code>xdm</code> to the default runlevel, and have it start automatically from now on when your system starts:
 +
 
 +
{{Note|Funtoo's <code>/etc/init.d/xdm</code> initscript has been modified to start the requisite services <code>dbus</code>, <code>openrc-settingsd</code> and <code>consolekit</code> prior to starting <code>gdm</code>.}}
 +
 
 +
{{console|recipe=setup|desc=Enable the GNOME display manager|body=
 +
# ##i## rc-update add xdm default
 +
}}
 +
 
 +
Then, if you want to start it now do:
 +
 
 +
{{console|body=
 +
# ##i##rc
 +
}}
 +
 
 +
But you should reboot to avoid having an open login terminal.
 +
 
 +
===== Setting up xinitrc (text log-in) =====
 +
 
 +
Adding the following to your <code>~/.xinitrc</code> 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 SCIM in your <code>.xinitrc</code> file as GNOME uses IBus natively. Simply configure it in the Control Center under Region & Language.
 +
 
 +
=== Automatically Starting Applications at Login ===
 +
 
 +
When using an old-fashioned <code>.xinitrc</code>, starting up applications when X starts is relatively easy. When using GDM, this can still be accomplished, by using the <code>~/.xprofile</code> file. Here's my sample <code>.xprofile</code> to start <code>xflux</code> to dim the screen at night:
 +
 
 +
<pre>
 +
xflux -z 87107
 +
</pre>
 +
 
 +
{{Note|Remember to add a <code>&</code> at the end of any command that doesn't return to the shell prompt after running.}}
 +
 
 +
=== games ===
 +
Gnome has several games that can be added on to your install.  By default most games are not included in gnome's emerge.
 +
 
 +
Users wishing to play games need to be added to the games group:
 +
{{console|body=###i## gpasswd -a $USER games}}
 +
 
 +
game list:
 +
;gnome-sudoku
 +
;gnome-mastermind
 +
;gnome-nibbles
 +
;gnome-robots
 +
;gnome-chess
 +
;gnome-hearts
 +
;gnome-mahjongg
 +
;gnome-mines
 +
;gnome-klotski
 +
;gnome-tetravex
 +
 
 +
game system emulators:
 +
 
 +
;gnomeboyadvance
 +
;gnome-mud
 +
 
 +
=== Significant Known Issues (Workarounds Available) ===
 +
 
 +
[https://bugs.funtoo.org/browse/FL-1678 FL-1678]: Bluetooth interface gives wrong pairing key
 +
 
 +
[https://bugs.funtoo.org/browse/FL-1687 FL-1687]: Wallpaper corruption when resuming from suspend
 +
 
 +
[[Category:Desktop]]
 +
[[Category:First Steps]]
 +
[[Category:Official Documentation]]

Revision as of 17:45, February 22, 2015

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

From a Clean Install

Ensure that the X Window System is installed.

Preparing to emerge

To get your system ready to emerge gnome, first set your system flavor to desktop, and enable the gnome profile mix-in. To accomplish this, do the following:

# eselect profile set-flavor funtoo/1.0/linux-gnu/flavor/desktop
# eselect profile add funtoo/1.0/linux-gnu/mix-ins/gnome

Console: Set profileThe given value was not understood.

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.14 from a clean install

gnome

To emerge gnome run the following command

#  emerge gnome

Console: Emerging GNOME

gnome-light

To emerge gnome-light run the following command

#  emerge gnome-light

Console: Emerging a minimal GNOME environment (alternative)The given value was not understood.

Upgrading from GNOME 3.12

To update either gnome or gnome-light run the following command:

#  emerge -vauDN world

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:

# rc-update add bluetooth default
# 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.

Note

Additional kernel drivers may need to be enabled for certain input devices. For example, for the bluetooth Apple Magic Trackpad, the following option must be enabled in your kernel:

Under Device Drivers-->HID support-->HID bus support-->Special HID drivers:

<M> Apple Magic Mouse/Trackpad multi-touch support

Printing

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

# rc-update add cupsd default
# 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:

Note

Funtoo's /etc/init.d/xdm initscript has been modified to start the requisite services dbus, openrc-settingsd and consolekit prior to starting gdm.

#  rc-update add xdm default

Console: Enable the GNOME display managerThe given value was not understood.

Then, if you want to start it now do:

# 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 SCIM in your .xinitrc file as GNOME uses IBus natively. Simply configure it in the Control Center under Region & Language.

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
Note

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

games

Gnome has several games that can be added on to your install. By default most games are not included in gnome's emerge.

Users wishing to play games need to be added to the games group:

# gpasswd -a $USER games


game list:

gnome-sudoku
gnome-mastermind
gnome-nibbles
gnome-robots
gnome-chess
gnome-hearts
gnome-mahjongg
gnome-mines
gnome-klotski
gnome-tetravex

game system emulators:

gnomeboyadvance
gnome-mud

Significant Known Issues (Workarounds Available)

FL-1678: Bluetooth interface gives wrong pairing key

FL-1687: Wallpaper corruption when resuming from suspend