" /> " />

Gentoo Linuxにデスクトップ環境Xfceを導入する

こんにちは。今回のテーマは『Gentoo Linuxにデスクトップ環境Xfceを導入する』です。これまでGentoo Linuxではデスクトップ環境としてEnlightenmentを使ってきましたが、少々新しい環境が欲しくてXfceを導入しました。
【関連記事】
Gentoo Linuxにデスクトップ環境Enlightenmentを導入する
Gentoo Linuxに日本語環境を構築する



【目次】
GentooでXfceを使おう
導入準備
インストール
Xfceの設定と起動
日本語環境の設定

GentooでXfceを使おう

デスクトップ環境は好みが別れるものだとは思いますが、Gentooに導入を考えた時にはビルドの時間も気になります。Xfceはコンパクトなデスクトップ環境でありビルドもさほど時間を要しません。公式ページにも詳しい導入案内があり導入のハードルは低いと思います。軽くてカスタマイズが容易なXfceはGentooユーザーとも相性が良いと思います。

画像は筆者のGentooデスクトップ
04

導入準備

xorg-serverの導入

まずはxorg-serverを導入する必要があります。詳細は を参照下さい。また、Kernelの設定等はGentoo Wikiも参考にして下さい。以下コマンドでxorg-serverを導入します。

root# emerge --ask xorg-server

profileの選択

eselectでprofileを選択しましょう。まずは以下のコマンドで選択可能なリスト一覧を出します。

root# eselect profile list

desktop GNOMEやdesktop KDEではなく、ただのdesktopを選択します。筆者の環境では3番を選択しました。

root# eselect profile set 3

USEflagの設定

root# vim /etc/portage/make.conf

USEフラグを編集します。以下は筆者の設定例です。

USE="-gnome -kde -minimal -qt4 dbus jpeg lock session startup-notification thunar udev X"

XFCE_PLUGINの設定

同じく/etc/portage/make.confを編集してXFCE_PLUGINを設定しましょう。筆者は以下のように設定しました。XFCE_PLUGINについてはコチラをご覧ください。

XFCE_PLUGIN="brightness clock trash"

インストール

準備は整いました。ではインストールをしていきましょう。まずはXfce4を以下コマンドでインストールします。
(2015/02/19一部修正しました。経緯はコメントご覧ください。)

root# emerge --ask xfce4-meta xfce4-notifyd; emerge --deselect y xfce4-notifyd

xfce4-terminalのインストール(推奨)

terminalに何を使うかというのは個人の趣味もありますので「私はxtermがあれば十分」という方はxfce4-terminalをインストールする必要は無いと思います。ただ、Xfceを導入するのであればオススメです。

root# emerge xfce4-terminal

Xfceの設定と起動

メディアグループへのユーザー登録

ユーザーを各メディアグループに登録します。以下コマンドを実行しておきます。

root# for x in usb cdrom cdrw ; do gpasswd -a <ユーザー名> $x; done

Xfceの起動

xorg-serverとxfce4がインストールされれば起動は簡単です。今回はstartxを使って起動します。以下コマンドで~./xinitrcを編集します。

$ echo 'exec startxfce4' > ~/.xinitrc

では起動しましょう。

$ startx

上手く行けば以下のような画面で起動します。画面中心のウィンドウはxfceを初めて起動した時に出るパネルの設定を尋ねる窓です。
01

日本語環境の設定

上記までの状態では言語は英語の状態だし、キーボードレイアウトもUSの状態です。環境変数を修正して日本語環境を構築していきましょう。

日本語表示の設定

~/.xinitrcを編集していきます。

$ vim ~/.xinitrc

以下のように修正します。

LANG=jaJP.UTF-8
exec startxfce4

キーボードレイアウトの設定

Gentoo Wikiで推奨している方法は/etc/X11/xorg.confの修正ですが、今回はお手軽にsetxkbmapを使って修正します。もしsetxkbmapをインストールしていなければインストールをおすすめします。以下コマンドでインストールできます。

root# emerge --ask setxkbmap

先ほど修正した~/.xinircを再度開き以下のように修正します。

LANG=jaJP.UTF-8
setxkbmap -model jp106 -layout jp
exec startxfce4

では日本語表示とキーボードレイアウトが修正されたか確認してみます。もしXfceが起動している場合はログアウトして再ログインしましょう。言語が日本語になったのでホームディレクトリの名前を日本語にするか聞いてきます。お好みの言語に設定してください。筆者は英語のままをおすすめします。
02

日本語入力の設定

仕上げは日本語入力です。今回はfcitxの導入を簡単に紹介します。

fcitxのインストール
以下コマンドでfcitxとfcitx-anthyをインストールします。

$ sudo emerge fcitx fcitx-configtool fcitx-anthy

環境変数の設定と起動設定
X起動時にFcitxを起動し、入力メソッドをfcitxにするために.xinitrcを編集します。

$ nano ~/.xinitrc
export LANG=ja_JP.UTF-8

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
fcitx

setxkbmap -rules evdev -model jp106 -layout jp
exec startxfce4

この状態でログアウトして再ログインするとfcitxが起動して日本語入力が可能になります。
03

最後に

Enlightenmentも決して使いにくいわけではなかったですが、やはりXfceは使いやすい機能がまとまっていて使いやすいです。派手さには欠けますが各パーツが独立したモジュール化されたUNIX思想に強く影響されている点はGnetooやArchユーザーが好むデスクトップ環境というのも頷けます。

Sponsored Link



adsense]

4件のコメント

  • こんにちは。

    xfce4-notifyd がインストールされるのはデスクトップ通知に必要だからなので、
    デスクトップ通知が不要なときのみ
    USE=”-libnotify”
    とすれば良いと思います。
    (IUSE=”libnotify” は少なくとも thunar, xfdesktop, xfce4-settings が持っています。)

    アンインストールしたり、/var/lib/portage/world から消したりというのは、後で dependency がややこしくなるので、 USE flag を用いるのが原則です。

    反対にデスクトップ通知を利用したいときには、 virtual/notification-daemon のインストールが要求されるのはいいのですが、
    USE=”-gnome” をしていても、RDEPENDの最初にある x11-misc/notification-daemon をインストールしようとしてしまい、そこから glibやgtk+:3 等を呼んでしまうからgnome祭りになるのかもしれません。
    実際にはデスクトップ通知デーモンの選択肢はたくさんありますが、Xfceならば素直に xfce-extra/xfce4-notifyd をインストールしたほうが良いでしょう。
    emerge -1 xfce4-notifyd && emerge xfce4-meta かもしれません。

  • みかさん
    こんにちは。コメントありがとうございます。

    おっしゃることに特に異論ありません。以下個別に返信します。

    >アンインストールしたり、/var/lib/portage/world から消したりというのは、後で dependency がややこしくなるので、 USE flag を用いるのが原則です。

    異論ありません。Gentooのパッケージ管理は極力USE flagで管理すべきだと思います。

    > 実際にはデスクトップ通知デーモンの選択肢はたくさんありますが、Xfceならば素直に xfce-extra/xfce4-notifyd をインストールしたほうが良いでしょう。

    私もXfceを使う場合はxfce-extra/xfce4-notifydを使うほうが良いと思いますし、実際使っています。記事ではxfce4-notifydを推奨するという部分が伝わらなかったかも知れませんね。

    今回いただいたコメントは

    root #emerge –ask xfce4-meta xfce4-notifyd; emerge –deselect y xfce4-notifyd

    のコマンドに対してのコメントと推察しますが、このコマンドはGentoo wikiでインストールコマンドとして紹介されているので、記事でも採用しました。もしこのコマンドに問題を感じる場合はGentoo wikiへの投稿をお願いします。私自身は以下コマンドでインストールしています。

    root #emerge –ask xfce4-meta xfce4-notifyd

    また遊びに来てくださいね。

    • ご回答ありがとうございます。

      これで異和感の原因がわかりました。

      > dxfce4-notifydを入れたくない場合は以下のようにします。
      > root# emerge –ask xfce4-meta xfce4-notifyd; emerge –deselect y xfce4-notifyd

      とありますが、これでは、「入れたくない」=「インストールしたくない」と読めます。

      おおもとの wiki.gentoo.org/wiki/Xfce には

      > Without explicitly including xfce-extra/xfce4-notifyd in your emerge command, virtual/notification-daemon will draw in GNOMEs x11-misc/notification-daemon instead:
      > root #emerge –ask xfce4-meta xfce4-notifyd; emerge –deselect y xfce4-notifyd

      つまり、「明示的に xfce-extra/xfce4-notifyd を emerge してください。そうしないと、virtual/notification-daemon が、(xfce4-notifyd の代わりに、)GNOMEの x11-misc/notification-daemon のインストールが要求されてしまいます」と書いてあります。
      その後にあるコマンドは、「xfce4-meta と xfce4-notifyd を emerge した後に、 xfce4-notifyd を@world から削除する」 という意味です。

      world には明示的にインストールしたくてしたソフトウェアのatomが記録されています。しかし今回は xfce4-meta をインストールしたいのであって、 xfce4-notifyd は dependency で必要なのにすぎないので、 xfce4-notifyd を @world から削除するコマンドを実行していわば「掃除」をしているわけです。
      # emerge –ask xfce4-meta xfce4-notifyd だけでも構わないのですが、@worldの中味に「ゴミ」が残るので美しくないわけです。

      私が前記した emerge -1 xfce4-notifyd && emerge xfce4-meta も、xfce4-notifyd を@world に記録しないで emerge し、次に xfce4-meta を emerge するという、Gentoo Wiki記載のものとは順序が逆なだけで(実際には試していませんがおそらく結果は同じになる)コマンドです。

      Gentoo Wiki の記載が間違えているわけではなく、訳(理解)の方が不正確だと思います。

      • みかさん

        再度コメントありがとうございます。

        こちらもおっしゃっていた意味が理解できました。
        ご親切にありがとうございます。

        食い違いは当方の–deselectオプションへの理解不足が原因でした。
        –deselectはアンインストールせずに@worldからの登録削除でしたね。お恥ずかしい限りです。

        丁寧な解説ありがとうございました。重ねてお礼申し上げます。

        記事のインストール部分も修正しておきます。
        今後とも宜しくお願いいたします。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です