ArchLinuxのGUI環境設を整える vol.1

  • 60
    いいね
  • 2
    コメント
この記事は最終更新日から1年以上が経過しています。

はじめに

ArchLinuxとは、最初から快適に使えるOSではなく、最小限の構成から独自に必要な物を判断し、インストール、カスタマイズして作り上げていくタイプのOSです。

したがって、インストールや環境設定は大変ですが、それなりに意味はあります。

どのような意味があるのかというと、パソコンがどのようなパッケージを元にどのような構成で動いているのかが分かってくるというところが大きいかと思います。

また、機能面にしても、不要なパッケージが入っていないため、WindowsMacUbuntuなどとは違って、これらを特定し、アンインストールする必要がありません。軽いし快適です。

ArchLinuxを使っていて、システムのカスタマイズに不満が出てきた場合は、Gentooを使ってみるのも良いかと思います。

今回は、仮想マシンとしてArchLinuxをインストールし、ウィンドウマネージャーを起動してみるまでを解説したいとおもいます。

解説環境は、 Macを使用します。OSや個人環境によって適時読み替えて下さい。

ArchLinuxのインストール

Download

まずは、当該Linuxディストリビューションのトレントファイルを検索してみましょう。人気のあるLinuxディストリビューションは、トレントを使ったほうがダウンロードは高速です。
*ダウンロードと同時に、アップロードが行われるのでダウンロードするファイルには注意が必要です。

~/.zshrc
function torrent-search(){w3m "http://torrentz.eu/search?f=$1"}
source ~/.zshrc

torrent-search archlinux

目当てのトレントファイルが見つかったら、それをダウンロードします。そして、トレントクライアントアプリを使って、ファイルをダウンロードします。ここでは、rtorrentというものを使用します。

sudo port install rtorrent

rtorrent hoge.torrent

メニュー画面のおおよその操作方法は以下のとおりです。

キー 効果
C-s ダウンロードを開始する
C-d ダウンロードを停止する
C-q 終了

しかし、ArchLinuxが人気のLinuxディストリビューションとはあまり思えないため、ここでは、直接ダウンロードすることにします。

w3m -N http://ftp.tsukuba.wide.ad.jp/Linux/archlinux/iso/2013.05.01/ https://www.archlinux.org/download/

VirtualBox

VirtualBox上に仮想マシンを作成します。マシンに直接インストールする場合は、この手順を飛ばして下さい。

1 以下のシェルスクリプトをパスの通った場所に置いて、実行権限を与えます。そして、シェルを再起動すれば、当該シェルスクリプトをパス無しで参照できます。

(1) シェルスクリプトの作成

cd && vim vm-cli
~/vm-cli
#!/bin/zsh
# vm-cli <name> <memory> <size> <iso>
# 使用例 : $ vm-cli archlinux 2048 8000 ~/Downloads/archbang-03.03.2013-i686.iso

# http://www.kkaneko.com/rinkou/virtualbox/virtualboxusage.html

# 実行時に指定された引数の数、つまり変数 $# の値が 4 でなければエラー終了。
if [ $# -ne 4 ]; then
echo "指定された引数は$#個です。" 1>&2
echo "実行するには4個の引数が必要です。" 1>&2
exit 1
fi

# 仮想マシン定義ファイルの生成
VBoxManage createvm --name "${1}" -register

# 登録済みの仮想マシンのプロパティの設定
VBoxManage modifyvm ${1} --memory ${2} --acpi on --hwvirtex on --hwvirtexexcl on --nestedpaging on --largepages on --vtxvpid on --accelerate3d on --accelerate2dvideo on --nic1 bridged --bridgeadapter1 eth0 --usb on --usbehci off

# 仮想ハードディスクイメージファイルの生成
VBoxManage createhd --filename ~/VirtualBox\ VMs/${1}/${1}.vdi --size ${3}

# 仮想マシンのSATAストレージコントローラの作成
VBoxManage storagectl ${1} --name ${1}sata1 --add sata --bootable on

# 仮想ハードディスクと仮想DVDドライブの割り当て
VBoxManage storageattach ${1} --storagectl ${1}sata1 --port 1 --type hdd --medium ~/VirtualBox\ VMs/${1}/${1}.vdi
VBoxManage storageattach ${1} --storagectl ${1}sata1 --port 2 --type dvddrive --medium ${4}

# 作成した仮想マシンの起動
VBoxManage startvm ${1}

exit 0

(2) パスの確認

echo $PATH

(3) 実行権限の付与

chmod +x vm-cli

(4) シェルスクリプトをパスの通った場所にコピー

sudo cp ~/vm-cli /usr/local/bin/

(5) シェルの再起動

exec $SHELL

2 では、以下のコマンドを使って、仮想マシンを作成します。ダウンロードしておいたイメージファイルを参照します。なお、ネットワーク設定においては、マシンによって複雑になることが予想されるため、GUIで行なって下さい(自動で設定されるとおもいます)。

vm-cli archlinux 1000 20000 ~/Downloads/archlinux-2013.05.01-dual.iso

ArchLinuxのインストール手順

1 私は、MacBookAirのキーボードは、日本語配列を使用しています。よって、まずは、日本語キー配列を使用できるようにします。

loadkeys jp106

2 次に、パーティションを作成します。ここでは、Newより2つの領域を作成し、それぞれ10GBくらいを目安に設定します。

cfdisk /dev/sda

sda1は、 bootを設定しておきましょう。

サイズを指定できたら、 Writeyesとし、 Quitで終了します。

3 次に、作成した領域を所定のフォーマット形式でフォーマットします。

mkfs.ext4 /dev/sda1 && mkfs.ext4 /dev/sda2

4 そして、フォーマットした領域をマウントし、必要なフォルダを作成していきます。

mount /dev/sda1 /mnt && mkdir -p /mnt/home && mount /dev/sda2 /mnt/home

5 コマンド$ vi /etc/pacman.d/mirrorlistを実行します。

パッケージ管理のサーバーリストを編集し、日本のサーバーアドレスをリスト上位に持ってきます。jpで検索をかければよいかと思います。

/etc/pacman.d/mirrorlist
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch

6 次に、必要になるであろうツールを一括インストールしていきます。必要ないと判断した場合は、 pacman -Rs <tool> としてアンインストールしてください。

# ベースシステムのインストール
pacstrap /mnt base base-devel

# ブートローダーのインストール
pacstrap /mnt grub-bios

7 /etc/fstabの生成を行います。

genfstab -p -U /mnt >> /mnt/etc/fstab

8 /mntをルートディレクトリとして作業します。

arch-chroot /mnt

以下、 arch-chrootでの作業になります。

# タイムゾーンの設定
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

# initial ramdisk
mkinitcpio -p linux

# ホストネームの設定(hogeには任意のネームを入れる)
echo hoge > /etc/hostname

# 日本語キー配列に対応
echo KEYMAP="jp106" > /etc/vconsole.conf

# 変なところを日本語にされても嬉しくないので
echo LANG=en_US.UTF-8 > /etc/locale.conf
vi /etc/locale.gen

以下の文字列を含む行をコメントアウトします。

en_US.UTF-8 UTF-8

ja_JP.UTF-8 UTF-8

# ロケールを生成
locale-gen

# ネットワーク簡単設定ツールのインストール
pacman -S ifplugd

# ブートローダーをブートセクタに書き込む。書き込み先は適時変更
grub-install --target=i386-pc --boot-directory=/boot --recheck --debug /dev/sda

# GRUB設定ファイルにOS起動設定を書き込む
grub-mkconfig -o /boot/grub/grub.cfg

# rootのパスワードを設定
passwd

# arch-chrootを抜ける
exit

9 最後に、アンマウントとシャットダウンを行います。

# アンマウント
umount /mnt/home && umount /mnt

# シャットダウン、rebootでもよい(ただし、VirtualBoxの場合は、ISOをアンマウントしなければならないので、シャットダウンが望ましい)
poweroff

VirtualBoxを使用した場合は、以下のコマンドでISOファイルをアンマウントし、仮想マシンを起動します。*仮想マシンの定義がarchlinuxの場合ですので注意が必要です。

VBoxManage storageattach archlinux --storagectl archlinuxsata1 --port 2 --type dvddrive --medium emptydrive

VBoxManage startvm archlinux

これで、ArchLinuxが立ち上がったらインストールは完了です。

ArchLinuxの初期設定

では、ArchLinuxの最低限の設定を行なっていきます。

1 まず、ネットに繋がらないのでは、話しにならないので、ネットに繋がるように設定します。ココら辺の設定は、マシンによっても環境によっても異なってくる部分ですので、適時読み替えて下さい。

ip link

systemctl start dhcpcd@enp0s3

systemctl enable dhcpcd@enp0s3

ping -c 3 google.com

2 次に、 sudoの設定を行なっていきます。

pacman -S sudo

visudo

以下の文字列を含んだ行をコメントアウトします。

Defaults env_keep += "HOME"

$wheel ALL=(ALL) ALL

3 次に、 VirtualBox専用の設定です。不要な設定は個別に取り除いて下さい。

pacman -S virtualbox-guest-utils

modprobe -a vboxguest vboxsf vboxvideo

echo -e 'vboxguest\nvboxsf\nvboxvideo\nvboxdrv\nvboxnetadp\nvboxnetflt' > /etc/modules-load.d/virtualbox.conf

4 最後に、ユーザーを作成します。 hogeの部分は、ユーザーネームになります。

useradd -m -g users -G wheel,storage,power -s /bin/zsh hoge

passwd hoge

5 おまけとして、個人的によく使うツールもインストールしておきます。これらがないと、作業効率が格段に落ちてしまいます。

pacman -Syu vim zsh tmux bash-completion net-tools

GUI環境の構築

ArchLinuxでログインマネージャーやウィンドウマネージャーを導入する方法を紹介します。

ここでは、ログインマネージャーは、 SLiM、ウィンドウマネージャーは、 Awesomeを採用することにします。

出来る限り最低限の構成を解説していきます。ArchLinuxのGUI環境を便利にするためには、後で色々と追加していって下さい。

Xのインストール

pacman -S xorg-server xorg-xinit

SLiM本体とテーマをインストール

pacman -S slim archlinux-themes-slim slim-themes

Awesomeのインストール

pacman -S awesome

.xinitrcの設定

cp /etc/skel/.xinitrc ~/

echo -e "VBoxClient-all &" >> ~/.xinitrc

echo "exec awesome" >> ~/.xinitrc

startx

ここまでの手順でXが起動するか確認してみます。ちなみに、Ctrl+ Alt+ F2でターミナルに戻ります。

startx

起動していなかったら、ログを見て問題を解決します。

vi /var/log/Xorg.0.log

SLiMの設定

vim /etc/slim.conf

特定の文字列を以下のようにコメントアウトまたは、変更します。

/etc/slim.conf
# zsh特有の設定
# https://wiki.archlinux.org/index.php/SLiM_(%E6%97%A5%E6%9C%AC%E8%AA%9E)
login_cmd exec /bin/zsh -l ~/.xinitrc %session

# numlockxいらず
# http://pc-usr.seesaa.net/article/213154213.html
numlock on

# デフォルトユーザーを設定(hogeの部分にユーザーネームを入れます)
default_user hoge

# オートログイン
auto_login yes

# デーモンとして実行
daemon yes

# テーマの変更
# http://chaitealatte-lightice.blogspot.jp/2012/08/arch-linux_28.html
current_theme archlinux-simplyblack

最終確認

systemctl enable slim.service

reboot

再起動すれば、指定したユーザーでウィンドウマネージャーが起動した状態でログインしていると思います。これは、Awesomeですので、一旦ログアウトします。

すると、ログインマネージャーSLiMが表示されるとおもいます。

表示されないという場合は、/etc/rc.confに設定を書いてみて下さい。

/etc/rc.conf
DAEMONS=(slim)
MODULES=(vboxguest vboxsf vboxvideo)

お疲れ様でした。あまりに文章が長いと途中で切れてしまうため、続きは次回になります。具体的には、yaourtAwesomeについて紹介していく予定です。よろしくお願いします。