GNOME/ガイド
GNOME は人気のあるデスクトップ環境で、Xorg と Wayland のセッションを起動することができます。このガイドでは、インストール、設定、そして使用方法を含め、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 ユーザは次のプロファイルを選択するのがいいでしょう:
root #
eselect profile set default/linux/amd64/17.1/desktop/gnome/systemd
/etc/portage/make.conf 内の USE 変数に X
、gtk
、そして gnome
があることを確認してください。システム全体で D-Bus のサポートを有効化するのもおすすめです。systemd はこのシステムメッセージバスを含んでいます。
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 のプレビューワの無効化も検討してください:
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" に設定してください
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:
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
を設定しつつ、デスクトップでは別のロケールを設定するのはよくあることでしょう。これは次の設定を追加することで実現できます:
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:
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
Firefox users can get it here: https://addons.mozilla.org/firefox/addon/gnome-shell-integration/
Opera users will have to snag it here: https://addons.opera.com/extensions/details/gnome-shell-integration/
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:
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:
net-misc/networkmanager connection-sharing
net-wireless/wpa_supplicant ap
In addition, the following kernel options are necessary:
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.
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.
use-agent
pinentry-mode loopback
pinentry-program /usr/bin/pinentry-gnome3
外部の情報
- https://github.com/dantrell/gentoo-project-gnome-without-systemd - systemd を使用しない GNOME。
- https://github.com/bdaase/remove-alt-tab-delay - Alt+Tab 時の 0.15 秒の遅延を解消する。
- https://help.gnome.org/admin/ - 上流の GNOME 管理ガイド。
- https://help.gnome.org/users/ - 上流の GNOME ユーザガイド。
参照
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.