Difference between pages "Package:Sudo" and "GNOME First Steps"

(Difference between pages)
m (a bit better, needs individual commands saving what i've got so far)
 
(GNOME 3.14 from a clean install)
 
Line 1: Line 1:
{{Ebuild
+
=== What is GNOME? ===
|Summary=Allows users or groups to run commands as other users
+
 
|CatPkg=app-admin/sudo
+
"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]
|Homepage=http://www.sudo.ws/
+
 
 +
=== 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:
 +
{{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
 
}}
 
}}
{{PageNeedsUpdates}}
 
  
sudo allows privilege escalation for non root users to perform restricted actions while in a locked down user environment.
+
By enabling the gnome mix-in, various USE and other settings will be optimized to provide you with a pain-free GNOME installation experience.
  
=== Emerge ===
+
=== Emerging ===
{{console|body=###i## emerge sudo}}
+
  
==== Configuration ====
+
You are provided with two packages that will pull in this desktop environment:
===== /etc/sudoers.d/ =====
+
Instead of editing {{f|/etc/sudoers}}, you may drop individual configuration files into the {{f|/etc/sudoers.d/}} directory
+
  
===== Passwordless Sudoer =====
+
* ''gnome''
The sudo configuration file is located @ {{f|/etc/sudoers}}.  When editing this file be very careful to not introduce syntax errors.  Several other linux distributions use {{c|visudo}} to edit {{f|/etc/sudoers}}.
+
  
{{Console|body=$##i## su -c 'nano /etc/sudoers'}}
+
{{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.}}
  
{{file|name=/etc/sudoers|lang=|desc=uncomment wheel group no password sudo|body=
+
* ''gnome-light''
%wheel ALL=(ALL) NOPASSWD: ALL
+
 
 +
{{fancynote|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
 +
 
 +
{{console|desc=Emerging GNOME|body=
 +
# ##i## emerge gnome
 
}}
 
}}
  
Add your user to the wheel group to enable sudo:
+
===== gnome-light =====
 +
 
 +
To emerge ''gnome-light'' run the following command
 +
 
 +
{{console|recipe=setup-light|desc=Emerging a minimal GNOME environment (alternative)|body=
 +
# ##i## emerge gnome-light
 +
}}
 +
 
 +
==== Upgrading from GNOME 3.12 ====
 +
 
 +
To update either ''gnome'' or ''gnome-light'' run the following command:
 +
 
 +
{{console|body=
 +
# ##i## emerge -vauDN world
 +
}}
 +
=== Subsystems ===
 +
 
 +
==== Bluetooth ====
 +
 
 +
For bluetooth support, ensure that:
 +
 
 +
# 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.
 +
 
 +
This can be done as follows:
 +
 
 +
<console>
 +
# ##i##rc-update add bluetooth default
 +
# ##i##rc
 +
</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.
 +
 
 +
{{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:
 +
 
 +
{{kernelop|title=Device Drivers,HID support,HID bus support,Special HID drivers|desc=
 +
<M> Apple Magic Mouse/Trackpad multi-touch support
 +
}}}}
 +
 
 +
==== Printing ====
 +
 
 +
To enable printing support, add <code>cupsd</code> to the default runlevel:
 +
 
 +
<console>
 +
# ##i##rc-update add cupsd default
 +
# ##i##rc
 +
</console>
 +
 
 +
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 <code>lp</code> group. This will allow your user to access the USB scanner.
 +
 
 +
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>
  
{{Console|body=$##i## su -c 'gpasswd -a $USER wheel'}}
+
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.
  
Either log out, and in again or restart:
+
=== Automatically Starting Applications at Login ===
  
{{Console|body=$##i## su -c 'shutdown -r now'}}
+
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:
  
===== Disabling Root Access By Password =====
+
<pre>
To better secure a system, one may desire to disable root logins by password.
+
xflux -z 87107
 +
</pre>
  
{{console|body= $##i## sudo passwd -ld root}}
+
{{Note|Remember to add a <code>&</code> at the end of any command that doesn't return to the shell prompt after running.}}
  
to access root:
+
=== games ===
 +
Gnome has several games that can be added on to your install.  By default most games are not included in gnome's emerge.
  
{{Console|body= $##i## sudo su}}
+
Users wishing to play games need to be added to the games group:
 +
{{console|body=###i## gpasswd -a $USER games}}
  
Root can also be accessed by logging in via ssh keys, or as a restricted user then sudo su as above.
+
game list:
 +
;gnome-sudoku
 +
;gnome-mastermind
 +
;gnome-nibbles
 +
;gnome-robots
 +
;gnome-chess
 +
;gnome-hearts
 +
;gnome-mahjongg
 +
;gnome-mines
 +
;gnome-klotski
 +
;gnome-tetravex
  
====Bash Completion====
+
game system emulators:
  
Users that want bash completion with sudo need to run this once.
+
;gnomeboyadvance
 +
;gnome-mud
  
{{console|body=$##i## echo "complete -cf sudo" >> $HOME/.bashrc}}
+
=== Significant Known Issues (Workarounds Available) ===
  
==== Passing Environment Variables ====
+
[https://bugs.funtoo.org/browse/FL-1678 FL-1678]: Bluetooth interface gives wrong pairing key
To pass environment variables to the temporary root use the -E flag.
+
{{console|body=$##i## sudo -E echo 'hello world'}}
+
  
==== Passing Aliases ====
+
[https://bugs.funtoo.org/browse/FL-1687 FL-1687]: Wallpaper corruption when resuming from suspend
If your user has aliases you wish to use under sudo you must alias sudo with a space first:
+
{{console|body=$##i## echo "alias sudo='sudo '" >> $HOME/.bashrc}}
+
  
{{EbuildFooter}}
+
[[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 profile{{#subobject:|step=|stepCount=1|In recipe=setup,setup-light|+sep=,|action=runcmd|body=# ##i##eselect profile set-flavor funtoo/1.0/linux-gnu/flavor/desktop

  1. ##i##eselect profile add funtoo/1.0/linux-gnu/mix-ins/gnome}}

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){{#subobject:|step=|stepCount=2|In recipe=setup-light|+sep=,|action=runcmd|body=# ##i## emerge gnome-light}}

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 manager{{#subobject:|step=|stepCount=3|In recipe=setup|+sep=,|action=runcmd|body=# ##i## rc-update add xdm default}}

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