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キーで日本語と英語が切り替わります。

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


目次に戻る

シェルの変更、ユーザ追加

シェルの変更

やはり毎日書くのは難しい。結構サボってしまった。

とりあえず再起動してもネットに繋がるところまで進んできた。
まずは今のシェルをもう少し高機能なものに変更。

zshのインストール

最初に使っているものはbashというシェル。シェルって何かというと、コマンドを使う環境のような感じ。これでも昔のものに比べれば高機能ですが、最近はzshというもっと便利なものがあるのでこちらを使う事にする。

まずはこれを実行

root@archiso ~ # echo $SHELL
/bin/bash

/bin/bashと返ってくる。

このコマンドは環境変数のSHELLを表示しなさいとというコマンドで、今使っているシェルが何かがわかるもの。やはりbashである。

ではzshをインストール

root@archiso ~ # pacman -S zsh

Yと答えたら速攻インストール終了。でもまだ使えません。シェルを変更するコマンドを実行。

root@archiso ~ # chsh

New shellと聞かれたら/bin/zshと入力してEnter

Shell changed.

が出たら変わる。再起動してさっきのコマンドを実行してみる。

arch# echo $SHELL
/bin/zsh

はい。変わりました。けど、さっきと#の前が変わっててちょっと寂しいですね。

変更するには設定を作らないといけない。あとでユーザを追加する予定なので、そっちでも同じになると便利。というわけで共通の設定を作る。マニュアルによると/etc/zsh/zshrcを使うように書いてあるのでこれを編集する。

arch# nano /etc/zsh/zshrc

このファイルは存在しないので上記のコマンドで新規作成する。

autoload -U compinit promptinit
compinit
promptinit

# This will set the default prompt to the redhat theme
prompt redhat
#History
setopt HIST_IGNORE_DUPS
SAVEHIST=5000
HISTSIZE=2000
HISTFILE=~/.zsh_history

とりあえずマニュアル通りと履歴機能をちょっと追加。こうやって色々いじると自分のシェルがどんどん賢くなっていくのがUNIXの楽しいところ。
保存したら設定を有効にしてみる。

arch# source /etc/zsh/zshrc

プロンプトが変わったはず。

[root@arch ~]# 

これでどのマシンにどのユーザで入っているかがわかるようになった。

ユーザの追加


ユーザが表示できるようになったので、一般ユーザを作ってみる。

とりあえずユーザ追加


まずはユーザ名を決める。ユーザ名をarchieとすると

[root@arch ~]# useradd -m -G wheel -s /bin/zsh archie 

を実行する。次にパスワードを変える

[root@arch ~]# passwd archie 

2回パスワードを入れて同じならpassword updated successfullyのメッセージが出る。
ログアウトして入りなおしてみよう。

[root@arch ~]# logout 

で、ユーザ名とパスワードで入りなおしてみると、何やら英語のメッセージが出る。
zshで初めてのユーザなので設定ファイルがないのでどうするか聞かれるようだ。

(q) 何もしない
(0) .zshrcを作って抜ける
(1) メインメニュー表示
 と出るので、とりあえず0で抜けてみる。

[archie@arch ~]$ 

ちゃんとデフォルト設定が効いている。

あとは個々のユーザごとに~/.zsahrcを使えば好きにカスタマイズできる。

sudoを使えるようにする


とりあえずユーザを作ったものの、sudoが使えないと編集で色々困るので、sudoが使えるように権限をつける。

一度logoutしてrootで入り直す。

[archie@arch ~]$ visudo

を実行する。

Defaults env_keep += "HOME"
%wheel ALL=(ALL)ALL

のコメントを外すといいんですが、今まで使ってたnanoと使い方が違ってviで編集しないといけない。

とりあえず必要情報だけ書いておきます。

viにはモードが2つあります。一つは「編集モード」で、もう一つは「コマンドモード」。入力するなら編集モードに入らないといけないのですが、今回のように削除したりするだけならコマンドモードのままで問題ありません。間違えて編集モードに入ったと思ったら、Escキーでコマンドモードに戻れます。

まずは該当の行まで↓のキーで移動。
#にフォーカスがあったら、xのキーを押す。1文字削除なのでこれで#が消える。
同じ工程を繰り返してもう一つの行もコメントを外す。
外れたら、:wqと入力する。
Enterキーを押せば保存終了になる。


もう一度ログアウトしてもう一つのユーザでログインする。sudoが使えればOK。

[archie@arch ~]$ sudo su -
パスワードを聞かれるので、このユーザのパスワードを入れる(rootではないですよ)

[root@arch ~]# 
でユーザがルートになればsudoが使えています。


目次に戻る

2015年8月28日金曜日

ArchLinuxのインストール


前回まででディスクのフォーマットまで終わったので、ここからようやくインストール作業に入る。基本的にはビギナーズガイドに従って進めている。本当にビギナーズガイドはすごいなぁ。

ミラーの選択

 どこからパッケージをダウンロードするかの設定。基本的に一番近いところに設定するのが相手にも自分にもメリットがある。(相手には1つのサーバーに集中すると負荷がかかり、ユーザ側にはそうなると遅くなったりするのでデフォルトのままで使うのは止めよう)

もちろんコマンドのままファイルを編集しないといけないのですが、最近はnanoという使いやすいエディタがあるのでこれを使う。リストの一番上に使いたいリストを置く。

root@archiso ~ # nano /etc/pacman.d/mirrorlist

今回は日本なのでJapanのサーバを探す。
Score2.0にJaistが、Score2.2にTsukubaがあるのでこれを上に持っていく。

  1. 目的の行までいく
  2. Alt+6が行のコピーなのでこれを実行
  3. 一番上(最初の5行のコメントの下)に戻り、Ctrl+uで貼り付け
  4. Ctrl+xで終了。保存するか聞かれるのでyでEnterを押して上書き保存。
で変更する。

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

基本システムのインストール。マニュアル通りに実行するだけ。

root@archiso ~ # pacstrap -i /mnt base base-devel

Enter a selectionとか聞かれたら、全部入れていいのでそのままEnter
Proceed with installationは「Y」でEnter
なんだかずんずん進んでいく・・・。
プロンプトが戻ってきたら終了。

root@archiso ~ # ls /mnt

とすると色々コピーされたものがわかる。

fstab生成

どうやってマウントするかを記述するファイルを生成する。

コマンドを実行するだけ。
root@archiso ~ # genfstab -U /mnt > /mnt/etc/fstab

今回はSSDに入れるので、前回確認したようにマウントオプションを書き換える。

root@archiso ~ # nano /mnt/etc/fstab

defaults,noatime,discardにするのでした。ext4と、0 1 の間のオプションを書き換えた。

インストールしたベースシステムに入る

root@archiso ~ # arch-chroot /mnt /bin/bash

を実行する。すぐにプロンプトが返って変わった感じがしない(笑)。
でも実は変わっているので今まで使えたコマンドが使えなくなっていたりする。

ロケールの設定

簡単に言うと「地域や言語」の設定になるのですが、設定するファイルは二つある。どちらも/etcに存在する。

  • /etc/locale.gen
  • /etc/locale.conf

locale.genが使用可能なロケールの設定、locale.confが実際に使用するロケール。
locale.confは最初は存在しないのですが、今ここで日本語を設定すると日本語フォントがないのに日本語で表示しようとして全く見れなくなりそうなので設定してはダメらしい。

とりあえずlocale.genを編集して「en_US.UTF-8 UTF-8」と「ja_JP.UTF-8 UTF-8」を有効にする。行頭の#がコメントなので直前の#を消す。

root@archiso ~ # nano /etc/locale.gen

1文字消すには、簡単なのはBackSpaceを使う。1文字戻って消すのでそのように動かして消してみる。保存は前回と同じ。C-x y Enter。

次に、localeを生成。

root@archiso ~ # locale-gen

さっき選択した2つの言語がdoneになればok。
次にlocale.confを作るのですが、日本語はまずいので英語だけ作る。

root@archiso ~ # echo LANG=en_US.UTF-8 > /etc/locale.conf

これは、「echo LANG=en_US.UTF-8」という文字列を/etc/locale.confというファイルに書き込みなさいという意味。次に、環境変数にロケールを入れる作業を実行。

root@archiso ~ # export LANG=en_US.UTF-8

コンソールのキーマップ変更


コンソールのキーマップが日本語になるように変更。

root@archiso ~ # nano /etc/vconsole.conf


このファイルは存在しないので新規に作る事になる。
内容はマニュアルに従い

KEYMAP=jp106
FONT=lat9w-16

とする。C-x y Enterで保存。

タイムゾーン

日本なのでタイムゾーンも日本に設定する。

root@archiso ~ # ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

これで/etc/localtimeにリンクが作られて実体が/usr/share/zoneinfo/Asia/Tokyoになる。

ハードウェアクロック

機械上の時間の扱い方を、すべてのOSが同じになるようにするものらしい。
windowsはlocaltimeを使っているらしいので、もしかしたらデュアルブートとかすると時計がずれるのかもしれない。そういえば昔MacにWindowsを入れた時に時計がずれたように記憶しているのだけれど、この辺が原因だったのかな??途中で直ったので忘れていたけど。

root@archiso ~ # hwclock --systohc --utc

ホスト名の設定

自分で好きなホスト名をつけられる。archでいいや。

root@archiso ~ # echo arch > /etc/hostname

ホスト名を/etc/hostsに追加

root@archiso ~ # nano /etc/hosts
127.0.0.1で始まる行の一番最後のlocalhostの後ろにスペースを空けてサーバ名を書く。
::1の行も同じに書く

... localhost arch
という感じ。

ネットワークの設定

有線はdhcpcdが起動すれば繋がるようなので、これを次回から起動時に有効にする。

root@archiso ~ # systemctl enable dhcpcd.service

無線はwifi-menuを使うためにはdialogが必要らしいので、こちらのブログを参考にして以下のコマンドを実行。

root@archiso ~ # pacman -S wireless_tools wpa_supplicant wpa_actiond iw dialog

yと答えるとインストール開始になる。

ここで

root@archiso ~ # ip link

を実行してもう一度ワイヤレスのネットワークアダプタ名を確認。wlpで始まるもの。

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

を実行しておくと、次回から起動時にネットワークに自動接続するようです。

rootパスワードの設定

rootのパスワードを設定する。当たり前だが簡単すぎるものはまずい。
忘れるのもまずいので、忘れないようにしよう。

root@archiso ~ # passwd

2回入力すると確定する。

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

今回のマシンはBIOS-GRUBの予定なのでGRUBをインストールする。
マルチブートしないけど、マニュアルにも書いてあるのでos-proberも入れる事にする。

root@archiso ~ # pacman -S grub os-prober

次に、インストールしたGRUBを使ってブートローダーをインストールする。
最後のパスはArchLinuxをインストールしたドライブ。

root@archiso ~ # grub-install --recheck /dev/sda

no error reportedと出てきたら問題なし。

最後に、GRUBの設定ファイルを作る

root@archiso ~ # grub-mkconfig -o /boot/grub/grub.cfg

sda2の領域がext4じゃないとかエラーが出てるけど・・・

再起動

最後に再起動して、USBメモリを抜いて起動すれば成功。

root@archiso ~ # exit
root@archiso ~ # reboot

終了したらすかさず USBメモリを抜く。
GRUBの画面が出てArchLinuxが選択されてるのでEnterを押す。
arch loginと出たら

arch login:root
Password:*********

でログイン。パスワードはさっき決めたもの。
#が返ってきたらログイン成功。

とりあえず

root@archiso ~ # ping 8.8.8.8
を実行してみよう。つながらないようだ。

root@archiso ~ # wifi-menu
で再度接続設定を入れる。
netctl-autoでコントロールされてるとかでましたが、今度は繋がった。

root@archiso ~ # reboot

すれば再起動するので、もう一度ログイン。 今度は何もしなくても繋がると思う。@キーを入れてみてほしい。ちゃんと入ればキーボードも日本語キーボードで認識されている。

これでようやくインストール編は終了!


目次に戻る 

ArchLinuxをUSBメモリから起動、ディスクをフォーマットする

公式マニュアルのArchLinuxのビギナーズガイドを確認するのが一番オススメ。

USBメモリから起動する

それではUSBメモリから起動してみる。

ArchLinuxをインストールしたUSBメモリをUSBポートにつないで起動する。
すでに前の項目でUSBメモリからバックアップしたはずの人なら何の問題もないハズだ。
ArchLinuxのブート画面が表示されるので、先頭の

Boot Arch Linux (x86_64)

を選びEnterキーを押す。起動したら次のようなプロンプトが出る。


root@archiso ~ # _

これで準備完了だ。

キーボードのレイアウトを合わせる

地味に重要な作業です。
試しに@を押してみよう。@が入らないと思う。こちらのPCでは[が出てきた。
実は最初の状態だと英語のキーボードのレイアウトになっているので日本語のキーボードにあわせてあげないといけない。
とはいえ、難しいことはない。

root@archiso ~ # loadkeys jp106

を実行するだけ。Enterを押して実行したら、@を再度入れてみよう。
今度は@が出ると思う。

WiFiを接続する

ビギナーズマニュアルに従ってネットワークをつなぐ。

root@archiso ~ # ip link

を実行するとネットワークデバイスがわかるようです。

enp...で始まるのがイーサネットアダプタ
wlp...で始まるのがワイヤレスアダプタ

root@archiso ~ # iw dev

を実行するとワイヤレスのデバイスをもう少し詳しく確認できるようです。ふむふむ。


root@archiso ~ # wifi-menu wlpで始まるワイヤレスアダプタ名

を実行して無線の設定ができる。
設定は難しくない。SSIDを選んでEnter、設定名はそのままEnter、パスワードを入れてちょっと待ったらコマンドプロンプトに戻った。


root@archiso ~ # ping 8.8.8.8

と、適当にgoogleのDNSにpingを打ってみる。ttlやtimeが返ってきたら繋がっている。
止める時はCtrlキーを押しながらc(略すとC−c)。


root@archiso ~ # ping www.google.com

で返ってくるならDNSも正常に動いていると思われる。予想外に簡単!

システムの時計を合わせる

root@archiso ~ # timedatectl status

を実行すると、今の時間とか出てくる。Network time on がnoになっていると思うので、

root@archiso ~ # timedatectl set-ntp true

でyesになるのを確認。これで時間が正確になるはず。

ハードディスクの準備

ハードディスクは
  • パーティショニング(分割)
  • フォーマット(論理的に構造を作る)
  • マウント(Linuxで使えるようにする)
の手順を経てようやく使えるようになる。順番に進める。

パーティション作成

インストールするパーティションを作成するのですが、ここでちょっと考えないといけない。自分の環境にあわせて準備しないといけないということ。なので、インターネット上の誰かのブログ(これとかね)で書いてある通りに実行するのが最善というわけではない。

詳しくはArchLinuxのマニュアルのパーティショニングを確認するべきです。

パーティションテーブル

まず、昔ながらのMBRにするのか、最近のGPTにするのか選ぶ。マニュアルにはこう書いてある。
ブートローダに GRUB Legacy を使う場合、MBR を使うべきです。 古い BIOS を使う Windows (32ビット、64ビット両方) とのデュアルブートをするなら、MBR を使うべきです。 BIOS の代わりに UEFI を使う64ビットの Windows とデュアルブートをするなら、GPT を使うべきです。 上の条件に当てはまらないなら、自由に GPT と MBR を選んでください。GPT の方が新しいので、ここでの推奨は GPT です。 UEFI ブートではいつでも GPT を使うことが推奨されます。UEFI ファームウェアによっては UEFI-MBR ブートが出来ないからです。

今回はGURB Legacyは使わない(普通のGURBを使う予定)し、デュアルブートもしないし、UEFIでもないけど推奨がGPTだからGPTに決定。BIOS-GPTということ。

パーティション形態

パーティションを分割するかどうかについても、「このスキームが一番シンプルで、ほとんどの場合これで十分です。」と書いてあるシングルrootパーティションでいいということにしてみる。あとで分割も可能みたいだし。

スワップ

仮想メモリの領域になり、昔からLinuxを入れるときにはおまじないのように作るのが当たり前で、実メモリの2倍くらいの大きさは必要(この辺はWindowsのスワップと同じだ)となっていたが、近年のメモリの大容量化のおかげで、現在のところ2GB以上の物理メモリがあれば不要ということになっている。ちょうど2GBのメモリがあるのでswapは無しということで。

じゃあ、これでいいか・・・とマニュアルを読み進めると、「GPTを使う」という項目にノート発見。

BIOS 環境で GPT でパーティションされたディスクから起動するとき、GRUB を使ってディスクを起動する場合は、出来る限りディスクの最初に、ファイルシステムがなくてパーティションタイプが BIOS boot か bios_grub (gdisk タイプコード EF02) の BIOS boot partition を作成する必要があります。Syslinux ではこの bios_grub パーティションを作る必要はありませんが、/boot パーティションは分割して、(gdisk を使って) パーティションの Legacy BIOS Bootable partition 属性を有効にしなくてはなりません。

うーん。どうやら今回のBIOS-GPT-GRUBの組み合わせだと先頭にBIOS Boot partitionというものを作成するようです。

パーティション構成のまとめ


すると構成は、
  • BIOS Boot partition (1007KiB)
  • / (残り全部)

で良いかと思う。

cgdiskで分割


GPTを使う場合はcgdiskというコマンドを使う。

root@archiso ~ # cgdisk /dev/sda


を実行すればいい。/dev/sdaというのは、SATAかSCSI接続のデバイスの1番目。通常はハードディスクで、今USBメモリで起動しているので/sdbがUSBメモリになっていると思う。

なんらかのパーティションが存在しているなら、一度削除しないといけない。

↑と↓のキーで、編集したいパーティションにあわせて、←と→で処理を選ぶ。今は削除したいのでDeleteを選んでEnterを押すと表示から消える。全部消してみる。

でもまだ書かれていないのでWriteを選択。英語で「本当に書いちゃっていいの?」と聞かれるので「yes」Enterで書き込まれる。

準備はできたので、今度は作ってみる。

  1. 何もパーティションがないので↑↓は無意味。←→でNewを選ぶEnter
  2. First Sector ... とか聞かれるけど、そのままEnter
  3. Size in sector ... と聞かれるけど、そのままEnter (デフォルトは全部)
  4. Current type is ... Hex code or ... とかってタイプを聞かれるけどEnter
  5. Current partition name is とかって名前を聞かれるので「/」スラッシュでEnter
これで勝手に1007.0 KiB の free spaceと、1番目の/のパーティションができた。

多分選択は1007.0KiBのところにあると思うが、もし違うところにいっているならここにあわせてNewを実行。

  1. First sector... はEnter
  2. Size in sectors... もEnter
  3. Hex Codeは「ef02」と入力、Enter
  4. Enter new partition name もEnter
で、free spaceだった1007.0KiBのスペースがBIOS boot partitionという名前になる。

→を押してWrite、yes、Quitで終了。
これでハードディスクが予定通りパーティショニングできた。
/dev/sda1と/dev/sda2になっているはず。

フォーマット


Linuxで使えるフォーマットはかなり多くあるのですが、通常は一番新しいフォーマットを使うことが多いように思えます。今回だとext4が有力候補。

今回はSSDにインストールしないといけないので、ArchLinuxのマニュアルのソリッドステートドライブを確認。とりあえずTrimをネイティブサポートしているものじゃないとダメらしい。ext4は大丈夫みたい。

誰か教えて下さいとgoogle先生に聞いたところ、「Arch Linux を SSD に移した時のメモ」という素敵なページを発見。

普通に

root@archiso ~ # mkfs.ext4 /dev/sda1
root@archiso ~ # mkfs.ext4 /dev/sda2

実行するとやっていいかy/nで聞かれるのでyで答えるとフォーマットされる。フォーマットしたら、

root@archiso ~ # hdparm -I /dev/sda | grep TRIM

でTRIM supportedと出るか確認。TRIMをサポートしていたら/mnt/etc/fstabを生成したあとでマウントフラグに編集を加えれば良いということのようだ。

マウントのオプションにdefaults,noatime,discardを書き込むということらしいので意味を調べてみる。fstabの説明ページ

defaults:使われるファイルシステムのデフォルトのマウントオプション
noattime:ファイルを読んだだけで更新情報を書き込まないのでパフォーマンスアップ
discard:ブロックがフリーになった時にTRIMコマンドを実行(SSDは推奨)

最初に書いたソリッドステートドライブの中の「マウントフラグでTRIMを有効にする」というところに書いてあるオプションのようです。その後ろの「ファイルシステムの選択」のEXT4でもdiscardオプションを有効にすると書いてあるので、今回はこれを採用。


マウントする

ようやくここまできた・・・。ArchLinuxのビギナーズガイドにも書いてありますが、/のrootをマウントすれば良い。

root@archiso ~ # mount /dev/sda1 /mnt

これでrootのパーティションがマウントされる。

長くなるから一度ここで切る。
ここまでくれば、次は用意したドライブへのインストールになる。

尚、ここで運悪く電源が落ちても、USBメモリで再起動して

root@archiso ~ # loadkeys jp106
root@archiso ~ # wifi-menu ネットワークアダプタ名
root@archiso ~ # timedatectl set-ntp true
root@archiso ~ # mount /dev/sda1 /mnt

でここまで戻れるはず(フォーマットはすでに行っているので)。
あれ?意外と少ないな(笑)悩んでる時間のほうが長いということのようです。

ここまでの手順は、もし起動しなくなった時に使えるので覚えておくととても良いと思います。


目次に戻る 

2015年8月24日月曜日

バックアップはしっかりと・・・

インストール用のUSBメモリを作成したところで準備完了なわけですが、何かあった時に元に戻せるように手段を講じておくのは必要だと思う。これはLinuxを使ってみるということだけではなく、新しいバージョンのWindowsを試す前に実行しておいてもいい。

バックアップソフトを用意

まずは個人利用無料かつ、ハードディスクの内容を丸ごとバックアップできて元に戻せるソフトを入手する。今回はなんとなくAOMEI Backupperを使うことにした。これは商用ユーザも無料で使える数少ないフリーソフト。

入手はAOMEIのホームページのダウンロードから入手するのが間違いないと思う。

英語のソフトではあるけれど、そこまで難しい言葉はないのでこういうものを使ったことがある人ならなんとなく使えると思う。適当にインストールをしておく。

もう一つUSBメモリを準備



今度はWindowsの環境バックアップのために使うので容量が大きいものが良い。
16GBかできれば32GBあれば大抵の環境ならクリーン状態ならバックアップできると思う。バリバリ使っているPCをバックアップするなら別に外付けのHDDを用意した方がいいと思いますが、必ず他で使っていないものを用意する。(使っているものを使うと壊れたら目も当てられないから)

というわけで今回も使用前にフォーマットしてしまおう。

手順を考える

このバックアップは命綱。失敗したら戻せなくなるのでちゃんと仕組みと手順を理解してバックアップしないと「自己責任」で全て終了してしまう。

ハードディスクはその中をパーティションと呼ばれる仕切りで分割し使われる。

先頭にはMBR(通称エムビーアール、Master Boot Recodeの略)と呼ばれる特別なセクタがあり、この中にパーティションを管理する情報が入っている。それ以外のパーティションは「基本領域」、「拡張領域」とその中に作ることができる「論理領域」で構成される。

パーティションについてはこのページがとても参考になると思う。

上手くやればデュアルブートも可能になりますが、正直64GBしかないので分割したら共倒れになるのは目に見えている。今回はおとなしく、ハードディスクを丸ごとバックアップ(MBRごと全てバックアップ)してしまう方が良いと思う。これで戻せば元の環境に完全に戻るはず。

そう考えてAOMEI Backupperを起動してみると、Backupには

  • Disk Backup
  • Partition Backup
  • System Backup

の3種類がある。
今回はこの中だと、Disk Backupが一番確実なバックアップになると思われます。

ちなみに私が購入したマシンはSSD中に復元のための領域がなかった・・・。
これ、このまま使ってたらアウトだった・・・。

まずは起動ディスク作成

というわけでこのソフトを使ってちょっとやってみたのだが、当初DVDで作ればいいか・・・と思ったのだが、バックアップができないわけでもないけど何故か元に戻せない。エラーが発生してしまう。で、結局上記のようなUSBメモリを使うことにしたら一撃で、しかも高速に戻るのでこっちの方が断然いいなと思った次第。

最終的には

  1. USBメモリをレスキューディスクにする(WindowsPEを使って)
  2. そのディスクで起動して、ディスクバックアップを実行
  3. その際、保存先に起動したUSBメモリを指定する
がUSBメモリ1本で全て解決するので最も良かった。
Utilities-Create Bootable Media で実行し、Windows PEを選んで実行。
途中でUSB Boot DeviceでUSBメモリを選択して作成を待つだけ。

ここにマニュアルがあるので読むのが良いと思う。
完成したらUSBメモリからブートできるか確認しよう。
もし起動しないとしたら、

  1. BIOSの設定でUSBメモリからブートするのがHDDより先になっているか
  2. そもそもUSBメモリからブートできるのか(古いとできないことがあるよ)
  3. 逆に新しすぎでUEFIでSecureBootになっている。この場合はRegacyモードに変更
のどれかだと思うので確認を。3番の説明はここ
I have received the message: “If the program is unable to restart the computer or failed to enter into Restart Mode, you could…” How do I resolve this?
の辺に書いてあるのでご参考まで。

起動したら、同じようにAOMEI Backupperが起動するのでBackupのDisk Backupを実行。詳しい手順はこちら

こういうのはDistinationが出力先という意味なので、そこをUSBメモリにして、TaskNameを適当に「Windows7 Pro Backup」とかにして実行すればそれで終了である。

うーむ。簡単。


恐怖のテスト

バックアップを行ったら、実際に戻してみないと話にならない。

ほとんどの人は実行したら安心してしまうので、実際に戻そうと思ったら戻らないとかの話がネット上にゴロゴロしてる。あとで安心して思いっきり使うためにも検証は重要。

でも、戻すのに失敗したら終了・・・おわた。もし心配なら(むしろ心配になってほしい)念のため別の方法でもバックアップしておくべきだ。

もう一つの方法は、Windowsのイメージバックアップがオススメ。NECのわかりやすいマニュアルはこちら。こっちはDVDで作ってもいいでしょう。

これで戻す手段が2つになったので最悪使えなくなる確率は大分低下した。

いよいよテストを行います。

とりあえずデスクトップに何か作ってみる。この状態で復元して、これが消えれば作る前の状態のはず。

ディスクバックアップからの復元方法はこちら。そろそろこのマニュアルにも慣れた頃でしょう。

成功を祈る。


目次に戻る 


ArchLinuxインストール用USBメモリ作成

さて、まずはインストールする元を用意せねばならない

必要なものは
  • とりあえず使わないUSBメモリ
のみ。大きいものは不要で1GB以上あればいいと思う。
ただし、ブートメディアにするので他で使わないものにしよう。

使う前にフォーマットしてスッキリ開始できるよう準備する。

ArchLinuxは、ローリングアップデートという方式を採用しているらしく、日々更新していくようなので一番最新のイメージを「Arch Linux をダウンロード」からダウンロードする。

archlinux-xxxx.xx.xx-dual.isoというものでOK。


実際の作成方法は「USB インストールメディア」を参考にWindowsから実行した。

おすすめはWin32 Disk Imagerをつかう方法。説明通りなのだけど、実行していざイメージを開こうと思ったらあれ?出てこないという事になるので、開くファイルの拡張子のフィルタを*.*にしてダウンロードしたisoファイルを選ぶのがコツといえばコツ。

一度実行したUSBメモリは特殊な形式になってしまうので、「USBドライブを修復する方法」を読んで使うなら戻すと良いようです。でもそのまま持っておいた方がいいと思う。

理由は、何かあったらそこから復旧できる。実は私も一度失敗して、ここから起動してファイルを修正して事なきを得た。というか、結構失敗すると起動しなくなったりして面倒なので持っていたほうが絶対にいいでしょう。


目次に戻る

DELL LATITUDE E4200のスペック


DELL LATITUDE E4200 Image
「デル、魂の1キロ切りモバイルノート」だそうな(笑)
http://www.itmedia.co.jp/pcuser/articles/0903/27/news041.html


主要スペック


  • CPU・・・・・・・Intel Core2 Duo U9400 @1.4GHz
  • メモリ・・・・・・2GB(PC3-8500)
  • ストレージ・・・・1.8inch SSD 容量 64GB
  • グラフィック・・・Intel GMA 4500MHD

というところなのですが、特筆すべきは金額と軽さ!12.1型液晶という小さめノートではあるものの、1kgを切る997gのPCがなんと秋葉原で中古14,800円完動品である。この軽さ、Mac Proユーザには衝撃的(笑)。


搭載OSのWindows7Proというのも普段使いには十分ですが、Linuxを動かすならモニタもついて音も出るし、キーボードもついてストレージ込みしかもSSD、無線も802.11angb対応でこの値段なら色々組み合わせるより安いと判断。見つけて5分たらずで購入に踏み切ってしまった・・・。


実際の性能は?

早速CPUのスコアをベンチマークのサイト(PassMark)で確認すると
 スコア値:957


むう。今現行のATOMベースのCPUといい勝負。若干いいくらいのスコアが出ております。これを新品で4万とかで買う気にはならないけど、この金額ならいい。

多分Windowsでメインマシンなら軽く死ねるスペック。まず買わない。よかった、最初からLinuxにするつもりで。


ちなみに、Windows7マシンとしてはまずまずの動作速度。普通に使ってストレスなし。起動もSSDのおかげでまず高速。

バックアップしてノリでWindows10にしてみたところ、アップデートは正常終了(途中プロダクトキー入力画面が出たけど、スキップという謎の選択肢ボタンを押して事なきを得た)。


しかし起動後CPUが100%近くまで振り切れる現象が発生。どうもIntelのRAID周りのドライバが暴走したみたいなのでIntelのサイトで最新にしたら収束したけど、どうも快適さを得られない。なんとなくグラフィックの力不足が理由な気もする。

というわけで、Windowsで使うなら7がいいでしょう・・・
けど、それもやめるお話です(笑)



目次に戻る 



ArchLinuxを使ってみる 目次

 非力なノートPCに、Linuxを入れてそこそこ使える状態にしてみるメモ。

 とりあえずLinuxの勉強もかねて、最小構成で有名なArchLinuxを使って環境を整えてみる。この情報が欲しい方は、このページをブックマークすると幸せになる予定。


 目次
  1. 実験マシン  DELL LATITUDE E4200のスペック
  2. ArchLinuxインストール用USBメモリ作成
  3. バックアップはしっかりと・・・
  4. ArchLinuxをUSBメモリから起動、ディスクをフォーマットする
  5. ArchLinuxのインストール
  6. シェルの変更、ユーザ追加
  7. GUIを入れよう
  8. フォントの設定
  9. 画面をキャプチャーできるようにする
  10. ネットワークのアイコンを変える
  11. デスクトップにマシン情報を表示 conky
  12. バッテリーの状態アイコンを表示 cbatticon
  13. ディスプレイマネージャを変える SLiM
(作成中...)

ページ内の表記例

コマンドはこんな感じで
コピペできるのが一番(笑)

# ls

注意点は目立つようにこうやって書く予定
注意点のテスト