研究室のパソコンに Arch を入れるメモ

# 前提
- US キーボード

# OS のインストール
## パーティショニング

GPT でパーティショニング．

```
# cgdisk /dev/sda
```

今回の構成は以下の通り．

| # | Mount Point | Size | Partition Type |
|---|-------------|------|----------------|
|  |  | 1007 KiB | free space |
| /dev/sda1 | / | 20 GiB | Linux filesystem |
| /dev/sda2 | /boot | 512 MiB | EFI System |
| /dev/sda3 | /var | 12 GiB | Linux filesystem |
| /dev/sda4 | /home | 残りすべて | Linux filesystem |

パーティションの作成が終わったら，フォーマットとマウントを行う．

```
# mkfs.ext4 /dev/sda1
# mkfs.fat -F32 /dev/sda2
# mkfs.ext4 /dev/sda3
# mkfs.ext4 /dev/sda4

# mount /dev/sda1 /mnt

# mkdir /mnt/boot
# mkdir /mnt/var
# mkdir /mnt/home

# mount /dev/sda2 /mnt/boot
# mount /dev/sda3 /mnt/var
# mount /dev/sda4 /mnt/home
```

## ベースシステムのインストール

日本のミラーを優先する．

```
# nano /etc/pacman.d/mirrorlist
```

ベースシステムのインストール．

```
# pacstrap -i /mnt base base-devel
```

chroot．

```
# arch-chroot /mnt /bin/bash
```

## ロケールの設定

`en_US.UTF-8` と `ja_JP.UTF-8` をアンコメント．

```
# nano /etc/locale.gen
```

ロケールの生成．

```
# locale-gen
```

設定．

```
# echo en_US.UTF-8 > /etc/locale.conf
# export LANG=en_US.UTF-8
```

## タイムゾーンの設定

```
# ln -s /usr/share/zoneinfo/Zone/Asia/Tokyo /etc/localtime
# hwclock --systohc --utc
```

## ブートローダのインストール

GRUB を EFI でインストールします．

```
# pacman -S grub efibootmgr
# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id="Arch Linux"
# grub-mkconfig -o /boot/grub/grub.cfg
```


## ホスト名

```
# echo $HOST_NAME > /etc/hostname
```

## パスワード変更

root ユーザのパスワードを設定しておきます．

```
# passwd
```

## アンマウント & リブート

アンマウント & リブートし，インストールしたシステムを起動します．

```
# exit
# umount -R /mnt
# reboot
```

# いろいろな設定
## ネットワークの設定

固定 IP の場合は以下の通り．

固定 IP でない場合も `/etc/netctl/example` に設定例があるので環境に合わせて使いましょう．

```
# cp /etc/netctl/example/ethernet-static /etc/netctl/enp3s0
# nano /etc/netctl/enp3s0
# netctl start enp3s0
# netctl enable enp3s0
```

※ NIC は適宜読み替えてください．

## ユーザの追加

root ユーザで作業し続けるのも危険なので，wheel に属する一般ユーザを作成し，ユーザを切り替えます．

```
# useradd -m -g wheel sira
# passwd sira
# su - sira
```

sudo もインストールしておきましょう．

```
# pacman -S sudo
```

`/etc/sudoers` を開いて以下をアンコメント．

```zsh:/etc/sudoers
%wheel      ALL=(ALL) ALL
```

## Yaourt

Yaourt を使うと，AUR の様々なパッケージを簡単に入手することができます．

`/etc/pacman.conf` を開いて次を末尾に追加．

```zsh:/etc/pacman.conf
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
```

リポジトリを追加したら以下を実行．

```
# pacman --sync --refresh yaourt
```

## Multilib

`/etc/pacman.conf` を開いて次をアンコメント．

```zsh:/etc/pacman.conf
[multilib]
Include = /etc/pacman.d/mirrorlist
```

以下を実行．

```
$ sudo pacman -Syu
```


## ディスプレイマネージャとデスクトップ環境

今回はディスプレイマネージャとして `gdm`，デスクトップ環境として `GNOME` をインストールします．

```
$ yaourt -S xorg-server xorg-server-utils xorg-xinit xterm xf86-video-intel gnome
```

起動時にログイン画面が表示されるように設定．

```
$ sudo systemctl enable gdm
```

`~/.xinitrc` に以下を記述．

```zsh:~/.xinitrc
exec gnome-session
```

`startx` で GUI を起動します．

## 日本語環境

日本語フォントをインストール．

```
$ yaourt -S otf-ipafont
```

ヒラギノフォントを持っている人は以下のようにインストールできます．

```
$ sudo cp /path/to/hiragino/*.otf /usr/share/fonts/OTF/
$ fc-cache -vf
```

日本語入力は安定の Mozc で．

まずは，IBus に別れを告げます．

```
$ yaourt -Rsn ibus
```

dconf Editor から，desktop -> ibus -> general で preload-engines の値を削除する．
org -> gnome -> desktop -> input-sources で sources と mru-sources の値を削除する．

そして，IBus と GNOME の間の縁を切ります．

```
$ gsettings set org.gnome.settings-daemon.plugins.keyboard active false
```

Mozc をインストールしていきます．

```
$ yaourt -S fcitx-im　fcitx-mozc fcitx-configtool
$ fcitx-configtool
```

\+ ボタンから Keyboard - English (US) と Mozc を追加．

~/.xinitrc, ~/.xprofile に以下を追加．

```bash
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
```

GNOME のアプリケーションでも Mozc が効くように，

```
$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/IMModule':<'fcitx'>}"
```

# その他の設定
## PDF の文字化け対策

PDF で日本語が表示できない問題を解決します．

```
$ yaourt -S poppler-data
```

## ファイアウォール

ファイアウォールも設定しておいた方がいいでしょう．
Iptables を直接触るのは萎えるので，UFW を使います．

```
$ yaourt -S ufw
```

キャンパス内の通信は許可．

```
# ufw default deny
# ufw allow from 133.66.0.0/16
# ufw enable
```

## 外観

GNOME の外観の設定をします．

```
$ yaourt -S faba-icon-theme-git
```

Tweak Tool から

- Appearance
  - Global Dark Theme
  - Icon Theme: Faba
- Desktop
  - Icons on Desktop


# 便利なソフトウェア
## Zsh

Bash では物足りない人は zsh をどうぞ．

```
$ yaourt -S zsh grml-zsh-config
$ chsh
```

## Web ブラウザなど

Chrome や Minecraft などをインストール．

```
$ yaourt -S google-chrome atom-editor vlc acroread libreoffice-still gimp filezilla
$ yaourt -S minecraft teamspeak3
$ yaourt -S mendeley
```

JetBrains の IDE やコンパイラなどをインストール．

```
$ yaourt -S jdk cmake boost python python-numpy python-matplotlib
$ yaourt -S intellij-idea-ultimate-edition
$ yaourt -S clion
$ yaourt -S pycharm-professional
```

ファイルマネージャまわりのソフトをインストール．

```
$ yaourt -S dropbox nautilus-dropbox
$ yaourt -S file-roller exfat-utils dosfstools
```

その他にもいろいろ

```
$ yaourt -S ssh openssh
```

別記事にて

- [Arch Linux に日本語 LaTeX 環境を整える](http://qiita.com/sira/items/4d045c2bb439c917471c)
- [Arch Linux でプリンタを使えるようにする](http://qiita.com/sira/items/300f40982025d40eaea1)

# 参考

- http://archlinux-blogger.blogspot.jp/2016/02/ibus-mozcfcitx-mozc.html