再度 Arch Linux+KDE のインストールまとめ
メイン環境もArch Linuxにしちゃおうと思ってインストール準備中なんだが、
先日から何回かArch Linuxのインストール手順まとめてるが、今回はベースシステムインストール後はインストールしたシステム上でネットワーク接続して作業を継続しようと思うんで、手順に変更があるのと、
環境構築完了まではメイン機でまとめるの難しいんで、先にインストール手順まとめとく。
流れは大きく分けて、
パスワード無しでrootログインとなる。
日本語キーボードにする
無線LANの場合
有線(DHCP)の環境の場合は何もせずにネットワークは利用可能になっている。
パーティションの作成
GPTというのが推薦のようなので、fdiskではなくgdiskで作成する。
?でコマンド一覧を確認できるが、
o コマンドで全てのパーティションを消してパーティションテーブルを作成。
n コマンドでパーティションの作成
w コマンドで書き込んで終了
という流れになる。
p コマンドを使うとパーティションテーブルを確認できる。
nコマンドでのパーティション作成は、1番目のパーティションはそのままEnterすると開始セクタが2048で最後までのパーティションとなる。
パーティションタイプを指定せずそのままEnterするとLinux用のパーティションになる。
その後2番目のパーティションを作成すると34-2047の1007KBのパーティションが作成できるが、
grub用のパーティションが必要なので、パーティションタイプef02で作成してブート用の領域にする。
/dev/sda1がルートの方がわかりやすいと思うんで、1番目のパーティションをLinux用、ブート領域は2番目にした。
スワップ領域は要らない派なんで作らない。
タイプef02のパーティションを作成するのは、メイン領域はファイルシステムにbtrfsを利用しgrubがbtrfsをロードできないのでef02の領域を作らないとgrubがインストールできない。
フォーマット
もしbtrfsでフォーマット済みの場合、エラーが出て上書きできないので、その場合は、
インストールする領域をマウント
日本のミラーの変更(省略可)
テキストエディタはnanoが利用可なので、nanoで/etc/pacman.d/mirrorlistを開いて、Japanの箇所を探してカットして先頭にペースト。
nanoは下にショートカットキーの一覧が表示されるので使いやすいが、
Ctrl+Kでカット、Ctrl+Uでペースト。Ctrl+Xで終了で、変更している場合は保存確認が出るのでYでEnterすると保存して終了となる。
ベースシステムをインストール
ソースコードからArch用のパッケージを作るためのArch Build System (ABS)、
一般ユーザーがABSで作成したパッケージが配信されるArch User Repository (AUR)、
これらがArch Linuxの売りのようで、これらを利用するためには、baseだけでなくbase-develも入れる必要があるのだが、
後から入れることはできるので、今回はできるだけ最小構成を目指したいのでbaseだけ入れる。
AURを使いたいときにbase-develを入れると覚えておく。
baseの後にスペース区切りでパッケージ名を指定すればこの時点で入れられる。
fstabの作成
インストールしたシステムにchroot
GRUBのインストールと設定
pacmanコマンドはUbuntuで言うところのaptだが、なにかインストールする際は、
無線LAN環境の場合、インストールの際にwifi-menuを利用したと思うが、
wifi-menuはGUIと変わらない簡単さでCUIで無線LANが利用できるが、dialogパッケージの追加インストールが必要。
日本語キーボードにする
KDE上のキーボード設定はGUIでできるので、システムのキーボード設定は不要。
ネットワークのの設定
baseパッケージに含まれるnetctlでネットワークが利用できる。
netctlは、/etc/netctl/以下にプロファイルを置き、
サンプルプロファイルが、/etc/netctl/examples/以下に、サンプルがあり、
有線DHCP環境ならethernet-dhcpを/etc/netctl/にコピーだが、
デバイス名がudevによって書き換えられるのでeth0ではない。うちの場合はenp4s0だった。
サンプルプロファイルはインターフェイス名がeth0になっているのでenp4s0に修正した。
無線環境なら wireless-wpa等をコピーだが、修正の必要があるので、
wifi-menuコマンドの利用には、ベースシステムのインストールの際にdialogパッケージも入れている必要がある。
これで一時的にネットワークが利用可能になるが、システム再起動後に自動的に接続されるようにするには、有線ならifplugdパッケージが必要。
無線の場合はwpa_actiondパッケージ。
インターフェイスはプロファイルのファイル内やdmesgコマンドで確認できる。
netctlを自動起動させず、
モバイル端末ではGUI上で簡単に回線の切り替えができたほうがいいと思うが、手持ちのノートではNetworkManagerで無線接続するとKDEアプリが全て起動不可になる症状が出て、諦めてnetctlを利用した。
今回の場合は有線のデスクトップなので回線切り替えは不要なのでnetctlにする。
rootパスワードの設定とユーザーの作成
KDE上でroot権限が必要な際、Ubuntuなら現ユーザーのパスワードが要求されsudoするが、Archではrootパスワードが要求されsuとなる。
というわけで、rootパスワードを設定して、一般ユーザーを作成する。
ユーザー名を省略してpasswdコマンドを使うとrootパスワードの設定になる。
useraddコマンドの-mオプションで、ユーザーの作成と同時にホームディレクトリが作られる。
passwdコマンドで作成したユーザーのパスワードを設定。
Xとグラフィックドライバのインストール
なんだが、手元のノートPCの際はxf86-video-vesaではKDEの起動ができず、nvidia-304xxを入れる必要があった。
また、今回はAMDのハード(AMD 790GX)なんで、この時点でxf86-video-atiを入れておく。
KDEのインストール
kdebase-workspaceだけだとアプリが何も入っていない状態で、何かコンソールがないとKDE上でのパッケージインストールすらできないので、
KonsoleさえあればKDE起動後にpacmanコマンドが利用できるので、他のアプリはあとで入れればいい。
KDEをインストールしたらkdmサービスを起動すればその時点でGUIのログイン画面となる。
もしGUIのログイン画面にならなかったら、グラフィックドライバがダメ。
Konsoleをインストールしたので、
スタートメニューのApplications > System > Terminal(Konsole)
からコンソールが利用できる。
システム言語とタイムゾーンの設定
以前の手順では、言語とタイムゾーンのシステム設定はせずKDE上でだけ設定したが、システムの設定もしないと日本語化されないアプリがあるのと、
今回はメイン環境なのでタイムゾーンは設定しておいたほうがいいので設定する。
Konsole上で、
Ubuntuならsudoで管理者権限で実行するが、コマンド1回ならsuよりsudoの方が楽ではあるが、suが利用できるのにわざわざsudo設定することもないと思うのでsuでrootログインする。
設定したら再起動。
GUIのパッケージマネージャをインストール
Konsoleを開いて、
Ubuntuならsudoで実行するところだが、sudo設定してないんでsuでrootログインして入れる。
以後はコンソールでpacmanせずにGUIのapperでパッケージ管理する。
スタートメニューのApplications > Settings > Software Management(apper)
検索が初期状態で"Find by name"となってて、説明文から検索したい場合は"Find by description"しないとダメ。といっても、説明文がUbuntuと違ってショボイんでパッケージ探すのは難しいかも・・・
検索してインストールしたいパッケージの"Action"の"Install"をクリックして、"Apply"でインストールされる。
KDEの日本語パッケージを入れる
apperで"kde-l10-ja"を探してインストール。
スタートメニューのApplications > Settings > Settings SystemでLocaleをクリック。
Country Japan
Languages Japanese
を設定してApply。
再起動(再ログイン)すればKDEが日本語優先表示になる。といっても、Ubuntuに比べて日本語化がしょぼいので、あまり期待しないほうがいい。
日本語入力をインストール
apperで"mozc"を検索して"fcitx-mozc"をインストール。
UbuntuでもおなじみのGoogle製IMだが、他に、"fcitx"で検索して、
"kcm-fcitx","fcitx-gtk2","fcitx-gtk3","fcitx-qt4","fcitx-qt5"
も入れる。
kcm-fcitxはKDE用のfcitx設定ツール。パネルとかからfcitxを設定するのに必要。
gtkアプリとか、別々にfcitx入れないとダメなようで、gtkとqtのやつ別々に入れる。
再起動(再ログイン)するとパネルのシステムトレイにfcitxが表示される。
Konsoleで、
これでfcitxを標準IMになる。
設定しないとXIMが標準になっちゃってて、IMを変更できるアプリ以外では日本語入力できない。
システムトレイのfcitx(キーボードアイコン)を右クリックして、"設定"をクリック。
入力メソッド > 入力メソッド選択 で "Mozc" を右に入れて、"適用"
でMozcが利用可能になる。
Mozcは2番目に置いて1番目は"キーボード - 日本語"にすれば初期状態で日本語キーボードでの半角入力でモード切り替えで日本語入力になる。
入力モードの切り替えは初期状態で「Ctrl+Space」なので、
全般の設定 > ホットキー > 入力メソッドのオンオフ を確認する。
左側が「Ctrl+Space」だが、右側が"Zenkaku Hankaku" になっていなかったら、クリックして「半角/全角」キーを押して設定して、"適用"
これで半角/全角キーでモード変更できるようになる。
先日から何回かArch Linuxのインストール手順まとめてるが、今回はベースシステムインストール後はインストールしたシステム上でネットワーク接続して作業を継続しようと思うんで、手順に変更があるのと、
環境構築完了まではメイン機でまとめるの難しいんで、先にインストール手順まとめとく。
流れは大きく分けて、
- ベースシステムのインストール
- 再起動してKDEインストールとネットワーク設定
- 再起動してGUI環境での設定
ベースシステムをインストール
Arch Linuxのインストールisoを用意してCDから起動する。パスワード無しでrootログインとなる。
日本語キーボードにする
loadkeys jp106
loadkeysコマンドはシャットダウンまでの一時的な設定だが、初期状態で英語キーボードなのでjpキーボードにしないと記号が入力できなかったりして困るので設定する。無線LANの場合
wifi-menu
コマンドを使うと、アクセスポイントをスキャンしてくれて、選択してパスワードを入力するだけで回線が利用できる。有線(DHCP)の環境の場合は何もせずにネットワークは利用可能になっている。
パーティションの作成
GPTというのが推薦のようなので、fdiskではなくgdiskで作成する。
gdisk /dev/sda
で1番目の物理ディスクにパーティションを作る。?でコマンド一覧を確認できるが、
o コマンドで全てのパーティションを消してパーティションテーブルを作成。
n コマンドでパーティションの作成
w コマンドで書き込んで終了
という流れになる。
p コマンドを使うとパーティションテーブルを確認できる。
nコマンドでのパーティション作成は、1番目のパーティションはそのままEnterすると開始セクタが2048で最後までのパーティションとなる。
パーティションタイプを指定せずそのままEnterするとLinux用のパーティションになる。
その後2番目のパーティションを作成すると34-2047の1007KBのパーティションが作成できるが、
grub用のパーティションが必要なので、パーティションタイプef02で作成してブート用の領域にする。
/dev/sda1がルートの方がわかりやすいと思うんで、1番目のパーティションをLinux用、ブート領域は2番目にした。
スワップ領域は要らない派なんで作らない。
タイプef02のパーティションを作成するのは、メイン領域はファイルシステムにbtrfsを利用しgrubがbtrfsをロードできないのでef02の領域を作らないとgrubがインストールできない。
フォーマット
mkfs -t btrfs /dev/sda1
流行りのようなんでext4ではなくbtrfsでフォーマットする。もしbtrfsでフォーマット済みの場合、エラーが出て上書きできないので、その場合は、
mkfs.btrfs -f /dev/sda1
で初期化できる。インストールする領域をマウント
mount /dev/sda1 /mnt
日本のミラーの変更(省略可)
nano /etc/pacman.d/mirrorlist
この手順は省略可能だが、初期状態だとアメリカの鯖からダウンロードになると思うのでJapan優先にする。テキストエディタはnanoが利用可なので、nanoで/etc/pacman.d/mirrorlistを開いて、Japanの箇所を探してカットして先頭にペースト。
nanoは下にショートカットキーの一覧が表示されるので使いやすいが、
Ctrl+Kでカット、Ctrl+Uでペースト。Ctrl+Xで終了で、変更している場合は保存確認が出るのでYでEnterすると保存して終了となる。
ベースシステムをインストール
pacstrap /mnt base
これでベースシステムのパッケージがダウンロードされて/mntにインストールされる。ソースコードからArch用のパッケージを作るためのArch Build System (ABS)、
一般ユーザーがABSで作成したパッケージが配信されるArch User Repository (AUR)、
これらがArch Linuxの売りのようで、これらを利用するためには、baseだけでなくbase-develも入れる必要があるのだが、
後から入れることはできるので、今回はできるだけ最小構成を目指したいのでbaseだけ入れる。
AURを使いたいときにbase-develを入れると覚えておく。
baseの後にスペース区切りでパッケージ名を指定すればこの時点で入れられる。
fstabの作成
genfstab -p /mnt >> /mnt/etc/fstab
これでfstabが自動的に作られる。インストールしたシステムにchroot
arch-chroot /mnt
GRUBのインストールと設定
pacman -S grub
grub-install --target=i386-pc --recheck --debug /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
pacmanでgrubパッケージをインストールして、grubのコマンドで/dev/sdaに入れる。grub-install --target=i386-pc --recheck --debug /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
pacmanコマンドはUbuntuで言うところのaptだが、なにかインストールする際は、
pacman -S パッケージ名
で入れる。
pacman -Ss 文字列
で検索できる。無線LAN環境の場合、インストールの際にwifi-menuを利用したと思うが、
wifi-menuはGUIと変わらない簡単さでCUIで無線LANが利用できるが、dialogパッケージの追加インストールが必要。
pacman -S dialog
でパッケージを入れておくと再起動後も簡単にネットワーク設定ができる。KDEが起動してネットワークが使えるようにする。
ここからの作業は、ベースシステムとgrubを入れた後に、HDDから起動しての作業です。日本語キーボードにする
loadkeys jp106
システムのキーボードは設定していないので、またキーボード設定。KDE上のキーボード設定はGUIでできるので、システムのキーボード設定は不要。
ネットワークのの設定
baseパッケージに含まれるnetctlでネットワークが利用できる。
netctlは、/etc/netctl/以下にプロファイルを置き、
netctl start プロファイル
でネットワークが有効になる。サンプルプロファイルが、/etc/netctl/examples/以下に、サンプルがあり、
有線DHCP環境ならethernet-dhcpを/etc/netctl/にコピーだが、
デバイス名がudevによって書き換えられるのでeth0ではない。うちの場合はenp4s0だった。
dmesg|grep eth0
[ 3.587546] systemd-udevd[180]: renamed network interface eth0 to enp4s0
dmesgコマンドで確認できる。[ 3.587546] systemd-udevd[180]: renamed network interface eth0 to enp4s0
サンプルプロファイルはインターフェイス名がeth0になっているのでenp4s0に修正した。
無線環境なら wireless-wpa等をコピーだが、修正の必要があるので、
wifi-menu -o
でスキャンされて選択してパスワードを入力すればプロファイルが作成されるので楽。wifi-menuコマンドの利用には、ベースシステムのインストールの際にdialogパッケージも入れている必要がある。
これで一時的にネットワークが利用可能になるが、システム再起動後に自動的に接続されるようにするには、有線ならifplugdパッケージが必要。
pacman -S ifplugd
systemctl enable netctl-ifplugd@インターフェイス.service
インストールしてサービス自動起動設定で、LANケーブルが刺さったらネットワークが有効になる。systemctl enable netctl-ifplugd@インターフェイス.service
無線の場合はwpa_actiondパッケージ。
pacman -S wpa_actiond
systemctl enable netctl-auto@インターフェイス.service
とインストールしてしてサービスを自動起動させる。systemctl enable netctl-auto@インターフェイス.service
インターフェイスはプロファイルのファイル内やdmesgコマンドで確認できる。
netctlを自動起動させず、
pacman -S kdeplasma-applets-plasma-nm
でKDEのパネル用NetworkManagerアプレットを入れ、
systemctl enable NetworkManager
でnetctlではなくNetworkManagerを起動させれば、KDE上でユーザー権限で回線の切り替えができる。モバイル端末ではGUI上で簡単に回線の切り替えができたほうがいいと思うが、手持ちのノートではNetworkManagerで無線接続するとKDEアプリが全て起動不可になる症状が出て、諦めてnetctlを利用した。
今回の場合は有線のデスクトップなので回線切り替えは不要なのでnetctlにする。
rootパスワードの設定とユーザーの作成
passwd
useradd -m user
passwd user
KDEをインストールしようとしているわけだが、KDEにrootでログインしようとすると怒られる。useradd -m user
passwd user
KDE上でroot権限が必要な際、Ubuntuなら現ユーザーのパスワードが要求されsudoするが、Archではrootパスワードが要求されsuとなる。
というわけで、rootパスワードを設定して、一般ユーザーを作成する。
ユーザー名を省略してpasswdコマンドを使うとrootパスワードの設定になる。
useraddコマンドの-mオプションで、ユーザーの作成と同時にホームディレクトリが作られる。
passwdコマンドで作成したユーザーのパスワードを設定。
Xとグラフィックドライバのインストール
pacman -S xorg-server xf86-video-vesa
Xのグラフィックドライバは、VESAドライバを入れておけば普通はKDEの起動はできるはず。なんだが、手元のノートPCの際はxf86-video-vesaではKDEの起動ができず、nvidia-304xxを入れる必要があった。
また、今回はAMDのハード(AMD 790GX)なんで、この時点でxf86-video-atiを入れておく。
KDEのインストール
pacman -S kdebase-plasma
kdebase-workspaceを入れればKDEが起動できる最小構成でインストールできるようだが、plasma入れないとWidgetとか使えないと思うのでkdebase-plasma入れとく。kdebase-plasma入れればkdebase-workspaceも入る。kdebase-workspaceだけだとアプリが何も入っていない状態で、何かコンソールがないとKDE上でのパッケージインストールすらできないので、
pacman -S kdebase-konsole
で、Konsoleも入れておく。KonsoleさえあればKDE起動後にpacmanコマンドが利用できるので、他のアプリはあとで入れればいい。
KDEをインストールしたらkdmサービスを起動すればその時点でGUIのログイン画面となる。
systemctl enable kdm
システム起動時にkdmが自動起動するように設定する。GUI環境での設定
KDEをインストールしてkdmを起動すればGUIログイン画面になり、KDEにログインできます。もしGUIのログイン画面にならなかったら、グラフィックドライバがダメ。
Konsoleをインストールしたので、
スタートメニューのApplications > System > Terminal(Konsole)
からコンソールが利用できる。
システム言語とタイムゾーンの設定
以前の手順では、言語とタイムゾーンのシステム設定はせずKDE上でだけ設定したが、システムの設定もしないと日本語化されないアプリがあるのと、
今回はメイン環境なのでタイムゾーンは設定しておいたほうがいいので設定する。
Konsole上で、
su
nano /etc/locale.gen
ja_JP.UTF-8の行をアンコメントnano /etc/locale.gen
Ubuntuならsudoで管理者権限で実行するが、コマンド1回ならsuよりsudoの方が楽ではあるが、suが利用できるのにわざわざsudo設定することもないと思うのでsuでrootログインする。
locale-gen
localectl set-locale LANG="ja_JP.UTF-8"
でシステム言語が日本語になる。localectl set-locale LANG="ja_JP.UTF-8"
ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
言語に続いてタイムゾーン設定設定したら再起動。
GUIのパッケージマネージャをインストール
Konsoleを開いて、
su
pacman -S apper
apperってのが人気ありそうなGUIパッケージマネージャなんでこれ入れる。pacman -S apper
Ubuntuならsudoで実行するところだが、sudo設定してないんでsuでrootログインして入れる。
以後はコンソールでpacmanせずにGUIのapperでパッケージ管理する。
スタートメニューのApplications > Settings > Software Management(apper)
検索が初期状態で"Find by name"となってて、説明文から検索したい場合は"Find by description"しないとダメ。といっても、説明文がUbuntuと違ってショボイんでパッケージ探すのは難しいかも・・・
検索してインストールしたいパッケージの"Action"の"Install"をクリックして、"Apply"でインストールされる。
KDEの日本語パッケージを入れる
apperで"kde-l10-ja"を探してインストール。
スタートメニューのApplications > Settings > Settings SystemでLocaleをクリック。
Country Japan
Languages Japanese
を設定してApply。
再起動(再ログイン)すればKDEが日本語優先表示になる。といっても、Ubuntuに比べて日本語化がしょぼいので、あまり期待しないほうがいい。
日本語入力をインストール
apperで"mozc"を検索して"fcitx-mozc"をインストール。
UbuntuでもおなじみのGoogle製IMだが、他に、"fcitx"で検索して、
"kcm-fcitx","fcitx-gtk2","fcitx-gtk3","fcitx-qt4","fcitx-qt5"
も入れる。
kcm-fcitxはKDE用のfcitx設定ツール。パネルとかからfcitxを設定するのに必要。
gtkアプリとか、別々にfcitx入れないとダメなようで、gtkとqtのやつ別々に入れる。
再起動(再ログイン)するとパネルのシステムトレイにfcitxが表示される。
Konsoleで、
nano .xprofile
して、ホームディレクトリの.xprofile(存在しない)を編集。export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
内容は3行。export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
これでfcitxを標準IMになる。
設定しないとXIMが標準になっちゃってて、IMを変更できるアプリ以外では日本語入力できない。
システムトレイのfcitx(キーボードアイコン)を右クリックして、"設定"をクリック。
入力メソッド > 入力メソッド選択 で "Mozc" を右に入れて、"適用"
でMozcが利用可能になる。
Mozcは2番目に置いて1番目は"キーボード - 日本語"にすれば初期状態で日本語キーボードでの半角入力でモード切り替えで日本語入力になる。
入力モードの切り替えは初期状態で「Ctrl+Space」なので、
全般の設定 > ホットキー > 入力メソッドのオンオフ を確認する。
左側が「Ctrl+Space」だが、右側が"Zenkaku Hankaku" になっていなかったら、クリックして「半角/全角」キーを押して設定して、"適用"
これで半角/全角キーでモード変更できるようになる。