☆Wine上に手作業で導入したプログラムをメニューに表示させる

昨日Wine上に導入したMZ4はインストーラーがなかったのでメニューに表示されません。
何処かにズバリの手順がないか検索したのですが、見つけられませんでした。
そこで私が手作業した方法を記述して公開します。
参考にしたサイトは前回も引用した2サイトです。
A. http://linuxos.blog102.fc2.com/blog-entry-125.html
B. http://qubuntu.blogspot.com/2009/10/wine.html

●必要なパッケージの導入

icoutils と imagemagick を導入します。

$ sudo apt-get install icoutils imagemagick

●アイコンの準備

実行ファイルから.icoファイルを抽出し、pngに変換します。
wrestoolのオプション-t14 はリソースタイプが14(アイコン)の指定です。-xは抽出の指定。
カレントディレクトリにicoファイルがたくさん出来るので画像ビューアで確認します。
使用するものを決めたらpngに変換して ~/.local/share/icons/ に出力します。

$ cd ~/.wine/drive_c/bin/MZ4
$ wrestool -x --output=. -t14 mz4.exe
# どのファイルを使うか画像ビューアで確認 mz4.exe_14_139_1041.ico を使うことにします。
$ convert mz4.exe_14_139_1041.ico ~/.local/share/icons/MZ4.png
$ rm *.ico

●desktopファイルの作成

~/.local/share/applications/wine/Programs/ ディレクトリにMZ4.desktopを作成します。
内容は下記の通り
hogeはユーザの名称に置き換えてください。
MZ4を展開したディレクトリが違う場合は適宜置き換えてください。
Nameに指定した文字列がメニューに表示されます。
Categoriesはメニューの何処に表示されるかの指定です。[ネットワーク]に表示されるようにしました。

~/.local/share/applications/wine/Programs/MZ4.desktop
[Desktop Entry]
Name=MZ4 1.31
Exec=env WINEPREFIX="/home/hoge/.wine" wine "C:\\bin\\MZ4\\mz4.exe"
Type=Application
StartupNotify=true
Path=/home/hoge/.wine/dosdevices/c:/bin/MZ4
Icon=/home/hoge/.local/share/icons/MZ4.png
Categories=Network;

●menuファイルの作成

~/.config/menus/applications-merged/に下記の内容でファイルを作ります。

~/.config/menus/applications-merged/wine-Programs-MZ4.menu
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
  <Name>Applications</Name>
  <Menu>
    <Name>wine-wine</Name>
    <Directory>wine-wine.directory</Directory>
  <Menu>
    <Name>wine-Programs</Name>
    <Directory>wine-Programs.directory</Directory>
    <Include>
      <Filename>wine-Programs-MZ4.desktop</Filename>
    </Include>
  </Menu>
  </Menu>
</Menu>

●ログアウトとログイン

上記の手続きを行うと、なぜかメニューの[その他]が表示されなくなりました。
ネットワークのところにもまだ追加したものが出てきません。
一旦ログアウトしてログインすると出てきました。
これは何かコマンドで対応できるのかもしれませんが見つけられませんでした。

●その他

~/.local/share/applications/ の直下には拡張子の関連付け情報が格納してあるようです。
これについてはまたの機会に。

☆Wine上で動かしているその他のアプリケーション

Wineで使っているその他のアプリ。

2010/02/27 訂正 Peggy PadとPeggyは日本語入力がダメでした。

●nPOPQ

フリーのPOP3メーラーです。
複数のPCでメールを見るので、通常使うメーラーは受信時にメールを削除しない設定にしています。
そこでスパム削除用にnPOPQを使ってます。
Windowsで設定をした状態でディレクトリごとWineへ持っていったものがそのまま動きます。
今のところおかしな挙動はありません。非常に軽快に動作します。オススメです。

●Peggy Pad

フリーのテキストエディタです。
Ubuntuでは主にnPOPQのメールビューアとして使っています。
インストーラで導入してフォントだけ設定してます。
特におかしな挙動はありません。URLを選択してCTRL+Bでブラウザが立ち上がります。
Perlと同じような拡張正規表現を使用した検索や置換えがつかえます。
Geanyを使うようになってあまり使っていませんが、文字コード周りはGeanyより強い気がします。

●Peggy Pro for PHP

シェアウェアのテキストエディタです。
残念ながら動作しない機能が結構あります。
とくに外部ツールをつかう機能はだめのようです。残念です。非常に残念です。
ほかには全角・半角変換などが動作しません。
これが完全に動作すればDRM付動画を見る以外はUbuntuでやっていけるのに。

☆TwitterのListに対応したMZ4をWineで使う

Twitterのリスト機能に対応したクライアントソフトを探してたのですがTweetDeckくらいしか見つけられませんでした。
そこでWindowsに探索範囲を広げるとMZ4が対応してました。以前はよく使っていたのに気づきませんでした。
最新バージョンは1.31、使っていたのは1.018でした。(1.018はリスト未対応)
残念ながらWineで使うとWebブラウザとの連携がうまくいきません.....。 一応導入方法を。
2010/02/27 追記 日本語入力がダメでした。

●導入

http://www.mz3.jp/mz3.html の下のほうから MZ4.1.3.1.lzh をダウンロードします。
ZIPなのでwineでインストールできません。適当なディレクトリを作って解凍します。
私は ~/.wine/drive_c/bin/MZ4 というディレクトリを作って解凍しました。

cd ~/.wine/drive_c/bin/MZ4
lha -x ~/Downloads/MZ4.1.3.1.lzh

メニューに出るようにしたい場合は
http://linuxos.blog102.fc2.com/blog-entry-125.html や
http://qubuntu.blogspot.com/2009/10/wine.html
を参照してチャレンジしてください。

2010/02/28 この件に関するフォローを投稿しました。☆Wine上に手作業で導入したプログラムをメニューに表示させる

私はコマンドライン起動で十分なので下記のようなシェルスクリプトを~/bin/mz4として作成し、実行権限をつけます。

#!/bin/bash
env WINEPREFIX="/home/masaya/.wine" wine "C:\\bin\\MZ4\\mz4.exe" 

●設定

初回起動時に[クライアントタイプの選択]というダイアログが出ます。
TwitterとRSSは動作しますが、gmailとGoogleReaderはだめのようです。他のサービスは試していません。
mixiは使っていないのであればチェックをはずしておいたほうがいいです。(たくさんタブが作られてしまいます。)
次にログイン設定をします。ドロップダウンリストからTwitterを選択してIDとパスワードを入力します。
ログイン設定はあとでメニューの[設定]-[ログイン設定]で変更できます。
この後、絵文字ダウンロードに関するダイアログが出ますが、Twitterには関係なさそうなので2回とも[いいえ]を選びます。

1.クライアントタイプの選択 2.2番目のダイアログ 3.ログイン設定 4.4番目(絵文字) 5.5番目(絵文字)

メイン画面がすでに立ち上がっていますが、文字が出力されている部分は背景が描画されていません。
うっとうしいのでmz4を解凍したディレクトリのskin/aluminium/*.jpgを別へ移動してしまいます。
これで再起動すると背景が薄い灰色になります。
あとはメニューの[設定]-[一般]から起動するダイアログを覗いて、好みに動作をかえてください。

メイン画面
文字の背景は白
メイン画面
背景画像削除後

画面上部の[リスト一覧]をクリックすると自分で作ったリストの一覧が下部に表示されます。
下部に表示されたリストの部分をクリックするとそのリストのタイムラインが表示されます。

画面上部の[リスト一覧]をクリック
画面下部のリストをクリック

タイムラインを右クリックするとコンテキストメニューが出てきます。
冒頭に書いたように残念ながらブラウザでリンクを開けません。
ターミナルから起動している場合、下記のようなエラーメッセージがでます。

err:winebrowser:get_url_from_dde Unable to retrieve URL from string L"\""
err:winebrowser:wmain Usage: winebrowser URL
検索してみると既知の問題で特にMZ4のせいではないようです。
http://bugs.winehq.org/show_bug.cgi?id=13891

☆UbuntuにSylpheed 3.0を導入

今日、Sylpheedを立ち上げたら更新通知のダイアログ。初めて見ました。
ホームページを見るとマルチスレッドに対応してユーザの操作が不能になる場面が少なくなりましたと書いてあります。
それほど操作不能が気になったことはないのですが、入れてしまいます。
(メインはWinXP環境なのでメールさえ消してくれなければOKなのです。)

バージョンアップだから update-manager では更新できません。PPAを探します。
googleでppa sylpeedで検索。ヒットあり。
AWASHIRO Ikuyaさんのは3.0のベータでHajime Mizunoさんのは2.7.1。
Klaus Vormwegさんのが2010/02/24になっていて3.0正式版のようです。

sudo add-apt-repository ppa:klaus-vormweg/ppa
gksudo update-manager
とすると、お、geanyもちょっとだけ上がったのが出てますね。
使うアプリの趣味が合いますね。Klaus Vormwegさん。
sylpheed、sylpheed-i18n、geanyをアップデートしました。
立ち上げてみてもあまり変わりません。
設定ファイルのディレクトリの名前も.sylpheed-2.0ままです。
しばらく様子を見てから別のPCを更新するかどうか決めます。

☆モザイク加工のためにGimpは重すぎるので

今まではGimpでスクリーンショットにモザイク加工をしていたのですが、重くてどうもなじめません。
代替のソフトを探してみたのですが適当なものが見当たりませんでした。
そこでJTrimというWindows用のソフトをwine経由で使うことにしました。
(このためだけにwineを導入しているわけではなく、私はテキストエディタとメーラー(スパム削除用)、あまり使いませんがTwitterクライントをwine経由で入れてます。)
環境はUbuntu 0910 Karmic Koala、wine1.2です。

●導入

上記のJTrimのリンクからセットアップ版、jt153c.exe をダウンロードします。
wineをダウンロードしたファイルを引数にして立ち上げます。

wine ~/Downloads/jt153c.exe 
インストーラー画面は文字化けしていますが、かまわずにデフォルトで進めていきます。
(ショートカットの作成場所を選択するチェックボックスはオフにしました。)
インストールが終了すると[メニュー]/[その他]の下にJTrimが表示されるようになります。
起動すれば使えます。インストーラーと違って文字化けはありません。
ログインしてから初めてwineアプリを起動するときは若干重いのですが、それ以降は軽快に起動します。

●設定

JTrim本体はとくに設定をしていません。デフォルトで使っています。
ここではMirageと連携させるためにMirage側の設定をします。
ついでにショートカットキーでスクリーンショットを取る際にファイル名を気にせずにバシバシ [Alt]+Printを叩けるようにxfceの設定をいじります。

■xfceのショートカットキー設定

まずはxfceのショートカットキー設定。xfce4-keyboard-settings を起動して[アプリケーションショートカットキー(C)]タブを開きます。
ショートカットキーがPrintとなっている行の左側をダブルクリックして

scrot 'scrot-%F-%H%M%S.png'
と入力します。同じように<Alt>Printの左側を
scrot -b -u 'scrot-%F-%H%M%S.png'
と入力します。"%F-%H%M%S" の意味はdateコマンドに指定できるものと同じです。manpageを参照してください。
これで一秒以上間をあければ重複しないファイル名でスクリーンショットが取れます。間隔一秒未満で取得したい場合は%Nをつければいけそうです。
パスを指定していないので ホームディレクトリにファイルができます。パスを指定する際は 環境変数や~が使えないので注意してください。

ちなみにGnomeデスクトップでは"<Alt>Print"をどうしても置換えできませんでした。
設定画面で"<Alt>Print"を押しても"<Alt>Excute"になってしまうからです。
設定ファイルを開いて修正しても、もともとのショートカットが無効にならず手詰まりになりました。もともとのショートカットは設定画面でショートカットの列をクリックしてから[Backspace]で無効に出来ます、その後gconf-editorで設定を変更したのですが、それでもダメでした。
(xfce4-keyboard-settingsでも"<Alt>Print"を押すと"<Alt>Excute"なるのですが、上記のようにデフォルト設定のコマンド側だけを変えればよいので問題ありません。)

■Mirageの設定

Mirageのカスタムアクションを設定して、見ている画像をJTrimに引き渡して起動できるようにします。
Jtrimの起動コマンドラインは長いのでシェルを作っておきます。
~/.local/share/applications/wine/Programs/JTrim/JTrim.desktop の Excec=で始まる行に "$@" を追加したものを用意します。

~/bin/jtrim
#!/bin/bash
env WINEPREFIX="/home/masaya/.wine" wine "C:\\Program Files\\JTrim\\JTrim.exe"  "$@"

Mirageを立ち上げてメニューから[Edit]-[Custom Actions]-[Configure]を選択します。
右横の[+]ボタンを押してCustom Actionを追加します。
入力内容は下図参照。ショートカットは "<Control>r" を割り当てました。
メイン画面で "<Control>r" を押すと表示している画像をJTrimで開けるようになります。

Custom Actionの入力画面 Custom Actionの設定画面

●JTrimの操作(モザイク処理)

モザイクをかけたい場所をあらかじめドラッグして矩形選択しておきます。(選択範囲がないと画像全部に適用されます。)
メニューの[加工]-[ガウスぼかし]を選択すればOKです。意味なくキーボードの図の部分をぼかしてみました。