The Funtoo Linux project has transitioned to "Hobby Mode" and this wiki is now read-only.
Difference between revisions of "GNOME First Steps"
Line 115: | Line 115: | ||
# Bluetooth support is enabled within your kernel (using modules is fine). | # Bluetooth support is enabled within your kernel (using modules is fine). | ||
# Your bluetooth hardware is turned on. | # Your bluetooth hardware is turned on. | ||
# Your user is in the {{c|plugdev}} group. | |||
After ensuring those two things, the {{c|bluetooth}} startup script can be added to the default runlevel and started: | After ensuring those two things, the {{c|bluetooth}} startup script can be added to the default runlevel and started: |
Revision as of 20:14, May 2, 2018
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 attempting to emerge Gnome, make sure that you have installed and tested the X Window System on your computer.
Preparing to emerge
After verifying that you have installed the X Window system on your computer, change your system flavor to desktop, and enable the gnome profile mix-in. To accomplish this, run the following:
root # epro flavor desktop root # epro mix-ins +gnome
By enabling the gnome mix-in, various settings, including the USE
portage variable, will be optimized to provide you with a relatively painless Gnome install.
Emerging
The Funtoo Linux repositories include two ebuild "meta packages" that can be used to install Gnome. One of them, gnome-light
installs a bare-bones gnome desktop with few "extra" applications and games that can be found in the gnome-extra
and games-*
portage categories, respectively. If you are interested in having a Gnome desktop with extra applications like a photo viewer, text editor, sound player, font viewer, etc, immediately after installing the Gnome packages, consider emerging the gnome
package instead of gnome-light
.
Individual Gnome applications can be installed on top of a gnome-light
installation, allowing you to only install the applications you need and limit unnecessary bloat.
Below are two lists comparing some of the different packages installed by default with a gnome-light
and gnome
installation:
gnome-light | gnome |
---|---|
Includes:
| Includes:
... and many other applications. |
Best for:
| Best for:
|
How to install:
| How to install:
|
A few finishing touches
OpenGL
GNOME uses OpenGL by default to help it provide nice animations and other eye candy, so you'll want to make sure that you use eselect opengl
to ensure that the proper OpenGL implementation for your video card is selected. If this is not done, GNOME won't start, so it's important to check this. Type eselect opengl list
as root to list OpenGL implementations, and eselect opengl set <opengl_implementation_name>
, again as root, to set your OpenGL implementation to the one that you deem suitable.
While many video drivers (those that are part of xorg-x11) do not require users to be part of the video
group for hardware acceleration, the proprietary NVIDIA drivers definitely do require this. Please make sure that any non-root user is part of the video
group. See x11-drivers/nvidia-drivers for more info on how to set up NVIDIA's proprietary drivers.
Setting up xdm (GUI log-in)
Most users of Gnome are satisfied using gdm
, the Gnome display manager, to log in to Gnome. To clarify: a display manager provides a graphical interface during system startup that allows users to log in to a desktop environment.
By default, GNOME displays the /etc/motd
file for several seconds after you log in via GDM. The best way to eliminate this delay is to remove the unnecessary /etc/motd
file, which only contains information related to when your stage3 was built:
root # rm /etc/motd
By default, after installing Gnome, GDM is not enabled. To enable GDM, edit /etc/conf.d/xdm
and set the DISPLAYMANAGER
variable to gdm
instead of the default, xdm
. When finished, your /etc/conf.d/xdm
file should look like:
/etc/conf.d/xdm
# We always try and start X on a static VT. The various DMs normally default
# to using VT7. If you wish to use the xdm init script, then you should ensure
# that the VT checked is the same VT your DM wants to use. We do this check to
# ensure that you haven't accidentally configured something to run on the VT
# in your /etc/inittab file so that you don't get a dead keyboard.
CHECKVT=7
# What display manager do you use ?
# NOTE: If this is set in /etc/rc.conf, that setting will override this one.
DISPLAYMANAGER="gdm"
Once you finish configuring that file, add the xdm
service to the default runlevel so that GDM will start automatically when your system has finished loading other services.
xdm
need dbus service started before. To achieve this:
root # rc-update add dbus default
Above command adds dbus to list of services to be started at boot.
Now, we will add xdm service.
root # rc-update add xdm default
The above command adds xdm to the list of services to be started at boot. Since your system has already started, the xdm service will be started the next time the system is started. To run the xdm service now, you can execute the following command, which runs any services in the list of services to start at boot that are currently not running:
root # rc
Setting up xinitrc (text-based log-in)
If, instead of using a display manager like GDM, you would rather log into the console and start Gnome from there, add the following to your ~/.xinitrc
file:
~/.xinitrc
# Fix Missing Applications in Gnome
export XDG_MENU_PREFIX=gnome-
# Properly Launch the Desired X Session
exec ck-launch-session gnome-session
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 Gnome Control Center under the Region & Language section.
Upgrading from older Gnome releases
To update either gnome-light
or gnome
to a newer version, run the following command:
root # emerge -vauDN world
Subsystems
Bluetooth
For bluetooth support under Gnome, ensure that:
- Bluetooth support is enabled within your kernel (using modules is fine).
- Your bluetooth hardware is turned on.
- Your user is in the
plugdev
group.
After ensuring those two things, the bluetooth
startup script can be added to the default runlevel and started:
root # rc-update add bluetooth default root # rc
Once the rc
command has been run, the bluetooth
init file has been run, meaning that you should now be able to navigate to the Gnome Control Center's Bluetooth section to turn bluetooth on. The icon next to devices should now animate and you should be able to discover and add devices such as bluetooth keyboards and mice.
Additional kernel drivers may be necessary 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 the cupsd
init file to the default runlevel and then start the cupsd service by running the rc
command:
root # rc-update add cupsd default root # rc
You should now be able to navigate to the Gnome Control Center's Printers sections and add printers to your system. After adding printers to your system, you should, hopefully, be able to print to them. If you have troubles with the default printer drivers, consider reading
Scanning
To enable scanning support, add your user account (and the accounts of any other users who may need to scan) to the lp
group. By adding your user account to this group, you will have access to any locally attached scanner:
root # gpasswd -a <username> lp
After adding yourself and any other desired users to the lp
local printing group, install xsane
, a graphical scanning frontend, by running the following command:
root # emerge xsane
When you run xsane
, it should be able to access your scanner.
Automatically Starting Applications at Login
When using an old-fashioned Template:~/.xinitrc, loading applications when X starts is relatively easy, simply add different applications to launch on separate lines in the file. When using GDM, this can also be accomplished with ease by editing the ~/.xprofile
file. Here is a sample ~/.xprofile
that runs the xflux
application to dim a computer's monitor at night:
~/.xprofile
xflux -z 87107
Remember to add an &
at the end of any command that doesn't return directly to the shell prompt after running.
Games
Gnome has a plethora of games that can be added to your installation of either gnome-light
or gnome
. By default, the majority of Gnome games are not included in the gnome
and gnome-light
packages. If you are interested in playing games under Gnome, or for that matter, any other desktop environment, you will want to add your user account to the games
group. This can be accomplished easily by running the following command:
root # gpasswd -a $USER games
The above command appends games to the list of groups that you are already a member of. Once your user account has been added to the games
group, you should log out and log back in to apply the changes to your user at log-in. Below is a list of games that were developed by the Gnome team with the Gnome desktop environment in mind:
- gnome-sudoku
- gnome-mastermind
- gnome-nibbles
- gnome-robots
- gnome-chess
- gnome-hearts
- gnome-mahjongg
- gnome-mines
- gnome-klotski
- gnome-tetravex
- gnomeboyadvance
- gnome-mud
To install any of the above games, simply run an:
root # emerge <gamename>
Significant Known Issues (Workarounds Available)
- FL-1678: Bluetooth interface gives wrong pairing key
- FL-1687: Wallpaper corruption when resuming from suspend
- FL-1908: gnome-terminal does not respect scroll bar placement setting
gnome upstream FAQ has wrong information. A workaround is to use new method:
~/.config/gtk-3.0/gtk.css
terminal-window overlay {
-TerminalScreenContainer-window-placement: bottom-right;
-TerminalScreenContainer-window-placement-set: true;
}