Difference between pages "GNOME First Steps" and "Mitigating Systemd"

From Funtoo
(Difference between pages)
Jump to navigation Jump to search
 
m (→‎timedated: Added description.)
 
Line 1: Line 1:
== What is GNOME? ==
Funtoo currently has no plans to migrate or adopt systemd as it's default init system. This does '''not''' prevent you from using systemd on your system. [https://coreos.com/ CoreOS], for example, is a systemd based system build on Gentoo.
"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]


== Prerequisites ==
For users not seeking to use systemd, that is, most Funtoo users, this page will serve both as the Funtoo development team's planning for the future, and information on how to avoid systemd in your system.


Before installing GNOME, ensure that the [[X Window System]] has been installed.
== Components of systemd ==


{{fancywarning|1=
=== systemd ===
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.}}


== Preparing to emerge ==
Provides replacements for the following daemons or utilities:


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:
* {{Package|sys-apps/sysvinit}}
<console>
* {{Package|sys-power/pm-utils}}
##r### ##b## eselect profile list
* {{Package|virtual/inetd}}
##g##Currently available mix-ins profiles: 
* {{Package|sys-power/acpid}}
  [11]  funtoo/1.0/linux-gnu/mix-ins/audio 
* [[Installing a Logger|syslog]]
  [12]  funtoo/1.0/linux-gnu/mix-ins/console-extras 
* {{Package|sys-apps/watchdog}}
  [13]  funtoo/1.0/linux-gnu/mix-ins/dvd 
* [[Installing a Cron Daemon|cron]]
  [14]  funtoo/1.0/linux-gnu/mix-ins/gnome 
* atd
  [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.
=== consoled ===


== Emerging ==
Provides a user console daemon and handles Linux Virtual terminal support.


You are provided with two packages that will pull in this desktop environment:  
=== [http://www.freedesktop.org/wiki/Software/systemd/hostnamed/ hostnamed] ===


* ''gnome''
This is a tiny daemon that can be used to control the host name and related machine meta data from user programs. It currently offers access to five variables:


{{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.}}
* The current host name (Example: dhcp-192-168-47-11)
* The static (configured) host name (Example: lennarts-computer)
* The pretty host name (Example: Lennart's Computer)
* A suitable icon name for the local host (Example: computer-laptop)
* A chassis type (Example: "tablet")


* ''gnome-light''
=== journald ===


{{fancynote|As the name implies, this pulls in the base minimal you need to get a functioning GNOME Desktop Environment.}}
Provides logging functionality.


=== GNOME 3.12 from a clean install ===
Provides replacement for the  [[Installing a Logger|system logger]].


==== gnome ====
=== [http://www.freedesktop.org/wiki/Software/systemd/machined/ machined] ===


To emerge ''gnome'' run the following command
The daemon provides both a C library interface (which is shared with logind) as well as a D-Bus interface. The library interface may be used to introspect and watch the state of virtual machines/containers. The bus interface provides the same but in addition may also be used to register or terminate machines.


<console>
=== localed ===
# ##i## emerge gnome
</console>


==== gnome-light ====
TODO.


To emerge ''gnome-light'' run the following command
=== [http://www.freedesktop.org/wiki/Software/systemd/logind/ logind] ===


<console>
Manages user logins and seats. Replaces {{Package|sys-auth/consolekit}}.
# ##i## emerge gnome-light
</console>


=== Upgrading from GNOME 3.6 ===
=== networkd ===


==== gnome ====
Provides the facilities to perform various network configurations.


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


<console>
TODO.
# ##i## emerge -vaC nautilus-open-terminal
</console>


Then, run the following command
=== [http://www.freedesktop.org/software/systemd/man/systemd-halt.service.html systemd-shutdown] ===


<console>
TODO.
# ##i## emerge -vauDN world
</console>


==== gnome-light ====
=== [http://www.freedesktop.org/wiki/Software/systemd/timedated/ timedated]  ===


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).
This is a tiny daemon that can be used to control the system time and related settings. It currently offers access to four settings:


<console>
* The system time
# ##i## emerge -vaC gnome-fallback gnome-panel gnome-screensaver metacity gnome-games gcalctool nautilus-open-terminal
* The system timezone
</console>
* A boolean controlling whether the system RTC is in local or UTC timezone
* Whether the systemd-timesyncd.service (NTP) services is enabled/started or disabled/stopped.


Then, run the following command
=== timesyncd ===


<console>
TOD.
# ##i## emerge -vauDN world
</console>


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


<console>
udev was merged into the systemd source tree.
# ##i## emerge -va gnome-calculator
</console>


== Subsystems ==
=== libudev ===


=== Bluetooth ===
The standard library for using {{Package|sys-fs/udev}}.


For bluetooth support, ensure that:
Alternatives:
 
* {{Package|sys-fs/eudev}}
# 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.
 
=== 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 <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>
[Added Associations]
inode/directory=nautilus.desktop;baobab.desktop;
</pre>
 
=== 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>
xflux -z 87107
</pre>
 
Remember to add a <tt>&</tt> at the end of any command that doesn't return to the shell prompt after running.
 
[[Category:Desktop]]
[[Category:First Steps]]
[[Category:Official Documentation]]

Revision as of 21:30, December 8, 2014

Funtoo currently has no plans to migrate or adopt systemd as it's default init system. This does not prevent you from using systemd on your system. CoreOS, for example, is a systemd based system build on Gentoo.

For users not seeking to use systemd, that is, most Funtoo users, this page will serve both as the Funtoo development team's planning for the future, and information on how to avoid systemd in your system.

Components of systemd

systemd

Provides replacements for the following daemons or utilities:

consoled

Provides a user console daemon and handles Linux Virtual terminal support.

hostnamed

This is a tiny daemon that can be used to control the host name and related machine meta data from user programs. It currently offers access to five variables:

  • The current host name (Example: dhcp-192-168-47-11)
  • The static (configured) host name (Example: lennarts-computer)
  • The pretty host name (Example: Lennart's Computer)
  • A suitable icon name for the local host (Example: computer-laptop)
  • A chassis type (Example: "tablet")

journald

Provides logging functionality.

Provides replacement for the system logger.

machined

The daemon provides both a C library interface (which is shared with logind) as well as a D-Bus interface. The library interface may be used to introspect and watch the state of virtual machines/containers. The bus interface provides the same but in addition may also be used to register or terminate machines.

localed

TODO.

logind

Manages user logins and seats. Replaces No results.

networkd

Provides the facilities to perform various network configurations.

resolved

TODO.

systemd-shutdown

TODO.

timedated

This is a tiny daemon that can be used to control the system time and related settings. It currently offers access to four settings:

  • The system time
  • The system timezone
  • A boolean controlling whether the system RTC is in local or UTC timezone
  • Whether the systemd-timesyncd.service (NTP) services is enabled/started or disabled/stopped.

timesyncd

TOD.

udevd

udev was merged into the systemd source tree.

libudev

The standard library for using No results.

Alternatives:

  • No results