2015年5月10日日曜日

Arch Linux インストール (デスクトップ環境・日本語化編) | X, LXDE, 日本語環境, 日本語フォント, 日本語入力の設定

インストール関連記事
インストール関連記事はArch Linuxインストールのページにまとめてあります。それぞれ好みのインストールモードに合わせて参照してください。

LXDEを使ってみた感想
  • 確かに軽いんだと思うけど、最近のPCの性能であればGNOMEとかでもサクサク動くので、特にメリットには感じなかった。
  • デフォルトだと外観が、安っぽい。自分で、カスタマイズしないといけない。
  • パネルのアイコンの統一感などを考えると、GNOMEのほうがきれい。GNOMEはテーマとアイコンが統一されている。
  • アプリケーションによっては、ウィンドウ位置が固定されない。LXTerminal、PCManFM(ファイルマネージャ)とうは、ウィンドウ位置が固定されない。一方で、Firefox等は、ウィンドウ位置が固定されている。個人的には、ウィンドウ位置が固定されていたほうが、使いやすいと思った。openboxの設定でどうにかなるかといじってみたが、ウィンドウ位置を固定する方法は分からず。
  • PCManFMのファイル検索が、やや面倒。Ctrl+Shift+Fで検索ウィンドウを開いて、正規表現っぽく入力しなければいけない。厳密な検索をしたい人には嬉しいと思うけど。
  • サウンドサーバで、pulseaudioを使わなくてよい。GNOMEを使わなくデスクトップ環境に移行した最大の理由。pulseaudioを使っていると、アップデートとかしているうちに、ボリュームコントロールがおかしくなったり、アプリケーションから音がでなくなったりしてめんどくさかった。LXDEはALSAしか使っていないので、このような不具合が発生しにくい。
  • LXTerminalの背景は、デフォルトでは透明にはできない。GNOME Terminalは背景が透明にできなくなったが、LXTerminalは透明にできるのではないかと期待していた。一応透明になるが、背後のウィンドウが見えるのではなく、壁紙が見えるだけなので透明になってもあまり意味がなかった。

LXDEのメリットをあまり挙げることができなかったが、LXDEをインストールしてみたい方は以下の手順でインストールしてみてください。

GUIをインストールする前の準備
Arch Linux本体のインストールができたら、GUI環境をインストールする。OSのインストールをまだしていない方は、Arch Linuxインストールのページの「OSインストール編」を参照してください。

ユーザー設定など
OSインストールが終わったら、ブートしrootでログインする。
ホストネーム login: root
Password:

rootでログインできたら、root以外の一般ユーザーを作成しておく。"ユーザー名"は適宜変更。
# useradd -m -g users -G wheel -s /bin/bash ユーザー名

作成したユーザーのパスワードを設定する。
# passwd ユーザー名

作成したユーザーからsudoを使って管理者権限でコマンドを実行できるようにする。visudoをして、%wheel ALL=(ALL) ALLのコメントアウトを解除する。
# visudo

...
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL ←先頭の#を削除する。
...

bashのタブ補完を強化
とりあえず、vimをインストールする。
# pacman -S vim

bashのタブ補完を強化する。以下2つの方法がある。基本的にはbash-completionのほうが強力なので、不具合なければbash-completionを使う。2つの方法はコンフリクトするので、両方有効にしてはいけない。

1. bash-completionをインストールする。

# pacman -S bash-completion

bash-completionをインストールすると、/usr/share/bash-completion/completions/以下にあるパッケージについてのタブ補完が有効になる。例えば、sudoあとのコマンド、pacmanの未インストールパッケージ名、systemctl (systemd)のサービスなど。bash-completionは/etc/bash.bashrcで有効になっているので、~/.bashrcの設定は必要ない。

2. complete -cfを使う。以下のように~/.bashrcに書くことで、bashのタブ補完が拡張される。例えば、sudoの場合は以下のとおり。
$ vim ~/.bashrc

complete -cf sudo ←適当な行に追加。

.bashrcの設定
自分の使いやすいように、.bashrcを設定。現在の設定はこんな感じ。インプットメソッドの設定は各自の環境に応じて変える。
$ cat .bashrc 
#
# ~/.bashrc
#

# If not running interactively, don't do anything
[[ $- != *i* ]] && return

# don't put duplicate lines in the history. See bash(1) for more options
# ... or force ignoredups and ignorespace
HISTCONTROL=ignoredups:ignorespace

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=5000
HISTFILESIZE=10000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# プロンプトのカスタマイズ
PS1='\[\e[1;36m\][\u@ \h \W]\$ \[\e[0m\]'

# 環境変数の定義
export EDITOR="vim"
export VIDEO_FORMAT="NTSC"
export LC_MESSAGES="en_US.UTF-8"

# fcitxの設定(ibusなどのfcitx以外の入力ソフトを使うときは、コメントアウトして無効化しておく)
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

#sudoのタブ補完を有効にする。
#complete -cf sudo

# コマンド履歴の共有(screenで履歴を共有したい場合、HISTSIZEが大きいとレスポンスが遅れる)
# 詳細はhttp://iandeth.dyndns.org/mt/ian/archives/000651.html参照。
#function share_history {  # 以下の内容を関数として定義
#history -a  # .bash_historyに前回コマンドを1行追記
#history -c  # 端末ローカルの履歴を一旦消去
#history -r  # .bash_historyから履歴を読み込み直す
#}
#shopt -u histappend   # .bash_history追記モードは不要なのでOFFに
#PROMPT_COMMAND="share_history"  # 上記関数をプロンプト毎に自動実施


時計合わせの設定
時刻合わせの設定をする。ntpではなく、systemdのユニットを使う。
# timedatectl set-ntp true

timesyncd.confを設定する。
# vim /etc/systemd/timesyncd.conf

...
[Time]
NTP=ntp1.jst.mfeed.ad.jp ntp2.jst.mfeed.ad.jp ntp3.jst.mfeed.ad.jp
FallbackNTP=0.arch.pool.ntp.org 1.arch.pool.ntp.org 2.arch.pool.ntp.org 3.arch.pool.ntp.org

いちおう、timesyncdが動いているか確認しておく。
$ systemctl -l status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2015-02-11 14:05:35 JST; 1min 20s ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 1512 (systemd-timesyn)
   Status: "Using Time Server 59.106.180.168:123 (0.arch.pool.ntp.org)."
   CGroup: /system.slice/systemd-timesyncd.service
           └─1512 /usr/lib/systemd/systemd-timesyncd

Feb 11 14:05:35 Alpha systemd-timesyncd[1512]: Using NTP server 59.106.180.168:123 (0.arch.pool.ntp.org).
Feb 11 14:05:43 Alpha systemd-timesyncd[1512]: interval/delta/delay/jitter/drift 32s/+7.960s/0.028s/0.000s/+0ppm
Feb 11 14:06:15 Alpha systemd-timesyncd[1512]: interval/delta/delay/jitter/drift 64s/-0.000s/0.029s/0.000s/+0ppm

時刻合わせの詳しい説明は、Arch Linuxで時刻同期 | NTP, systemd-timesyncdに書いてある。

GUI環境のインストール
X環境のインストール
X window systemのサーバー関係のパッケージなどをまとめてインストールする。
# pacman -S xorg-server xorg-server-utils xorg-xinit xorg-xclock xterm xorg-twm

ビデオドライバをインストールする前に、以下のコマンドでビデオカードを確認する。現在の環境はVGAをつけずに、CPUのVGA機能を使っている。その場合、以下のようになる。
# lspci | grep VGA

00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09)

Intel CPUのVGA機能を使っているのであれば、xf86-video-intelビデオドライバのインストールする。
# pacman -S xf86-video-intel

startxでXが起動するか確認する。以下のように起動できたら、Xのインストールまでは成功。
startx



twmが起動したら、twm上で作業する。

LXDE環境のインストール
lxdeパッケージをインストールする。デフォルトですべてのパッケージをインストールする。
# pacman -S lxde

:: There are 17 members in group lxde:
...
Enter a selection (default=all):何も入力せずエンター

...

ディスプレイマネージャはデフォルトのLXDMを使う。ウィンドウマネージャもデフォルトのopenboxを使う。lxdm.confを編集して、デフォルトのセッションの設定をする。lxdeを起動したいので、session=/usr/bin/startlxdeのコメントアウトを解除する。
# vim /etc/lxdm/lxdm.conf

...
## default session or desktop used when no systemwide config
session=/usr/bin/startlxde
...

自動でグラフィカルログインするように、systemdのサービスを有効にしておく。
# systemctl enable lxdm.service

ここまで設定して、再起動すればグラフィカルログインされる。ここまでで、デスクトップ環境が整う。再起動してグラフィカルログインするか確認する。
# reboot

LXDMから一般ユーザーでログインして、このようにデスクトップが表示されれば成功。軽量デスクトップ環境ということで、外観の装飾は最小限で、見た目は一昔のOSという感じ。外観は、カスタマイズすればなんとでもなるけど。ここからのコマンド操作は、端末のLXTerminal上にで行う。


packerのインストール
日本語フォントで使用するIPAexフォントは、AURに登録されているため、AURパッケージマネージャーが必要となる。AURパッケージのマネージャとして、packerをインストールしておく。(yaourtを使いたい人は、yaourtでもよい。)

まず、/etc/pacman.confに以下の3行を追加する。
# vim /etc/pacman.conf

...
[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch

追加したら、以下のコマンドを実行して、pacmanのデータベースが更新する。
# pacman -Syy

データベースの更新ができたら、packerをインストールする。多少手間だが、以下の手順でインストールできる。まず、packerのビルドに必要なパッケージをインストールする。
# pacman -S wget git expac jshon

packerのパッケージをビルドするディレクトリを作成し移動する。
$ mkdir ~/packer
$ cd ~/packer

ソースをAURからダウンロードして、ファイル名を変更する。
# wget https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=packer
$ mv PKGBUILD\?h\=packer PKGBUILD

ソースをビルドする。
$ makepkg

pacmanからインストールする。
# pacman -U packer-20150808-1-any.pkg.tar.xz

インストールに使ったファイルは不要なので、削除する。
$ cd ../
# rm -dR packer

LXDEの外観の設定
色々試してみたが、結局Lubuntuのテーマを使うことに。packerからインストールする。
$ packer -S lubuntu-artwork

Preference -> Customize Look and Feelから、Widget, Icon Theme, Window BorderをLubuntuのテーマにする。パネルの背景は、パネルを右クリックして、Panel Setting -> Appearance -> Imageから変更する。ただし、パネルの背景は単色を使うことにした。デスクトップの背景はDesktop Preferenceから変更できる。

日本語環境を作った後のスナップショットになるが、見た目はこんな感じ。



GNOMEから離れようとしてLXDEを選んだのに、テーマをLubuntuにしたので結局GNOMEっぽい外観になってしまった。全体のまとまりを考えて、一番統一感があったLubuntuのテーマを選んでしまった。LXDEやopenboxのテーマはpacman, packerからインストール可能なので、色々試してみるのがいいかも。packer -Ss openbox themeとか打つとパッケージが色々出てくる。

日本語環境の設定
キーボードレイアウトの設定
/usr/share/X11/xorg.conf.d/10-evdev.confを編集して、キーボードレイアウトを設定する。Option "XkbModel"の行は使っているキーボードによって異なる。"hhk"の部分は、/usr/share/X11/xkb/rules/base.lstファイルに何を指定したらよいか書いてあるので、lessコマンドで参照する。例えば、Generic 104-key PCの場合は、pc104である。
# vim /usr/share/X11/xorg.conf.d/10-evdev.conf

... 
Section "InputClass"
        Identifier "evdev keyboard catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "XkbModel" "hhk" ←ここを追加
        Option "XkbLayout" "jp" ←ここを追加
EndSection
...

Option "XkbOptions"でCapsキーとCtrlキーを入れ替える設定も指定できる。自分の好みのキーボードの設定にカスタマイズする。
ここで、一度システムを再起動してキーボードレイアウトの設定の変更を有効にしておく。

ロケールの変更
ロケール環境変数をja_JP.utf8に変更する。これで、システム全体の表示に日本語が使われるようになる。
# vim /etc/locale.conf

ファイルにもともと書かれていたロケール環境変数をすべて削除して、以下を記入する。
LANG=ja_JP.utf8
LC_NUMERIC=ja_JP.utf8
LC_TIME=ja_JP.utf8
LC_MONETARY=ja_JP.utf8
LC_PAPER=ja_JP.utf8
LC_MEASUREMENT=ja_JP.utf8


日本語フォント、その他フォントのインストール
デフォルトのフォントだと、文字が綺麗に表示されないのでフォントを変更する。色々試して、自分の環境で必要なフォントのみを選んだ。
$ packer -S otf-ipaexfont
# pacman -S ttf-dejavu

mozcのインストール
日本語入力としてmozcをインストールする。最初インプットメソッドとしてibusを使うバージョンをインストールしたが、パネルのアプレットのアイコンが日本語入力モードと直接入力モードとで変化せず、現在の入力モードがわからなく使いづらかった。結局fcitxのmozcを使うことにした。
# pacman -S fcitx-im fcitx-configtool fcitx-mozc

.bashrcにfcitxの設定を追加しておく。
$vim ~/.bashrc

...
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
...

インストールしたら、システムを再起動する。ここまでの設定で、日本語環境がほぼ出来上がる。
好みに合わせて、fcitxの設定をする。Preference -> Fcitx ConfigurationでInput Methodを設定する。以下のように「キーボード-日本語」と「Mozc」が設定されていればよい。



日本語表示の設定
表示がうまく行っているか確認するため、とりあえず、firefoxをインストールしておく。
# pacman -S firefox firefox-i18n-ja

LXDEの場合、デフォルトの設定のままでフォントが綺麗に表示された。もしデフォルトでフォントが汚く見にくいときは、ビットマップとヒンティングの無効化設定することで、小さな文字まで綺麗な表示になる。まず、/etc/fonts/conf.avail/71-no-embedded-bitmaps.confに以下の設定を記入する。
# vi /etc/fonts/conf.avail/71-no-embedded-bitmaps.conf


<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">

  
    
      false
    
    
       hintnone
    
  



設定を、システム全体に有効にするために、/etc/fonts/conf.d/71-no-embedded-bitmaps.confにシンボリックリンクを貼る。
# ln -s /etc/fonts/conf.avail/71-no-embedded-bitmaps.conf /etc/fonts/conf.d/71-no-embedded-bitmaps.conf


設定が有効になると、日本語が綺麗に表示されるようになる(ipaexフォントの例)。



オーディオの設定
LXDEのオーディオの設定はALSAが担っている。まず、LXDEのアプレットでミュートになっていないか確認する。パネルに音量コントロールを表示する。LXDEのパネルを右クリック→「パネルのアイテムの追加・削除」→「+追加」→「音量コントロール」→「+追加」で表示できる。





音量コントロールを左クリックして、ミュートにチェックが入っていれば、チェックを外す。





次に、alsamixerで音のデバイスごとの設定を確認する。まず、ユーティリティをインストールする。
# pacman -S alsa-utils

alsamixerを起動する。
$ alsamixer

alsamixerが起動したら、以下のようにそれぞれのデバイスの音量、ミュート等を設定する。音量は上下キーで、ミュートのオンオフはMでできる。左右のミュートが有効の時は、「MM」と表示される。ちなみに、Auto-Muteはヘッドフォンをさした時に、ヘッドフォンを以外のデバイスをミュートにする機能らしい。自分は、Disableにしている。



音が出るかの確認をする。デバイス名をaplay -Lで確認する。
$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=PCH
    HDA Intel PCH, ALC892 Analog
    Default Audio Device
sysdefault:CARD=PCH
    HDA Intel PCH, ALC892 Analog
    Default Audio Device
front:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    Front speakers
surround21:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=PCH,DEV=0
    HDA Intel PCH, ALC892 Digital
    IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=PCH,DEV=0
    HDA Intel PCH, HDMI 0
    HDMI Audio Output

それぞれのデバイスから音が出るか確認する。例えば、defaultからの音の確認は以下の通り。S/PDIFからの確認は、defaultの部分をiec958とすればよい。テストを中断するときは、Ctrl+Cでできる。
$ speaker-test -Dplug:default -c2

これで、音が出ているのに別のアプリケーションで再生した音が出ない場合は、アプリケーションに問題がある。アプリケーションの音声の設定をしたり、必要なgstreamerのプラグインをインストールしたりして解決するか試してみる。


以上で、基本的には不自由ない、日本語環境のLXDEができあがる。


参考:
[1]Beginners' Guide (日本語)

スポンサーリンク

スポンサーリンク

0 件のコメント:

コメントを投稿