デフォルトのフォントの選ばれ方がおかしい

fonts.confは以下のようになっているのだが

    <?xml version='1.0'?>
    <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
    <fontconfig>
     <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>HannariMincho</string>
      </edit>
     </match>
     <match target="pattern">
      <test qual="any" name="family">
       <string>sans-serif</string>
      </test>
      <edit binding="strong" name="family" mode="assign">
       <string>Migu 1P</string>
      </edit>
     </match>
     <match target="pattern">
      <test qual="any" name="family">
       <string>sans</string>
      </test>
      <edit binding="strong" name="family" mode="assign">
       <string>Migu 1P</string>
      </edit>
     </match>
     <match target="pattern">
      <test qual="any" name="family">
       <string>monospace</string>
      </test>
      <edit binding="strong" name="family" mode="assign">
       <string>Ricty Discord</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>sans-serif</string>
      </edit>
     </match>
     <dir>~/.fonts</dir>
    </fontconfig>

なぜか、明示されていないフォントはラノベPOPになってしまう。
これはいくらなんでも可読性が低すぎるため、ラノベPOPのフォントファイルをリネームして後ろに回したところ、梅ゴシックになった。
しかし、依然としてボールドには梅ゴシックが使われる。

さらに、Skypeでは途中でフォントが変わったり、まぁ猛烈に読みづらい状態だ。

意味不明なことに、not_eqappend_lastしている部分は、

     <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="assign" binding="same">
       <string>sans-serif</string>
      </edit>
     </match>

とすると、今まで正しく表示されていたアプリケーションメニューが梅ゴシックになり、依然としてfc-matchすると梅ゴシックが返る。

このbindingをstrongにしても結果は同じ、weekだと単に無視される。

この問題には長く悩まされていたが、sans-serifでなく、実体(例えばMigu 1P)を指定すると反映された。

だが、CinnamonのUIについては改善せず、これは~/.theme/<theme>/cinnamon/cinnamon.cssstage要素に対して指定されているものを変更する必要があった。

sans-serifを指定して動かない理由はわからず、その際の挙動についても理解に苦しむが、とりあえずここまで。

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 Linux 0.8.13 setup (4)

インストールパッケージ

  • tegaki-models-zinnia-japanese
  • tegaki-recognize
  • tegaki-models-wagomu-japanese
  • tegaki-tools
  • tegaki-train
  • libsidplayfp
  • vice
  • man-pages-ja
  • ngrep
  • qlivestreamer-git
  • python-librtmp
  • nkf

tegaki系パッケージは、Mozcの手書き機能のため。 ただし、 ウィンドウを黒にしているためか、書いたところがまったく見えない。

man-pages-jaは日本語manpageのためのパッケージ。

ngrepはHTTP解析のために入れた。

qlivestreamerについてはあまり語らない。 Ustream関連で最も良い選択肢だと思われた。MPlayerの--dump-streamという方法もあるが、素直にCLIで。

なお、python-librtmpがないとモバイル用しか視聴できない模様。

nkfは入れ忘れ。 MailDeliver2が要求しなくなったので気づかなかった。

nkfをいれたのはberryjackのため。結構単純だが、Linuxで確実に機能するTwitterの画像に関するツールだ。 高速で、非常に良い。

Btrfsの破損

システムが急にフリーズをくりかえし、ガクガクしはじめたので再起動したところ、 ユーザーデータ用のファイルシステム(btrfs)がマウントできなくなった。

また、起動時がなぜかPlymothに以降するまでが遅い。

考えられる可能性としては

  • システムディスク
  • システムファイルシステム
  • データディスク(btrfsを構成する4台のいずれか)
  • dm-cryptデバイス
  • btrfs

のいずれか。

問題を切り分ける必要があったため、まずは確実に再現することを確認し、データディスクを切り離し、単一ディスクで起動した。 結果、正常に起動した。

なお、こうした理由も含めて、データディスクはsystemdユニットではマウントしていない。

その上で、LiveDVDでブートし、dm-crypt plainによる復号化とデバイスへのアクセスが可能であることを確認。 また、ファイルシステムに対する操作を行おうとするとフリーズすることも確認した。 なお、フリーズするとデバイスビジーになるため終了もできない。

通常のシステムを起動して、復号化までで留め、

btrfsck /dev/mapper/CRYPTDEVICE1

ずらずらーっとエラーが出る。updateどうちゃらとか。 だが、最終的にはエラーは0とリポートされる。

続いて

btrfsck --repair /dev/mapper/CRYPTDEVICE1

しかし、エラーが発見されなかった以上修正もされない。 だが、先ほどずらずらっと出たエラーは出なくなり、また正常に動作するようにもなった。 scrubしても0errorsだった。

btrfsは障害が発生した時に、障害が発生したことを通知できるようにできないものだろうか。 フリーズしたり機能しないなど、調査が大変だ。

先日のエントリでのメール処理

割と単純

メールアドレスのマスク

for i in tmp/ab-0*
do
sed -e -i 's/\w[a-zA-Z0-9_-]*@/*@/g' "$i"
done

PGPシグネチャの除去(メールアドレス対策)

for i in tmp/ab-0*
do
sed -e '/-----BEGIN PGP SIGNA/,/-----END/d' "$i"
done

Markdownのcodeblock化

for i in tmp/ab-0*
do
sed -i -e 's/.*/\t&/' "$i"
done

ちなみに、SylphhedはPGP-Inlineをメールに対して選択できないので

gpg --clearsign --local-user ADDRESS

して署名。

SpamAssassin

umask000で実行するようにしないとダメらしい。

ディレクトリやファイルはrootで作るが、アクセスは一般ユーザーで行うため。

Mikutterの効果音

ALSAであれPulseAudioであれ、内部ではaplayを使っているため、 使用するファイルはPCM(.wav)でなければ盛大なノイズになる。

第一カラムの数字を数値として合計する

簡易帳簿の計算のために用いた

puts ARGF.each.inject(0) {|sum, x| sum + (x.split(/\s+/).first.to_i) }

ffmpegで切り出し

例えば

ffmpeg -ss 420 -i source.mov -vcodec libx264 -t 360 -strict -2 -crf 32 dest.mp4

のように行う。

-ssオプションで開始秒数、-tオプションで切り出す長さの秒数を指定する。 -iオプションよりも手前に-ssを置くことで所要時間を大幅に短縮できるが、正しく切り出せない場合がある。しかし、copyではなく、明示して再エンコードすることで解決するという。

Xがおかしい

Manjaro Stable 2015-07-14を適用したところ、ログイン時にXFceが起動するようになった。 しかもそれだけではなく、「XFceが起動し、ログアウトすると選択したデスクトップ環境が起動する」というわけのわからない状態になった。

lightdmやX関連スクリプトを見たのだが、原因になるようなものは見当たらない。

結局、どうもユーザーコンフィグ関連がおかしくなっていたようで、

rm ~/.x* ~/.X*

で直った。

Manjaro Linux 0.8.13 setup (3)

"インストール作業"

  • libaacplus
  • evince
  • gedit
  • gedit-plugins
  • gedit-core-assistance
  • ggjs
  • libgit2-glib
  • flashplayer-standalone
  • cnijfilter-mp620
  • xfce4-goodies
  • purple-line
  • wireshark
  • dconf-editor
  • expect
  • firefox-aurora
  • gstreamer-vaapi
  • libvdpau-va-gl

ビデオ関連と、あとはこれまで使っていて欠如しているものを足した。

firefox-auroraはFlashのOut Of Dateに対応したもの。xfce4-goodiesは中途半端に入っていた。

expectはmkpasswdコマンドのためにある。

ビデオプレイヤーの設定

ビデオのパフォーマンスが非常に悪い。 しかも、えらいCPU大食いなので、調べてみたら、ビデオ再生は無条件にGPUを使う、わけではないようだ。

なお、ビデオカードはAMD A10-7700Kで、AMD Radeon R7ということになる。

VLC

環境設定→入力/コーデック→ハードウェアアクセラレーションによるデコード

がある。だが、VDPAUでもDRM経由のVA-APIでも「開けない」と言われてしまう。なぜかnvidiaドライバーを開こうとしたりしている。

X11のVA-APIならば、ただしくAMD用ドライバーで再生するが、フリーズしたり、盛大なブロックノイズなどが頻発する。

Smplayer

VLCよりも快適な再生ができているSMPlayerは、

環境設定→ビデオ→出力ドライバー

で設定できる。色々あるが、とりあえずgl (高速 - ATI カード)を選択することで改善された。

また、「パフォーマンス」の項目にDecodingがあり、Hardware decodingを選択(vaapiにした)することでハードウェアアクセラレーションが利用可能なようだ。

fetchmailが止まる

fetchmailが受信中に停止。 SIGINTで中断して再開するも止まってしまう。

試してみると、特定サーバーで止まる。 そのサーバーより前に記述されているサーバーは正常に処理される。

どうやら、特定メッセージの受信で止まってしまうらしい。 調べたが、あまり有用な情報はなかった。 IMAPでそのメールを除去すると正常に動作するようになった。

この問題は2回目。

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テーマに青がないため、黒を使っているがテキストエリアでロストすることがちらほらあるのも残念。

Windowsのセットアップ

問題点

WindowsUpdateでコケてまともに起動しなくなったWindowsをリカバリし、まっさらにした。

だが、やはりWindowsUpadteでコケる。かなり慎重に行ったが、それでもコケる。

updateを終了してリブートすると15%まで進行したあと数時間停止、 その後ようやく再起動して構成して再起動(これもかなり長い。ステージ)、5/5になっている。 構成して、構成に失敗したので戻すとして再起動、 そして戻すとして数時間にわたって待たされた後再起動。 そして構成を戻すとし、1回目はステージ5/5の35%から構成して、2回目はそのままログオン画面へ。

見てみると117個中97個、x64 based systemとある修正と、同じ記載のある.NET FrameWorkが全てコケている。2回実行したが、結果はこの通りだ。

そもそも、WindowsUpdateの最中に自動スリープするというのは相当おかしいし、 Update中のネットワーク断(うちではしょっちゅう起きる)や電源断も想定して叱るべきだろう。それでシステムが壊れる設計というのはイカれてる。

セットアップ

まぁ、もうUpdateは諦めよう。近く10が来るのだし。

まず、いつも通りTrueCrypt.chによるドライブ暗号化。

導入するソフトは順序はそれほどない。

カテゴリ ソフトウェア
ウェブ Cyberfox, Opera Developer, SRWare Iron
メール Opera Mail
Twitter TweetDeck, V2C
2ch V2C
エディタ UnEditor, SakuraEditor
マークダウンエディタ Markdown#Editor, HarooPad, CuteMarkEd
オーディオ AIMP
ビデオ VLC Media Player
マルチメディア Free Studio
IM Skype
IME Google日本語入力
アンチウィルス Avast!
アンインストーラ Geek Uninstall
ランチャ Launchy
SSHFS Win-SSHFS
端末 TeraTerm
VSパッチ UXThemePatcher

これはWindowsを単独で使う想定ではなく、なるべくサテライトとして、ここにデータをためずに使う想定だ。 だから、ソフトウェアもそれなりに絞っているし、データは主にsshfsを介する。

だが、これだけやるとWindowsでも結構使えるようになる。

VSとフォント

ビジュアルスタイルに関しては、FunkVSを使用したのだが、フォントがかなり多岐に渡って変更される。この影響は大きく、「どこの部品にどこで定義されたフォントが使われるか」ということも変更されるらしい。

色とデザインの詳細から設定できない部分のフォントに日本語でないフォントを設定されてしまい、Operaではアドレスバーとタブに日本語が表示されなくなった。豆腐になる。

Funkはかなり気に入っていたのだが(特にサブメニューが網掛けで表示されるのは凝っている)、この問題は様々なところに影響を及ぼすため、Skylim VSに変更した。

加えてWindows7 Start Orb Cahngerを使ってstart orbを変更していっちょできあがり。

もちろん、事前にフォントの導入は済ませてあり、またMacTypeも導入してある。壁紙やフォント設定も行った。