ThinkPad e440 * Manjaro Linux x86_64 XFce 16.06

概要

これまでManjaro Linux KDEを使用してきたThinkPad e440だが、Manjaro Linux XFceに変更した。

e440のOSは安定せず、かなり変更を重ねている。これまで

  • openSUSE
  • Mageia
  • Manjaro XFce
  • PCLinuxOS FullMonty
  • Linux Mint
  • Manjaro LXQt
  • PCLinuxOS KDE
  • Manjaro KDE
  • Manjaro XFce

という流れだ。求められる条件は

  • BIOSでWindowsとのデュアルブートが可能
  • /の暗号化が可能
  • ローリング・リリースあるいは長期運用が可能
  • 先進的
  • RealTek RT8168 無線LANが利用可能

これがなかなか難しい。
ちなみに、Manjaro Linuxも現状、GUIインストーラでWindowsのデュアルブートとLUKSを両立させる場合、MBRの書き換えを防ぐことはできない。

Manjaro Linux KDEとXFceの違い

違わないようで、実は結構違う。

XFceの設定

Manjaroのパッケージ内にXFceに関する設定が不足している。特にKDEでインストールした場合は、XFceに関する設定は全くない。

XFceから新規ユーザーを作った場合は、おおよそ反映されるし、そのためパネルやアプレットが大きく異なるが、Mnajaroのメニューは階層化されていない状態になる。

LXQtとWiFi

KDEでインストールした場合、LXQtはconnmanを使おうとnm-appletを使おうと、D-BusエラーになりWi-Fiを使うことができない。XFceでインストールした場合はnm-appletが問題なく動作する

XDM

KDEはKDM、XFceはLightDMを使う。

KDEアプリの動作

XFceでインストールした場合、Akonadiが正常動作せず、KDEコンポーネントが完全には動かない。

KDEコンポーネントをフルに活用しとたKDE環境を望む場合は素直にKDEでインストールのが良い。

Wi-Fiの挙動

KDEの場合、Wi-Fiがおかしくなり、やがて接続は確立しているのに通信しなくなる。(チップはRT8168)
頻繁に発生し、再接続すれば復帰する場合が多いが、あまり放置しすぎると切断自体不可能になる。

XFceの場合は、その状態が発生しない。

また、mkwd-kernelを使うと、XFceの場合だけrt8168パッケージをインストールするようになっている。KDEの場合はndiswrapperパッケージをインストールする。これは、15.12と16.06の違いもあるのかもしれない。

アップデートアプレット

KDEの場合はOctopiを使うし、アプレットもOctopiのものになっている。

ファーストインプレッション

もちろん、Manjaroということで同じものなのだが、実際には結構な違いがある。

Plasma Workspaceが結構不安定で(ハードウェア的な問題だろう。Manjaroに限らない)、よくKWinが再起動するのだが、安定しており、最初からWi-Fiを利用することができる(速度的には有線のほうが良いが)といったメリットがある。

機能的にはXFceはかなりそろっていて、非常に使いやすい。ただし、Thunarなど一部のXFceアプリはパスを問答模様で補完するため、普通に打っていると勝手に補完されてパスが違っているということがあったりする点はマイナス。
ただ、機能的な不足はないはずだが、実感としてはやはりCinnamonのほうが使い心地は良い。

XFceでインストールすると、KDEコンポーネントを使わない設定となるため(これを変更するのはなかなか大変)、全体に動作が軽く、安定している。e440程度の性能であればこのほうが良いかもしれない。

RT8168

ThinkPad e440に搭載されているのはLinuxでの扱いの難しいRealTek製WiFiチップRT8168だ。

XFceの場合はmhwd-kernelで自動的にこのドライバを含み、適切に動作するが、RT8168にはRT8169ドライバをロードしてしまう、という問題があり、mhwd-kernelによる新カーネルインストール時にもその回避を勧められる。

# echo "blacklist r8169" > /etc/modprobe.d/r8169_blacklist.conf

およその作業記録

# pacman-mirrors -g #ミラーを並び替える
# yaourt -Syuu --noconfirm # アップグレード
# mhwd-kernel -i linux46 # Linux 4.6カーネルのインストール(現在の最新)
# echo "blacklist r8169" > /etc/modprobe.d/r8169_blacklist.conf # RT8169モジュールの無効化
# reboot
$ yaourt -S gvim vi #viがないため、visudoなどが使えない
$ sudo visudo # パスワードタイムアウトの無効化
$ sudo vim /etc/yaourtrc #ビルドディレクトリ、エクスポートディレクトリなどの変更のため
$ yaourt -S medit geany geany-plusings ruby ruby-docs zsh mate-gtk3 qterminal lxqt leafpad #エディタ及び諸環境のインストール
$ yaourt -S mate-extra-gtk3 #一部conflictがあるため、全コンポーネントはインストールできない
$ yaourt -S adobe-source-han-sans-jp-fonts ttf-ohruri ttf-komatuna ttf-meguri ttf-migu ttf-ricty ttf-vlgothic tth-vlkoruri #フォント周り
$ mkdir ~/.config/fontconfig
$ medit !!$/fonts.conf #フォント設定
$ yaourt -S sshfs
$ yaourt -S xf86-input-synaptics #Touchpad Synaptics
$ sudo cp /usr/share/X11/xorg.conf.d/70-synaptics.conf /etc/X11/xorg.conf.d #設定ファイルのコピー
$ sudo vim !!$/70-synaptics.conf # Synapticsの設定
$ yaourt -S vivaldi-snapshot opera-developer chromium google-chrome chromium-widevine #ウェブブラウザ
$ yaourt -S atom-editor-git #Atom。時間がかかる
$ yaourt -S --noconfirm fcitx fcitx-anthy fcitx-mozc-neologd-ut fcitx-kkc fcitx-gtk{2,3} fcitx-qt{4,5} fcitx-m17n fcitx-configtool # IM関連
$ yaourt -S w3m lv #日本語環境向け
$ yaourt -S xorg-server-xephyr # XDMCPリモートログイン
$ yaourt -S claws-mail # メールクライアント
$ chsh #シェルをzshに
$ vim ~/.config/user-dirs.dirs # XDGディレクトリの変更
$ vim ~/.xprofile
$ mkdir bin lib mnt #個人的に必要とするディレクトリ

MDNSの設定などは最初からされている。

Synapticsの設定。2本指スクロールの有効化とナチュラルスクロール化、サーキュラースクローリング(左下起点)の有効化を設定してある。

# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
#
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
#       MatchDevicePath "/dev/input/event*"
            Option "VertTwoFingerScroll" "on"
            Option "HorizTwoFingerScroll" "on"
            Option "CircularScrolling" "on"
            Option "CircScrollTrigger" "6"
            Option "VertScrollDelta" "-111"
            Option "HorizScrollDelta" "-111"
EndSection

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection

# This option enables the bottom right corner to be a right button on clickpads
# and the right and middle top areas to be right / middle buttons on clickpads
# with a top button area.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
        Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"
EndSection

# This option disables software buttons on Apple touchpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Disable clickpad buttons on Apple touchpads"
        MatchProduct "Apple|bcm5974"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
EndSection

fonts.confの設定。

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <match target="pattern">
    <edit name="dpi" mode="assign"><double>103</double></edit>
  </match>
  <match target="font">
    <edit name="hinting" mode="assign">
      <bool>true</bool>
    </edit>
  </match>
  <match target="font">
    <edit name="autohint" mode="assign">
      <bool>true</bool>
    </edit>
  </match>
  <match target="font">
    <edit name="hintstyle" mode="assign">
      <const>hintfull</const>
    </edit>
  </match>
  <match target="font">
    <edit name="rgba" mode="assign">
      <const>rgb</const>
    </edit>
  </match>
 <match target="font">
  <edit name="lcdfilter" mode="assign">
   <const>lcddefault</const>
  </edit>
 </match>
 <match target="pattern">
  <test qual="any" name="family">
   <string>serif</string>
  </test>
  <edit binding="strong" name="family" mode="assign">
   <string>Ohruri</string>
  </edit>
 </match>
 <match target="pattern">
  <test qual="any" name="family">
   <string>sans-serif</string>
  </test>
  <edit binding="strong" name="family" mode="assign">
   <string>VlKoruri</string>
  </edit>
 </match>
 <match target="pattern">
  <test qual="any" name="family">
   <string>sans</string>
  </test>
  <edit binding="strong" name="family" mode="assign">
   <string>VlKoruri</string>
  </edit>
 </match>
 <match target="pattern">
  <test qual="any" name="family">
   <string>monospace</string>
  </test>
  <edit binding="strong" name="family" mode="assign">
   <string>Migu 1M</string>
  </edit>
 </match>
 <match target="pattern">
  <test qual="all" compare="not_eq" name="family">
   <string>sans-serif</string>
  </test>
  <test qual="all" compare="not_eq" name="family">
   <string>serif</string>
  </test>
  <test qual="all" compare="not_eq" name="family">
   <string>monospace</string>
  </test>
  <edit name="family" mode="append_last">
   <string>Migu 1C</string>
  </edit>
 </match>
 <dir>~/.fonts</dir>
</fontconfig>

.xprofile。日本語入力関係ほか

#
# ~/.xprofile
#
# sourced by /etc/lxdm/Xsession
#

if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
    eval "$(dbus-launch --sh-syntax --exit-with-session)"
fi

# Environment variables
#
export GTK2_RC_FILES="$HOME/.gtkrc-2.0"
export GTK_IM_MODULE=fcitx
export GTK2_IM_MODULE=fcitx
export GTK3_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export DefaultIMModule=fcitx
export PATH=$HOME/bin:$PATH
setxkbmap -model jp106 -layout jp

ThinkPad e440 * Manjaro Linux KDE, Fcitx Mozc Neologd UT, Padre

ThinkPad e440にManjaro Linux KDE 15.12 (x86_64)をインストール

これまでPCLinuxOSで運用してきたThinkPad e440だが、どうしても不安定(KWinがフリーズして再起動することが多い、バッテリーモニターが機能しない、など)なのが気になってManjaro Linuxにしてみた。

私のThinkPad e440はCeleron 2950Mに4GB RAMの貧弱仕様、ピクセル数もWXGAにすぎない。RAMに関しては8GBに拡張してある。これによってようやくまともに動くようになった(その前は遅くて仕方がなかった)。ハードディスクも拡張済みだ。

このRAM拡張のおかげで、以前はまともに動かなかったKDE Plasma Workspaceが動くのだが、それでもかなり重い。それでもKDEが好きなのと、特にシステムを細かく設定し、好みのアプリケーションを使い分けてデータを扱いやすいように保存する…という意図がなければ、ひと揃い便利なものがあるKDEは非常に重宝するのだ。

最新のLXQtもあったが、今回もKDE。これでうちは4台がManjaroに。とうとう残るManjaroじゃないやつはIPFire, linuxbeanだけになってしまった。

e440はWindows 7が入っており(Windows 10にしたものの、結局Sonarがちゃんと動かないので戻してある)、デュアルブートなのがここまでのハードルになっている。

Manjaro Linux KDE 15.12時点ではインストーラは、Thusについては手動パーティショニングについてLUKSは使えるが、LVMは扱えない。また、GrubはMBRのみ。CalamareはLVM及びPBRをサポートするが、LUKSをサポートしない。

今回はLUKS優先でThusでインストールした。レガシーブートなので(Windows 7モデルを選択するとレガシーブートで、Windows 8モデルを選択するとUEFIで来る)問題が起きにくいというのはある。

Wi-Fiの問題

e440に入っているWi-FiモジュールはLinuxでうまく駆動しない。ある程度通信すると止まるのだ。

Manjaroだとほぼ直ちに止まる。PCLinuxOSだと通信量が少なければなかなか見立たない。openSUSEではストールしたのを見たことがない。

これがPCLinuxOSを選択する大きな理由だったのだが、結局止まるのであれば、あまり意味がなかった。

これを受けて、Wi-Fiはドングルを使うと割り切ってManjaroを導入することにした。

とはいえもしかしたらなんらかの改善方法があるのかもしれない。

以前にはブログでもその問題をみかけることができるが、バージョンが限定されている。
Ubuntuでfixが入っただけかもしれないので、特定のカーネルの問題ではないのかもしれない。

また、Dedoimedoでもこの問題について言及されている。こちらでは/etc/modprobe.d/rtl8723be.confとして

options rtl8723be fwlps=N ips=N

を記載することを勧めている。

これを受けて試してみたのが、まずkernel headerをインストールした上で、AURからrtl8723bs-dkms-gitをインストール。

そしてdkmsを有効にする

# systemctl enable dkms

そしてインストール

# dkms install rtl8723bs/2

これで再起動したところ、3.7GBのファイルのダウンロードに成功した。

ただし、時々不安定になるので、切断・再接続をする必要がある時もあるかもしれない。それでも十分実用になる。yaourt

Plasma5

sniproxy不要になったPlasma5だが、いくつかのアプリケーション(Mono関連, Cloud.ru, Skype, Wineなど)が結局systrayに入らない。
必要であればtrayerを併用するべき。

非常にアピアランスは良いし(Plasma 4のリッチUIも良いと思うのだけれども、フラットUIになったのに見やすく、美しくなった。元々タブレットやネットブックに向けて作られたフラットUIは、あまり画面解像度もないラップトップには適しているということだろう。非常に見やすい。

全体に優れている。完璧ではないけれども優れている。
ManjaroをXFceからインストールするとKMailが動かなかったり、Akonadiでエラーが出たりするが、そうした問題はさすがに改善されている。

Kate, Kwriteは、通常のXFceから入れるものとはちょっと違う。違うのだが、PCLinuxOSではRubyの特異クラスをちゃんと理解したように思うのだが、こちらはダメだ。残念。

Manjaro Setting Managerが含まれないため困惑するが、こちらはkcmに統合されている。

バッテリーモニターは適切に動作する。パワーマネジメントもPlasma 5.3で無事追加されている。

パワーマネジメントでバッテリー駆動時の設定を行うためにはバッテリーを取り付けておかなくてはならない。

e440においてのみ発生する現象だが、Super+Shift+→が動作しない。
quicktileにその設定が使えないのが少々痛い。この問題はThinkPad e440上のKDEで常に発生する。

動作速度は良いが起動・終了は非常に遅い。安定性はPCLinuxOSのKDE4よりも安定している。
アイコンの通知表示が優れている。ただし、systrayに関しては自然に階層化されるCinnamonのほうが優れている。

クイックランチ的に置かれているアイコンはパネル上のウィジットである。Firefoxが邪魔なのだが、これを削除するにはパネル編集モードから削除する。

ウィジットはまだ少なめだ。リサイズ方法は、余白部分を左ボタンダウンを続けてメニューを表示する、というあまり直感的ではない方式。タッチインターフェイスを意識したのか。しかしそれは右クリック相当じゃないのか。

Kde Applications

KDEには膨大な、様々な、そして有用なアプリケーションがあることがおおきなアドバンテージだが、Manjaro KDEはその収録量が少ない。Konquerorすら入っていない。

(とはいえ、近年はKonquerorは入れない傾向があるため、それほどめずらしくはないのだけれど)

kde-applicationsグループにまとめられているので、

$ yaourt -S kde-applications

でしっかりと入る。

テーマ

ManjaroにはMaiaテーマが採用されている。

緑を用いたなかなかに美しいテーマで、Manjaro色が良いと思うかどうかという問題はあるが、ひと揃いあって統一感は良い。breezeよりも良いので、統一感をもたせにくい他のテーマを採用するのが難しい。

Maiaアイコンテーマの再起動、シャットダウンなどのアイコンは非常に好きで、アイコン自体は個人的にはcompassのほうが好きなのだが、結局Maiaのまま。壁紙もMaiaなのでフルMaia。

ちょっとこれはなんとかしたい。ウィンドウデコ
レーションはMaiaではなくbreezeなのだが、これは変更した。また、壁紙も変更した。

Plymouthはなぜか他と同じmanjaro-extra-elegantではなく、manjaro-elegantが採用されている。私はmanjaro-redefined-bsplashを採用した。

アクティビティ

使い方に困る人の多いアクティビティで、私もご多分に漏れずではあるが、e440においては追加したアクティビティがひとつある。

これはプレゼンテーション用で、パワーマネジメントをACと同じにしてある。
なお、ACではDim screenやスクリーンのオフなどは切ってあり、ブライトネス設定がない。

Fcitx Mozc Neologd UT

つい先日libkkcの話をしたばかりではあるが、やはり入力効率はMozcのほうが良い。しかし、MozcではATOKに及ばないのは当然としても、WindowsのGoogle日本語入力との差が激しい。

PCLinuxOSにおいてTomcatさんの仕事で非常に大きなアドバンテージとなっていたNeologd UTがAURにも来ていたる

これは、UTUMIさんがUTに代えた新たな仕事として作ったもののようだ。UTの35万語から85万語に大幅増となっている(半数は地名とのことだが)ので入力効率が大幅に向上しているのだ。
確かに出てくる文字が違う。UTだとAndroidのGoogle日本語入力と非常に似た変換候補という印象なのだが、こちらは違う。

ニコニコ大百科が使えなくなるので一部変換できなくなる言葉も出てくるだろう。もしかしたらニコ厨諸兄にあってはMozc UTでnicodicを有効にしたほうがいいのかもしない。

あとは、mecab-ipadic-NEologdがどれだけのものに今後なっていくか次第か。

とりあえず使ってみた感触では従来のMozc-UTよりも良いと思う。
ただし、サイズ自体もかなり大きいので、ディスク消費量が問題になる場合には不適。また非常にメモリ消費に対して厳しい場合も同様。

その意味ではuim-anthyが使えるPCLinuxOSは有利。Whizもいいのかもしれない。
とにかくパワフルで効率的な変換をしたい人にとっては、Linuxでは現状の最有力。Wimeを使うという手段もあるのかもしれないが。

Padre

AURのPadreがPerl::Devel::DumpvcarとPerl::POD::Abstractがビルドにこけるためインストールできない。prove -lrprove -rにビルドを通すため変更したとあるが、prove -lrに戻さないと通らないので注意。

さらに、perl-wx-scintillaに関しては、OUT OF DATEが立っていてビルドできない。
そのため、perl-padreのPKGBUILDを編集してperl-wx-scintilla-devに変更することはできるが、いずれにせよこれが原因でビルドできない。

なお、cpanでインストールしようとするとシステムがフリーズする。要注意。

Manjaro 0.8.13.1 LXQt を LVM + LUKS + GPT + UEFIインストール

3回失敗したので、メモを兼ねて。

情報は

の2箇所にあるため、これを組み合わせる必要がある。 また、情報の欠如もあるので補足する。

まずはターミナルを起動

$ su -
  manjaro #Password
# gdisk /dev/sda

/dev/sdaがインストール対象ディスクであるとする。 以下オペレーションは

  • o #新しいGPTレベルを作成
  • Y #確認
  • n #新規パーティション (BIOS GRUBのためのもの。なくてもいい?)
  • (enter) #次のパーティション
  • (enter) #フリー部分の先頭
  • +1M # 1MiBのパーティション
  • n #新規パーティション (ESP)
  • (enter) #次のパーティション
  • (enter) #フリー部分の先頭
  • +256M # 256MiBのパーティション
  • n #新規パーティション (/boot)
  • (enter) #次のパーティション
  • (enter) #フリー部分の先頭
  • +512M # 512MiBのパーティション
  • n #新規パーティション (LVM)
  • (enter) #次のパーティション
  • (enter) #フリー部分の先頭
  • (enter) # entire disk
  • w #書き込み
  • Y #確認

LVM on LUKSの構築

# cryptsetup luksFormat -y --cipher aes-xts-plain --key-size 512 /dev/sda4
# cryptsetup luksOpen /dev/sda4 sda4_crypt
# pvcreate --dataalignment 1024k /dev/mapper/sda4_crypt
# vgcreate cryptVG /dev/mapper/sda4_crypt
# lvcreate -n root -L 20G cryptVG
# lvcreate -n swap -L 16G cryptVG
# lvcreate -n home -l 100%FREE cryptVG

インストーラはSwapを求めるし、Swap用のボリュームも確保した。

で、

# setup
    1. Set date and time
    1. Partition Hard Drives
    • swap – /dev/mapper/cryptVG-swap
    • / – /dev/mapper/cryptVG-root
    • /home – /dev/mapper/cryptVG-home
    • /boot – /dev/sda3 (EXT3)
    • /boot/efi – /dev/sda2 (VFAT)
    1. Install System
    1. Configure System – mkinitcpio.confについてHOOK行にencrypt lbm2sata filesystemよりも先に記述する。そのままこの画面に留まる
  • タブを開く
  • /install/etc/default/grubGRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/sda4:cryptVG"と記述する
  • installerの4から離れる
    1. Install bootloader
    • UEFI_x86_64
    • GRUB_UEFI_x86_64
    • フォーマット
    • efivarsが読まれてないよと言われる場合も無視して良い
    • コピーするかと聞かれた場合はYES
    1. Quit
  • 再起動

この作業を繰り返したことで、だいたいLUKSパーティションの起動やUEFIについて仕組みが理解できてよかった。

ただし、実際に動くかどうかを確認できていない。 なぜならば、ハードウェア結局UEFIをサポートしていなかったからだ。どうりで失敗するわけだ。

Manjaro 0.8.13 セットアップ作業 part2

パッケージの順次インストール

  • umplayer-svn
  • kuickshow
  • gqview
  • chromium-pepper-flash
  • smtube
  • youtube-dl
  • atomicparsley
  • gnome-terminal
  • cutemarked
  • haroopad
  • screen
  • at
  • nemo-share
  • unbound

screenは、.zshrcでSSH接続に対してscreenを呼んでいるので必要。

atはrsoftmirrorが使っているので必要。

Gnome Terminalは、Nemoが必要とするため(Gnome Terminalがないと、Nemoで「端末で開く」とした時に開くことができない)に導入した。

ファイアウォール

とりあえず、

# touch /etc/iptables/iptables.rules

した上で

# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD DROP
# iptables -N INCOMING
# iptables -A INCOMING -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A OUTPUT -o lo -j ACCEPT
# iptables -A INPUT -j INCOMING
# iptables -A INCOMING -p udp --dport 53 -j ACCEPT
# iptables -A INCOMING -p udp --dport 5353 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# iptables -P INPUT DROP
# iptables-save > /etc/iptables/iptables-rules

して

# systemctl start iptables

だが、ルールがどうにも気に入らなかったので、結局gufwを使ってしまった。 なんとか早くnftをマスターしたいところではある。

SpamAssasinのham学習

Spamはだいたい固めてあるが、Hamは非常に広い階層にあるため、次のスクリプトで処理した。

setopt EXTENDED_GLOB
integer ind

for i in ~/Mail/inbox/**/*~*/SystemMessage(#q/)
do
{
#  print $i
for j in "$i"/<->(#q.[1,100])
do
	cp -v "$j" ~/tmp/ham/$(( ++ind ))
done
} always { TRY_BLOCK_ERROR=0 }
done

これでMHフォルダ内にある全てのメールが集約できる (事前にspamは排除しておく必要あり) ため、あとはディレクトリをhamで学習させれば良い。

マウスカーソルが歪む問題とCinnamon

相変わらず出現する。XFceだと、それなりの頻度ででるようだ。 KDEに関してはそこまで使い続けたことがないため、出るかどうかは分からない。 KDE4では最も出現しやすかったが。

結局、UIが改善されたXFceでもKDEでもなく、Cinnamonに戻ることとなった。 LINEのフォント問題も、なぜかCinnamonで起動すると綺麗に表示される。

ちなみに、以前から感じていたことだが、Cinnamonのフォントレンダリングが異様に綺麗だ。 サブピクセルレンダリングの設定に関わらず。 これは一体なんなんだろう。

また、以前は機能しなかったCinnamonのスクリーンショット機能もきちんと動作した。 もしかして以前はGnome-Screenshotが入っていなかったりしたのだろうか。

Gnome-ScreenshootはXDG-PICTURES以下に自動で保存するため、ガンガン撮れる代わりに、ちゃんと分類しないと後で痛い目を見る。

Cinnamonに戻したため、またウィンドウショッピング(GUIの外観の設定)に時間を費やすこととなった。 壁紙を前回から引き継ぎ、黒ベースのテーマとしてかなり綺麗に仕上がった(以前はそもそも設定していなかった)のだが、そうするとウィンドウ色などを独自に定義するものとうまく噛み合わなかったりする。 Mikutterに関してはダークテーマに設定したが、Geanyが常に白背景に白字を使うのだが、にも関わらず入力中の部分についてはGTKのテキスト背景色を使う。ダークテーマだとテキスト背景色は黒に近いため、見えない。 変換するとシステムカラーになるため問題ないが…

結局、日本語テキストが多い場合は、meditを使う、というスタイルに戻ることになりそうだ。

マウスカーソルテーマでLCDテーマに青がないため、黒を使っているがテキストエリアでロストすることがちらほらあるのも残念。

壊れたシステムの修復のためのManjaro 0.8.13インストール

update-grubできない問題は根が深く、様々なところで訊いてはみたものの、結局答えが出ない。

Manjaro 0.8.13について

Manjaro Linuxは0.9.0リリースを控えていたが、新インストーラのCalamaresのバグがなかなか解消できず、結局0.8.12でCalamaresを採用したものの、インストーラをThusに戻した0.8.13をリリースするに至った。

Manjaro Linuxの日本語を一手に引き受け、Manjaro JPも開発するrago1975さんによれば、0.9.0のThusインストーラバージョン的なものだとという。

実際にそのように感じる。というのは、XFceはGTK3を採用する4.12、KDEはPlasma5なので、デスクトップが別物になっている。 XFce版だとDMも完全に別物となっており(もしかしたらMDMから差し替えられたのかもしれないが)、雰囲気はがらっと変わった。

XFceは0.8.12でも4.12の開発版である4.11を採用しており、現行のManjaroテーマも既に採用されていたため、0.8.12からの目新しさは特にない。 とはいえ、それまでの0.8.11からすれば劇的に変わり、垢抜けないデザインが特徴だったXFceもぐっとスタイリッシュになった。0.8.12と比べてもやはり部分的に見た目も変更されている。

アップデートでは見た目に関する部分は変わらないため、「見た目が変わった」というのは、入れ替える動機にもなるかとは思うが(Plasma4がPlasma5に置き換えられるのは当面先だろうから、入れ替えはかなり大変だと思う)、今回はThusの改良に非常に力が入れられていた。

まず、Thusインストーラの起動はすごく速くなった。これまでは、忘れた頃に起動する勢いだったが、すぐに起動するようになった。

Thusは手動パーティショニングをしてもLUKSの利用ができるようになったはずだが、それについては今回試していない。

LUKSパスフレーズについては、「特殊な文字を使うな」という注意書きが増えた。「LUKSパスフレーズに記号を含めると復号化できなくなる」という問題に対応したのか。

またブートローダーはGRUB2とGummibootを選択できるようになった。しかし、Gummibootを選択するとブートローダーはインストールされない。 また、Gummibootを選択した場合、ブートできない可能性があるのでウェブサイトを見るかと聞かれる。

Thusはかなり改善されたことを感じられる。

また、0.8.11まではUEFIでインストールしても第1パーティションにGRUB_BOOTを切っていたが、これをやめて3パーティション構成になった(ESP, BOOT, LVM)。Gummibootにすると、2パーティションになる。

Gummibootにきちんと対応してくれると嬉しかったのだが…

なお、Manjaro 0.8.11をそのままにしてインストールすると、GRUB2でも起動しなかった。 事前にGPTを作成しておくことで無事に起動できた。

ただし、UEFIブートメニューに謎の無効な空欄エントリがあるということは変わらない。

導入しようにも…

しかし、Alternative HDD (500GB)に入れても、そこで構築してSSDに移す、というのはかなり大変な作業になる。SSDのほうが小さいからだ。

かといって、環境をイチから作るのに、現行の環境を潰してしまうと、だいぶ長く仕事ができなくなってしまう可能性がある。

散々悩んだ挙句、結局はSSDをもう1台追加することにした。 ケーブルも併せてだいたい12000円の出費。なかなか痛い。 だが、仕事を見通しが立たないまま止めるわけにもいかないし、かといって更新できない状態でも放置できないので、やむなしか。

ケーブルはAmazonで、SSDはNTT-Xで購入。NTT-Xは仕事でも使えるようなので、これからかなりお世話になることになるだろう。

ケーブルは当日、SSDは翌日に到着した。

インストール作業

インストール

まずは単純に、SSDを組み込んで元のSSDとAlternative HDDを外し、予めGPTを作成した上でThusインストーラでインストールする。

UEFIでLVM, LUKS, /home分割はon, GRUB2を選択、なお起動時にはnomodesetnokmsbootオプションが必要。

ただし、インストール後はnomodeset及びnokmsbootは必要なかった。

基本セッティング

まずはworldencmountの必要なファイルをtarで展開する。これでbtrfsボリュームのマウントが可能になる。

そしてzshのインストール。 なお、zsh-configについてはかなり癖がある設定の上に、手元の.zshrcで設定できなくなるので私は好まない。

これでマウントできるようになったら、btrfsをroでマウントし、最低限のファイルをコピーする。主要な設定ファイルは

cp ~/share/manjaro-home-transition/*(#q@) .

で以降できる。データ本体は~/shareにあるため、データの以降は必要ない。

日本語フォントはあるが、日本語入力ができない状態でスタートするため、とりあえず

yaourt -S fcitx-mozc-ut

インストール前にPKGBUILDをいじってニコと英語dicを有効にしてインストール。 ただし、googlecode.comのIPv6問題があるため、その前に

yaourt -S dnsutils

してdigを使えるようにし、

dig japanese-usage-dictionary.googlecode.com

して/etc/hostsにIPv4で決め打ちする。

私のプログラムは多くがRubyを使うため、Rubyも設定しておく必要がある。 これは次の方法で行う。元々

pacman -Q > pacman-q

としてあり、ここから

grep -F ruby pacman-q | cut -d " " -f 1 > rubypkg

として抽出。このうちインストール済みのものは必要ないので、

pacman -Q | cut -d " " -f 1 > pacman-qq

と現状のものを取得し

cat pacman-qq pacman-qq rubypkg | sort | uniq -u > target-ruby

とする。あとは

yaourt -S $(cat target-ruby)

でOKだ。

同様の方法でTTFファイルもインストール。

また、EncFSをコアに入れているので、EncFSをインストール。

yaourt -S encfs

また、nemoはテンプレートディレクトリにシンボリックリンクを許容するが、Thunarはしないので、シンボリックリンクをやめて、コピーに

rm template
cp -R share/template .

さらに、エスケープしたfstabをベースにfstabを修正する。 その前にVIもVimもなくて混乱するため(例えばvipwはあるのに、vipwはできない)、インストールしておく。

yaourt -S gvim vi

とりあえずエディタはmousepadが使える。とりあえずはmousepadで修正しリブート。

日本語周り

fcitx-mozc-utだけ入れたが、それさえ入っていなかった。 そして、日本語周りはManjaro JPベースではないため、それなりに複雑だ。

まず、fcitx-mozc-utがベースになるので、それをインストール。

yaourt -S fcitx-mozc-ut

各ツールキットに対して入力するためのパッケージと、設定のためのパッケージも導入

yaourt -S fcitx-gtk2 fcitx-gtk3 fcitx-qt4 fcitx-qt5 fcitxconftool

これだけでは入力できないため、~/.xprofileに追記

export GTK_IM_MODULE=fcitx
export GTK2_IM_MODULE=fcitx
export GTK3_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
export DefaultIMModule=fcitx
export PATH=/home/aki/bin:$PATH

$PATHは別件だが、ついでに書いておいた。XMODIFIERSXMODIFERSと書いており、LINEやSkypeに対して日本語入力できないという問題が発生して若干ハマった。

なお、さらに後ほど突如としてGTKアプリケーションに対してfcitxが有効にならず、

gtk-query-immodules-2.0 --update-cache 
gtk-query-immodules-3.0 --update-cache 

しても直らず、結局両パッケージをアンインストールした上で再インストールしたら直った、などということもあった。

そして再起動。

パッケージインストール part1

先にいくつか使われるのがわかっている~/.config以下のファイルをコピーしておく。 .config以下はそのままシンボリックリンクに変換できないからだ。

cp ~/share/manjaro-home-transition/.config/usr-dir* .config/
cp -R ~/share/manjaro-home-transition/.config/opera-developer .config/
cp -R ~/share/manjaro-home-transition/.config/tasque .config/
cp -R ~/share/manjaro-home-transition/.config/fontconfig .config/

そして次のパッケージをインストールしていく。

  • ctags
  • leafpad
  • medit
  • geany, geany-plugins
  • smplayer, smplayer-themes, smplayer-skins
  • opera-developer
  • linux405
  • infinality*
  • wine
  • plasma
  • kde-applications
  • kopete

Wine * LINEで文字が非常に汚い、という問題があったが、いつの間にか直った。

KDE5関連はplasmaパッケージで、kde-applicationと合わせるとかなりの部分がインストールされる。

kopeteのファイルは~/.kde4以下にあるので、これをコピーする。

cp -R ~/share/manjaro-home-transition/.kde4/share/apps/koepte ~/.kde4/share/apps/
cp  ~/share/manjaro-home-transition/.kde4/share/config/kopeterc ~/.kde4/share/config

KDE5

KDE5は、KDE4よりもさらにスタイリッシュにはなったが、スマホっぽいふらっとUIになり、洗練されたがいかにも重量級な「すごい演出」は損なわれた。

また、非常に多くの機能が未実装だ。

マルチディスプレイの対応についてはkscreenパッケージで対応できるが、細かく設定ができない。 Catalystで設定することはできるが、永続しない。

また、systrayが未実装(!)。libappindicatorとsni-qtを使えばいけるような話なのだが、実際はいくつかのアプリケーションがこれでもsystrayに入らない。

相変わらずKDEで設定が効かない部分があるので、

  • kde-gtk-config
  • kcm-gtk

を導入、さらにqtconfig-qt4を使って設定する。

悪くはないけれど、KDE4から乗り換えるには早いか。 アニメーションはKDE5のほうがパワーアップしているが、KDE4よりも良いかと言われると悩むところ。 少なくとも、設定の問題でKDE4のほうが現状は良いと思う。

KDEとXFce

そして、KDEで設定するとXFceのUIが壊れたりするのでたちが悪い。 この設定はかなり難しいが、基本的には「設定マネージャー→外観」でテーマ設定してからgtk-theme-configで調整すれば良い。

ちょっとややこしいが、gtk-theme-configはextraに"gtk-theme-preferences"という名前でパッケージがあり、さらにAURに"gtk-theme-config"というパッケージもある。 恐らくは公式入りしたが、AURのパッケージ作者がメンテナになっているわけではないのだろう。

より細かく設定するならばxfce-theme-managerがあれば良いが、場合によってはより迷宮入りする。KDEといったり来たりすることになるだろう。

なお、一度XFceが起動不能になり、~/.config/xfce4を吹き飛ばして作りなおすはめになった。この場合、skelからコピーするのが近道。

パッケージインストールpart2

  • cinnamon
  • xsane
  • xfce4-theme-manager
  • fetchmail
  • spamassassin
  • razor
  • virtualbox*
  • tasque
  • skype, skype-call-recorder
  • openssh, sshfs
  • lv
  • w3m
  • nss-mdns
  • amarok
  • audacious, audacious-plugins
  • libcue
  • audacity
  • inkscape-gtk3-bzr

Inkscapeは猛烈に長い。

Zeroconfの設定は、これに加え/etc/nsswitch.confにmdns-minimalを書くこと。avahi-daemonは標準で起動。

Pandoc

相変わらずhaskell-pandocパッケージが入らないので

yaourt -S ghc cabal happy alex

してから

export PATH=$HOME/.cabal/bin
cabal update
cabal install pandoc

PDF出力用に…

yaourt -S texlive-core texlive-langcjk

うまくいった。

TODO

今わかっているのは、Spamassassinのsa_learnで学習したデータを持ち込んでいないこと。

あと、SOXもまだインストールしていない。 それ以外は恐らくは必要になったら足す形で、ゴミパッケージをなるべく増やさないようにするだろう。結局使えなかったものをためこんでしまったからだ。

また、英数キーを押すと問答無用でCapsLockになる、というトラブルも出ている。

Sabayon Linuxのセットアップ

Sabayon Linuxをインストールしたので、セットアップを行う。

日本語環境

まずは日本語周り。fcitx-anthyをいれれば入力は可能になるが、これだとQT/GTKアプリに入力できない。~/.xprofileの変更が必要だ。

# IME and non-roman fonts support
# see Sabayon bug #2518

export LANG=”ja_JP.UTF-8″
export XMODIFIERS=”@im=fcitx”
export XMODIFIER=”@im=fcitx”
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export DefaultIMModule=fcitx

これでだいたいはOKだが、このAnthy、extradicをひとつも持たないというなかなか恐ろしい代物だ。そして、どこになのかはわからないが、最新のAnthy9100h+fcitx+fcitx-anthy+kcm-fcitxだと設定時にAnthyのキーバインドがあらかた消滅する。その場合、標準設定にすればおおよそ復活するが、しょっちゅうしなくてはいけない。私はキーバインドを一部モディファイして使っているが、あまりいじると何度もすることになり大変だ。

Anthyをリビルドしてもいいのだが(私はAnthyが好きだ…ただし、Momonga Linux 5のuim-anthyの快適な入力環境についてだ。MageiaのAnthyもなかなかだったが、ManjaroのAnthy-UTはそうでもない(Modified Anthyである)。とりあえずAnthyをどうこうすると打てなくなる可能性があるので、Mozc追加を検討する。

fcitx-mozcはunofficialなGentoo Overlayであるgentoo-zhに含まれている。Sabayon LinuxはデフォルトでLaymanを持っているので、layman -Lで確認の上、layman -a gentoo-zhでインストール可能になる。

はずだった。だが、searchしてもヒットしない。ここから手探りのスタートだ。まずキャッシュを更新する。

# emerge -S
# layman -S

リポジトリを見るとfcitx-mozcをmozcに改名したよ、とある。mozcパッケージはibus用だと言ってくるが、fcitx-mozcを含んでいるということだろうか。

で、mozcをインストールしようとする(emerge mozc)と、automakeがないといっていきなりコケる。そして、さらに実行するとconfigでコケるが、gccがない(!)。gccをインストールすると今度はpygobjectがUSE_PYTHONなんちゃらかんちゃらでコケる。

よくよく読んでみると、よく分からなかったりするが、メッセージに従いwikiを見てみると、どうやら/etc/make.confに書くものらしい、ということがわかる。開いてみると、USE_PYTHON=”2.7″とありメッセージと異なるので、USE_PYTHON=”2.7 3.3″と変更。合わせてPYTHON_TARGETSについても変更しておく。

で、メッセージは変更したらpython-updaterを実行しろよ!とあるので、実行しておく。変更前は「することないよ!」と言ってきたが、変更後だと自動でemergeに走る。

一応、どうせいずれコケるだろうから、glibもインストールしておく。

今度はpythonの衝突(collision(s))だー!と言ってくる色々試したが直らない…と思ったら、どうやらgentooとsabayonの間で起きているらしい。というわけでpygobjectについてはequoでインストールしておくとあっさり通った。

が、mozcはibusに依存している。そのため、ibusを入れてしまうのだ。しかも、インストールが完了したが、fcitxから扱えない。

さらさに調べてみると…manifestを見ると、fcitxの文字を発見。あぁ、「USEフラグ」というやつか。

/usr/portage/package.useapp-i18n/mozc fcitxと書いておく。別にグローバルUSEにしても良い気がするが、とりあえずこの方法で試す。が、結果は同じだった。とりあえず、諦める。

あとは、jmanをインストールし、いくつかフォントをインストールしておくといいだろう。Sabayonに日本語フォントは含まれているが、さざなみなのであまりキレイではない。VLゴシックをいれるとかなり改善する。

ユーザー管理

Sabayon Linuxのユーザー管理は、uidは1000から振り、プライマリグループを持つ。usersグループは101だ。これは従来とは互換性がない。

一般ユーザーを追加し、そのユーザーの~/.kde4をコピーする。encfs上にあるため、encfsから取り出した後、rootでコピーしchown、となかなか手間になる。元はopenSUSEのもので、Mageiaとの間では互換性の問題があったが、うまくいった。ただし、壁紙は導入はされているものの適用されていない。ウィジェットは復元されない。また、KMailは受信設定だけが適用されていない。

この状態で気づくのが、インストーラで作成したユーザーはAkonadiがD-Busに登録されていないため、KDEPIMが動かない。一方、新規に作成したユーザーはいくら設定してもキーボードがUSになってしまう。

キーボードがUSになる問題は、キーボードレイアウトからUSを削除した上で(それでもUSになるが)、fcitxに日本語キーボードを追加することで対応。念の為setxkbmap -rules evdev -model jp106 -layout jp.xprofileに書き足しておく。

アプリの追加

メイン環境でないため、大量のアプリは入れずに対応したい。メインユーザーがKMailを使えないのでSylpheedを追加。また、Firefoxは公式binを導入し、Twitterクライアント(もうTwitterは終わりに近いのかもしれないが)はCorebirdを選択。単純な挙動だが、非常に便利だ。サブ環境には相応しい。

サブ環境としてCinnamonを入れたが、ログインできなかった。

ポイントになったのはPidginだ。知らなかったのだが、PidginのプロトコルとしてBonjourを選ぶとZeroconfを用いてチャットができる。この時のIDは好きに設定すれば良く(ただし同じマシン内で同時に使われるユーザーで重複してはいけない。まずないと思うが)、あとはZeroconfがいい感じに面倒を見てくれる。

この方法はLAN内に便利にチャットできるが、もちろん相手はリンクしていなくてはいけないし、Zeroconfを通すようになっていなくてはいけない。だが、LAN chatについて色々模索したのだが、これがイチバン確実かつスマートな方法だった。とりあえず今はラップトップとデスクトップのやりとりなので、この方法で支障はない。必要ならもうちょっと色々したほうがいいのかもしれないが、最も手っ取り早いのはXMPPサーバーを立てることだろう。

さらによく知らなかったのだが、実はfcitx、Unicodeを検索して入力する機能があるのだ。デフォルトではCtrl+Aly+Shift+Uというキーバインドになっており、検索はかなり高速で便利だ。TUT-Codeを使おうという気にはなかなかならないが、この機能なら簡単には打てない文字をさくさく入力できる。しかし、MageiaでできていたMeta+Spaceによる入力メソッド切り替えができないのが不便だ。

ウィンドウショッピング

Sabayonはデフォルトでかなりオシャレだ。というか、そこにイチバン力を入れているディストリビューションかもしれない(Sabayonの力点がそこであるという意味よりも、ここまでオシャレなディストリビューションはない気がする、という意味だ)。

デフォルトでテーマがいくつか導入されている。これを選ぶだけでかなり飾れるが、まずフォントを持ち込んでいつものようにfonts.confを書き、KDEのフォントを設定してフォントはできあがり。ちなみに、14.1inchのHDだとPPIは約112だった。

壁紙とスプラッシュ・スクリーンはKCMからインストール。アイコンテーマ、カラースキーム、ウィンドウの修飾とfcitxテーマはプリインストールを採用。それでもしっかりcoolに仕上がった。従来、デスクトップがダークカラー、ラップトップがライトカラーだったが、今回逆になった。デスクトップが明るく、ラップトップが暗い。ちなみに、ひとりで長時間作業しているコンピュータに極端なダークカラーを採用していると気分が落ち込んでくるのであまりオススメできない。見やすいし、疲れにくいが。

e440-sabayon-ss0001
e440-sabayon-ss0002

MageiaからManjaroへ

Manjaroのセットアップ

Mageiaのパッケージ管理ツールのまずさというのが、「削除がうまくいかない」ことにある。Wineインストール時に一度選択して、その後選択解除するとごっそりパッケージを抜かれる。そして、もう一度選択しても抜くパッケージを選択してくれない。

わかっていたのにやってしまった。KDEやKDMなどがごっそり抜かれ、修復困難な状態に。動かない、ということはないのだが、グラフィカルスクリーンを立ち上げることができないため、諦めたほうが早い。

翌日(今日)がopenSUSE 13.2のリリースdayだったので、1日待ってopenSUSE 13.2にしようかとも思ったのだが、まずはManjaroに挑戦してみることにした。「あっ、やっちゃった」と思ってリブート前にManjaro Linux 0.8.10 XFce JPを焼いておいた。これは、以前のものからはちょっと更新されているほか、以前はライブCDの部屋のCinnamon日本語版だったが、今回はManjaro JPのものにした。

以前はGPGキーリングの問題が出てインストールできなくなってしまっていたが、今回はバージョンを上げて再チャレンジ。

しかし、以前のものはとりあえずXが落ちるところまではいくのだが、UEFIブートだとnomodeset, nokmsbootでもブートスプラッシュまで行かない。USBからのブート(BIOS)なら行くし、Xが落ちる。しかし、オプションなしではシステムが落ちる。

UEFIの場合、グラフィックタイプ別のmodeset設定がされており、それを消せばnoXまでは行く。しかし、CUI testingインストーラではいまいちうまくインストールできない。CUI stableインストーラでBIOSブート、というのも悔しいのでいろいろ試していると、nokmsboot+nomodeset+non-free driversでいける、ということがわかった。これであればライブ起動するため、「普通に」インストールできる。

「普通に」UEFIブートでGPT使ってインストールしたところ、UEFIのブートメニューにmanjaroという項目が登場する。これであとは起動時にブートオプションをつけることを忘れなければ(eキーでeditし、linuxの行にnomodeset,nokmsbootの2項目を追加)普通に起動できる。が、アップデートできない(!)

gnupg cannot locally signのエラーが出るのだ。これは以前と同じ問題。ここで躓いてしまうと諦めるしかない。調べると、答えが載っていた!(以前はなかった)

Manjaroフォーラムの情報に従い

# mv /etc/pacman.d/gnupg /etc/pacman.d/gnupgold
# pacman-key --init
# pacman-key --populate archlinux manjaro
# pacman-key --refresh

とすることで進む(–initはかなり時間がかかる)。が、やはり検証できない鍵があり、アップデートに失敗する。

ネットランナーの記事を参考に

# sudo pacman-key -r 604F8BA2
# sudo pacman-key --lsign-key 604F8BA2
# sudo pacman-key -r AC97B894
# sudo pacman-key --lsign-key AC97B894

とすると通った。

あとは以前の通り、Forumの情報にしたがって

# pacman -Syu
# aticonfig --initial
# mhwd-kernel -i linux314

でいける。314でなくても良い気もするが、とりあえず314にしておいた。これでCatalystで起動してくれる。

Manjaroは比較的豊富なパッケージを導入している。encfs, ecryptfs, btrfs, LVMなども最初から入れており、比較的難なく継続利用することができる。

ただし、UIDが1000、GID(users)が100を割り当てるため、互換性に乏しい。ここは統一ルールとして

  • 一般ユーザーのUIDは1000から始める
  • usersグループのGIDは500にする

というルールを設けてvipw及びvigrで編集する。

さらにホールディレクトリの設定は不十分だったので、これも改善しておく。基本的に共有される部分が~/shareにマウントされるサブボリュームであり、ホームディレクトリ直下で使われるものについてはシンボリックリンクで対応する。

home-aki-shareサブボリュームはすでに用意されているが、これまでhomeサブボリュームに自身のホームディレクトリが含まれていた。homeサブボリュームを新たに作り、従来のhomeサブボリュームは「Mageiaのhome」と理解する。また、統一ルールのため、従来のshareサブボリュームについては、chown -R aki:users /mnt/4することで修正する。もちろん、「Mageiaのhome」に未整理のまま取り残されているファイルも存在する。だが、ホーム直下に置き去りにすることはあまりないので影響は少ない、はずだ。こういう時のために~/home/share/jumbleディレクトリでも用意しておこうか。(本来はshare直下にそれをする予定だった)

基本的なものは揃っているが、zsh, git, ruby, sox, fetchmail, claws-mailがないためそのままでは動かない(vlcに関してはMageiaで作りこんだ仕様よりも気持ちよく動く)。これらをインストール。また、mikutterのためにはbundlerをインストールした上でbundleする必要がある。また、iron(SRWare iron)はライブラリがないため動かないし、ironはAURにもない。ただし、MaxthonやOpera developerはAURに存在する。

AURにはlvとnkfもあるので、これも導入しておく。

fontconfigに関してはlocal.confもUserconfも反映してくれない。優先度を99にしても反映されない。これについてはわからないのでpending.

次にオーディオ設定だが、デフォルトでpulseaudioに依存したシステムを組んでいるのでなかなかややこしい。pulseaudioを消すことはできるが、そうするとそのままでは鳴らないプログラムもあるかもしれない。

pulseaudioがなぜ嫌かというと、まぁ、強制的に16bit/48Khzにするからであり、音が悪いからなのだ。USBオーディオインターフェイスを使っている(24bit/92kHz)私としては「なんとももったいない」。ただし、実際はハイレゾ音源なんて制作以外で扱うことは滅多にないし、pulseaudioを外したところで快適なプレイヤーで再生する状況ではないので、わざわざpulseaudioをパージしなくても、どうしても聴きたい時だけalsaplayerだと思うが。

pulseaudioとはなにかというと、簡単に言えばオーディオドライバに対する高レベルAPI(サウンドサーバー)だ。pulseaudioを経由してesound, oss, alsaといったサウンドサーバー、サウンドドライバーから音を出すことができ、扱いやすく統一した取り扱いを提供する。つまり、プログラマ的、コンピュータ的な論理化、抽象化を提供するレイヤーというわけだ。もしかしたらpulseaudio-jackなんてものもあるかもしれない。だが、確実に鳴らすために16bit/48kHzに変換するし、そこで遅延が生じるし音も悪くなる、という。

ALSAでがんばってみたのだが、Audio4DJは4chあり、Cahnnel B(Headphone monitor)から出したいのだが、ALSAだとChannel Aから出てしまう。結局諦めて、pulseaudio-managerの設定でデバイスを設定(デバイスごとに出力チャンネルが選べるので、Amarok起動状態でAudio4DJのチャンネルをBにし、Amarokの出力をAudio4DJにする)することでAmarokでスピーカーが鳴らせるようになった。

AmarokはGstreamer backendでPulseaudio経由の設定でビルドされている。Xine backendのほうが音がいいのに…Pulseaudioの音はちょっと平べったいけれど、割とスムーズなのと、従来(AmarokでPhononがAudio4DJを出力デバイスにする)はフォーマットが異なる場合などに音が鳴らないままシークが進み、音がバグるトラブルがあったが、それがない。I doというmp3の音源はまともに再生できなかった、ということも解消された。遅延はあるにせよコントロールはしっかりしているので、必ずしも「音が悪い」とは言えないかもしれない。ちゃんと安定して演奏できることは大事だろう。「いい音で聴きたい音楽のみAmarokを使うことで確実にAudio4DJ+Sonyスピーカーから出て、他の音はlogicoolスピーカーから出る、という扱いの良さや意図した通り環境によらず鳴ってくれる点を含めてもしかしたら結構いいのかもしれない。

Manjaro XFce JPの使い心地

ManjaroはManjaro+Arch+AURのリポジトリを使う。AURのパッケージはかなり多く、UbuntuやopenSUSEに匹敵するパッケージがある。また、AURに集約されているため、レベルの高いユーザーの成果物がダイレクトに利用できるというのが非常に大きな魅力となっている。

ただし、もともとArchは最低限のパッケージを導入して使うものなので、それを色々入れて「初心者向け」にしていることの破綻はある。

まず、パッケージインストーラが「ひとつずつインストールを選択する」ことや、「最低限の依存パッケージをchoiceしようとする」ということがまず多くの、そして完成された高機能なソフトウェアシステムを求める人にとっては環境づくりのハードルが高いし、あまり色々いれるともともとあれもこれも入れて選択するような使い方を推奨していないのでトラブルの原因にもなる。「どのパッケージが必要か」分かっている人が余計なものは入れない方向で使うようにしないと機能しないシステムが出来上がりそうだ。

全体にはパッケージは早いがFedoraほどは早くない。それに、パッチ当てなどにあまり熱心でない(必要なら自分でやれ、というのもある)ので、性能や機能面で劣る場合もある。速さはあまりない。また、日本では人気はそれなりにあるが、日本語環境はかなり悪く(それでもMageiaよりはかなりマシだが)、パッケージやオプションが日本での使用に適さないこともある。Archは必要ならABSを使って調整するものなので、あまり余計なものを入れているといろいろ苦しい。

さらに、Japanese Fontを入れようとしたらAURにあるものはかなりがビルドに失敗する(理由は提示されない)ということもあるし、システムへの理解が足りない初心者には決して易しくない、と思う。それでいえばChakraのほうがいいのではないか。パッケージはかなり少ないし日本語は絶望的だが。

Manjaroの情報は少ないが、Forumに結構情報があるし、ベースのArchのwiki(極めて充実している)がほとんどそのまま適用できるため、総合的には情報はむしろ多い。configuration toolの類は少なく、Manjaroが調整を入れているパッケージはあまり多くない。Ubuntuもその点はあまり変わらないが、openSUSEのような「あまりわからなくてもなんとかなる」要素は希薄。

XFceはかなり進化していて、使い心地は非常に良い。のだが、細かな設定ができず使いにくい面もある。例えば、デスクトップのエッジでは4方向に(コーナーはない)最大化してくれるが、ワークスペースを使っていると、ワークスペースとつながっている部分はそのまま通り抜けてしまうようになっている。この点について、とおりぬけるかどうかの設定はない。Notify-sendの対応も悪くはないのだが、邪魔になることがある。また、KDEのようにテーマを容易に導入することもできない。

ファミリーアプリの貧弱さに関しては、最低限のインストールができるようになっているために、kateやgwenview, amarokなどを使うこともできる。ただし、この場合はkdelibがロードされるためメモリーは必要になる。とはいえパッケージでごちゃごちゃすることは回避できる。

KDEを使うこともできるが、使用するパッケージが多く依存関係も深いため、システムのメンテナンスはおそらくかなり大変になる。KDEは好きだが、そこまでするかどうかは悩みどころ。どちらかといえばAwesomeやXmonadを入れたほうがいいだろう。

XFceは使うことは想定した調整になっているが、システム音がないなど作りこまれているという感じではない。