Linux環境の改善

Issue #464 resolved
req created an issue

このコメント からの分岐です。

急ぎではないので minor にしておきましたが、自分が少しやれそうな気がしてきたので major にしておきます。長月さんを急かすわけではありません。

Linux環境は、最終的には Wine で Windows と同じ CardWirthPy.exe を実行出来るに越したことはありませんが、py2exe アプリである CardWirthPy が Wine で起動するようになる技術革新には時間がかかるかもしれません。

Linux は Windows に愛想を尽かしたユーザーの受け口になったりして、まだシェア3%とかいう話ですが、今後ユーザー増えていくかもしれません。マルチOS対応のカードワースである CardWirthPy は積極的に Linux環境での改善を模索しておいていいかもしれません。

改善点としての案は今後のコメントで書くことにします。

Comments (6)

  1. req reporter

    まず思ったのは、ショートカット(ランチャー)などを作れるLinuxでは ./cardwirthpy.sh を実行するアイコンの画像を選べますが、 CardWirthPy.ico はアイコン形式なので、Linuxではアイコンとして認識されません。そこで吟味する必要はありますが、 CardWirthPy.ico と同じく透明色情報も入っていて、ico→pngにした画像内容は同じものでもいいので、CardWirthPy.png を CardWirthPy.ico と同じフォルダに追加で置いておいたらどうかなと思いました。

    次に、install.sh,update.sh を実行してもらうようにしたらどうかなということです。

    install.sh の内容は

    # Mercurialのインストール
    sudo apt-get install mercurial
    # 最新リポジトリの取得
    hg clone https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot
    # 必要ライブラリ wxPython
    sudo apt-get install python-wxgtk2.8
    # 必要ライブラリ pygame
    sudo apt-get install python-pygame
    # 必要ライブラリ lhafile(Subversionが必要)
    sudo apt-get install subversion
    svn checkout http://svn.neotitans.net/lhafile/
    cd lhafile
    sudo python setup.py install
    cd ..
    # cardwirthpy-rebootディレクトリへ移動
    cd cardwirthpy-reboot
    # フォントをインストール
    mkdir ~/.fonts
    cp Data/Font/*.ttf ~/.fonts
    fc-cache -fv
    # スキンをインストール(ここのファイル名はスキンのアップデートで変更される可能性あり。Downloadsのページを参照)
    wget https://bitbucket.org/k4nagatsuki/cardwirthpy-reboot/downloads/skin_classic_20170101.zip
    unzip skin_classic_20170101.zip
    # 起動(GUI上で起動するなら cardwirthpy.sh をダブルクリックして実行)
    ./cardwirthpy.sh
    

    で、update.sh の内容は、hg pull --update です。 install.sh は、downloads か何かに置いておいて、skinのファイル名やライブラリなどの取得状態が変わったときに最新の状態にしておいたらいいかなと思います。

  2. req reporter

    update.sh は、cardwirthpy.sh と同じ階層に置いておけば、クリック1つで最新に更新できます。

    あとエディタをLinux上でWineで起動してみましたが、新規シナリオの作成画面は出てOKを押したところ、一番上のメニューとシナリオ保存など3アイコンが表示されただけで、他のアイコンやコンポーネントとかが全然表示されませんでした。


    # フォントをインストール
    mkdir ~/.fonts
    cp Data/Font/*.ttf ~/.fonts
    fc-cache -fv
    

    によって ~ すなわち /home/ユーザー名/.fonts を作り、そこにフォントを置いてインストールし、フォントキャッシュが更新されるわけですが、WindowsもLinuxも右クリックしてインストールを選択させたり、 ~/.fonts にコピーもしくはムーブして fc-cache -fv するという手間すら省略したらどうかと思うのです。

    そこでユーザーがフォントをダウンロードしてきたら、CWPyの設定のフォントタブにフォントインストール用のボタンかアイコン(見た目上はアイコンがいいのだが、気づかれない可能性もある?)を置き、それが押されたらファイル選択ダイアログを開き、

    Windowsなら、Windows10 でいうところの デスクトップで右クリックしてインスト―ルメニュー選択と 同じ操作、

    Linuxなら、 ~/.fonts がなければ作る(普通ならインストール時に出来ているはず)、そこにフォントファイルをコピー、フォントキャッシュの更新、というのを行ったらどうかというアイディアを出しておきます。

    Macその他、GTKを動作可能なOSについては・・・どうすればいいんだろう??


    待てよ?install.shやupdate.shの内容やフォントインストール・キャッシュ更新、スキンインストールをするLinux用CWPy用外部アプリをpythonか何かで、CC0で作ってやればいいのか?

    install.sh の内容のうち、スキンインストールについては、BitBucket に上がっている全てのスキンを選択対象にするようにすれば JUDGEMENT も BloodWirth などもデフォルト選択可能になるのでは?? 

    ただ技術的に可能なのかは、リモートフォルダの最新のスキンを見つけられるかとか、ライブラリなどの取得状態が変わったときにどうするかという問題はあるけど、やる価値はありそうですね。

    Macその他のOSも試してみたいですね!


    まず上記ツールを pyinstaller で簡単に作ってみて、本当にWineで実行できるか試す。

    Ubuntu12.04 の入ったPCサーバー(NEC Express 5800 を安い時に買っておいた)も持っているのでそちらで CWPy環境インストール・最新反映・フォントインストール・フォントキャッシュ更新・スキンインストールしてみる。

    まずはGUIは作らず、Linuxコマンドを実行するだけの手抜きをする。pyinstaller が遅くても、ツールの場合はあまり問題がない。それが出来るとわかったら、Wineで起動する、激遅版 CardWirthPy の作成を試みる。

    py2exe で exe にしているところを pyinstaller 化出来ないかと考えている。これをやってみてどの位の速度が出るものか試す。

  3. req reporter

    というか、何だったらこれらは自分が自分のリポジトリで課題を立ててやったほうがよさそうですね?

    あと、twitter で、数少なくてカードワースを知らなくてLinuxに詳しい友人に Puppy で遊んでもらうように呼びかけて、どんな感じか感想なりをもらおうかなと思っています。

    自分がやりたいことリスト を作ったので、それ違うんじゃね?とかあったらつっこみいれてください。

  4. k4nagatsuki repo owner

    アイコン等については何もしていませんが、標準フォントについては、動的にロードするべくlibfontconfig.soを使用したコードが実はcw/setting.pyの冒頭にあります。

    が、うまく動いていません。コードなりライブラリなりに何か問題があるはずです。これがちゃんと動けば、ユーザの環境に余計な手を加える必要はありません。


    たぶん今日できるコメントはこれだけです。なんとかα3までに複数クーポンの件をマージしたいので、明日・明後日でレビューします。α3までにというのは私の希望なので、焦って対応しなくてもよいのですが。

  5. req reporter

    お疲れ様です。そうですね、複数クーポンがα3に入ればいいかなというのは自分も思ってはいました。ですが、長月さんにご無理がなければでいいです。 自分は他に抱えているアイディアとかも割とあるので、そちらをやっておきます。

    標準フォントについては、動的にロードするべくlibfontconfig.soを使用したコードが実はcw/setting.pyの冒頭にあります。が、うまく動いていません。

    そうなんですね、それはうまく動くとインストーラから外せるのでいいですね!

    あと、フォントの同梱(再配布可能フォントの同梱)で使用できるフォントを増やす必要があるかもしれません。

  6. Log in to comment