UbuntuTrusty

更新日時: 2014(平成26)年10月09日(木) 午後08時15分41秒

開発コード名: Trusty Tahr (信頼できるタール)

Sundry Tips
Installation Mediaを調べる
AccessのMDBファイルを参照する
英文スペルチェック
Trouble Shooting
ControlとCapsのスワップが効かない
印刷が文字化け
USB接続のiPhoneがマウントできない。
システムの再起動が必要です
Cairo-Dockのアイコンを変更
Gtk-Message
ワークスペースの問題
インストール
Unityとの決別
インストール直後の確認や設定
ハードウェア
ATOK X3
Emacs
LaTeX
R
NetLogo
pgRouting
tty-clock
CLIのプログレスバー
VMWareからVirtualBoxへ
Thesaurusアプリ
AntConc
SylFilter
ビデオカードのドライバ
プリンタ
スキャナ
現在の状況 2014年10月09日
余録
不要なアプリの削除

Sundry Tips

Installation Mediaを調べる

$ cat /var/log/installer/media-info
Ubuntu 13.10 "Saucy Salamander" - Alpha amd64 (20130909)

AccessのMDBファイルを参照する

mdbファイルを取り扱う必要が出てきた。mdbファイルは、Access97-2003で使われる形式で、 3種類あるようだ(Access97形式、Access2000形式、Acess2002-2003形式)。 Access 2007以降はaccdbという拡張子らしい。 もちろんAccessなどないので、OSSを使って何とかする。 どうやら、LibreOfficeはWindows上でないとmdbファイルを扱えないらしい。 mdbtoolsをインストールする。

$ dpkg -L mdbtools |grep bin
/usr/bin
/usr/bin/mdb-ver
/usr/bin/mdb-export
/usr/bin/mdb-tables
/usr/bin/mdb-prop
/usr/bin/mdb-schema
/usr/bin/mdb-header
/usr/bin/mdb-sql
/usr/bin/mdb-parsecsv
/usr/bin/mdb-array
/usr/bin/mdb-hexdump

MDBファイルがJET3かJET4かを調べる。

$ mdb-ver Measles_2014.mdb
JET4

テーブル名を調べる。-1はlsの-1と同じ意味。-Sをつけるとシステムテーブルを表示する。 このシステムテーブルはバイナリっぽい感じだった。 システムテーブルが何を意味するのか理解していない。

$ mdb-tables -1 Measles_2014.mdb |tail -3
TBL_67
TBL_63
TBL_64

テーブルの変数名とデータ型を調べる。tableオプションをつけないと、 全てのテーブルについて出力する。

$ mdb-schema --table TBL_13 Measles_2014.mdb
-- ----------------------------------------------------------
-- MDB Tools - A library for reading MS Access database files
-- Copyright (C) 2000-2011 Brian Bruns and others.
-- Files in libmdb are licensed under LGPL and the utilities under
-- the GPL, see COPYING.LIB and COPYING files respectively.
-- Check out http://mdbtools.sourceforge.net
-- ----------------------------------------------------------

-- That file uses encoding UTF-8

CREATE TABLE [TBL_13]
 (
  [District]      Text (510),
  [VARNAME]     Text (100),
  [COUNT]     Double,
  [__SORT]      Long Integer,
  [_District]     Text (510)
);

CSVに出力するにはmdb-exportを使うようだ。

$ mdb-export Measles_2014.mdb TBL_13 |tail -3
"SAVALOU",":District:",2.0000000000000000e+00,25,"SAVALOU"
"SEGBANA",":District:",1.0000000000000000e+00,26,"SEGBANA"
"TORI-BOSSITO",":District:",4.0000000000000000e+00,27,"TORI-BOSSITO"

mdbtoolsはちゃんと使えるようだ。ありがたい。

英文スペルチェック

すぐに忘れるのでメモ。 British English+医学辞書でチェック。

$ hunspell -i utf-8 -d en_GB,en_MED -p $HOME/.hunspell_en_GB -t -r hoge.tex

$HOME/.hunspell_en_GBは個人辞書。 いちいち引っかかる日本の地名や人名、専門用語を入れている。 -tはTeXファイル用のオプション。 -rは希なスペルに警告を出してくれるらしいが、 実際に警告されたことがないのでその効果は不明。

リポジトリにあるhunspellの英語辞書では、下記の3つだけ。

$ apt-cache search hunspell-en+
hunspell-en-ca - hunspell 用カナダ英語辞書
hunspell-en-us - hunspell 用米国英語辞書
hunspell-en-med - English medical dictionary for hunspell

しかし、hunspell -D で利用可能な辞書の一覧が表示される。 なぜか、pagerで表示して標準出力に出ないので、適当なフィルタリングが出来ない。 仕方がないので、1行ずつ目視で確認すると、 /usr/share/myspell/dicts/en_GB (myspell-en-gb パッケージ)が見つかる。

米語から英語に切り替えると、"anymore"など英語にない米語の単語が引っかかって大変助かる。 ちなみに、英語では"any more"が正しい。

辞書は環境変数で指定できる。$HOME/.bashrcには次にように書いている。 つまり、基本は米語+医学用語でスペルチェック。

$ grep  Hunspell $HOME/.bashrc
export DICTIONARY=en_US,en_MED           # Hunspell用の設定
export WORDLIST=$HOME/.hunspell_default # Hunspell用の設定

Trouble Shooting

ControlとCapsのスワップが効かない

自宅のUbuntuマシンは安価なキーボードなのでaキーの隣がCtrlではなく、Cpas Lockになっている。 使いにくいので両者をgnomeレベルでswapしようとgsettingsで設定したが、 設定が有効にならずにはまった。有効にならないのは、 org.gnome.settings-daemon.plugins.keyboardスキームのactiveキーの値が、 falseになっていたから。まずはtrueにする。

$ gsettings set org.gnome.settings-daemon.plugins.keyboard active true
$ gsettings get org.gnome.settings-daemon.plugins.keyboard active
true

あとは、org.gnome.desktop.input-sourcesスキームのxkb-optionsキーに、 "['ctrl:swapcaps']"を代入するだけ。

$ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']"

ログアウトと再ログインして、有効になっているかどうか、確認する。

ちなみに下記のようにしても、 org.gnome.settings-daemon.plugins.keyboardスキームのactiveキーの値がtureであれば有効と思われる。

$ gsettings set org.gnome.libgnomekbd.keyboard options "['ctrl\tctrl:nocaps']"

このトラブルシューティングに時間がかかった原因の1つは、 org.gnome.settings-daemon.plugins.keyboard スキームのactiveキーの値をtureにしても、 CtrlとCaps Lockのスワップが出来なかったため、 これを原因から切り分けてしまったことだ。 今から振り返ると、 xkb-optionsキーとこのoptionsキーを同時に設定することにより、 スワップのスワップで元に戻っていたのだろう。 org.gnome.desktop.input-sources スキームのxkb-optionsキーだけを設定することにより、無事に解決した。

印刷が文字化け

たまに、PDFファイルを印刷すると、特に数式で文字化けすることがある。 Tux君が表示されたりして脱力する。

Evinceでの表示 印刷結果(EPSON LP-S820)

このPDFファイルをMacOSX(のPreview.app)で印刷すると正常に印刷された。 逆に、MacOSXで文字化けすることもある。その場合は、 Linuxから印刷すると正常に印刷できることもある。 仕組みや法則はよく分からない。 ちなみに、この文字化けしたPDFファイルの使用フォント状況は下記の通り。

$ pdffonts 1-s2.0-S002251931400263X-main.pdf
name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
HCBCOG+AdvOT863180fb                 Type 1C           WinAnsi          yes yes no     816  0
HCBCOH+AdvOTb92eb7df.I               Type 1C           WinAnsi          yes yes no     817  0
HCBCOI+AdvTA42                       Type 1C           WinAnsi          yes yes no     818  0
HCBCOJ+AdvOTc4d0b532                 Type 1C           WinAnsi          yes yes no     824  0
HCBCOK+AdvMacMthSyN                  Type 1C           Custom           yes yes yes    825  0
HCBCPL+AdvOT863180fb+fb              Type 1C           Custom           yes yes yes    831  0
HCBCPM+AdvOT863180fb+20              Type 1C           WinAnsi          yes yes no     841  0
HCBDAM+AdvOTb83ee1dd.B               Type 1C           WinAnsi          yes yes no     839  0
HCBDAN+AdvOT863180fb+03              Type 1C           Custom           yes yes yes    838  0
HCBDAO+AdvUnivers                    Type 1C           WinAnsi          yes yes no     847  0
HCBEFH+AdvOTb92eb7df.I+20            Type 1C           WinAnsi          yes yes no     525  0
HCBEHI+AdvOTdd3b7348.I+03            Type 1C           Custom           yes yes yes    536  0
HCBEHJ+AdvGulliverMath-I             Type 1C           WinAnsi          yes yes no     538  0
HCBEIJ+AdvMacMthIt                   Type 1C           WinAnsi          yes yes no     531  0
HCBEOI+TimesNewRomanPS-ItalicMT      Type 1C           WinAnsi          yes yes no     526  0
HCBFAI+ArialMT                       Type 1C           Custom           yes yes no     540  0
HCBFDI+AdvP4C4E46                    Type 1C           Custom           yes yes yes    550  0
HCBFEJ+AdvPi2                        Type 1C           WinAnsi          yes yes no     551  0
HCBFGJ+AdvP4C4E74                    Type 1C           WinAnsi          yes yes no     565  0
HCBFHK+AdvEls-ent6                   Type 1C           WinAnsi          yes yes no     545  0
HCBFIK+AdvMacopen                    Type 1C           WinAnsi          yes yes no     560  0
HCBFIL+AdvEls-ent4                   Type 1C           WinAnsi          yes yes no     561  0
HCBFML+AdvEls-ent5                   Type 1C           WinAnsi          yes yes no     554  0
HCBGAK+AdvPi1                        Type 1C           WinAnsi          yes yes no     566  0
HCBGBL+AdvTT2876772e+25              Type 1C           Custom           yes yes yes    568  0
HCBGCL+AdvOT8608a8d1+22              Type 1C           Custom           yes yes yes    569  0
HCDCKN+AdvOTb83ee1dd.B+fb            Type 1C           Custom           yes yes yes    575  0
HCFDBH+AdvOTb92eb7df.I+fb            Type 1C           Custom           yes yes yes    584  0
HCFDDH+AdvArial-b                    Type 1C           WinAnsi          yes yes no     585  0
HCFDDI+AdvMacMthRm                   Type 1C           WinAnsi          yes yes no     579  0
HCFEMA+SymbolMT                      Type 1C           Custom           yes yes yes    591  0
HCFHFB+AdvOT8608a8d1+20              Type 1C           WinAnsi          yes yes no     592  0
HCFLEK+AdvTT2876772e+23              Type 1C           Custom           yes yes yes    593  0
HCFLLI+AdvOT863180fb+01              Type 1C           Custom           yes yes no     594  0

全てのフォントが埋め込まれているので、原理的に文字化けするわけがないのだが。

USB接続のiPhoneがマウントできない。

UbuntuSaucyではiPhoneを正規のUSBケーブルで接続すると、USBメモリと同じ挙 動で問題なくマウントしていたが、Trustyでは「ディバイス"xxxxxのiPhone"は ロックされています。ディバイスのパスコードを入力し、"もう一度試す"をク リックしてください。」とアラートのダイヤログウインドウが表示される。 ボタンは「キャンセル」と「もう一度試す」。 パスコードの入力方法は不明。

まず、確認。

$ dpkg -l libimobiledevice4 |tail -1
ii  libimobiledevice4:amd64                   1.1.5+git20140313.bafe6a9e-0ubuntu1                 amd64        Library for communicating with the iPhone and iPod Touch

ライブラリは入っている。もしかしてiPhone側かもとおもい、iPhoneのロックを外すと、 「このコンピュータを信頼しますか」というダイヤログが。 「信頼します」を選択して、解決。

追記(2014年9月25日)

iOS8.0にバージョンを上げたところ、「信頼しますか」というダイヤログは表示されず、 そのまま、iPhoneをUbuntuにマウントできるようになった。

システムの再起動が必要です

再起動直後でも「システムの再起動が必要です」と表示される問題。 まず、仕組みを調べる。 update-notifier-commonがインストールされていると、 update-motd-reboot-requiredが、 /var/run/reboot-requiredの存在をチェックし、 存在する場合はその内容を表示している。

$ cat /usr/lib/update-notifier/update-motd-reboot-required
#!/bin/sh -e
#
# helper for update-motd

if [ -f /var/run/reboot-required ]; then
  cat /var/run/reboot-required
fi

再起動後は/var/run/reboot-requiredが消されるはずが、 消去に失敗しているため、いつまでたっても再起動を促すようである。

$ cat /var/run/reboot-required
 *** システムの再起動が必要です ***
$ cat /var/run/reboot-required.pkgs
gconf2
network-manager
linux-image-3.11.0-9-generic
linux-base
linux-image-extra-3.11.0-9-generic
[snip]
linux-image-extra-3.11.0-19-generic
linux-base
libc6
libc6
gconf2
dbus
gconf2
linux-image-3.13.0-24-generic
linux-base
linux-image-extra-3.13.0-24-generic
linux-base
network-manager
gconf2
gconf2
gconf2
$ cat /var/run/reboot-required.pkgs |wc -l
65

再起動直後なのに、65個もたまっている。 システムの再起動が必要なのは、上にある通りlibc6, dbusやカーネルで正しいのだが、 gconf2やnetwork-managerが含まれているのはおかしい。 部分的にデーモンを再起動させればよいのに、 システムをまるごと再起動させるなんてまるでWindowsではないか。 この/var/run/reboot-requiredと/var/run/reboot-required.pkgsを作成しているのは、 /usr/share/update-notifier/notify-reboot-requiredのようだ。

とりあえずの対症療法

$ sudo rm /var/run/reboot-required /var/run/reboot-required.pkgs

上記を実行した直後に、右上の電源アイコンが「再起動」から「電源ボタン」に変わった。 再び同じトラブルが起こるなら、抜本的な措置を行う。 cronに@rebootという指定方法があるらしいので、rc.localに書くよりも、こちらにするかも。

カーネルが3.13.0-24-generic #46から3.13.0-24-generic #47にアップデートしていた(2014年5月7日)。 いつも通りにカーネルを更新すると、この症状が再現した。恒久的な対策を行う。

$ sudo cp /etc/rc.local /etc/rc.local.orig
$ sudo vi /etc/rc.local

編集前のrc.localは、末尾にexit 0があるだけで、 実質的に空ファイルである。 編集後は下記の通り。exit 0を最後に持ってくることに注意する。

$ sed -e '/^#/d' -e '/^$/d' /etc/rc.local
if [ -f /var/run/reboot-required ]; then
 rm /var/run/reboot-required
fi
if [ -f /var/run/reboot-required.pkgs ]; then
 rm /var/run/reboot-required.pkgs
fi
exit 0

Cairo-Dockのアイコンを変更

厳密にはトラブルではないが、gnome-terminal (GNOME端末)のアイコンが、 デスクトップ表示のアイコンと紛らわしい。

GNOME端末 デスクトップ表示

gnome-terminalのアイコンをもっとターミナルエミュレータらしいアイコンに変更する。 Cairo-Dockに表示されているエントリの設定は、 $HOME/.config/cairo-dock/current_theme/launchers/配下にある。 gnome-terminalのエントリの実体は、01gnome-terminal.desktopらしい。 これを編集する。編集前の設定は下記のようになっていた。

$ grep -i Icon .config/cairo-dock/current_theme/launchers/01gnome-terminal.desktop
#F[Icon]
Icon=
#{If you chose to mix launcher and applications, this option will deactivate this behaviour for this launcher only. It can be useful for instance for a launcher that launches a script in a terminal, but you don't want it to steal the terminal's icon from the taskbar.}
Icon Type=0

編集前に表示されているアイコン(pngファイル)は、 /usr/share/icons/gnome/??x??/apps/gnome-terminal.png のようだ。16x16, 22x22, 24x24, 256x256, 32x32, 48x48のサイズが用意されている。

Icon Theme Specificationを参照すると、 アイコン画像の形式はsvgまたはpngであり、pngだときれいに表示するには、 各サイズをそろえる必要があるらしい。svgはsvgをサポートしている環境のみ有効らしい。 svgで検討する。現行のテーマでアイコン画像が見つからなかったときに、 必ず存在するhicolorというテーマを探しに行く仕組みになっているので、 hicolor配下に置くことが推奨されている。 従って、$HOME/.local/share/icons/hicolor/scalable/apps配下に置く。

Gtk-Message

Unity関連のパッケージをざっくり削除しているが、そのための副作用として、 たびたびGtk-Messageが表示される。

 Gtk-Message: Failed to load module "unity-gtk-module"

何かをするたびに毎回表示されて、目障りなのでこのメッセージを抑制する。 調べてみると、どうやら原因は環境変数GTK_MODULESで、UbuntuSaucyのときに、 自分で$HOME/.bashrcに設定したためらしい。 盗人を捕らえて見れば我が子なりだな。 設定を削除して解決(2014年5月2日)。

ワークスペースの問題

いつの間にか、ワークスペースが1つだけになっていた(2014年9月25日)ので、 これを左右上下2つずつで4つにする。まずは、設定キーを探して、現状を確認。

$ gsettings list-recursively |grep workspace |grep -v keybindings
org.gnome.shell.overrides dynamic-workspaces true
org.gnome.shell.overrides workspaces-only-on-primary true
org.gnome.shell.app-switcher current-workspace-only false
org.gnome.desktop.wm.preferences num-workspaces 4
org.gnome.desktop.wm.preferences workspace-names @as []
org.gnome.shell.window-switcher current-workspace-only true
org.gnome.shell.extensions.classic-overrides workspaces-only-on-primary true
org.gnome.mutter dynamic-workspaces false
org.gnome.mutter workspaces-only-on-primary false
org.compiz.integrated display-all-workspaces true

ワークスペースは4つになっている。 Cairo-Dockのスイッチャー2.0では、デスクトップスペースが1個だけ。 どうも、horizontal virtual sizeとvertical virtual sizeのキーが見つからない。 これがそれぞれ1になっているのではと予想。 とりあえず、未解決のまま放置。

インストール

今回はクリーンインストールではなく、 UbuntuSaucy (13.10)からのアップグレードインストールにする(2014年4月22日)。

$ do-release-upgrade

インストール済みのパッケージを全て再インストールしてくれたため、 かなりの時間を要したが、正常に終了した。 ネット界隈では、 インストーラに表示されるTahr(ヒマラヤ産ウシ科タール属の野生ヤギの総称)が怖いと評判であったが、 アップグレードインストールを行ったため(もしくはCLIで行ったため)、 見ることができなかった。

$ lsb_release -drc
Description:  Ubuntu 14.04 LTS
Release:  14.04
Codename: trusty

Unityとの決別

ATOK X3をインストールした後、 Unityがクラッシュして使い物にならない(後述)ので、xubuntu (Xfce4)など他のdesktopを試す。

$ sudo apt-get install xubuntu-desktop

驚いたことに、カーネルまで変えてくれてシャットダウンや起動時に、 Ubuntu 14.04ではなくXubuntu 14.04と表示するようになった。 lightdmで選択できるセッションは、Unity, Xfce4, Xubuntuの3択になった。 前回のログインがデフォルトで残るので、何も選択しなければUnityのままで、 そのまま何も考えずにログインすると、 壁紙や一部メニューがXubuntuになった状態でUnity+indicatorが共存したデスクトップが表示された。 Xubuntuの他にも、Cairo-dockを試してみた。こちらの方がしっくりくる。 Xubuntu関連のdebを全部削除して(カーネルは元に戻された)、gnomeを入れる。

$ sudo apt-get install ubuntu-gnome-desktop

ついでにlightdmも削除して、gdmに切り替える。 Xubuntu風になった安っぽいlightdmから、gdmに切り替わって使いやすくなった。 Unity関連のパッケージも全部削除した。Unityとお別れ。

右下にあるバーがATOK X3のパレット。 下端中央のDockはMacOSXと同じ操作感で、違和感がない。 これまで、壁紙は、VineやUbuntuではずっとデフォルトのままでずっと使ってきた。 壁紙なんて本質じゃないし、その変更なんて時間と労力の無駄だろうと思っていた。 でも、Trustyのデフォルトの壁紙は、折り紙を広げたようなデザインで、 何だか心理的安寧を乱される気がした。Xubuntuも色は変わるが、同じデザインだった。 Gnomeの方は、壁紙のデザインに別のポリシーがあるようで、 デフォルトでは上のような壁紙になっている。 こちらなら特に変更する必要は感じない。

さて、gnome-desktopを使った感想であるが、どのような言葉で表現すればよいか迷うが、 何だか「滑らか」という言葉が一番合いそうだ。 Unityと決別して、クラッシュの連発から解放され、 至極快適に安定した操作環境で満足している。 gnome-desktopはお薦めである。 特に、MacOSXを併用している人には、手になじむ感覚がする。

インストール直後の確認や設定

アップグレードインストールで勝手に変更された箇所を点検していく。

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
[snip]

時刻サーバの設定はそのまま残っていた。

$ gsettings get org.gnome.desktop.interface gtk-key-theme
'Emacs'

gtk-key-themeもEmacsになったままであった。 次に、アップグレードによって各ウインドウのスクロールがoverlayスクロールに戻されたので、 これを戻し返す。まずは、gsettingsで調べる。

$ gsettings list-recursively |grep scrollbar
org.gnome.desktop.interface ubuntu-overlay-scrollbars true
com.canonical.desktop.interface scrollbar-mode 'overlay-auto'

com.canonical.desktop.interface scrollbar-modeこの値をnormalにすると、 即時に設定が反映され、普通のスクロールバーに戻った。

$ gsettings set com.canonical.desktop.interface scrollbar-mode normal

グローバルメニューには戻らなかった。locateは普通に使えている。

Trustyの新機能として(1) フルディスク暗号化、(2) AppArmorの機能強化があるらしいが、 フルディスク暗号化は絶対に避けないと、ディスク障害やシステム障害の時に泣きを見る。 アップグレードインストールなので、勝手に暗号化されていないと信じたいが、 確認する方法を調べる。

vim

vimがvim-tinyに入れ替わっていた。 Emacianといえども、vimは必要。vimを入れる。 以前のvimにはtiny, large, fullとかいろいろと種類があったと思うが、 vim-tinyとvimの2択になっていた(GUI系やインターフェイスを除く)。

$ sudo apt-get install vim

LanguageToolの入れ直し

LanguageToolは文法チェッカー機能を含む外国語チェッカー。 希少な英文チェッカーとして利用する。 しかし、なんだかんだと言って、集中力を高めて自分の目で確認した方が正確で早い。 万が一の校正漏れを拾う役割。 LibreOfficeとEmacsの両方で使う。

なお、$HOME/.config/libreoffice配下にインストールされていたLanguageTool-1.5.oxtが、 アップグレードインストールで消されていた。

LanguageToolから、 stand-aloneを選んでLanguageTool-2.5.zip (69.5MB)をダウンロードする。 いつの間にか、ずいぶんとバージョンが進んでいる。 langtool.elもダウンロードして、$HOME/.emacs.d/lisp配下に置いておこうとしたが、 以前にダウンロードしたものがそこにあった。 内容は同一なのでそのまま使用。

$ unzip LanguageTool-2.5.zip
$ cd LanguageTool-2.5
$ java -jar languagetool-commandline.jar README.txt
No language specified, using English
Working on README.txt...
1.) Line 12, column 1, Rule ID: WHITESPACE_RULE
Message: Possible typo: you repeated a whitespace
[snip]
180.) Line 305, column 17, Rule ID: WHITESPACE_RULE
Message: Possible typo: you repeated a whitespace
Suggestion:
...pts in the source directory    en/resource/.
                                                ^^
Time: 2197ms for 116 sentences (52.8 sentences/sec)

とりあえず動作確認に、同梱のREADME.txtをチェックしてみたが、 180件も検出された。どれも「連続する空白」を検出したらしい。 なお、README.txtに書いてある動作条件には、 Java 7 or later (Oracle Java or IcedTea; GIJ is not supported) と書いてあるが、

$ update-alternatives --list java
/usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java

これで動作した。OpenJDKでもよかったのか。 インストール方法が不明だ。 とにかく、zipファイルの内容を$HOME/lib/java/LanguageTool配下に置くことにする。 $HOME/.emacs.d/init.elでコメントアウトされているlangtool.elを復活させる。

;;; grammer check
(require 'langtool)
(setq langtool-language-tool-jar "/home/hoge/lib/java//LanguageTool/languagetool-commandline.jar")
(global-set-key "\C-x4w" 'langtool-check-buffer)
(global-set-key "\C-x4W" 'langtool-check-done)
(global-set-key "\C-x4n" 'langtool-goto-next-error)
(global-set-key "\C-x4p" 'langtool-goto-previous-error)
(global-set-key "\C-x44" 'langtool-show-message-at-point)

langtool.elには、langtool-language-tool-jarの値をLanguageTool.jarにするように書かれているが、 languagetool-commandline.jarと読み替えて設定する。 試しに間違った英文法をチェックさせると、赤字表示になった。 Emacsの方はこれでOKだ。 $HOME/libは目障りなので、どこかに変更しよう。

ウインドウのボタン位置の変更

GNOME-Shellでは、ウインドウのボタンが右に位置するので使いにくい。 今まで通りに、左側にくるようにする。

gsettings set org.gnome.desktop.wm.preferences button-layout "close,minimize,maximize:"

Chromiumなど有効にならないアプリケーションもある。

apt-file

apt-fileが機能しなくなっていたが、データベースをアップデートして解決。

$ apt-file update
Downloading complete file http://jp.archive.ubuntu.com/ubuntu/dists/trusty/Contents-amd64.gz
[snip]
Ignoring source without Contents File:
  http://extras.ubuntu.com/ubuntu/dists/trusty/Contents-amd64.gz

ハードウェア

アップグレードインストールの後、UbuntuSaucyで使っていたものはそのまま使えている。

タッチバッド

ノートPCにUbuntu Trustyをクリーンインストールしてみた。 タッチバッドの右端のスクロールが効いていない。 現在の設定値を調べる。

$ gsettings list-recursively |grep touchpad
org.gnome.settings-daemon.peripherals.touchpad tap-to-click true
org.gnome.settings-daemon.peripherals.touchpad natural-scroll false
org.gnome.settings-daemon.peripherals.touchpad left-handed 'mouse'
org.gnome.settings-daemon.peripherals.touchpad scroll-method 'two-finger-scrolling'
org.gnome.settings-daemon.peripherals.touchpad motion-acceleration -1.0
org.gnome.settings-daemon.peripherals.touchpad horiz-scroll-enabled true
org.gnome.settings-daemon.peripherals.touchpad disable-while-typing true
org.gnome.settings-daemon.peripherals.touchpad motion-threshold -1
org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true

2本指スクロールが有効になっていた。これはとても便利だ。 右端スクロールはやめて、このままにする。 このままでは、MacOSXやiPhoneと逆向きにスクロールするので、 ナチュラルスクロールに変更する。非常に快適になった。

$ gsettings set org.gnome.settings-daemon.peripherals.touchpad natural-scroll true

念のために、右端スクロールの値を調べておく。

$ gsettings range org.gnome.settings-daemon.peripherals.touchpad scroll-method
enum
'disabled'
'edge-scrolling'
'two-finger-scrolling'

右端でスクロールする値はedge-scrollingらしい。

ATOK X3

ATOK X3は、Trustyへのアップグレードで使えなくなっていたので、 再インストールする。i396のライブラリ群は、アップグレードインストールでも、 全てインストールされていた。あと必要なのはim-switchのみ。

$ sudo apt-get install im-switch
以下のパッケージは「削除」されます:
  im-config language-selector-gnome ubuntu-desktop
[snip]

im-config、language-selector-gnome、ubuntu-desktopは特に不要であるため、 そのまま削除を選ぶ。 ATOK X3のインストーラに尋ねられるgtk-query-immodules-2.0gtk.immodulesの位置を確認しておく。 コピペしやすいように、別のgnome-terminalのウインドウで行う。 gtk.immodulesは、本来存在しないと思うが、 UbuntuSaucyにATOK X3をインストールしたときのものがそのまま残ったようだ。

$ find /usr -name gtk-query-immodules-2.0
/usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0
/usr/lib/i386-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0
$ find /usr -name gtk.immodules
/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules

ATOK X3のインストールCDを入れて、インストール開始。

$ LANG=C sudo bash setupatok_tar.sh
This software is furnished under an end user agreement and may be used
or copied only in accordance with the terms of such license.
If you accept the terms of the license agreement,Please select "Yes".
If you do not accept the terms of the license agreement,Please select "No".
? (yes/no)yes
Input path of gtk-query-immodules-2.0 for 32bit application:/usr/lib/i386-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0
Input path of gtk-query-immodules-2.0 for 64bit application:/usr/lib/x86_64-linux-gnu/libgtk2.0-0/gtk-query-immodules-2.0
Input path of gtk.immodules for 32bit application:/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
Input path of gtk.immodules for 64bit application:/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
tar xfz /media/$USER/ATOKX3/bin/tarball/IIIMF/iiimf-client-lib-trunk_r3104-js3.i386.tar.gz
tar xfz /media/$USER/ATOKX3/bin/tarball/IIIMF/iiimf-gtk-trunk_r3104-js3.i386.tar.gz
tar xfz /media/$USER/ATOKX3/bin/tarball/IIIMF/iiimf-protocol-lib-trunk_r3104-js3.i386.tar.gz
tar xfz /media/$USER/ATOKX3/bin/tarball/IIIMF/iiimf-server-trunk_r3104-js3.i386.tar.gz
tar xfz /media/$USER/ATOKX3/bin/tarball/IIIMF/iiimf-x-trunk_r3104-js3.i386.tar.gz
tar xfz /media/$USER/ATOKX3/bin/tarball/IIIMF/iiimf-client-lib-64-trunk_r3104-js3.x86_64.tar.gz
tar xfz /media/$USER/ATOKX3/bin/tarball/IIIMF/iiimf-gtk-64-trunk_r3104-js3.x86_64.tar.gz
tar xfz /media/$USER/ATOKX3/bin/tarball/IIIMF/iiimf-protocol-lib-64-trunk_r3104-js3.x86_64.tar.gz
"/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules" will be changed.
"/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules" will be changed.
Cannot load module /usr/lib/gtk-2.0/immodules/im-iiim.so: /usr/lib/gtk-2.0/immodules/im-iiim.so: wrong ELF class: ELFCLASS32
/usr/lib/gtk-2.0/immodules/im-iiim.so does not export GTK+ IM module API: /usr/lib/gtk-2.0/immodules/im-iiim.so: wrong ELF class: ELFCLASS32
tar xfz /media/$USER/ATOKX3/bin/tarball/ATOK/atokx-20.0-3.0.0.i386.tar.gz
tar xfz /media/$USER/ATOKX3/bin/tarball/ATOK/atokx-64-20.0-3.0.0.x86_64.tar.gz
Installation has been completed.

次に、ATOK X3のアップグレードやGTK+3.0に対応したiiimf.soを自動で入れてくれるありがたい update-atokx3-half.debに今回もお世話になる。UbuntuSaucyにATOK X3をインストールしたときに 使ったupdate-atokx3-half.debが残っていたので、そのまま使う。

$ sudo dpkg -i update-atokx3-half.deb
[snip]
/opt/atokx3/sample/setting_debian4.sh: 行 22: /usr/sbin/update-alternatives: そのようなファイルやディレクトリはありません
/opt/atokx3/sample/setting_debian4.sh: 行 23: /usr/sbin/update-alternatives: そのようなファイルやディレクトリはありません
Processing triggers for libgtk-3-0:amd64 (3.10.8-0ubuntu1) ...

最後のsetting_debian4.shの実行で失敗している。 Trustyでは、なんとupdate-alternativesは、 /usr/sbin配下ではなく/usr/bin配下にあった。 従って、setting_debian4.shの実行に失敗している部分を下記のように手動で実行する。

$ sudo /usr/bin/update-alternatives --install /etc/X11/xinit/xinput.d/ja_JP xinput-ja_JP /etc/X11/xinit/xinput.d/iiimf 90
$ sudo /usr/bin/update-alternatives --set xinput-ja_JP /etc/X11/xinit/xinput.d/iiimf

UbuntuSaucyで設定した$HOME/.config/autostart/atok.desktop はそのまま生きているので、 ログイン時に/opt/atokx3/bin/atokx3start.shが自動実行される。 これで再インストールと設定は終了。

ATOK X3は無事に、Trustyでも、機嫌良く使えている。 ATOKは、変換候補の同音異義語を選択する際に、数秒の迷いがあったら、 同音異義語の解説を表示してくれる。この機能も正しく表示された。 GTK+3アプリでも正常にATOKで漢字変換ができている。

UbuntuSaucyのSylpheedやEbViewでは、環境変数GTK_IM_MODULEをximとしないと、 ATOK X3で日本入力できなかったが、Trustyでは、iiimのままで特に問題なく日本語入力できている。

EmacsのIIIMECFでATOK X3も使えている。また、XIM経由も同時に使えている。

ATOK X3+IIIMECFの設定はinit.elに下記のように書いている。

;;; IIIMECF for ATOK X3
(load "~/.emacs.d/iiimf-client-el/iiimp.el")
(load "~/.emacs.d/iiimf-client-el/iiimcf.el")
(setq iiimcf-server-control-hostlist (list
          (concat "/tmp/.iiim-" (user-login-name) "/:0")))
(setq iiimcf-server-control-default-language "ja")
(setq iiimcf-server-control-default-input-method "atokx3")
(setq default-input-method 'iiim-server-control)
(load "~/.emacs.d/iiimf-client-el/iiimcf-sc.el")
;(require 'iiimcf-sc)
;(global-set-key [?\S-\ ] 'toggle-input-method)
(global-set-key [?\C-\ ] 'toggle-input-method)

iiim-properties

iiim-propertiesはATOK X3のインストールCDに、バイナリとして入っている。 iiimf-properties-trunk_r3104-js3.i386.tar.gzを展開して、 中を見てみる。 iiim-propertiesを動かそうと思ったが、依存ライブラリがとても面倒そうだ。

$ ldd ./usr/bin/iiim-properties |wc -l
71
$ ldd ./usr/bin/iiim-properties |grep "not found"
  libglade-2.0.so.0 => not found
  libgnomeui-2.so.0 => not found
  libbonoboui-2.so.0 => not found
  libgnomecanvas-2.so.0 => not found
  libgnome-2.so.0 => not found
  libpopt.so.0 => not found
  libart_lgpl_2.so.2 => not found
  libbonobo-2.so.0 => not found
  libgconf-2.so.4 => not found
  libgnomevfs-2.so.0 => not found
  libbonobo-activation.so.4 => not found
  libORBit-2.so.0 = > not found

71個の依存のうち12個のライブラリがない。 とりあえず、ソースの方をコンパイルする方針で考える。 configureが失敗する原因の依存ライブラリを特定して、 これらをインストールする。

$ sudo apt-get install libgnomeui-dev libglade2-dev libgconf2-dev

しかし、libiiimcf.laがないために、コンパイルに失敗する。 libiiimcf.laは手に入らないため、本格的に最初からコンパイルする必要がありそう。 ここに書かれた解説通りにコンパイルをすすめて、 iiim-propertiesをコンパイルする。 iiim-propertiesをコンパイルする前に、 libEIMIL.laやlibiiimcf.laなど、必要な物は先にコンパイルする。

make installする前に、 client.xmlを/usr/local/etc/iiim/client.xmlにコピーして、確認。

とりあず64bit環境でもそれらしいものがコンパイルできたので、 もう一度、手順を精査して、きちんとやってみよう。

未解決の問題

Emacs

初期ファイル $HOME/.emacs.d/init.elcがエラーで読み込まれず。 警告もてんこ盛り。init.elのエラー部分をコメントアウトして、 バイトコンパイルし直してad hocな対策をする。後で精査。

フォントは今までInconsolataを使ってきたが、Ubuntu Monoに変更する。 Ubuntu Monoの方が同じフォントサイズでも幅を取るみたいだ。

Inconsolata Ubuntu Mono
;; フォントの設定
(cond (window-system
       (set-frame-font "Ubuntu Mono-11") ;最初のフレームのフォント設定
       (set-frame-size (selected-frame) 100 32) ;最初のフレームのサイズ
       (set-face-font 'variable-pitch "Ubuntu Mono-11")
       (set-fontset-font (frame-parameter nil 'font)
                         'japanese-jisx0208
                         '("Takaoゴシック" . "unicode-bmp"))
       ))

ちなみに、Ubuntu Monoの実体ファイルは下記の通り。

$ fc-match "Ubuntu Mono"
UbuntuMono-R.ttf: "Ubuntu Mono" "Regular"

Emacsが落ちる。頻繁に。 Unityのランチャーに表示されたEmacsのアイコンをクリックしたり、 ロックされた画面を元に戻したタイミングなので、 Unity+comprizがらみだろう。 EmacsのAltキーがUnityのLensに取られることがよくあったが、 Dash/Lensを表示するとクラッシュするのだから、Emacsに影響があるのは当たり前かもしれない。 [[UbuntuSaucy]]では特にこんなことはなかったが、 こんなに頻繁にクラッシュするのなら、本当にUnityをやめた方がよいかもしれない。

WhiteSpaceの色

半角空白や全角空白が見えるようにwhitespace-mdoeを使っているが、 いつの間にかそれらの色が平文と同じになって紛らわしい。 Emacs 23.3からwhitespace-styleにfaceを追加しないと色を変更できないようになったらしい。 表示を薄い灰色にする。 また、半角空白をbulletにしていたがやめて下線のみにする。 GUIの設定のみだがCLIも後で設定する。

;; 全角スペース・タブを目立つように表示する
(require 'whitespace)
(cond (window-system
     (setq whitespace-style            ; 必要な物を登録する tabsは登録しない
           '(face                       ; faceで可視化
             spaces                     ; 空白
             newline                    ; 改行
             space-mark                 ; 表示のマッピング
             newline-mark               ; 改行のマッピング
             ))
     (setq whitespace-space-regexp "\\( +\\|\u3000+\\)")
     (setq whitespace-display-mappings
           '(
             (space-mark ?\u3000 [?\u25a1])  ; 全角空白を に
             (newline-mark 10 [9166 10])      ; 改行マーク
             ))
     (global-whitespace-mode 1)
     (set-face-attribute 'whitespace-space nil
                         :background "white"
                         :foreground "gray80"
                         :underline t)
     ))

XIMも使う

EmacsでATOK X3をXIM経由で使えなくなっていた。 XIM経由で使う利点は、省入力候補(推測変換候補)などATOK X3の機能をフルに使える点。 IIIMECFでも頑張ればいろいろできるかもしれないが、深入りはしない。 Trustyに移行してからずっとIIIMECFばかり使っていたので、 XIMが使えないことに気がつかなかった。 結論から言うと、いつの間にかibusに汚染されていたらしい。

$ echo $XMODIFIERS
@im=ibus

$HOME/.bashrcに追記して解決

$ tail -2 .bashrc
## 2014年4月25日
export XMODIFIERS='@im=htt'

時計表示

mode-line設定した時計表示が、表示されなくなっていた。 とりあえず、下記のように設定し直してmode-lineに日時を表示する。

;;; 時計表示
;(display-time-mode 1)
;; (setq display-time-day-and-date t)
;; (setq display-time-24hr-format t)
;; (setq display-time-format "%Y年%m月%d日(%a)%H:%M")
;; (setq display-time-format "%x%X")
(setq display-time-format "%H時%M分")
(setq display-time-default-load-average nil)
(display-time)

秒表示(%S)を入れても、1秒おきに表示されるわけではないので、 無意味だ。デフォルトでは60秒間隔更新のようなので、 起動時以外は00と表示される。 "%Y年%m月%d日(%a)%H:%M"は「2014年5月7日10:40」のように表示される。 "%x%X"は「2014年5月7日10時40分53秒」のように表示される。 60秒更新の秒表示は不要なので"%x%X"も却下。 最終的に"%H時%M分"(つまり、「10時40分」)に落ち着く。

display-time-day-and-date変数や display-time-24hr-format変数は、 display-time-formatに値が入っていると無効になる。 (display-time)を実行すると、時間表示のトグルになるが、 display-time-modeを読み込んでいると、OFFにならないようで、 仕組みがよく理解できていない。

デフォルトでは、CPUの平均ロードが時刻表示の右横に表示されるが、 不要に感じるので、不表示にした。 なお、デフォルトでは、0.1以下の場合は非表示なので、数値が表示されたりされなかったりする。 また、これもデフォルトでは00秒更新(つまり60秒間隔)なので表示する意味はない。

LaTeX

今まで通りにコンパイルできている。特に、気がついたことはない。

R

/etc/apt/sources.listにCRANの国内ミラーを追記する。 相変わらず兵庫教育大のサーバが止まっているので、 統計数理研究所にapt lineを向ける。 apt管理外のRパッケージのリポジトリは兵庫教育大にしているが、 しばらく様子を見て復旧しなければ$HOME/.Rprofile に書いているリポジトリ指定を変更する。 その他、今のところ、問題なし。

NetLogo

NetLOGO 5.0.5を公式サイトからダウンロードする。 ファイルを展開してnetlogo.shを起動して正常に起動することを確認。 アイコンとdesktopファイルを作成してsystem-wideにインストールすることにするが、 いきなり躓いた。 同梱のicoファイルが圧縮されいて取り扱えない。

$ winicontoppm icon.ico
winicontoppm: Can't handle compressed icons

仕方がないので、icoutilsをインストールする。

$ sudo apt-get install icoutils
[snip]
$ icotool -l icon.ico
--icon --index=1 --width=256 --height=256 --bit-depth=32 --palette-size=0
$ icotool -x icon.ico

icoの中にはアイコン画像が1つしか入っていなかった。tarボールの中身を/opt配下に展開し、 抽出したアイコン画像もその中に置く。

$ sudo tar xvzf netlogo-5.0.5.tar.gz -C /opt
$ sudo cp icon_1_256x256x32.png /opt/netlogo-5.0.5/

デスクトップファイル(NetLogo.desktop)を書く。 Emacsにはdesktopファイルのモードもあるようだ。

[Desktop Entry]
Version=1.0
Type=Application
Name=NetLogo5.0.5
Comment=multi-agent programmable modeling environment
Comment[ja]=マルチエージェントシミュレーション開発環境
Path=/opt/netlogo-5.0.5
Exec=/opt/netlogo-5.0.5/netlogo.sh
Icon=/opt/netlogo-5.0.5/icon_1_256x256x32.png
Terminal=false
Categories=Development;

デスクトップファイルの文法チェック

$ desktop-file-validate NetLogo.desktop

Encodingや余分な空白が文法チェックに引っかかったので、修正して最終的にエラーがでないようにした。 このdesktopファイルをインストールする。

$ sudo desktop-file-install NetLogo.desktop

メニューに表示された。 マウスポインタをNetLogoの上に置くと「マルチエージェントシミュレーション開発環境」が表示された。

pgRouting

PPAがあるので、そちらから追加する。

$ sudo add-apt-repository ppa:georepublic/pgrouting-unstable && sudo apt-get update
$ apt-cache search pgrouting
osm2pgrouting - Tool to import OpenStreetMap data into a pgRouting database.
pgrouting-workshop - pgRouting Workshop
postgresql-9.3-pgrouting - Routing functionality support for PostgreSQL/PostGIS
$ sudo apt-get install postgresql-9.3-pgrouting

tty-clock

CLIの時計

$ tty-clock -s -c -C 6

CLIのプログレスバー

timeoutとdialoguの組み合わせ

$ for i in `seq 0 100`; do timeout 2 dialog --gauge "Install..." 6 40 "$i"; done

VMWareからVirtualBoxへ

VMWare workstationを使っていた頃のWindows 98をVirtual Boxへ引っ越す。

$ ls
vmware-core.gz  win98-large-s001  win98-large.cfg    win98-large.vmsd  win98.xpm
win98-large     win98-large-s002  win98-large.nvram  win98-large.vmxf
$ ln win98-large win98-large.vmdk
$ VBoxManage clonehd --format VDI win98-large.vmdk win98.vdi
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%
Clone hard disk created in format 'VDI'. UUID: [省略]

古いバージョンのVMWareの仮想HDDは拡張子を持たない。 拡張子がないとVBoxManageがエラーになるため、 拡張子をつけたハードリンクを用意した。

Windows 98やWindows 2000のHDDは問題なく変換できるようだが、 起動に失敗する。Windowsって、 別マシンにHDDをそのまま引っ越しても起動しないものだというのを再び思い知った。 セイフティモードで起動してから通常モードに戻すと、 ディバイスの検出とドライバのインストールを始めるが、 GuestAddonは、このバージョンのWindowsに未対応とのこと。 Virtual Boxからホストへ移るには毎回右Contrlを押下する必要がある。 ネットワークディバイスは、Windows 98のCD-ROMで間に合うように、 PCnet-FAST IIIからPCnet-PCI IIに変更。 しかしおそらくPCnet-FAST IIIでもOKと推測されるので、時期を見て変更する予定。 どこかにしまってしまっているWin98のインストールCDを探し出すのが大変だった。 Widnows用のディスプレイドライバはここからダウンロードした。

Thesaurusアプリ

Arthaを使ってきたが、他のTheaurusアプリも検討(2014年9月25日)。

dict-moby-thesaurusを入れる。 これは、dictデータ形式になっており、dictから使う。

$ dict -D
Databases available:
 jargon         The Jargon File (version 4.4.7, 29 Dec 2003)
 moby-thesaurus Moby Thesaurus II by Grady Ward, 1.0

dictに認識されていることが確認できた。早速使ってみる。 例としてexhibitの類義語を調べる。

$ dict exhibit
1 definition found

From Moby Thesaurus II by Grady Ward, 1.0 [moby-thesaurus]:

  166 Moby Thesaurus words for "exhibit":
     advertise, affect, air, approve, argue, attest, basis for belief,
     benefit, bespeak, betoken, betray, bill, blazon forth,
     body of evidence, brandish, breathe, bring forth, bring forward,
     bring into view, bring out, bring to notice, chain of evidence,
     clue, connote, cosmorama, cyclorama, dangle, data, datum, debut,
     demonstrate, demonstration, denote, develop, diorama, disclose,
     display, disport, divulge, documentation, dramatize, emblazon,
     embody, enact, enactment, entertainment, evidence, evince,
     exemplify, exhibition, expose, expose to view, exposition,
     exposure, express, fact, facts, fair, farewell performance, flash,
     flaunt, flesh show, flourish, furnish evidence, georama,
     give indication of, give sign, give token, go to show, grounds,
     grounds for belief, highlight, hold up, illuminate, illustrate,
     imply, incarnate, indicate, indication, involve, item of evidence,
     light show, make clear, make plain, manifest, manifestation, mark,
     material grounds, materialize, mean, muniments, mute witness,
     myriorama, offer, opening, ostentation, pageant, pageantry,
     panorama, parade, perform, performance, phantasmagoria,
     piece of evidence, point to, pomp, premiere, premises, present,
     presentation, presentment, proclaim, produce, production,
     projection, proof, psychedelic show, put forth, put forward,
     reason to believe, relevant fact, represent, representation,
     retrospective, reveal, roll out, set forth, shifting scene, show,
     show forth, show off, show signs of, showing, sight, sign,
     signalize, signify, speak for itself, speak volumes, spectacle,
     sport, spotlight, stage presentation, stage show, suggest,
     swan song, symptom, symptomatize, tableau, tableau vivant, tell,
     tend to show, theatrical performance, token, trot out, trumpet,
     trumpet forth, tryout, unfold, unfolding, unfoldment, unveiling,
     varnishing day, vaunt, vernissage, wave

次に、Aiksaurusを試す。GUIラッパーがいろいろあるようだけど、 UbuntuのリポジトリではGTK版がインストール出来るみたいだ。

Aiksaurusでexhibitの類義語を調べる。 dictのようにひとまとめにするのではなく、 Tableau, Express, Manifestation, Presentment, Unearthの意味に分けて、 それぞれ類義語を表示してくれる。

いつも使っているarthaでexhibitの類義語を調べる。

Arthaは、uncommon, rare, very rareなど使用頻度を示してくれる。 また、Synonymsだけではなく、Derivatives, Kind of, Kindsも表示してくれるのでありがたい。

最後に、有名なRoget'sの類語辞典を見てみる。

使い勝手がよいと思ったことがない。 以上により、引き続きArthaを使い続けることにする。 ただし、Arthaは初回起動はいつも失敗する。 2回目起動する必要があるのが難点だ。 オンラインではhttp://www.thesaurus.com/ が便利だと思う。 ちなみに、日本語のThesaurusはWeblioが断然便利。

AntConc

英語論文を執筆するときに参考にするため、 関連文献の文章からなる個人用corpusの作成をしようと考え、 corpusのOSSを探したが見つからない。 Freewareとして早稲田大のLAURENCE ANTHONY先生が作成されたAntConcが見つかったので、 早速これをダウンロードした(2014年9月26日)。

$ file AntConc/AntConc
AntConc/AntConc: ELF 32-bit LSB  executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped

残念ながら、32bitのバイナリである。

$ ldd AntConc/AntConc
  linux-gate.so.1 =>  (0xf7794000)
  libnsl.so.1 => /lib/i386-linux-gnu/libnsl.so.1 (0xf7750000)
  libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf774b000)
  libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf7704000)
  libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xf76d3000)
  libutil.so.1 => /lib/i386-linux-gnu/libutil.so.1 (0xf76cf000)
  libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf76b3000)
  libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7503000)
  /lib/ld-linux.so.2 (0xf7795000)
$ AntConc/AntConc
couldn't load file "/tmp/tcl9oVAQa": libXss.so.1: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません at /</tmp/AntConc/AntConc>Tcl.pm line 568.
BEGIN failed--compilation aborted at antconc.pl line 12.

lddの結果は、i386ライブラリをちゃんと見つけることが出来ているが、 実際に起動すると、libXssが見つからなくて起動しない。i386版のlibXssを入れる。

$ sudo apt-get install libxss1:i386

起動した。早速、論文を20本ほど読み込ませて使ってみる。

数式が化けているのは、論文のPDFをpdftotextでテキスト化したときに化けたもので、 AntConvは関係ない。AMAスタイルでは、特定の式を書くときには、 equationの頭を大文字にする(つまり、figure 1ではなくFigure 1とするのと同じ)と、 書かれているが、小文字のままのものも多いことが分かる。 また、equation modelという言い方はOKらしい。

特定語のクラスターを探すとか、詳しい使い方はここにある。

SylFilter

スパムメール判定プログラムはいくつかの選択肢がある。 おおよそここ10年くらいはbogofilterを使ってきたが、 いわゆるPredetor出版社からのスパムがすり抜けてくるので、 スパム判定を再考する。 GMail側でPredetor出版社からのメールを弾いてくれると助かるのだが、 現時点(2014年10月9日)ではそうはいかない。 Sypheedを長年愛用しているが、 SylpheedプロジェクトがSylpheed用のスパムフィルタを開発したようなので、 これを検討する。SylFilterは、 bogofilterbsfilterと同様にベイジアンなフィルターである。 bogofilterとは違って国際化されている。

インストール

$ sudo apt-get install sylfilter

使い方は、bogofilterとほぼ同じで、spamやhamを喰わせて学習させる。 学習させたデータベースは$HOME/.sylfilter配下にある。

ビデオカードのドライバ

インストール直後は下記のようになっていた(2014年4月22日)

$ dpkg -l |grep nvidia | grep '^ii' | sed s'/  */ /g'
ii nvidia-319-updates 331.38-0ubuntu7 amd64 Transitional package for nvidia-319-updates
ii nvidia-331-updates 331.38-0ubuntu7 amd64 NVIDIA binary driver - version 331.38
ii nvidia-libopencl1-331-updates 331.38-0ubuntu7 amd64 NVIDIA OpenCL Driver and ICD Loader library
ii nvidia-opencl-icd-331-updates 331.38-0ubuntu7 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.6.2 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 331.20-0ubuntu8 amd64 Tool for configuring the NVIDIA graphics driver

version 331.38が最新らしいのでこのままでよさそう。

プリンタ

Linuxマシンは未だにプリンタが鬼門。 UbuntuSaucyのプリンタの設定がそのまま残っていた。 テスト印刷も問題なし。

スキャナ

EPSON GT-8700

USB接続するだけでそのまま利用可能。紙の文書を添付送信したいときには、 いつもsimple-scanの世話になっている。 昔はこのスキャナを使うとき、 ベンダIDとプロダクトIDを登録してUSB機器として認識させるところから設定作業をする必要があった。 今はUSBプラグを差すだけとは、何ともはや、隔世の感がある。

Brother MFC-8870DW

アップグレードインストール後に、 brscan2, brother-udev-rule-type1, brscan-skeyは残っていた。 追加インストールする必要はなさそう。

$ brscan-skey --list

 MFC-8870DW        : brother2:bus8;dev1  : USB                  Not registered
$ brscan-skey
$ brscan-skey --list

 MFC-8870DW        : brother2:bus8;dev1  : USB                  Active

brascan-keyでActiveにする。simple-scanを起動して、 スキャンをクリックすると、フィーダーから原稿を読み込んでスキャンした。 brscan-skeyの他のオプションはUbuntuSaucyを参照。 libsane.rulesにベンダIDや製品IDを登録する必要もなかった。

現在の状況 2014年10月09日


試行錯誤をしているうちに整合性がなくなった事項をあとで利用するために、 下記に余録を残しておく。

余録

不要なアプリの削除

evolution関係

$ sudo apt-get remove --purge evolution-data-server evolution-data-server-common evolution-data-server-goa evolution-data-server-uoa libebackend-1.2-7 libebook-1.2-14 libebook-contacts-1.2-0 libecal-1.2-16 libedata-book-1.2-20 libedata-cal-1.2-23 libedataserver-1.2-18

依存関係により巻き込まれて削除されたものを復帰させる

$ sudo apt-get install indicator-datetime unity-control-center

結局、ほとんどのパッケージが元に戻った。evalution自体が最初からなかったので、 必要なかったかも。abiwordやnautilus-sendtoとはいったん別れを告げる。

UbuntuOne関係

$ sudo apt-get remove --purge  ubuntuone-client-data

Bluetooth関連

$ sudo apt-get remove --purge gir1.2-gnomebluetooth-1.0 gnome-bluetooth indicator-bluetooth libbluetooth3:amd64 libgnome-bluetooth11 pulseaudio-module-bluetooth

software-centerやunity-control-centerも巻き込まれて削除されたが、 必要になるまで入れない。必要なsylpheedを戻す

$ sudo apt-get install sylpheed sylpheed-i18n sylpheed-plugins

ランチャー関連

アップグレードインストールのためか、特にランチャーに悪さをされている様子はない。 しかし、念のためにUbuntu Web Appsを削除。

$ sudo apt-get remove --purge unity-webapps-common xul-ext-websites-integration

グローバルメニュー関連

何も特にインストールされていなかった。

ゲーム関連

ゲーム関連のパッケージがどれほどのディスク容量を占めているか知らないが、 不要なものはHDDから削除。

$ sudo apt-get remove --purge aisleriot gnome-mahjongg gnome-mines gnome-sudoku gnomine

iBus関連

$ sudo apt-get remove --purge python-ibus ibus-table ibus-pinyin-db-android ibus-pinyin ibus-gtk3:amd64 ibus-gtk:amd64 gir1.2-ibus-1.0

lens関係

lensがクラッシュの起因になるようなのでばっさり削除

$ sudo apt-get remove --purge unity-lens-applications unity-lens-files unity-lens-music  unity-lens-photos unity-lens-video

その他