mofoolog

再検索を省きたいから書いてるログ

ArchLinux+Cinnamon+GDM インストールと設定(NotePC)

f:id:mofoolog:20160222120051j:plain

ノートPCでWindowsを消し去ってArchLinuxをインストールする手順の記事

  • ArchLinux本体インストールはUEFI(GTP)及びxfs

  • GUI環境はCinnamon+GDM

  • 日本語環境、使用中のフォント、基本的に使っているアプリケーションなどをまとめて記載

目次

 

USBブートメディアの作成


Arch LinuxのインストールメディアをUSBで作成する手順

インストールメディア(.iso)のDownload

https://www.archlinux.org/download

  • 上記URLページをスクロールし日本国旗のある場所で好きなダウンロード先をクリック

  • 「.iso」拡張子のファイル名をクリックしインストール完了

 

USBブートメディアの作成

 

※ USBは「FAT32」形式でフォーマット必須

 

Arch LinuxをPCへインストール


作成したUSBブートメディアを使ってArch LinuxをPCにインストールする手順

Arch Linux本体のインストール

Arch LinuxのUSB起動

  • PCにより異なるが、USB起動が優先されるように「F12」などでBIOS/UEFIを操作しUEFIに切り替え

  • PCに先ほど作成したUSBブートメディアを挿しPCを起動

  • 「Arch Linux arciso x86_64 UEFI USB」にカーソルをあわせて[Enter]

キーボードレイアウトの設定

# loadkeys jp106

gdiskでパーティションを作成

Arch Linuxではメモリ2GB以上積んでる場合、swap領域を設定するとパフォーマンスが低下するという報告が上がっているようでswapしないのが流行ってる模様。swap領域が有っても無くても(私の使い方では)そんなに変化が確認できなかったのでswap領域を使う事にする。

sda 形式 割当 memory
/dev/sda1 vfat EFI system boot 513MB
/dev/sda2 swap swap 8.0GB
/dev/sda3 xfs / 残り全部
  • gdisk(GPT)を立ち上げ下記コマンドを実行
//使用していたパーテーションの削除コマンド
# sgdisk --zap-all /dev/sda


//新しいパーテーションの作成
# gdisk /dev/sda

Command (? for help): o
Proceed? (Y/N): y

//sda1の作成
Command (? for help): n
Partition number (1-128, default 1):[Enter]
First sector (34-976773134, default = 2048) or {+-}size{KMGTP}:[Enter]
Last sector (2048-976773134, default = 976773134) or {+-}size{KMGTP}: +513M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): EF00
Changed type of partition to 'EFI System'

//sda2の作成
Command (? for help): n
Partition number (2-128, default 2):[Enter]
First sector (34-976773134, default = 1052672) or {+-}size{KMGTP}:[Enter]
Last sector (1052672-976773134, default = 976773134) or {+-}size{KMGTP}:+8200M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):8200
Changed type of partition to 'Linux swap'

//sda3の作成
Command (? for help): n
Partition number (3-128, default 3):[Enter]
First sector (34-976773134, default = 16412672) or {+-}size{KMGTP}:[Enter]
Last sector (16412672-976773134, default = 976773134) or {+-}size{KMGTP}:[Enter]
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):[Enter]
Changed type of partition to 'Linux filesystem'


//パーテーションの確認
Command (? for help): p


//書き込み
Command (? for help): w
・・・(中略)・・・
Do you want to proceed? (Y/N): Y

パーテーションのフォーマット

# mkfs.vfat -F32 /dev/sda1
# mkswap /dev/sda2
# swapon /dev/sda2

//name=後の○○○好きにHDD名を入力
//○○○gのgはGBの意味。TBならtを付加(sda3の容量)
# mkfs.xfs -m crc=1 -L name=○○○g /dev/sda3

//※エラーなら-fを追記
# mkfs.xfs -f -m crc=1 -L name=○○○g /dev/sda3

マウント

# mount /dev/sda3 /mnt
# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot

mirrorlistの調整

# nano -w /etc/pacman.d/mirrorlist
  • Japanミラー(Taiwanミラーも)を先頭に移動し保存

Linux本体のインストール

# pacstrap /mnt base base-devel

fstabを生成

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

新規インストールしたシステムにchrootして作業

# arch-chroot /mnt /bin/bash


//localeと言語設定
...# nano -w /etc/locale.gen

//切り替わったら以下行の#を取って保存
#en_US.UTF-8 UTF-8
#ja_JP.UTF-8 UTF-8

...# locale-gen


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


//キーボードの設定がJISキーボードになるように編集
...# nano -w /etc/vconsole.conf

//下記コードを入力保存
KEYMAP=jp106


//タイムゾーンとハードウェアクロック設定
...# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
...# hwclock --systohc --utc


//ホスト名の設定
...# echo ホスト名 > /etc/hostname
//好きなホスト名を設定します。


//rootのパスワード設定
...# passwd
//2度パスワードを入力


//DHCP接続の自動接続設定
...# systemctl enable dhcpcd.service


//Intelのマイクロコードのアップデートを有効にするintel-ucodeをインストール
...# pacman -S intel-ucode


//ブートローダ(GRUB)と仲間たちをインストール
...# pacman -S grub efibootmgr dosfstools
...# grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch_grub --recheck


//ブータブルスタブの作成
...# mkdir /boot/EFI/boot
...# cp /boot/EFI/arch_grub/grubx64.efi /boot/EFI/boot/bootx64.efi


//grub.cfgの作成
...# grub-mkconfig -o /boot/grub/grub.cfg


//アンマウント
...# exit
# umount -R /mnt

シャットダウン

# shutdown -h now
  • シャットダウンしたら、USBを抜く

 

Arch LinuxGUIインストールと各設定

GUIのインストールや各設定などを済ませていく。

rootでログインし起動

  • PCを起動しGRUB画面でArch Linuxを選択し[Enter]

  • しばらくすると以下の様な表示になるので[Enter]

Arch Linux 4.0.1-1-ARCH (tty1)

<ホスト名> login: ・・・・・・・・・・・・・・・・・・・・・・・・・・

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
_
  • rootでログイン
<ホスト名> login: root
Password: <passwdで設定したパスワードを入力>

ユーザーの追加設定

# useradd -m -g wheel <ユーザー名>
# passwd <ユーザー名>

ユーザー登録とsudo等のパスワード入力の省略設定

# visudo

//root ALL=(ALL) ALL以降に追加
<ユーザー名> ALL=(ALL) ALL

//sudoでpassword入力を不要にする場合は追記
%wheel ALL=(ALL) NOPASSWD: ALL

Yaourtの導入

# nano -w /etc/pacman.conf

//Repositoryを末尾に追記
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

[herecura]
Server = https://repo.herecura.be/$repo/$arch
  • yaourtの初期化など
# pacman --sync --refresh yaourt
# pacman -Syy

Xの導入

# pacman -S xorg-server xorg-server-utils xorg-xinit xorg-xclock xterm

//ノートPCなのでmesa-libglを選択
Enter a number (default=1):[Enter]

ドライバのインストール

//グラボを調べる
# lspci | grep VGA

//必要なドライバのインストール
# pacman -S xf86-video-intel

cinnamonのインストール

# pacman -S cinnamon cinnamon-control-center cinnamon-screensaver muffin nemo nemo-fileroller gnome-terminal

ディスプレイマネージャのインストールと自動起動の設定

# pacman -S gdm


・・・・・テストするならこの手順を・・・・・・・・・・・・・・・・・・・・・・
# systemctl start gdm

ログイン画面になったら、一般ユーザーとしてユーザー名とパスワードを入力
Cinnamonデスクトップになるかどうか確認
reboot後コンソールにrootでログインし直す
# reboot
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・


//起動時にgdmが動くように下記コマンドで設定
# systemctl enable gdm

開発ツールのインストール

# pacman -S abs base-devel

システム全体の表示を日本語に変更

# nano -w /etc/locale.conf

//書き換え保存
LANG=ja_JP.UTF-8
LC_NUMERIC=ja_JP.UTF-8
LC_TIME=ja_JP.UTF-8
LC_MONETARY=ja_JP.UTF-8
LC_PAPER=ja_JP.UTF-8
LC_MEASUREMENT=ja_JP.UTF-8

gdmキーボードレイアウトの設定

# nano -w /etc/X11/xorg.conf.d/10-evdev.conf

//新規入力し保存
Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "XkbLayout" "jp"
        Option "XkbModel" "pc104"
EndSection

GDM の言語を変更

# nano -w /var/lib/AccountsService/users/gdm

//以下を入力
[User]
Language=ja_JP.UTF-8
XSession=
SystemAccount=true
  • 再起動後「/var/lib/AccountsService/users/gdm」ファイルを開くと「Language」の行は消えますが有効になっている

黒い画面を終了し再起動

# reboot

cinnamonで表示するためのgdm操作

この操作は一度行えばOK

  • 再起動後gdmでユーザー名が表示されるのでクリック

  • パスワード入力画面のサインインボタン左に有る歯車アイコンをクリック

  • 「cinnamon」を選択

  • ログインパスワードを入力し「サインイン」をクリック

以降はWebブラウザとテキスト編集ソフトを先にダウンロードして、コピペで進めたほうが楽♪

GoogleChromeのインストール

  • Nemoには「Downloads」フォルダが無いので先にホームディレクトリ内に作成しておく

  • 下記コマンドでChromeをインストール

$ yaourt -S google-chrome

Noto Sans CJK JPのインストール

システム用フォントとして使用。

https://www.google.com/get/noto/#sans-jpan

  • 上記サイトからダウンロードし解凍

  • 「~/.local/share/fonts」ディレクトリを作成しフォントファイルを全て移動

  • 「メニュー」→「設定」→「フォント」を開き「フォントの選択」で「Noto Sans CJK JP DemiLight」を指定(等幅フォントは除く)

Rounded-L Mgen+のインストール

Webブラウザの表示用フォントとして使用。

  • 先に7zipを解凍できるように下記コマンドで準備します。(それ以外はついでw)
$ sudo pacman -S p7zip wget git tree vim gksu llvm clang gcc-fortran
  • Rounded-L Mgen+のダウンロードと解凍を行う

  • 「~/.local/share/fonts」ディレクトリにフォントファイルを全て移動

  • Webブラウザの設定を「Rounded-L Mgen+ 2p」に変更

Ricty Diminishedのインストール

プログラミングフォント表示用として使用。

https://github.com/yascentur/RictyDiminished

  • Ricty Diminishedのダウンロードと解凍を行う

  • 「~/.local/share/fonts」ディレクトリにフォントファイルを全て移動

  • プログラミングフォントの設定を各所で「Ricty Diminished」に変更

SublimeText3のインストール

$ yaourt -S sublime-text-dev-imfix2

設定は後回しで大丈夫!

fcitx-mozcのインストール

$ sudo pacman -S fcitx-im fcitx-mozc fcitx-configtool
fcitx-mozcの設定
  • 「メニュー」→「設定」→「Fcitx 設定」をクリック

  • 「入力メソッド」に「Mozc」のみ表示させてその他は[- (マイナスボタン)]で非表示

  • 「~/.xprofile」ファイル(無ければ新規作成)に下記コードを追記

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
fcitx-autostart &
Mozc 拡張辞書のインストール

お試しで拡張辞書をインストール。

.bashrcの設定

とりあえず下記設定にしておく。

#
# ~/.bashrc
#

#------------------------------------------------------------
# If not running interactively, don't do anything
#------------------------------------------------------------

[[ $- != *i* ]] && return

PS1='[\u@\h \W]\n\$ '


#------------------------------------------------------------
# ls options
#------------------------------------------------------------

alias ls='ls -a --color=auto --show-control-chars'
alias ll='ls -l'
alias l='ls -CF'


#------------------------------------------------------------
# vim
#------------------------------------------------------------

export VISUAL='vim'

vimrcの設定

Minimalのvim設定をとりあえず行っておく。

  • $HOME/.vim/ディレクトリの新規作成

  • $HOME/.vim/files/ディレクトリの新規作成

  • $HOME/.vim/files/backup/ディレクトリの新規作成

  • $HOME/.vim/files/swap/ディレクトリの新規作成

  • $HOME/.vim/files/undo/ディレクトリの新規作成

  • $HOME/.vim/files/info/ディレクトリの新規作成

  • $HOME/.vim/files/info/viminfoファイルの新規作成

  • $HOME/.vim/vimrcファイルの新規作成し下記コードを入力保存

"
" A (not so) minimal vimrc.
"

" You want Vim, not vi. When Vim finds a vimrc, 'nocomptaible' is set anyway.
" We set it explicitely to make our position clear!
set nocompatible

filetype plugin indent on  " Load plugins according to detected filetype.
syntax on                  " Enable syntax highlighting.

set autoindent             " Indent according to previous line.
set expandtab              " Use spaces instead of tabs.
set softtabstop =4         " Tab key indents by 4 spaces.
set shiftwidth  =4         " >> indents by 4 spaces.
set shiftround             " >> indents to next multiple of 'shiftwidth'.

set backspace   =indent,eol,start  " Make backspace work as you would expect.
set hidden                 " Switch between buffers without having to save first.
set laststatus  =2         " Always show statusline.
set display     =lastline  " Show as much as possible of the last line.

set showmode               " Show current mode in command-line.
set showcmd                " Show already typed keys when more are expected.

set incsearch              " Highlight while searching with / or ?.
set hlsearch               " Keep matches highlighted.

set ttyfast                " Faster redrawing.
set lazyredraw             " Only redraw when necessary.

set splitbelow             " Open new windows below the current window.
set splitright             " Open new windows right of the current window.

set cursorline             " Find the current line quickly.
set wrapscan               " Searches wrap around end-of-file.
set report      =0         " Always report changed lines.
set synmaxcol   =200       " Only highlight the first 200 columns.

set list                   " Show non-printable characters.
if has('multi_byte') && &encoding ==# 'utf-8'
  let &listchars = 'tab:▸ ,extends:❯,precedes:❮,nbsp:±'
else
  let &listchars = 'tab:> ,extends:>,precedes:<,nbsp:.'
endif

" The fish shell is not very compatible to other shells and unexpectedly
" breaks things that use 'shell'.
if &shell =~# 'fish$'
  set shell=/bin/bash
endif

" Put all temporary files under the same directory.
" https://github.com/mhinz/vim-galore#handling-backup-swap-undo-and-viminfo-files
set backup
set backupdir   =$HOME/.vim/files/backup/
set backupext   =-vimbackup
set backupskip  =
set directory   =$HOME/.vim/files/swap//
set updatecount =100
set undofile
set undodir     =$HOME/.vim/files/undo/
set viminfo     ='100,n$HOME/.vim/files/info/viminfo

 

アプリケーション等のインストール


導入もここまで来たので基本的に使用するアプリケーションなどをインストールする。

redshiftのインストール

redshiftは目にやさしいアプリケーション。

$ sudo pacman -S python-gobject python-xdg librsvg
$ sudo pacman -S redshift
  • 「~/.config/」フォルダ内に下記コードを記述し「redshift.conf」という名前で保存
[redshift]
temp-day=3500
temp-night=3500
transition=1
gamma=1.0:1.0:1.0
location-provider=manual
adjustment-method=randr

[manual]
lat=35.4
lon=139.4
  • 「メニュー」→「アクセサリ」→「Redshift」をクリックし起動
  • 以後システムトレイにできたアイコンでOn/Off切り替えOK
  • 「メニュー」→「設定」→「Startup Applications」→「追加する」ボタンをクリック
  • 「コマンド(M)」に「redshift-gtk」と入力(名前・説明は適当に決める)

  • 「Save」し完了

 

Gufwのインストール

GufwufwGUI操作用ファイアウォールアプリケーション。

$ sudo pacman -S gufw
  • PCを再起動

  • 「メニュー」→「設定」→「ファイアーウォール設定ツール」をクリック

  • パスワードを入力後「Status:」をオン

  • Dropbox等の除外アプリ設定

  • PC起動時に自動立ち上げるため下記コマンドを実行

$ sudo systemctl enable ufw

 

dorpboxのインストール

$ sudo pacman -S dropbox ufw-extras perl-file-mimeinfo
  • 「メニュー」→「インターネット」→「Dropbox」を開き設定し完了

 

Thunderbirdのインストール

$ sudo pacman -S thunderbird thunderbird-i18n-ja
  • 再起動後メニューに表示される

 

gThumbのインストール

画像ビューワーのアプリケーション。

$ sudo pacman -S gthumb
  • 「メニュー」→「グラフィックス」→「gThumb」で起動

 

Shutterのインストール

スクリーンショットと編集ができるアプリケーション。

$ sudo pacman -S shutter
  • 「メニュー」→「アクセサリー」→「Shutter」で起動

 

Slack desktopのインストール

Slack(チャット)アプリ。

$ yaourt -S scudcloud
  • 「メニュー」→「インターネット」→「ScudCloud」で起動

 

定期作業


インストールしてあるものをアップデートする作業も簡単。

思い立ったら下記コマンドを実行します。

$ sudo pacman -Syy
$ sudo pacman -Syu
$ yaourt -Syua

上記コマンドで、もしエラー表示が出た場合はインストール作業はせずに後日行うのがコツ。

また、pacmanでインストールされたものがyaourt(packer)でインストール候補として表示される場合がある。この場合も後日pacmanからインストールできるようになるので、yaourtでのアップデートはしない。

 

補足


ArchLinuxは、インストール作業にとても手間がかかるが、実運用では他より手間がかからない。pacman/yaourt/packerがとても優れているしパッケージングする方々も細かなところまでいき届いてる印象で、何か新たにやりたい時でもササッと完了する。

最近では、「antergos」や「manjaro」や「ArchBang」といったArchLinuxベースのものが出ている。インストールが簡単だからといって上記のような作業を分かった上でなければインストール後に苦労する事になる。とても充実してる「Wiki-ArchLinux」を見ながら一つづつ理解していく方が近道だったり・・・と思っている。

楽しいArchLinuxライフ!