GNOME/ガイド

From Gentoo Wiki
< GNOME
Jump to:navigation Jump to:search
This page is a translated version of the page GNOME/Guide and the translation is 77% complete.

GNOME は人気のあるデスクトップ環境で、XorgWayland のセッションを起動することができます。このガイドでは、インストール、設定、そして使用方法を含め、GNOME のすべての側面を記述することを試みます。

バージョン 3.30 から、Gentoo 上の GNOME はふたたび OpenRC 上で実行できるようになりました。[1]詳細については GNOME without systemd を確認してください。

GNOME とは何ですか?

プロジェクトとして

GNOME プロジェクトは、Unix/Linux デスクトップスイートおよび開発プラットフォームである GNOME の開発に専念しているフリーソフトウェア組織です。GNOME Foundation が GNOME プロジェクトの開発とその他の側面の調整を行っています。

ソフトウェアとして

GNOME はデスクトップ環境であると同時に、開発プラットフォームでもあります。このフリーソフトウェアは、Canonical (Ubuntu) や Red Hat (Red Hat Linux, Fedora, CentOS) を含む産業界のリーダーからも選択されているデスクトップです。

コミュニティとして

他の大きなフリーソフトウェアプロジェクトと同様に、GNOME は広大なユーザーベースと開発者ベースを抱えています。GNOME Planet は GNOME ハッカーおよびコントリビューター向けのブログアグリゲータで、developer.gnome.org は GNOME 開発者向けのブログアグリゲータです。GNOME Library は GNOME エンドユーザ向けの膨大な資料を含んでいます。

前提条件

歴史的に、Xorg ディスプレイサーバは Linux 上のすべてのデスクトップ環境のための標準のディスプレイベースでした。GNOME 3 以降、より新しいディスプレイサーバプロトコルである Wayland への移行が始まりました。NVIDIA 以外のシステムは Wayland 上で GNOME セッションを問題無く動作させることができます。

とはいえ、フォールバックとして、Xorg ガイドの指示に従って X 環境をセットアップしておくのは良い考えです。

GNOME 上流によると、GNOME 40 は systemd init システムを念頭に置いて書かれています。このため systemd ユーザは、systemd の記事にある必要なカーネル設定を読んで従うのがよいでしょう。

インストール

プロファイル

GNOME スイートをインストールする前に、システムの USE 変数を編集しておくと良いでしょう。Gentoo GNOME プロジェクトの開発者は、GNOME ソフトウェアスタック向けのシステム全体のチューニングを助けるために、GNOME プロファイルを提供しています。GNOME を emerge する前に、最新の安定版の GNOME プロファイルを選択してください。

重要
プロファイルの変更を実行する前に、関連するドキュメントを読んでください。

OpenRC

logind を使用する OpenRC ユーザは GNOME OpenRC プロファイルを選択できます:

root #eselect profile set default/linux/amd64/17.1/desktop/gnome

systemd

警告
systemd プロファイルに変更する前に、systemd ドキュメントを読んでください。

systemd ユーザは次のプロファイルを選択するのがいいでしょう:

root #eselect profile set default/linux/amd64/17.1/desktop/gnome/systemd

/etc/portage/make.conf 内の USE 変数に Xgtk、そして gnome があることを確認してください。システム全体で D-Bus のサポートを有効化するのもおすすめです。systemd はこのシステムメッセージバスを含んでいます。

ファイル /etc/portage/make.confGNOME デスクトップ環境のためのグローバル USE フラグの例
USE="-qt5 -kde X gtk gnome systemd"
メモ
desktop/gnome/systemd プロファイルを使用すれば、これらの USE フラグは自動的に設定されるでしょう。eselect profile list を実行することで、システムプロファイルを確認することができます。root としてeselect profile set <profile-name> を実行することで、変更を加えることができます。"<profile-name>" の部分は希望のプロファイルの番号または名前で忘れずに置き換えてください。

Emerge

プロファイルの設定が終わったら、GNOME デスクトップスイートを emerge することで GNOME のインストールを開始してください:

root #emerge --ask gnome-base/gnome
メモ
必要に応じて追加のパッケージをインストールすることで、システムを軽量に保ちたいユーザもいるでしょう。このやり方はディスク容量の限られたシステムで役に立ちます。このために、ミニマルな GNOME の選択肢が gnome-base/gnome-light パッケージとして存在します。次のオプションで GNOME デスクトップ環境スイートの基礎をインストールします:
root #emerge --ask gnome-base/gnome-light

また、ローエンドデバイスでは net-libs/webkit-gtk を避けてビルド時間を短縮するために、GNOME オンラインアカウントの削除にあわせて、gnome-base/nautilus のプレビューワの無効化も検討してください:

ファイル /etc/portage/package.use/nautilusnautilus のプレビューワを無効化する
gnome-base/nautilus -previewer
メモ
libpulse を emerge するときに、Portage が循環依存エラーにはまってしまうことがあります。これが発生する場合は、GNOME を emerge する前に libsndfile 依存パッケージを minimal USE フラグ付きで emerge してください:
root #USE="minimal" emerge --ask --oneshot libsndfile

これにはしばらく時間がかかるでしょう。終わったら、環境変数を更新してください:

root #env-update && source /etc/profile

次に、残りのサービスとユーザグループを整理します。

plugdev グループが存在しているか確認してください。ある場合は、GNOME を使う可能性のある各ユーザをこのグループのメンバにしてください。ただしこのステップは必須ではありません (もうこのグループはあまり使われていません)。

root #getent group plugdev
plugdev:x:104:

次のコマンドの <username> を各 GNOME ユーザのユーザ名で置き換えてください:

root #gpasswd -a <username> plugdev

First impressions

それではビルドできたものを見てみましょう。startx コマンドが実行されたときに GNOME を起動するように、セッションマネージャを構成する (詳しくは Xorg ガイドの startx を用いるをお読みください) か、GNOME を開始するためのより便利な方法として、GDM サービスを有効化してください。

GDM の有効化

メモ
GDM に関する問題をトラブルシュートするための手助けは GNOME/GDM の記事で見つかります。

OpenRC

OpenRC システムでは GDM は elogind に依存しており、GDM を正しく動作させるために開始しておく必要があります:

root #rc-update add elogind boot
root #rc-service elogind start

次に display-manager-init を default ランレベルに追加して、サービスを開始してください:

root #emerge --ask --noreplace gui-libs/display-manager-init

/etc/conf.d/display-manager で DISPLAYMANAGER を "gdm" に設定してください

ファイル /etc/conf.d/display-manager
DISPLAYMANAGER="gdm"

ブート時に開始するには、display-manager を default ランレベルに追加してください:

root #rc-update add display-manager default

GDM を開始するには、再起動するか、今すぐに rc を使って開始してください:

root #rc-service display-manager start

systemd

ブート時に GDM を開始するには:

root #systemctl enable gdm.service

今すぐに GDM を開始するには、次を実行してください:

root #systemctl start gdm.service
ヒント
次のコマンドは GDM の有効化と開始の両方を行います:
root #systemctl enable --now gdm.service

他にネットワーク管理サービスを有効化していないなら、さらに Network Manager を有効化しておくことも提案します。

startx を用いる

root シェルを抜けて、一般ユーザとしてログインしてください。次のステップでは、startx コマンドが実行されたときに GNOME を起動するように、セッションマネージャを構成します (詳しくは Xorg ガイドの startx を用いるをお読みください)。

user $echo "exec gnome-session" > ~/.xinitrc

gnome-base/gnome-session-2.26.2 以降、デスクトップを開始するために ~/.xinitrc を利用する場合、GNOME メニューを利用するには XDG_MENU_PREFIX 変数を前に付ける必要があります。~/.xinitrc が使用されていない場合は、これは自動的に処理されます; 追加の設定は必要ありません。

user $sed -i '1i\export XDG_MENU_PREFIX=gnome-' ~/.xinitrc

それでは、startx を実行してグラフィカル環境を開始してください:

user $startx

すべて上手くいけば、GNOME が心からのあいさつをしてくれるでしょう。GNOME の設定完了おめでとうございます!

プライバシー

コントロールセンターの GNOME オンラインアカウントを削除する

Some users might be concerned about the fact that there is an online accounts section is the GNOME control center, which enables the user to connect the system to various services like Google, Microsoft, etc. In Portage, a USE flag can be set to remove this functionality:

ファイル /etc/portage/make.conf
USE="... -gnome-online-accounts"

This will tell Portage to not install the net-libs/gnome-online-accounts package if possible.

Re-emerge world with the --changed-use flag and clean unused dependencies.

root #emerge --ask --changed-use --update --deep @world
root #emerge --depclean
メモ
Because of gnome-extra/gnome-contacts package being part of gnome-base/gnome via gnome-base/gnome-core-apps, the -gnome-online-accounts USE cannot be set as gnome-extra/gnome-contacts makes this a hard requirement to be enabled. gnome-base/gnome-light is an alternative though several other packages may be required for a full experience.

設定

混合ローカライゼーション

グローバルデフォルトのロケールとして C を設定しつつ、デスクトップでは別のロケールを設定するのはよくあることでしょう。これは次の設定を追加することで実現できます:

ファイル ~/.config/environment.d/01_localize.confユーザセッションのためにロケールを上書きする
LANG="zh_CN.utf8"
LC_MESSAGES="zh_CN.utf8"
LC_TIME="zh_CN.utf8"

そして、gnome-setting-center でそのロケールのための地域を選択するか、次のコマンドを利用してください:

user $gsettings set org.gnome.system.locale region 'zh_CN.utf8'
メモ
With global locale default to C, only set the region is not likely to change the locale for desktop, for which, configuration in environment.d is necessary, especially the LC_MESSAGES variable. And to make it work for sure, the following packages may be necessary: ≥ sys-apps/systemd-249.6-r1 and ≥ gnome-base/gnome-40.0.

Log out, make sure the old session is killed and re-login, these settings will be applied to the new session.

To override session's locale for terminal in gnome, add:

ファイル ~/.bashrcターミナルのためにロケールを上書きする
LANG="C.utf8"
LC_MESSAGES="C.utf8" 
LC_TIME="C.utf8"

GNOME の微調整

For extra configuration options in GNOME 40 install the gnome-extra/gnome-tweaks package. The tweak tool allows customization at a deeper level than the standard Settings frame.

Advanced tweaking

Advanced tweaking for GNOME can be performed from the command line via the gsettings or dconf commands or graphically via dconf-editor. All modifiable settings are accessible using these tools. For more information, see upstream's documentation.

GNOME 40 でのウィジェット

デフォルトでは、Gentoo GNOME 40 はウィジェットをサポートしません。ウィジェット機能が欲しい場合は、個別のパッケージが利用可能です:

root #emerge --ask gnome-extra/gnome-shell-extensions

シェル拡張がインストールされたら、グローバルレベルのデフォルトを制御するために eselect を使うことができます:

root #eselect gnome-shell-extensions list
Available extensions (* means enabled for all users by default):
  [1]   alternate-tab@gnome-shell-extensions.gcampax.github.com
  [2]   apps-menu@gnome-shell-extensions.gcampax.github.com
  [3]   auto-move-windows@gnome-shell-extensions.gcampax.github.com
  [4]   drive-menu@gnome-shell-extensions.gcampax.github.com
  [5]   launch-new-instance@gnome-shell-extensions.gcampax.github.com
  [6]   native-window-placement@gnome-shell-extensions.gcampax.github.com
  [7]   places-menu@gnome-shell-extensions.gcampax.github.com
  [8]   screenshot-window-sizer@gnome-shell-extensions.gcampax.github.com
  [9]   user-theme@gnome-shell-extensions.gcampax.github.com
  [10]  window-list@gnome-shell-extensions.gcampax.github.com
  [11]  windowsNavigator@gnome-shell-extensions.gcampax.github.com
  [12]  workspace-indicator@gnome-shell-extensions.gcampax.github.com

Enable click-to-install Shell Extensions through the web browser

For web browsers such as Google Chrome, Chromium, and Vivaldi be sure to get the required browser add-on through the Chrome store: https://chrome.google.com/webstore/detail/gphhapmejobijbbhgpjhcjognlahblep

After the add-on has been installed for the browser of choice, a backend must also be emerged:

root #emerge --ask gnome-extra/gnome-browser-connector

It should now be possible to install, manage, and uninstall shell extensions at https://extensions.gnome.org/

If things are not working as expected check the upstream installation instructions for news.

Non-root user authentication for dialogs

Certain GNOME dialogs such as Printers, adding wireless networks, and Users require administrator authentication. This is handled through sys-auth/polkit and operates independently from app-admin/sudo. By default in Gentoo, the root account is the only administrator, and so even if a user account can run root commands through sudo, authentication in these GNOME dialogs will fail.

If you would like all users of the group wheel to be administrators, create a copy of /usr/share/polkit-1/rules.d/50-default.rules starting with a number lower than 50, and edit the line return ["unix-user:0"] to the following:

ファイル /etc/polkit-1/rules.d/49-wheel.rulesAdministrator wheel group
polkit.addAdminRule(function(action, subject) {
    return ["unix-group:wheel"];
});

The Polkit page provides more details on rules configuration.

GNOME hotspot

In order for gnome-hotspot to work, the wireless card must support AP (access point) infrastructure mode. The following package USE flags are also needed:

ファイル /etc/portage/package.useConnection Sharing and Access Point Support
net-misc/networkmanager connection-sharing
net-wireless/wpa_supplicant ap

In addition, the following kernel options are necessary:

カーネル NAT オプション (カーネル 4.14 での設定箇所)
Networking support (NET [=y])
    Networking options --->
        Network packet filtering framework (Netfilter) (NETFILTER [=y]) --->
            IP: Netfilter Configuration --->
                <*/M> IPv4 NAT (CONFIG_NF_NAT_IPv4)
                <*/M> IPv4 masquerade support
                <*/M> IP tables support (required for filtering/masq/NAT) (IP_NF_IPTABLES [=y])
                <*/M> iptables NAT support

削除

Unmerge

インストールされた GNOME を完全に削除するために考えられる方法のひとつは、gnome-base/gnome パッケージを明示的にアンインストールして、さらにこのパッケージの依存を片付ける方法です。

これをきれいに行うためには、メイン ebuild リポジトリが同期されていることを確認しておいてください:

root #emerge --sync

次に、システムを完全に更新された状態にするために world 更新を実行してください:

root #emerge --ask --update --newuse --deep --with-bdeps=y @world

GNOME ベースパッケージを unmerge してください。'light' バージョンのパッケージをインストールしている場合は、ベースパッケージの部分は gnome-base/gnome-light で置き換えてください:

root #emerge --ask --depclean gnome-base/gnome

最後に、システムを depclean してください:

root #emerge --ask --depclean

これで GNOME が削除できました。

トラブルシューティング

Login failure with message "Oh no something has gone wrong"

One source of this error can be the permissions for the video device. When logging in fails and a message appears that says "Oh no, something has gone wrong", then try to become a member of the video group. Add the user to the video group with gpasswd like so:

root #gpasswd -a <user> video

NVIDIA で Wayland 上の GNOME セッションが起動しない

Attempting to launch GNOME on Wayland sessions is a known issue. Unfortunately some older versions of the NVIDIA binary blob drivers are not compatible with Wayland. Systems that simply have older versions of the NVIDIA binary blob driver installed, but are not using it, can see this workaround.

For at least gnome-base/gdm-44.1 it is required to set NVreg_PreserveVideoMemoryAllocations=1 in /etc/modprobe.d/nvidia.conf, otherwise Wayland support is being disabled.

GNOME 組み込みのスクリーンレコーダが動作しない

GNOME's screen recorder uses vp8 codec which is developed by Google. The recorder needs this codec and pipewire screencast feature to record the desktop. It can be enabled it via the the vpx and screencast USE flags in either the make.conf or package.use files.

ファイル /etc/portage/make.conf
USE="vpx screencast"

GNOME and Pinentry not working with GPG

For example when using Evolution to sign emails with PGP, the private key needs to be decrypted. If this key has a password, a Pinentry dialogue trys to open. To enable the Gtk version, these configuration files need to be edited.

ファイル ~/.gnupg/gpg.conf
use-agent
pinentry-mode loopback
ファイル ~/.gnupg/gpg-agent.conf
pinentry-program /usr/bin/pinentry-gnome3

外部の情報

参照


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Lars Strojny,
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.