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でインストールしようとするとシステムがフリーズする。要注意。

ThinkPad e440 * PCLOS

ラップトップはPCLinuxOSで運用しているのだが、いくつかの不具合に気づいていた。
修正しておいた。

フォント問題

Konsoleが適切なフォントで表示しない。

KonsoleはKDEのMonospaceフォントの設定に従うのだが、KDEのMonospaceフォントは好きなフォントを指定できない。
Monospaceフォントに任意のフォントを使いたいのであれば、Fontconfigでmonospaceフォントを明に指定するしかない。

しかし、多くの場合Konsoleはフォントの幅がおかしく、おかしなことになる。
カーソル位置と文字位置がずれてしまうのだ。

この点については、Monospaceフォントをmonospaceにし、さらにフォントを選ぶことで調整する。
それでもKonsoleはずれやすいので、素直にQTerminalあたりを使うほうがマシかもしれない。
最も良いterminalアプリはXFce Terminalだと思う。PCLOSでも使用可能だ。

また、いくつかのフォントで異常な表示になっていた。
Web上で散見されたので、Fontconfigでそのフォントを置き換える。

Touchpad Synaptics

タッチパッドを使ったスクロールが正常に機能していなかった。
twofinger scrollも相当回しまくらないと動かないし、Circular Scrollingに至っては30回ほど回して3行スクロールされるため話にならない。

KCM Touchpadでいくら調整してもまともにならなかった。結局、kcm_touchpadをアンインストールして、手動で調整することで解決した。
Touchpad-solutionを入れておくとベースになる設定を作りやすい。

Section "InputClass"
    Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        #Option  "Device"        "/dev/input/mouse0"
        Option  "Protocol"      "auto-dev"
        Option  "LeftEdge"      "1700"
        Option  "RightEdge"     "5300"
        Option  "TopEdge"       "1700"
        Option  "BottomEdge"    "4200"
        Option  "FingerLow"     "25"
        Option  "FingerHigh"    "45"
        Option  "MaxTapTime"    "180"
        Option  "MaxTapMove"    "220"
        Option  "VertScrollDelta" "-100"
        Option  "HorizScrollDelta" "-100"
        Option  "MinSpeed"      "0.20"
        Option  "MaxSpeed"      "1.00"
        Option  "AccelFactor" "0.15"
        Option  "SHMConfig"     "1"
        Option  "VertTwoFingerScroll"   "1"
        Option  "HorizTwoFingerScroll"  "1"
        Option  "VertEdgeScroll"        "0"
        Option  "HorizEdgeScroll"       "0"
        Option  "TapButton1"            "1"
        Option  "TapButton2"            "2"
        Option  "TapButton3"            "3"
        Option  "EmulateTwoFingerMinZ" "40"
        Option  "EmulateTwoFingerMinW" "8"
        Option  "RTCornerButton" "3"
        Option  "CircularScrolling" "on"
        Option  "CircScrollTrigger" "6"
        Option  "PalmDetect" "1"
        Option  "PalmMinWidth" "10"
        Option  "PalmMinZ" "200"
EndSection

ついでに自動起動でsyndaemon -t -k -i 2 -dして完了。
スムーズに動くようになった。Windows 10に合わせてナチュラルスクロール化している。

USB3.0

e440がUSB3.0だとかいうので、実際に試してみた。

USB3.0ペンドライブを左側奥に挿した場合

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 5: Dev 2, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
    |__ Port 7: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 12: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 12: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M

左側手前に挿した場合

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
    |__ Port 2: Dev 3, If 0, Class=Mass Storage, Driver=usb-storage, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
    |__ Port 7: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 12: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 12: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M

右側に挿した場合

/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/14p, 480M
    |__ Port 6: Dev 4, If 0, Class=Mass Storage, Driver=usb-storage, 480M
    |__ Port 7: Dev 2, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 7: Dev 2, If 1, Class=Wireless, Driver=btusb, 12M
    |__ Port 12: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 12: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
    |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M

つまり左がUSB3.0で右がUSB2.0。
さらに言えば、左側のUSB3.0はひとつのroot_hubで、USB2.0は3つ全部でひとつのroot_hub。

e440はUSBポートはすべて黒いので注意が必要。

ちなみに、これを調べるまでSDカードスロットが手前下方にあるとか知らなかった。
さらにBTがあることも知らなかった。ただ、BTはデバイスが見つからないので使えない。理由は分からない。

日本語入力

Gtk2アプリに大してUIMが機能しないという問題があり、gtk-query-immodulesでもどうしようもなかったので対応していた。

結局、develを含めて全UIMコンポーネントをインストールすることで解決した。
この過程でUIM appletが動作せず、uimを有効にできなくなってしまったが、再インストールで解決した。

uim-mozc-neologd-utというパッケージがあって

Uim 用 Mozc プラグイン (Mozc NEologd UT 用)
Uim で Mozc NEologd UT を使用するためのプラグインです。

※ インストール後はコンピューターを再起動してください。

とあり、UTが使えるようだ。
さすがTomcatさんというか、おかげで文字入力効率は大幅に向上した。しかし、Mozcではひらがな/カタカナキーが機能しないという問題がある。
普通はあまり気にしないよということかもしれないが、かな入力の一貫として私は全角英数入力のためにEisu-toggleを使っているので、ここで英数にした時にかなに戻ることが難しい。
そこで、無変換をひらがな/カタカナキーの代わりに使用するように変更した。

なお、アプレットはuim-applet-gtk-systray以外はAnthyで予測変換の候補が出ない。

Manjaro Linux 0.8.13 セットアップ (5) Z400編

はじめに

システム更新

$ sudo pacman -Syuu

Grub設定。nomodesetを入れる

$ sudo nano /etc/default/grub

最新カーネル

$ sudo mhwd-kernel -i linux42

ビデオカード

$ sudo mhwd-gpu --setgl nvidia

再起動。

パッケージインストレーション

  • nss-mdns
  • bind-tools
  • encfs
  • ctags
  • leafpad
  • zsh

ホスト設定を行う。

必要ならchsh

  • medit
  • geany
  • geany-plugins
  • smplayer
  • smplayer-themes
  • smplayer-skins
  • opera-developer
  • cinnamon
  • plasma
  • kde-applications
  • fcitx-kkc

X関係に問題が出るので、Zshでホームディレクトリ上で(多分、extended_globを伴って)

$ rm .[xX](^(profile))

入力関係の設定をしておく。

  • emacs
  • xsane
  • fetchmail
  • spamassassin
  • razor
  • tasque
  • skype
  • skype-call-recorder
  • openssh
  • sshfs

sshの設定

  • lv
  • w3m
  • amarok
  • audacious
  • audacious-plugins
  • libcue
  • audacity
  • sox
  • zsh
  • gtkhotkey
  • libgcrypt15
  • inkscape-gtk3-bzr
  • sylpheed
  • ttf-tahoma
  • fcitx-anthy
  • ttf-ricty
  • ttf-migmix
  • ttf-rounded-mplus
  • ttf-migu
  • ttf-sawarabi-gothic
  • ttf-hanazono
  • ttf-mikachan
  • ttf-sawarabi-mincho
  • ttf-mona
  • ttf-sazanami
  • ttf-monapo
  • ttf-kibitaki
  • ttf-mplus
  • ttf-ume
  • ttf-kochi-substitute
  • ttf-ohruri
  • ttf-vlgothic
  • ttf-koruri
  • ttf-vlkoruri

Infinality, Java, Mozc-UTは猛烈に時間がかかる。

  • cairo-infinality
  • fontconfig-infinality
  • freetype-infinality
  • jre8-openjdk-infinality
  • fcitx-mozc-ut

続き

  • kde-gtk-config
  • ttf-tahoma
  • bundler
  • fcitx-anthy

    nVidia向けのビデオ関連。

  • libva-vdpau-driver
  • gst-vaapi

続き

  • gtk-theme-preference
  • font-manager
  • gtk-chtheme
  • alsaplay
  • gedit
  • gedit-code-assistance
  • gedit-plugins
  • evince
  • gnome-terminal
  • tomboy
  • mcomix
  • gnome-screenshot

Gnome Screenshotは設定が必要

  • xlhtml
  • vivaldi

Vivldiは必要か??
Wine関連

  • wine
  • winetricks
  • twine
  • wine-mono
  • q4wineyaourt
  • wine_gecko

Haskell (for pandoc)

  • ghc
  • cabal-install
  • alex
  • happy
  • texlive-core
  • texlive-langcjk

続き

  • chromium-pepper-flash
  • dialog
  • perl-tk
  • psutils
  • ruby-kramdown
  • livestreamer

ウェブブラウザ。

  • midori
  • qupzilla
  • rekonq

続き

  • xnviewmp
  • nkf

Gtk+2テーマ関連

  • oxygen-gtk2
  • lib32-qtcurve-gtk2-1.8.18-1
  • lib32-qtcurve-qt4-1.8.18-1
  • lib32-qtcurve-utils-1.8.18-1
  • qtcurve-gtk2-1.8.18-3
  • qtcurve-qt4-1.8.18-3
  • qtcurve-qt5-1.8.18-3
  • qtcurve-utils-1.8.18-3

Gtkテーマ, Sylpheed, Leafpad

Gtk+2アプリケーションの中に、Gtkテーマを原因にSegmentation faultを起こす奴がいる。

SylpheedはGtk+2専用テーマでなければいけない。場合によってはフォールバックできるが、できない場合もある。フォールバックできる場合も起動時間が全く異なってくる。

そこで、Gtk+ 2専用のOxygen-Gtkにしたのだが、なんとLeafpadはOxygen-Gtkで動かない(!)

QtCurveが最も簡単に解決してくれるが、それも嫌なので、Leafpadだけは代替プログラムを書いた。

#!/bin/sh

export GTK2_RC_FILES=$HOME/lib/alt-gtkrc-2.0

exec leafpad

で、alt-gtkrc-2.0でQtCurveを指定している。

Gtk+2フルなテーマは

  • Clearlooks
  • Industrial
  • Mist
  • Redmond
  • ThinIce
  • Xfce-redmondxp
  • Xfce-kolors
  • Xfce-dawn
  • Xfce-dusk
  • Xfce-cadmium
  • Silver

もしかするとoxygen-gtk3-gitを入れるとダメかもしれない。

なお、Gtk3はCinnamonで、Gtk2はgtk-chthemeで設定。

文字入力設定

入力関係のため、~/.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

ログアウトしてログインしなおしたほうが良い。
gtk-query-immodules-*は必要なかった。

Gnome Screenshot

デフォルトの保存場所を変更する。

gsettings set org.gnome.gnome-screenshot auto-save-directory /path/to/directory

Maxthon

リポジトリ落ちしているので

$ git clone --depth=1 git://pkgbuild.com/aur-mirror.git
$ cd aur-mirror/maxthon-browser
$ makepkg
$ sudo pacman -U maxthon-browser-1.0.5.3-4-x86_64.pkg.tar.gz

英数キーでCaps Lockになる

Archのevdevがいうこときかなくなっているので、.xprofileあたりに

setxkbmap -model jp106 -layout jp

Pandoc

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

openSSH

$ sudo systemctl start sshd
$ sudo systemctl enable sshd

ホスト設定

MDNS (Zeroconf)

/etc/nsswitchhost項目にmdns_minimalを追加。filesよりも後に。

fcitx-mozc-utのために

/etc/hostsdig japanese-usage-dictionary.googlecode.comした結果に基づき、このホストをIPv4で決め打ち。

ビデオの設定

Quadro2000でのVDPAUについては、単純にnon-freeでインストールしていれば、有効になっている。
nvidia-utilsでOKだからだ。

VA-APIについては、libva-vdpau-driverをインストールし、環境変数$LIBVA_DRIVER_NAMEの値にvdpauをセットするようにすれば良い。
私は~/.xprofileに記載した。

Smplayerは「ビデオ」タブで出力ドライバーvdpauに、
パフォーマンスタブのハードウェアデコードvdpauにする。

VLCについては、ハードウェアアクセラレーションによるデコードX11のVA-APIビデオデコーダーに設定する。

Flashは/etc/adobe/mms.cfgのコメントアウトされているEnableLinuxHWVideoDecodeを有効にする。


追記

Conkyを触ってみたのだが、AMD APUで発生していた

  • execiしていると2回目から表示が消える
  • RSSが取れないことが多い

RSSがとれないというのは、RSSのエントリが表示されない状態になる。Conkyの組み込みrssの話だ。取れたかとれなかったかの状態は永続するが、取れないことが圧倒的に多く、5つのRSSをまとめている部分に関しては、何十回も起動・停止しなければ十分に表示できなかった。

また、Conkyの負担もかなり大きかったので、結局使用をやめていたけれど、Z400になってなんの問題もなくなった。

やはりLinuxにはQuadroだ。

壊れたシステムの修復のための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になる、というトラブルも出ている。

AURメーリングリストに投稿しました

Arch LinuxのAURリポジトリにあるfcitx-mozc-ut(とmozc-ut関連全般)がビルドできなくなっていた。日本語を使う人にとっては致命的な問題だ。

そこでその問題の解決を望んでAURのメーリングリストにビルドできないよ、ということを返すとsvnを手動で取るといいよ、とのお答え。せっかく答えていただいたので、自力解決に向けて試行錯誤を繰り返した。

かなり時間もかかったし、色々聞いてみたりもしたが、結局は次のことが重なっていたのだった。

  1. googlecode.comがIPv6でアクセスできない
  2. mzocdic-ut, edictが更新されており、ソースを取得できない
  3. Japanese Usage Dictionaryのrevision 0を要求しているが、revision 0はない

アクセスできてないんじゃない?hostしてみれば?という指摘を受けて気がついたのだが、これでIPv6でアクセスできていない(DNSはAAAAレコードを返してくるが、pingも通らない)そのため簡単な解決策として、/etc/hostsにIPv4アドレスのみを記述した。

しかし、Japanese Usage Dictionaryはrevision 0を要求しているので、これがないと拒否される。単純にrevision指定なしとするとrevision 10が取得されるので、指定なしでもいいと思ったのだが、010に変更。

それでSubversionのエラーはなくなるが、Mozcdic UTがNot fountになるのでサーバーからファイルリストを獲得すると、更新されファイル名が変わっている(日付が新しくなっている)。そのため、mozcdirとedictのアドレスを変更、当然チェックサムが通らず失敗するので、失敗したままそのソースファイルからsha512sumでチェックサムを取得してPKGBUILDを修正。

これで成功した。一応、それをパッチとして投稿した。反応はないが。とはいえ、Mozc-UTは日本人にとっては極めて重要だろう。