ArchLinuxでMcomixをダウングレード
最近ArchLinuxでMcomixが1.3.0-devにアップデートされた.
従来のgtk2から変わってもうちょっとお洒落になった変わりに,劇的に使い難くなってしまった.
何が不便かというと
- コマンドラインからファイルを指定しても前回開いたファイルが開く
- ショートカットから削除が消えた
こんなゴミは使えない.かといってYACReaderやzathuraで代替できるかというと,
YACReaderはファイルの展開が遅いし,zathuraは設定が上手く反映できないし,2ページ表示の仕方が分からなかった.
というわけで,古いmcomixである1.2.1を手動で入れることにした.
しかし,いくつか嵌りそうなポイントがあったので誰かの助けになるかもしれないと考え,ここに残しておく.
ソースの準備
McomixはSourceForgeからダウンロードできる.
(Mcomix)[https://sourceforge.net/projects/mcomix/]
するとmcomix-1.2.1.tar.bz2
というファイルがダウンロードされるためtar
で解凍する.
tar zf mcomixx-1.2.1.tar.bz2
依存関係の準備
mcomix-1.2.1はpython2
という時代遅れの言語を使用している.
私の気がついた範囲ではpygtk
を必要がある.(多分gtk2
も必要のはずう)
sudo powerpill -S python2 python2-pillow gtk2
yay -S pygtk
あとPIL
を使っているのでpython2-pillow
かpip2 install pillow
も忘れずに.
READMEを熟読
言うまでもないが,README
を熟読する.
インストール
私の場合はprefix
の設定もしないので以下でインストールした.
sudo python2 setup.py install
起動しない場合
私の場合は昔からそうなのだが以下のようなエラーがでる.
‘Traceback (most recent call last):
File "/usr/bin/mcomix", line 11, in <module>
load_entry_point('mcomix==1.2.1', 'console_scripts', 'mcomix')()
File "/usr/lib/python2.7/site-packages/mcomix-1.2.1-py2.7.egg/mcomix/run.py", line 206, in run
assert PIL.Image.VERSION >= '1.1.5'
AttributeError: 'module' object has no attribute 'VERSION'
読めば分かるが,PIL.Image.VERSION
が存在しないということらしい.
普通python
でバージョンを見るのであれば以下のようにするため,VERSION
???
from PIL import Image
Image.__version__
エラーに書かれている通りに
"/usr/lib/python2.7/site-packages/mcomix-1.2.1-py2.7.egg/mcomix/run.py", line 206
を見に行って.
sudo vim /usr/lib/python2.7/site-packages/mcomix-1.2.1-py2.7.egg/mcomix/run.py
ちゃんとバージョンチェックするように書き換えてもいいが,面倒なのでコメントアウトだ!
try:
import PIL.Image
# assert PIL.Image.VERSION >= '1.1.5'
設定画面が開かない場合
mcomix-1.3.0で設定をちょこちょこ変更していると,設定ファイルが1.2.1に対応しなくなるのか,設定が画面が開けなくなった.
こういうのは大概設定ファイルを初期化すればよい.
mcomixの場合は設定ファイルを消せば自動でデフォルト設定ファイルをコピペしてくれる.
なので再設定がよほど面倒でない限り,おとなしく一回設定ファイルを消すのがいいだろう.
(気になる人はcp
とかmv
でバックアップを作っておく)
最近のLinuxであれば大概以下にある.
$XDG_CONFIG_HOME/mcomix
$XDG_CONFIG_HOME
は代替$HOME/.config
に設定されていると思う.
$HOME/.config/mcomix
これを全部削除しちゃう.
rm -rf $XDG_CONFIG_HOME/mcomix
そしてmcomix再起動してやれば初期設定がコピペされ,設定できるようになっているだろう.