2015年10月6日火曜日

ディスプレイマネージャを変える SLiM

最初の設定だとLXDMをディスプレイマネージャにしてみていたが、あまりにも殺風景だし、「その他...」って書いてあるのもバランスがおかしいので違うディスプレイマネージャーに変えてみます。

ディスプレイマネージャー選択

ディスプレイマネージャーにもいろいろあるようですが、とりあえずマニュアルを見ると候補が10個位あります。中にはウインドウマネージャーに依存するものもあるようでよくわかりません・・・。その中でもSLiMというのは特に依存がないようなのでこれを選択してみました。

インストール

$ sudo pacman -S slim
で速攻インストール終了です。

SLiMを有効にする

これが一番の困ったところでした。

まず、マニュアルを見ると
$ sudo systemctl enable slim
とかって実行すればいいように書いてありますが、すでにLXDMも使っているので、その前にLXDMを止めないといけません。

自動起動の一覧表示
$ systemctl list-unit-files -t service


で確認すると、lxdm.serviceがenableになっているのでこれを止めないといけません。
.serviceは省略しても大丈夫なので


$ sudo systemctl disable lxdm

で無効にします。その後で
$ sudo systemctl enable slim

を実行すると次のログイン時にSLiMでログインできます。が、まだやっちゃダメです。
ここでリブートするとログインできなくなります

マニュアルによると、単一のウインドウマネージャーしか使わない場合は/etc/slim.confと~/.xinitrcを書き換えるようにとのことです。

まずは/etc/slim.confを編集します
 
# Set directory that contains the xsessions.
# slim reads xsesion from this directory, and be able to select.
# sessiondir /usr/share/xsessions/

で、sessiondirの行をコメントアウトします。ついでにdefault_userの行で自分を設定すると次回から自分でログインしやすくなります。

次に、SLIMは~/.xinitrcを使ってウインドウマネージャーを起動するようなので、このファイルを作らないといけません。ところが、マニュアルにある/etc/skelにはこのファイルがありません。(ここにあったらユーザ作った時にできるのでいいですけどね)
調べると、/etc/X11/xinit/xinitrcに元ファイルがあるようなので、これをコピーします。

$ cp /etc/X11/xinit/xinitrc ~/.xinitrc

これに実行権限をつけないといけないそうなので

$ chmod +x ~/.xinitrc

を実行します。次に編集です。

$ nano ~/.xinitrc


 
#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then

    xrdb -merge $sysresources

fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then

    xrdb -merge "$userresources"

fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login


#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
#

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIRES="@im=fcitx"
export DefaultIMModule=fcitx

PATH=$HOME/bin:$PATH

#exec 
exec startlxde


ポイントは2つ。最後の方の
 
#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login

の5行をすべてコメントアウト。これは必要ありません。

その直後で以前~/.xprofileの中に書き込んでいたfcitxなどを起動させるコマンドをその後に全部入れて(これは外部ファイルで実行させるのも良かったかも)、最後にstartlxdeを実行させます。

これで普通に起動できるようになるはずです。リブートして新しいログイン画面を試してみましょう。

更にカスタマイズ

なんかかっこいいピンクっぽい画面になりましたが、もう少し変えてみたいところ。
しかし、SLiMの公式ページが消えていて、外見を変更できるテーマがなかなか見つかりません。

仕方ないのでマニュアルからarchlinuxのパッケージのテーマをインストールしました。

$ sudo pacman -S slim-themes archlinux-themes-slim

インストールはすぐ終わります。
$ ls /usr/share/slim/themes

でテーマ名が一覧できるので、マニュアルの方法でプレビューして良さそうなのを探してみましょう。決まったら/etc/slim.confを編集してcurrent_themeでテーマ名を設定すれば有効になります。

これでログイン画面から結構かっこよくなりました。



目次に戻る

2015年10月5日月曜日

バッテリーの状態アイコンを表示 cbatticon

右下のタスクトレイがだいぶいい感じになってきましたが、バッテリーの表示がないのが寂しいところ。何か方法がないかを探したら、cbatticonというものを発見しましたよ。

インストール

$ sudo pacman -S cbatticon

を実行するだけの簡単操作。

テスト

$ cbatticon

で実行。タスクトレイにバッテリーのアイコンが出ました。


自動起動

これがちょっと悩みましたが、スクリーンセーバーと同じ所で設定しました。

$ nano ~/.config/lxsession/LXDE/autostart

 
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
@xscreensaver -no-splash
@conky -p 5
@cbatticon

再起動して表示されればOKです。まあ、conkyでも表示していますが(笑)



目次に戻る

2015年9月28日月曜日

デスクトップにマシン情報を表示 conky


実際に見たほうが早いと思うので・・・



画面右の情報表示を行うようにします。

これのためのプログラムは「conky」です。

インストール

まずはインストールですが、これはいつもと同じ

$ sudo pacman -S conky

であっさり入ります。が、実行すると画面左上に禍々しい黒いウインドウが出るだけなのでカスタマイズします。

カスタマイズの準備

というわけでカスタマイズを調べると、conkyは相当自由にカスタマイズできるみたいです。中でもluaスクリプトというものを使うと好きに描画できるらしい。

こちらに例がありました。すごいですね。

しかし、今回はそこまでは必要ないのでもう少し簡単に編集します。luaが使いたい人はAURのパッケージを使わないとダメなのかもしれません。

後で気がついたのですが、

$ conky --version

を実行すると必要な情報が出てくるんですね・・・
conky 1.10.0
System config file: /etc/conky/conky.conf
Local configfile: $HOME/.conkyrc
とか、編集したらいいようなことが書いてあります。が、インストールしただけでは/etc/conkyが存在しなかったので設定ファイルの書き方がわからなくて苦労しました。
最初のとりかかりは
$ conky -C > ~/.conkyrc

を実行することでした。これで、最初の設定ファイルがホームディレクトリの.conkyrcに入りますのでこれを編集すれば良いわけです。

設定ファイルの書式

ネット上でconkyについて調べたのですが、設定ファイルをそのままコピーしてもうまく動きませんでした。なんでかなーと思ったのですが、バージョンの違い?なのか設定ファイルの書き方が全然違うみたいです。

上記の方法で書きだしたファイルを見ると、

 
conky.config = {
 設定の記述
}

conky.text = [[
 表示部分の記述
]]
という形になっていました。 しかも、ネット上の情報では設定の記述部分の設定値を有効にするのにyes/noが使われていますが、書きだしたファイルはtrue/falseだったりしています。似ているけど全然ちがうし。

使いたい設定の記述部分の名称は
$ man conky
するのが間違いありませんが、こちらの方のサイトが大変わかり易かったので参考になると思います。

もうあとは好きなようにやってくださいということですが、ハマったのでもう少しヒントを書きます。

設定の記述部分

まず、コメントが使えません。行頭を#にしても意味がないのは、

 
conky.config = {
    alignment = 'top_left',
    background = false,
....

という感じで、実際は,(カンマ)で区切られた値の羅列だからのようです。 なので、最後の行は行末にカンマをつけないようにしないといけません。その他の行は全部つけないといけません・・・。数値と、true\falseの値は何もつけなくていいですが、文字列の値はシングルクォートで囲ってください。これでいいと思います。

テキストの記述部分

${color 色名}でそこから後ろの色を変更できます。デフォルトに戻すときは${color}で戻ります。

if_matchとかを使えば分岐も可能です。
 
${if_match $memperc < 90 }${color white}${membar 11,50}${color}${else}${color red}${membar 11,50}${color}${endif} 

だと、メモリのパーセンテージが90以下ならmembarを白で表示。それ以外なら赤で表示となります。これでメモリが不足してきたら赤になるのですぐにわかるはず!!

${alignc}は中央揃え、${alignr}は右揃えにします。

とりあえずこれくらい知っていればなんとか書けると思います。

その他ハマった点

透過をさせるのにハマりました。
結論から言うと、設定の記述で
 
own_window = true,
own_window_transparent = true,
own_window_type = 'normal',
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',

と書いたら透過できました。一番のキモはown_window_typeをnormalにすることです。これ以外の設定値だと、デスクトップをクリックしたらconkyが消えます。しかし、これにするとウインドウの上の部分とかもついてしまうので、own_windows_hintで消すというのが良かったようです。

暫定的な.conkyrc

 
-- vim: ts=4 sw=4 noet ai cindent syntax=lua
--[[
Conky, a system monitor, based on torsmo

Any original torsmo code is licensed under the BSD license

All code written since the fork of torsmo is licensed under the GPL

Please see COPYING for details

Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
All rights reserved.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program.  If not, see .
]]

conky.config = {
use_xft = true,
font = 'TakaoPGothic:style=Regular:size=10',
xftalpha = 0.8,
update_interval = 1.0,
total_run_times = 0,
own_window = true,
own_window_transparent = true,
own_window_type = 'normal',
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
double_buffer = true,
maximum_width = 200,
draw_shades = false,
draw_outline = false,
draw_borders = false,
draw_graph_borders = false,
default_color = "DDDDDD",
default_shade_color = "FFFFFF",
default_outline_color = "FFFFFF",
alignment = 'top_right',
gap_x = 12,
gap_y = 12,
no_buffers = true,
uppercase = false
}



conky.text = [[
 
${color}$alignr${time %x %A}
$alignr${time %X} 
${hr}
Uptime:$alignr $uptime
Hostname: $nodename
Linux Kernel: $kernel
${hr}
${color white}CPU ${color}$alignr Freq: $freq(MHz) 
CPU Total: $alignr ${cpu cpu0}% ${cpugraph cpu0 11,80 FFFFFF 003300}
${hr}
${color white}RAM: ${color}$alignr $mem ($memperc%) ${if_match $memperc < 90 }${color white}${membar 11,50}${color}${else}${color red}${membar 11,50}${color}${endif} 
Available RAM: $memmax
${memgraph 11,200  FFFFFF 003300}
${hr}
${color white}Hard drive: $alignr ${color}${fs_size}
Free: ${fs_free /boot}$alignr(${fs_free_perc /boot}%)
Used: ${fs_used /}$alignr(${fs_used_perc /boot}%)
${color white}${fs_bar 11,200}${color}
${diskiograph 11,200 FFFFFF 003300}
${hr}
${if_match "${acpiacadapter}" == "on-line"}AC Plugged $alignr$battery
${color 3333ff}${battery_bar 11,200 }${color}
${else}${color white}Battery Using ${color}$alignr$battery
${if_match $battery_percent > 20 }${color green}${battery_bar 11,200 }${color}${else}${color red}${battery_bar 11,200 }${color}${endif}
${endif}${hr}
${color white}$alignc Current Networks

${color white}Wired: $alignr Wireless:
${color}Down:${downspeed enp0s25} $alignr Down:${downspeed wlp12s0}
${color}Up:${upspeed enp0s25} $alignr Up:${upspeed wlp12s0}
${hr}
${color white}$alignc Top 5 sorted by CPU usage

${color white}NAME                   PID    CPU%
${color}${top name 1} ${top pid 1} ${top cpu 1}
${color}${top name 2} ${top pid 2} ${top cpu 2}
${color}${top name 3} ${top pid 3} ${top cpu 3}
${color}${top name 4} ${top pid 4} ${top cpu 4}
${color}${top name 5} ${top pid 5} ${top cpu 5}
]]

で、外見はこんな感じになりました。




目次に戻る

2015年9月22日火曜日

ネットワークのアイコンを変える

今日のお題はネットワークのアイコンを変えることです。

 

とりあえずつながっていることはわかります。が、無線LANならやっぱり電波の強弱も知りたいところ。また、クリックしても新しい設定を追加できないのが不便。

何か方法はないでしょうか??

NetworkManagerの導入

どうもNetworkManagerというものを導入すれば良いようです。とりあえずArchLinuxの場合はマニュアルを見るところから始めます。

現状OpenBoxを使っているので、ここの項目を見ると
  • xfce4-notifyd (通知を使うため)
  • gnome-icon-theme(システムトレイにアプレットを入れるため)
  • gnome-keyring(ネットワークの設定を保存するため)
が必要とのこと。

ところで今なんでネットワークが繋がるかというと、インストールの途中で

# systemctl enable dhcpcd
# systemctl enable netctl-auto@ネットワークアダプタ名

を実行したのでdhcpcdとnetctl-autoが有効だから。NetworkManagerを導入するとこれがぶつかってしまうはずなので、これを無効にしないといけない。
何をやったのか忘れていると、止めるのを忘れてなんで動かないんだろう??となるので注意。

インストール開始
$ sudo pacman -S networkmanager network-manager-applet xfce4-notifyd gnome-icon-theme gnome-keyring

無線のアダプタ名って何だっけ?
$ ip link

今起動しているサービスを確認
$ systemctl --type=service

dhcpcdとnetctl-autoを両方停止
$ sudo systemctl disable dhcpcd.service
$ sudo systemctl disable netctl-auto@.service

ネットワークマネージャーを有効に
$ sudo systemctl enable NetworkManager.service

rebootして有効に
$ reboot

うまく行けばタスクトレイに無線LANの階段状アイコンが現れる


ネットに繋がっていないと思うので、階段状のアイコンをクリックしてSSIDを選択し、パスワードを入れて接続する。

左のネットワークアイコンが邪魔なので右クリック「パネルのアイテムの追加と削除」で「ネットワークの管理」をマイナスボタンを押して消す。


これで予定通りになりました。ちょっと便利になった。


目次に戻る

画面をキャプチャーできるようにする

とりあえず使えるレベルになったので、ここから投稿できるように画像をキャプチャできる環境を作ってみます。

どうやってキャプチャするか

さて、どうやって取れるようにするかですが、とりあえずマニュアルを見ましょう。

スクリーンショットの取得を見るといくつか方法があります。

「GIMP」を導入すればキャプチャもできるし、編集もできるのでいいですね。

しかし「ImageMagick/GraphicsMagick」を使ってキーボードショートカットを使うというのも悪くありません。

せっかくだから、両方できるようにしてみましょう。

GIMPを導入

まずはGIMPからいってみましょう。
$ sudo pacman -S gimp

途中で見つからないパッケージがありそうだったけど、無事見つかったのであっさりインストールできました。

早速起動します。スタート→グラフィックス→GIMP

画面キャプチャを実行します。ファイル→画像の生成→スクリーンショット

選択範囲をキャプチャするを選択し、スナップボタンを押します。マウスでドラッグして範囲決定。

これでキャプチャできました。

ファイル→エクスポートでPNGファイルで書き出し、~/Pictures/Capture/の中に保存してみます。


はい。貼ってみました。とりあえず使えることがわかりました。
ちなみに、ウインドウを指定して取り込んでみたらいろいろ切れてました・・・

ImageMagick/GraphicsMagickを導入

importというコマンドを使うために、imagemagickというパッケージを導入します。

$ sudo pacman -S imagemagick

あっさり入りました。

$ import ~/Pictures/Capture/sc.jpg

を実行すると、さっきのようにマウスで選択した部分がカットされて保存できます。


はい。保存できました。便利ですが、コマンドで実行するのも面倒なのでショートカットを登録します。
マニュアルの「他のデスクトップ環境やウィンドウマネージャ」を見ると方法が書いてありました。rc.xmlにキャプチャするコマンドを書けば良いと。

「なるほど。で、rc.xmlって何?」

と調べてみると、
各ユーザフォルダの、~/.config/openbox/lxde.rc.xml
がそれに該当するようです。

ファイルの中身を見てみると、途中に

    <keybind key="Print">
      <action name="Execute">
        <command>gnome-screenshot -i</command>
      </action>
    </keybind>
みたいなところがあります。どうやらこうやって書いておくと設定できるようです。
試しにPrintScreenを押してみると、gonome-screenshotが起動できませんと言われました。

シェルスクリプトを作って挑戦

マニュアル通りではなく、ちょっとだけ便利にWindowsみたいにキャプチャできるようにしてみます。ここのページの説明を使ってスクリプトを作ってみます。

まずいきなりxpropというコマンドがありません。
$ pacman -sSq xprop
で探したらxorg-xpropだというので

$ sudo pacman -S xorg-xprop

でインストール。

$ xprop -root | grep ^_NET_ACTIVE_WINDOW

_NET_ACTIVE_WINDOW(WINDOW): window id # 0x2000004

というようにアクティブウインドウの情報が取れたので最後のIDだけ切り取るようにします。

$ xprop -root | grep ^_NET_ACTIVE_WINDOW | awk '{print $5}'
これで0x2000004だけが出てきました。

$ nano screenshot
#!/bin/sh

OUT=~/Pictures/Capture/$(date '+%Y%m%d-%H%M%S').png
WID=root

if [ "x$1" != "x-root" ]; then
    WID=`xprop -root | grep ^_NET_ACTIVE_WINDOW | awk '{print $5}'`
    [ "x$WID" == "x0x0" ] && WID=root
fi
import -frame -window $WID $OUT

$ chmod 755 screenshot
で実行できるようにして、
$ ./activew_screenshot
でアクティブなウインドウが保存できました。

$ ./activew_screenshot -root
で、全画面もキャプチャできます。

通っていなかったので、ユーザフォルダのbinにパスを通します。最初に.zshrcに通したら、openboxから見えませんでした・・・。

$ nano ~/.xprofile
export PATH=~/bin:$PATH

再起動するとパスが通ります。

$ which screenshot
で探せればパスは通ったはずです。

最後に、~/.config/openbox/lxde.rc.xmlを再度編集。
    <keybind key="Print">
      <action name="Execute">
        <command>screenshot -root</command>
      </action>
    </keybind>
    <keybind key="A-Print">
      <action name="Execute">
        <command>screenshot</command>
      </action>
    </keybind>

これで、PrintScreenボタンで全画面キャプチャ、Alt+PrintScreenボタンで特定のウインドウキャプチャになりました。


これで画像が投稿できる(笑)


目次に戻る

フォントの設定

フォントの設定について

最初のままだと、なんとなくフォントが滲んで見えます。Windowsほどでは無くとも調整でもう少し読みやすくできるので調整を行います。

ArchLinuxマニュアルのフォント設定を確認するのがおすすめです。

設定方法

/etc/fontsフォルダの中に、fonts.confというファイルがあるのですが、このファイルは fontconfig がアップデートしたときに置き換えられるので編集してはいけません。

通常設定するときは、
/etc/fonts/conf.avail/の中にあるプリセットのファイルを、
/etc/fonts/conf.d/の中にシンボリックリンクすることで有効にします。

例:
# cd /etc/fonts/conf.d
# ln -s ../conf.avail/10-sub-pixel-rgb.conf

プリセットに設定したいものがない場合は新しくファイルを作ればOKです。

プリセットフォルダ(/etc/fonts/conf.avail/)の中を見てみるとわかりますが、先頭が2桁の数字で始まっているファイルがたくさんあります。このファイル名の順番で読み込まれていくようです。つまり、自分でオリジナルの設定を入れるなら大きめの数字で作ったほうが良いと思います。

ファイルの中は
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>

  <!-- settings go here -->

</fontconfig>

の形式のXMLになっています。
fontconfigの設定例がここにあるので大変参考になりました。

今回は滲んでいるので例の2番めのSharp Fontsを使ってみます。

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
  <match target="font">
    <edit name="antialias" mode="assign"><bool>true</bool></edit>
    <edit name="hinting" mode="assign"><bool>true</bool></edit>
    <edit name="hintstyle" mode="assign"><const>hintfull</const></edit>
    <edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
    <edit name="rgba" mode="assign"><const>rgb</const></edit>
  </match>
</fontconfig>

を、/etc/fonts/conf.avail/72-sharp-font.confとしてファイルを作ります。

# nano /etc/fonts/conf.avail/72-sharp-font.conf

を実行して保存します。
アンチエイリアス「有効」、ヒンティング「有効」、ヒンティングの強さ「fintfull」、サブピクセルレンダリング「rgb(最も一般的)」、LCDフィルター「lcddefault(最も一般的)」という意味です。

特に最後のサブピクセルレンダリングとLCDフィルターはセットで、これを実行すると事実上フォントが3倍の解像度になるそうなので是非実行したいオプションです。

# cd /etc/fonts/conf.d
# ln -s ../conf.avail/72-sharp-font.conf

あとはこれで有効にすればいいのですが、Xを再起動すると有効になるということですが、ArchLinuxで簡単にXを再起動する方法がわからないので再起動してみます。

私の環境ではヒンティングの強さが「hintfull」では強すぎるようなので、「hintslight」に変更してみたところ、かなりくっきり表示されるようになりました。

一応、もうひとつ71-no-embedded-bitmaps.confを作って設定してみました。

# nano /etc/fonts/conf.avail/71-no-embedded-bitmaps.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
 <match target="font">
   <edit mode="assign" name="embeddedbitmap">
     <bool>false</bool>
   </edit>
 </match>
</fontconfig>

で、embeddedbitmapの設定を「false」にしました。
ここに質問が出ていて、いくつかのフォントで小さいフォントだとアンチエイリアスが効かないようなので防止策です。

# cd /etc/fonts/conf.d
# ln -s ../conf.avail/71-no-embedded-bitmaps.conf

これで再起動すると有効になるはずです。

どうでしょうか?これでかなり見やすくなっていませんか?


目次に戻る

2015年9月14日月曜日

GUIを入れよう

GUIを入れるに当たって知っていた方がいいこと


GUIは「ジーユーアイ」と読む。グイじゃないよ。Graphical User Interfaceの略。
簡単に言うと、マウスとか使って操作できるWindowsみたいな環境。今となってはこちらの方が一般的です。

昔はXを動かすだけでも相当に重い印象でしたが、最近はCPUやGPUの性能が上がってSSDなどもあるので大分軽減されているようです。

大変分かりにくいのですが、Linuxの場合色々なものが組み合わさってGUIを実現しています。私はよくわかってないので(あと絵とかも苦手)、良いページを紹介して逃げることにします。

Linux道場 入門編 CUIとGUI

簡単にまとめると、
  1. X Window Systemの上でGUIは動いていて
  2. Xの中がクライアントとサーバに分かれている
  3. Xクライアントはウインドウマネージャ(WM)と呼ばれてGUIを主に提供する
ということ。最近のArchLinuxだとWMはここで説明されているが、最近はもっと統合された「デスクトップ環境」から選ぶのが簡単です。

よく使われているところだと、Gnome、MATE、Cinnamon、KDE、Xfce、LXDEあたりから選ぶようになるようです。

また、ディスプレイマネージャーというものもあります。別名ログインマネージャと言われるようで、最初に起動した時にユーザ名とパスワードを入れたりしますが、その画面を表示し、パスワードが正しいとXを起動してくれるアプリケーションのようです。
ただ、このディスプレイマネージャーは上記のデスクトップ環境に組み込まれていることもあります。それが気に入らない時は別のものに変えることもできるようです。

どのデスクトップ環境を使うか決める

これがこの後どういう感じで使うのかを大きく左右します。 私の決め手は重さと見た目。高機能で見た目重視ほど必要なスペックが高くなります。

今回のPCは正直非力。あまり重いものは使えません。快適に動く程度の負荷で使えるものが大前提で、見た目に違和感があまりないものが良いですね。

とはいえ初めてこの機械に入れるので何がいいかもよく分からない。

下調べの結果、この中でも一番重そうなGnomeとKDEはやめた方が良さげ。

逆に軽い方はMATE(読み方はマテ)かXfceかLXDEあたりが良さそう・・・というわけで色々試した結果、真ん中をとってCinamonを入れたら結構もっさりだったのでそれより上は全滅。MATEは悪くなかったけど何か物足りず、Xfceもいま一つだったのでLXDEにすることになりました。LXDEにはLXDMというログインマネージャもあるようなのでこれを使うことにしてみます。

まずはX Window Systemをインストール

デスクトップ環境を決めましたが、とりあえずXが入ってないと動きませんのでこれを入れることにします。と思ってマニュアルのXを見たら、その前にグラフィックドライバを入れるように書いてある・・・

[root@arch ~]# lspci | grep -e VGA -e 3D

を実行したら、Intelのチップだよと教えてもらいました。
マニュアルの表を見ると、Intelの場合は

ドライバ: xf86-video-intel
Multilib: lib32-mesa-libgl

と書かれているのでこれを選択しないといけないようですね。

[root@arch ~]# pacman -S xf86-video-intel

でドライバをまずはインストール。次にXをインストールしようと

[root@arch ~]# pacman -S xorg-server xorg-server-utils xorg-xinit xterm

を実行したら、libglはどれを使うか聞かれました。mesaを選択するので1番を選択してインストール。xtermは入れておいたら助かることが多いのでここで入れておきましょう。

LXDEをインストール

準備ができたのでLXDEをインストールします

[root@arch ~]# pacman -S lxde

デフォルトのままで全部入るので聞かれたらEnter、Y。

ここで一度rebootした方がいいかもしれない。

ディスプレイマネージャを有効にする

次に、ディスプレイマネージャーのLXDMを有効にします

[root@arch ~]# systemctl enable lxdm.service
[root@arch ~]# systemctl start lxdm.service

2つ目のコマンドを実行した直後にGUIのログイン画面になりました。

追加したユーザでログインしようとするもログインならず。more...からrootでログインしたところ、GUIの画面にようやく出会えました。

なぜログインできないのか悩んだのですが、ふとキーボードを入力して気がついた・・・。@が入力できない!どうも日本語キーボードになっていないようです。

[root@arch ~]# nano /etc/lxdm/lxdm.conf

で確認したら、怪しいkeyboardの設定発見。

keyboard=0ってなんだ?と探したら、1にすると他のキーボードを選択できる?

変更してrebootしたら下にkeyboard:usと表示されるようになりました。やっぱり英語キーボードだったか・・・。

とりあえずjpで試したら・・・ログインできました!
あとはここをどうやって固定するかだな・・・

調べに調べて、ようやく解決

[root@arch ~]# localectl set-x11-keymap jp,us jp106

で、/etc/X11/xorg.conf.d/00-keyboard.confを生成できるので、rebootすればキーボードがjp106になりました。さっきのキーボード表示は邪魔なので0に戻しましょう。
X11のキーマップを別に設定しないといけなかったんですね・・・。

日本語の設定

ログインすると、日本語でメニューとか出ているがフォントが綺麗じゃない。

ロケールの設定

というか、まだlocale.confで日本語設定していないのでなんで日本語になっているのかちょっとわからないのですが、今のうちに設定しておく。

[root@arch ~]# nano /etc/locale.conf

で編集。元のLANG=en_US.UTF-8を#でコメントアウトして他の設定を全部日本語にする。

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

再起動すると有効になるはずだけど、うまくいかないときは右側をダブルクォーテーションで囲むと良いかもしれない。私の環境ではログイン画面が日本語になりました。

yaourtのインストール

次にフォントをマシにする。AURという拡張のパッケージを使いたいのでyaourtというものを入れる。AURというのは、通常のpacman以外のパッケージをソースなどから簡単にビルドして入れられる素晴らしいツールです。

[root@arch ~]# nano /etc/pacman.conf

以下を追記します

[archlinuxfr]
SigLevel = Never
Server = http://repo.archlinux.fr/$arch
[pnsft-pur]
SigLevel = Optional TrustAll
Server = http://downloads.sourceforge.net/project/pnsft-aur/pur/$arch

以下のコメントを外します

[multilib]
Include = /etc/pacman.d/mirrorlist

状態を最新に更新します

root@arch> pacman --sync --refresh yaourt
root@arch> pacman -Syu


rootだとyaourtは使えないので一般ユーザにexitで戻ります。
rootでyaourtを実行するとエラーになります。
一般ユーザにexitで戻るのを忘れずに

フォントインストール

[archie@arch ~]$ yaourt -S ttf-ricty

パッケージとかの編集はnで、ビルドとインストールはyで進める。インストールできたら、ついでにipaのフォントとかも入れてみる。

[archie@arch ~]$ yaourt -S otf-ipaexfont
[archie@arch ~]$ yaourt -S ttf-dejavu

再起動してみる。なんだか異様に文字が読みやすくなったはず。まだまだですけどね。

日本語入力インストール

最初iBusを入れてみたけど、なにやらパネルが日本語と英語で切り替わらなかったりしたのでfcitxとmozcの組み合わせにしました。


[archie@arch ~]$ sudo pacman -S fcitx-im fcitx-configtool fcitx-mozc

fcitxのマニュアルを見ると.xprofileか.profileか.xinitrcに環境変数を書き込めと書いてあるけど、.xinitrcがデフォルトでは存在しない・・・。/etc/skelにもない。というわけで情報を探したら、ここのページにcp /etc/X11/xinit/xinitrc ~/.xinitrcすればいいと書いてあるので実行します

[archie@arch ~]$ cp /etc/X11/xinit/xinitrc ~/.xinitrc

[archie@arch ~]$ nano ~/.xinitrc

#日本語入力をfcitxで起動
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"

入力テストができないのでleafpadでも入れてみる。

[archie@arch ~]$ sudo pacman -S leafpad

どうでしょう?日本語は入りましたか?
ちなみに、Ctrl+Spaceキーで日本語と英語が切り替わります。

なんとなくまだフォントが見づらい感じがあると思います。
フォントの設定はちょっとボリュームがあるので別に記事にします。


目次に戻る