普段使っているPC にピュア 64bit, systemd, KDE Plasma 環境の Gentoo Linux をインストールしました.
私は 2 年ほど Ubuntu をメインに使ってきたのですが,Linux をソースコードからビルドする機会が増えたことや,PC をもっとサクサク使いたいといった思いから Gentoo Linux に挑戦することにしました.
インストールの手順は Gentoo Wiki に詳しく書かれていますが,実際にデスクトップ環境を整えようと思うと様々なページを探して読まなければなりません.私は最初に Gentoo Linux をインストールした際,OS のインストール後に何をすればいいのかわからず途方に暮れていたので,現環境作りの過程を備忘録として書いておきます.
インストールの準備
Gentoo Linux amd64 ハンドブックではまず最初にインストールメディアを作成します.しかし,基本的に bash が動けばインストール作業を行うことができるので,別のディストーションの Live USB を使うこともできます.先輩の受け売りですが…
私の環境ではもともと Ubuntu が動いていたので,クローンを作成しそこからブートすることでシステムの構築を行う方針で作業を進めました.ディスクのクローンの作成には ArchWiki を参考にしました.
ディスクのクローンを作成するための Live USB を作成,ブートし,root に入ります.そこで
# fdisk -l
を実行し,ディスクの情報を集めます.今回は Ubuntu が入った SSD が sda で,コピー先の HDD が sdb だったので dd コマンドを次のように打ちました.
# dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync status=progress
これでクローンができましたが UUID が同じなので両方とも繋いでブートすることはできません.どちらかの UUID を再生成することでブート可能になるかと思います.
実のところ,私はそのままクローン作成用の Live USB を使ってインストール作業を行いました.クローンが入った HDD を SATA-USB 変換を介して USB ハブに繋いだところ,電流不足で動かなかったからです…
新しい環境に入る段階までインストールが進めば,Gentoo Wiki に書いてあるように
# mkdir /mnt/gentoo/
# mount /dev/sda4 /mnt/gentoo
# mount --types proc /proc /mnt/gentoo/proc
# mount --rbind /sys /mnt/gentoo/sys
# mount --make-rslave /mnt/gentoo/sys
# mount --rbind /dev /mnt/gentoo/dev
# mount --make-rslave /mnt/gentoo/dev
# test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
# mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
# chmod 1777 /dev/shm
# chroot /mnt/gentoo /bin/bash
# source /etc/profile
# mount /dev/sda2 /boot
とすることで,Ubuntu などからインストール中の Gentoo 環境に入って作業をすることができます.
インストール
インストール作業は Gentoo Wiki を参考にしました.ここを読み込めば大抵なんとかなる気がします.
いくつか自己流で行った点があるので,そこについて記します.
カーネルコンフィグ
カーネルコンフィグを作成する際,USB ブートした環境で make localyesconfig
を使うことで,最低限起動はする環境を作れます.私は代わりに make localmodconfig
を使い,SATA のドライバを入れ忘れたためカーネルパニックを起こしました.コマンド任せではなく,自分でも一通り目を通しましょう.
プロファイルの自作
Gentoo Linux ではプロファイルを設定することで自分の望む環境を構築しやすくなります.しかし,私が望むピュア 64bit (no-multilib) と Plasma/systemd の両方を含むプロファイルはありませんでした.そのため,これらを組み合わせた自作のプロファイルを作成しました.
次の 2 つのサイトを参考にし,local というリポジトリを作成しました.
手順の中に存在しないディレクトリが出てきた場合,自分で作りましょう.
/etc/portage/repos.conf/local.conf
を作成,次のように編集します.
[local]
# 'eselect repository' default location
location = /var/db/repos/local
/var/db/repos/local/profiles/repo_name
を次のように編集します.
local
/var/db/repos/local/metadata/layout.conf
を次のように編集します.
masters = gentoo
profile-formats = portage-2
/var/db/repos/local/profiles/default/linux/amd64/17.1/no-multilib/plasma/systemd/parent
を次のように編集します.
/var/db/repos/gentoo/profiles/default/linux/amd64/17.1/desktop/plasma/systemd/
/var/db/repos/gentoo/profiles/default/linux/amd64/17.1/no-multilib
/var/db/repos/local/profiles/profiles.desc
に先程作成したディレクトリのパス名を書きます.stable のプロファイルを組み合わせているので,このプロファイルも一応 stable にしておきました.
amd64 default/linux/amd64/17.1/no-multilib/plasma/systemd stable
これで eselect profile list
で自作プロファイルを選べるようになります.
GUI 環境の導入
ここから Gentoo Linux amd64 ハンドブックの範囲外です.普段使いをするために GUI 環境を導入しました.
デスクトップ環境のインストール
デスクトップ環境には,KDE Plasma をインストールしました.インストールの順番としては X の導入,KDE の導入,SDDM の設定になります.X などはカーネルコンフィグや make.conf の設定が間違っていなければ,大抵の場合自動でデバイスなどを認識してくれるはずです.だめならログを見ましょう.
KDE のアプリケーションを導入する際,kde-apps/kde-apps-meta
で導入すると,私にとって不要なアプリケーションが入ってしまうため,必要なアプリケーションだけを選択しました.
# emerge -a kde-plasma/plasma-meta kde-apps/kdecore-meta kde-apps/kdegraphics-meta kde-apps/kdemultimedia-meta kde-apps/kdenetwork-meta kde-apps/kdeutils-meta kde-apps/kdeaccessibility-meta kde-apps/kdesdk-meta
日本語環境の導入
日本語環境を導入する専用の wiki があるので,これを参考にしました.フォントと入力ツールを導入します.
フォント
フォント設定では次の 2 つのサイトを参考にしました.
日本語フォントには Google の Noto ファミリーを入れました.
# emerge -a media-fonts/noto media-fonts/noto-cjk
Noto を GUI のデフォルトのフォントに指定します.eselect
で Noto を有効化した後,/etc/fonts/local.conf
を作成,次のように編集します.
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif CJK JP</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans CJK JP</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono CJK JP</family>
</prefer>
</alias>
</fontconfig>
1 度ログアウトして再度ログインします.fc-match
で確認すると Noto になっていることがわかります.
$ fc-match serif
NotoSerifCJK-Regular.ttc: "Noto Serif CJK JP" "Regular"
$ fc-match sans-serif
NotoSansCJK-Regular.ttc: "Noto Sans CJK JP" "Regular"
$ fc-match monospace
NotoSansCJK-Regular.ttc: "Noto Sans Mono CJK JP" "Regular"
デスクトップのフォント設定は KDE のツールを使います.
Plasma で使うフォントの設定は「 KDE システム設定」内の「フォント」で変えることができるので,すべて Noto ファミリーに設定しました.
入力ツール
入力ツールには ibus-mozc を選びました.USE フラグに ibus
と gui
を立ててインストールしました.
# emerge -a app-i18n/mozc
ログイン時に ibus が立ち上がってほしいので ~/.bash_profile
にその旨を追記します.
export LANG=ja_JP.utf8
export GTK_IM_MODULE=ibus
export QT_IM_MODULE=ibus
export XMODIFIERS="@im=ibus"
export XIM=ibus
ibus-daemon -drx
source ~/.bashrc
ibus と mozc の入力切替のショートカットは次のサイトを参考に変更しました.ibus のショートカットを普段使わないものにし,mozc の「キー設定」から「IMEを無効化」と「IMEを有効化」に割り当てられているキーを希望のものに変更しました.
ibus-mozc をインストールしただけでは KDE のアプリケーションに日本語入力ができませんでした.これは, dev-qt/qtgui
と kde-plasma/plasma-desktop
の USE フラグに ibus
を立て忘れていたことが原因でした.wiki に書いてある通り,これらに適切な USE フラグを設定してビルドし直すことで日本語入力ができました.
おわりに
ここまでピュア 64bit, systemd, KDE Plasma 環境の Gentoo Linux のインストール過程を書きました.この環境に Chrome などを入れればしばらくは使えそうです.ただ,電源管理や外部デバイスへの対応など,やるべきことはまだまだ残っているので追々対応していくつもりです.
コメント