ひこぽんのーと

覚書と雑記です。

Arch Linuxのインストール手順のこと その2

Install Mate Desktop on Arch Linux

その1の続き。
私はヘタレLinuxユーザーなのでGUIが無いと何もできません。
というわけで、GUI導入までの手順を残す。
LinuxデスクトップではダントツのMate推しなので、
Mate Desktopの導入となります。

CUI環境の整備

コンソールの文字化け対策

前回のインストール時にロケールをja_JP.UTF-8としたので、
今のコンソールではメッセージが化けまくっている。
そこで、tty環境(alt+ctrl+F1〜F6)ではLANG=Cとなるように、Bashの定義を追加する。
追加後、再度ログインすれば、メッセージは英語で表示される。

$ nano /etc/bash.bashrc
 ……
#下記内容を末端に追加
# tty force LANG=C
(tty|fgrep -q 'tty') && export LANG="C"
 ……

ちなみに、コンソールに日本語を表示する方法として、
fbtermとかKMSCONとかを導入するって方法があったけど、
どっちも試した結果、どちらもしっくり来なかった。
解像度とか、描画の美麗さ、反応速度とか色々。
で、結局、文字化けしなければ英語で十分、という判断になった。

タブ補完の強化
$ pacman -S bash-completion
multilibリポジトリの有効化

64bitOSなので32bitのライブラリは不要だけれど、
wineを使いたいので32bitライブラリもインストールできるように
multilibリポジトリを有効化しておく。
/etc/pacman.confの[multilib]の項目とパスを有効化

$ nano /etc/pacman.conf
$ pacman -Syu
ユーザ追加
$ useradd -m -G wheel -s /bin/bash [username]
$ passwd [username]
sudo設定の追加

sudoで権限委譲できるuserを追加する。

$ visudo
……
# User privillege specificationの項に下記を追加((グループ全体を適用する方法もある。))
[username] ALL=(ALL) ALL
……
日本語フォントのインストール

これはお好みで。

$ pacman -S noto-fonts noto-fonts-cjk

GUI環境の構築

X Window Systemのインストール
$ pacman -S xorg-server xorg-apps xorg-server-xephyr
グラフィックドライバのインストール

lspciコマンドを使ってVGAバイスの確認を行う。

$ lspci | grep -e VGA -e 3D

確認できたグラフィクカード(or チップ)に合わせてドライバをインストールする。
wikiXorgの項目にインストールべきドライバについて記載がある。*1
うちのPCはnVidia GeForce GTS 250なのでnvidiaのレガシードライバをインストールした。

$ pacman -S nvidia-340xx nvidia-340xx-utils lib32-nvidia-340xx-utils

nvidia-settingsというツールでグラッフィクボードの状態を見たり、Xorgの設定が行えるのだが、
GUI表示させた場合、下記のパッケージが無いとエラーがでるので、
気になる場合はインストールしておく。

$ pacman -S gtk2 gtk-engines

nvidiaドライバが更新された時、initramfsのアップデートが必要となる。
ドライバ更新時のinitramfsの再作成を自動化するため、
/etc/pacman.d/hooks/nvidia.hookファイルを作成しておく。

$ nano /etc/pacman.d/hooks/nvidia-340xx.hook

[Trigger]
Operation=Install
Operation=Upgrade
Operation=Remove
Type=Package
Target=nvidia-340xx

[Action]
Depends=mkinitcpio
When=PostTransaction
Exec=/usr/bin/mkinitcpio -p linux
ディスプレイマネージャのインストール

ディスプレイマネージャにも色々あり、何を選ぶかは自由となっているが、
Ubuntu Mate 16.04で採用されていたLightDMを選んだ。

$ pacman -S lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings

あとで気づいたことだけど、Mate導入後にjournalログを見たらこんなエラーが出てた。

6月 20 11:04:19 catharina lightdm[479]: Error getting user list from org.freedesktop.Accounts: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Accounts was not provided by any .service files

ここに少しやり取りがあり、accountsserviceパッケージが無いと発生するらしいが、
動作には問題が無い模様。*2
でも、気になるのでインストールをしておく。

$ pacman -S accountsservice
MATEデスクトップのインストール
$ pacman -S mate mate-extra
ディスプレイマネージャの自動起動On
$ systemctl enable lightdm
コンポジットマネージャのインストール

ウィンドウ装飾のことらしいんだけど、
Mateで採用されているウィンドウマネージャのMarcoには、
ソフトウェアコンポジットの機能があるので、なにもしなくてもウィンドウの装飾は行われる。
とはいえ、これはLinux
実はこの装飾を行うプログラムであるコンポジットマネージャも好きに選べる。
ということで、comptonというコンポジットマネージャも入れてみた。

$ packman -S compton

起動するには自動起動するアプリケーションに下記のように追加するだけ。
ただし、起動する際はMarcoのコンポジット機能をOFFにしておく必要がある。

$ compton -b
起動時NumLock On

ディスプレイマネージャ起動時にNumLockをOnにする方法。
デフォルトOffでも構わないのだけれど、
NumLockがOnのままログオフするとNumLockのランプがついているけれど、
内部ではNumLockがOFFという奇妙な状態になるので、
デフォルトOnとなるようにしておいた。
当然、ディスプレイマネージャによってやり方は異なる。
LightDMの場合は、numlockxパッケージをインストール後、
/etc/lightdm/lightdm.confを編集する。

$ pacman -S numlockx
$ nano /etc/lightdm/lightdm.conf
……
# greeter-setup-scriptの行を有効にしてnumlockxのコマンドを記述する
[Seat:*]
greeter-setup-script=/usr/bin/numlockx on
……

ネットワークマネージャのインストール

dhcpcdが動いているので今のままGUIを起動してもネットワークには繫がる。
ただ、Mateの通知パネルに通知が上がってこないのでわかりにくい。
そこで、ネットワーク設定をNetworkManagerにやらせることにする。

インストール
$ pacman -S networkmanager network-manager-applet gnome-keyring
NetworkManagerの自動起動On
$ systemctl enable NetworkManager
dhcpcdの自動起動Off
# systemctl disable dhcpcd

Windows Network 共有

ファイルマネージャ(caja)で共有サーバを覗くだけなら
gvfs-smbパッケージをインストールするだけでOK。
だめだったらsamba smbclient cifs-utilパッケージもインストールする。

	$ pacman -S gvfs-smb
	# だめだったら後からこれもインストール。
	$ pacman -S samba smbclient cifs-util

再起動

$ reboot

Congraturations!

再起動後、ログイン画面が出たらおめっとさん。
新しく作ったユーザでログインできたらおつかれさん。

……って、ここで投げ出されても、まだツラい。
というわけで、その3へ続く。