ラベル WINE の投稿を表示しています。 すべての投稿を表示
ラベル WINE の投稿を表示しています。 すべての投稿を表示

Ubuntu14.04(Daily Build)を実機で使いはじめました

リリース前のUbuntu14.04を試し始めました。
日本語入力はまだ、デフォルトのAnthyのままです。




インストールまで

Ubuntu公式からデイリービルドのISOをダウンロードします。
私としては、LiveUSBにするのが、動作が早くてオススメなのですが、
「UbuntuのインストールUSBを作る簡単な方法は、
   インストール済みのUbuntuで『USBスタートアップディスクの作成』を使うこと」
だったりするので、Windowsユーザは無理せずDVDに焼くほうが簡単でよいと思います。

今回はIntel SSDの空き領域に新規パーティションを作って、そこをルート(/)にしました。
Ubuntu12.04あたりは、EFIシステムを導入するのにSSD(またはHDD)一台をまるまる使って自動パーティション設定でインストールするのが確実な方法でした。
パーティションを手動で切るとインストール後の起動に失敗することがあったのですが、今回はあっさりUbuntuの起動にも成功しました。

ハードウェア

ハードウェア構成はこちら
 デュアルディスプレイ・デュアルペンタブレットも問題なし。
ただしWacomタブレットのキー入力割り当てはちょっと難しい。不具合報告済み。

13.10で修正された、以下のUSBサウンドデバイスも正常に動作します。
Creative USBオーディオ Sound Blaster Play! SB-PLAY(MODEL NO SB1140)
PLANEX社製 USBオーディオ PL-US35AP

各種アプリケーションの導入

Skype

Skypeはパートナーリポジトリの有効化を行ってから普通にインストールしました。
sudo apt-add-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
sudo atp-get install skype -y


12.04環境で使っていた設定ディレクトリを引きついでみたところ、問題なく起動して自動ログインできました。

Wine

sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get install wine1.7 -y
 
デフォルトではWine1.6がインストールされます。
最新の1.7.xを使いたい場合はリポジトリを追加したうえでwine1.7を指定してインストールします。
(どうやらWINE公式でもサポートが切れていると注意されていたUbuntu13.10までのWine1.4パッケージから、やっとアップデートが行われたようです。)

Revelationパスワードマネージャ

パスワードファイルを引き継いで起動した際に、ダイアログが登場しました。
次のセーブ時に自動的に、新しいバージョンの暗号化されたパスワードファイルに変更されるようです。



VirtualBox

Ubuntu14.04のパッケージは、VirtualBox4.3.6でした。既に4.3.8が出ていますが、まだ十分新しいです。
最新版を使いたい場合:
13.10の時と同じように、正式リリース前は一つ前のUbuntu用に用意されたパッケージまたはリポジトリを利用します。
(13.10の時は、Ubuntuが正式リリースされてもVirtualBoxパッケージとリポジトリが出なかったことも。)
パッケージおよびリポジトリの導入方法は、公式のDownloadsページにて。

その他

Ubuntu12.04と違い、rabbitvcs-nautilus tortoisehg-nautilus が標準リポジトリからインストールできます。

その他アプリケーションについても、必要だったUbuntu12.04での各種PPAの導入が不要なので、12.04からの移行は楽です。

アプレットへの日時表示

日時表示の設定は、13.10と同じく、Serendip Web Studio様がコマンドを紹介してくださっているので、それを実行します。
gsettings set com.canonical.indicator.datetime time-format "custom"
gsettings set com.canonical.indicator.datetime custom-time-format "'%x (%a) %H:%M'"



自作設定スクリプトの互換性

公開しているUbuntuセットアップスクリプト(Github)で設定を行いました。

ショートカット設定スクリプトが動作していないようです。
(サスペンドショートカット機能タイマースナップショットなどをショートカット指定するもの。)
調査中です。

他のスクリプトは問題なく動作しました。

その他


2014/03/20マウスポインタ以外がフリーズする不具合発生。20秒ほどで回復して、クラッシュのメッセージとともに不具合報告のダイアログ。
フリーズしたと思っても、少し待ってみたほうが良いようです。
一度発生しただけで、アップデート後には出現していません。


続いてLifereaフィードリーダーが初回起動時に落ちました。
不具合報告はしましたが、こちらはいろいろ無理な手で使っていたバージョンから設定ディレクトリを引き継いだので、単にそれが悪かっただけなのかもしれません。
落ちたのは初回だけで、2回目以降は設定を引き継いだ状態で問題なく使えています。
アップデート後、別アカウントを作って素のLifereaを起動したところ、問題なく起動しました。

ブラウザを「手動」で指定しないと使えません。これは以前までと変わらず。
これは今さらではありますが、不具合報告済み。

Lifereaのブラウザ設定

2014/03/22
Gedit+Anthyで日本語入力ができなくなる問題は別記事にて。不具合報告済み。

2014/03/29
これまで表示されていなかった、日本語変換候補が表示されるようになりました。

2014/04/13
fcitx-mozcに移行しました。

Ubuntu 64bit環境で32bit Wineをビルドする (Ubuntu14.04 and 12.04)

Ubuntu 64bit 環境で、 32bit Wineをビルドする手順です。
以前32bit Ubuntu環境でのWineビルド手順について書いた際に残した課題でした。

Ubuntu 12.04 上の Wine1.7.11 および、Ubuntu 14.04 上の Wine1.7.18 にて、ビルド成功を確認しています。

ビルドした32bit Wineのwinecfg

Ubuntu 64bit環境でのWineビルドは後回しにしていたのですが、ktmizugaki様の日記でchrootの手法によるWineのビルドにあっさり成功しているのを見た後で、lxcコンテナ版をやってみたところあっさり上手く行きました。
パッケージ版のWineは競合するのではないかと思っていたのですが、依存ライブラリを入れておくためにあえてインストールしておくというのも、たしかに理にかなっていると思いました。
閑話休題。

Wineの公式Wikiには64bit Wineをビルドする手順が3種類あり、(なぜか)3つもページが存在します。(そして1ページにつき1手順、という書き方ではない。)
しかし、2014/01時点で、Wikiに書かれているLXCを使った方法は、私の環境では上手く行きません。(原因は大したことではないのですが。2014/03/22追記。Wikiは修正されました。)

私が32bit Wineをビルドした際、上手く行った手順は以下の通りです。

LXCコンテナ(仮想マシン)の作成とログイン

64bit UbuntuでWineをビルドする方法は3種類あるようですが、今回は、LXCで32bit仮想マシン環境を作成し、そこで32bitビルドを行う方法を使います。

まず、LXCにて32bit Ubuntu仮想マシンを、ホームディレクトリを共有した状態で作成します。

LXC導入(18.04ではlxc-templateを別途インストール指定が必要。)
sudo apt install lxc lxc-template -y

作成と起動のコマンドは以下。
sudo lxc-create -t ubuntu -n my32bitbox -- --bindhome $LOGNAME -a i386
sudo lxc-start -n my32bitbox

なお、LXCコンテナの初回作成時には、パッケージのダウンロードなどで時間がかかります。
また、コンテナ起動時に要求されるユーザ名とパスワードですが、デフォルトではユーザ名・パスワード共に 'Ubuntu' になっているはずですが、私の環境ではこれがホスト側のユーザ名とパスワードになっていました。

LXCコンテナのターミナルへ入る
sudo lxc-attach -n my32bitbox

なお、作業後にLXCコンテナを閉じる際には、仮想環境側でシャットダウンコマンドを実行します。
sudo shutdown -h now

LXC内でのビルド環境の構築

LXCコンテナに内のUbuntuに必要なアプリケーションを導入して、ビルド環境を構築します。

add-apt-repositoryの導入

LXCゲスト環境そのままでは「 add-apt-repositoryが無い 」旨のエラーが出てリポジトリを追加できないので、
sudo apt-get install python-software-properties
にて、 add-apt-repository コマンドを導入。
(software-properties-common パッケージではない。)

2014/05/13追記:  Ubuntu 14.04では software-properties-common パッケージが必要になって(戻って)いました。
2018/05/13追記: Ubuntu18.04では不要でした。

ccacheの導入

コンパイル時に使用する情報をキャッシュすることで、再ビルドを高速化します。
不具合報告をするなど、2度以上コンパイルすることがありそうならば導入しておくとよいです。
使用するなら、ccacheを追加で導入。
sudo apt-get install ccache -y

なお、ccacheの動作を確認するならば、ビルド中に
du -sm ~/.ccache/
すれば、サイズが増えていくことを確認することができます。


ビルドに必要な依存パッケージの導入

wine/ppaを導入することで、WINE最新版のビルドに必要な依存パッケージのリスト情報が追加されます。
sudo add-apt-repository ppa:ubuntu-wine/ppa

Ubuntu 14.04(正確には12.04より後)では、ソースパッケージがデフォルトで無効になっているため、aptの設定ファイルを書き換えて有効化する必要があります。

テキストエディタとしてviを使う場合は以下のようにします。
(斜文字の部分はUbuntuバージョンにより異なるので読み替えてください。)
sudo vi /etc/apt/sources.list.d/ubuntu-wine-ppa-saucy.list

具体的な書き換え内容としては、上記テキストファイル内の

   deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu trusty main
   # deb-src http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu trusty main

2行目の先頭から#を外します。
この後で、sudo apt-get update からの作業を行えば、build-dep による依存パッケージの導入に成功するはずです。


(詳しく知りたい場合、32bit環境でのWineビルド記事を参照してください。)


変更後、パッケージリストを更新し、依存パッケージの追加を行います。
sudo apt-get update
sudo apt-get build-dep wine1.7 -y

Gitはあらかじめインストールしておきます。
sudo apt-get install git -y

GitリポジトリからWINE最新版ソースを取得します。
git clone git://source.winehq.org/git/wine.git ~/wine-git

ビルド

WINE 32bit版をビルドするためのディレクトリを作成します。
mkdir ~/wine32-tools

作業ディレクトリに移動して、WINEソースのconfigureを実行します。
cd ~/wine32-tools
~/wine-git/configure

ccacheを使用する場合は、この手順でconfigureの前にオプションとして追記します。
CC="ccache gcc" ~/wine-git/configure

Makefileなどが展開されるので、makeします。
並列化数はビルド環境のCPU数と同程度にしておきます。
make -j4

コンパイルの最後に
"Wine build complete."
が出れば成功です。

32bit Wineの起動

Wineは実行時に「ボトル」(.wineディレクトリのこと。Windowsのc:\に相当する)を必要とし、起動時にこのディレクトリが存在しなければ自動生成します。
64bit環境で既にWineを利用している場合、ボトルは64bit版がすでに生成されていると思われます。
このままでは32bit Wineを使用することができません。
既存のボトルを削除するのが手軽な方法ではありますが、既存のアプリケーションや設定を削除したくない場合もあると思いますので、今回はWINEPREFIXを設定し、テスト用の32bit版Wineディレクトリを作ることにします。

ホストのターミナルで、コンパイル済みWineの置いてあるディレクトリに移動します。
cd ~/wine32-tools/

環境変数WINEPREFIXで、
パッケージのWineバイナリではなく、ビルドしたWineバイナリ(./wine)をパスで指定します。
WINEPREFIX=~/wine32  ./wine  winecfg

初回は起動に少し時間がかかり、ボトルを生成する旨のメッセージが表示されます。
問題なくwinecfgが起動すれば、32bit Wineのビルドに成功しています。

Wineのgnome-keyring-pkcs11.soが見つからないエラーの解決方法(2014年版)

今のところ実害らしいものを確認することはできませんが、Wineのターミナル出力に現れる
p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません
というエラーを出たままにしておくのも何なので、これを解決しておくことにしました。


なお、環境はUbuntu12.04.3 amd64です。

今回は穀風様「Ubuntu (64bit) で gnome-keyring-pkcs11.so が無いと言われる」を参考にさせていただきました。
とはいえ、2014年の時点で、当時とは多少ばかり環境の事情が違うようなので、あらためて手順をメモしておく次第です。
また、上記サイト様が参考にしたリンク先の AskUbuntu「Wine can't find gnome-keyring-pkcs11.so」にも情報が追加されていたようで、こちらも参考にさせていただきました。

具体的な変更点としては、穀風様のサイトに貼ってあるコマンドはダウンロード先がリンク切れしていることと、/usr/lib32が存在しないという2点です。


まず、手順どおりのコマンド
wget https://launchpad.net/~jcollins/+archive/jaminppa/+build/1482994/+files/getlibs_2.06-0ubuntu1%7Eppa2_all.deb
では、debパッケージを取得することができませんでした。

また、AskUbuntuに記載されているうち、
sudo apt-get install --reinstall libp11-kit0
および
sudo apt-get install libp11-kit-gnome-keyring:i386
という方法が簡単そうだったのですが、残念ながらどちらも上手く行かず。

そこで、もうひとつの方法である、getlibsによるダウンロードで*keyring.soライブラリの取得を試みます。
このあたりは解説の手順どおりに。
ファイルを取得して権限を付与します。
wget https://raw.github.com/spaetzlecode/getlibs/master/getlibs
sudo chown root:root getlibs
sudo chmod +x getlibs
ファイルを配置して実行します。
sudo mv -n getlibs /usr/local/bin
sudo /usr/local/bin/getlibs -p gnome-keyring:i386
残念ながら、ここまでの手順では「/usr/lib32が無い」というエラーを返します。

そこで、パッケージを直接ダウンロードしてくる方法を試しました。
wget https://launchpad.net/~gnome3-team/+archive/gnome3/+files/gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
インストーラなので、管理者権限で実行。
sudo /usr/local/bin/getlibs -i gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb

この方法も、同じく/usr/lib32が無いというエラーを返します。そして実際、存在しません(下のコマンドで確認)。
ls /usr/lib32

getlibsによるライブラリのインストール先は固定パスだと思われるので、インストール先ディレクトリをあらかじめ作成しておくことで、問題を回避することにしました。
sudo mkdir /usr/lib32
sudo /usr/local/bin/getlibs -i gnome-keyring_3.4.1-4ubuntu1~precise1_i386.deb
これで成功。試していませんが、getlibsに-p指定する上の方法も上手く行くのではないかと思います。

あとは手順どおりに、リンクを貼って終了です。
sudo mkdir -p /usr/lib/i386-linux-gnu/pkcs11/
sudo ln -s /usr/lib32/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so

以上の手順により、 gnome-keyring-pkcs11.so に関するエラーが出なくなるはずです。

Ubuntu12.04 32bit環境でWINEをビルドする手順(WINE 1.7)

とりあえずUbuntu12.04の32bit環境にて、32bit版WINEのビルドに成功したので、手順ほかを途中経過として記事にまとめたものを公開しておきます。
64bit版の手順が構築できたら、そちらをあらためて公開する予定です。
(2014/01追記:64bit  Ubuntu環境で32bit Wineをビルドする手順の記事を書きました)

64bit環境にて32/64bit混合版WINEをビルドできるはずなのですが、そちらはインストールの段階でエラーを吐いて失敗しています。原因はたぶんライブラリ不足です。


以下、32bit版WINEのビルド手順。
64bit版の草稿を含む。

WINE付属のメモ帳を起動した状態


イントロダクション

Ubuntu12.04および13.10にて、GitリポジトリのWINE最新版をビルドする手順を確認しました。
不具合報告やその修正確認以外にも、単純に最新版を試したい気分の時に、必要になることもあるかと思われます。

今回はWINEをビルドするため仮想マシン上にクリーンな環境を用意しました。最低限、競合するWINEのパッケージは削除しておきましょう。


公式WIKIに書かれたビルド手順は、いくつも存在し、各ページごとに異なっています。
参考にしたものを、以下に一覧にしました。

ビルドガイド(Installing Wine from source)
見ればわかるとおり、WINEのビルドに特別な工程は特にありません。
とはいえ、このページは書いてあることが少なすぎるので、実作業の際にはあまり参考にはなりません。そこで、以下のページの記述を参考にします。

WineOn64bit(Building 32-bit Wine on a 64-bit (x86-64) system)
64bitホスト環境でのWINE32bitのビルド方法、特にlxcコンテナ内におけるwine32のビルド手順について解説しています。

BuildingBiarchWineOnUbuntu(Building Biarch (Shared WoW64) Wine On Ubuntu)
Ubutnu環境でlxcコンテナを使用して、WINE32およびWINE64のビルドと、組み合わせての導入手順についてまでを解説しています。
(2013/11時点で、lxc環境で必要な手順が説明から抜けています。WineOn64bitには書いてあるのですが。)

レグレッションテスト(Regression Testing)
さらに詳細な手順やビルドオプションが必要な場合はこのページが役に立ちます。

追記:
Win64 Support for Wine
こちらが正しい64bit版WINEのビルド手順のように見えます。
現在確認中。


WINE 32bitをビルド

ソースの取得

Gitはあらかじめインストールしておきます。
sudo apt-get install git -y
GitリポジトリからWINE最新版ソースを取得します。
git clone git://source.winehq.org/git/wine.git ~/wine-git

ビルドに必要な依存パッケージの導入

wine/ppaを導入することで、WINE最新版のビルドに必要な依存パッケージのリスト情報が追加されます。
sudo add-apt-repository ppa:ubuntu-wine/ppa

この時、Ubuntu13.10環境では追加の手順が必要となります。記事下方のTIPSを参照してください(他の環境でもbuild-depが失敗する場合はこれが原因かもしれません)。

変更後、パッケージリストを更新し、依存パッケージの追加を行います。
sudo apt-get update
sudo apt-get build-dep wine1.7 -y


2013年11/30時点で、"build-dep wine"すると、wine1.6が自動選択されてしまいます。最新版wine1.7を明示的に指定します。build-depのパッケージ名には、Ubuntu上のWINEの最新版に合わせてバージョンを付与します。
最新版で追加されてbuild-depに足りないものがあれば、configureの出力に指示どおり個別にインストールします。

作業用ディレクトリにてconfigureおよびmake

ビルド作業を行い、ビルド済みバイナリを置くためのディレクトリを作成します。
作業ディレクトリに移動して、WINEソースのconfigureを実行します。
mkdir ~/wine32-tools
cd ~/wine32-tools
~/wine-git/configure

作業ディレクトリにMakefileなどが展開されるので、makeします。
並列化数はビルド環境のCPU数と同程度にしておきます。
make -j4

「Wine build complete.」
が出れば成功です。
(明示的に"エラー"と表示せずにコンパイルが途中で止まることがある。)

Install

インストールも特別なことはなく、通常のmakeコマンドです。
sudo make install

実行
ビルドしたWINEは作業ディレクトリの直下に存在します。
./wine --version
にてバージョンが確認できればビルド成功です。

(ちなみに、本記事の手順を公開前に確認したところ、12/07時点でWINEのバージョンが上がっていたため、バージョンに" wine-1.7.8 "が表示されました。)


Windowsアプリケーションを実行したい場合、./wineの後に引数として与えればパッケージ版のWINEと同じように使用することができます。

付属のメモ帳を起動してみます。
./wine notepad

WINEの初期設定にて、MonoとGeckoのインストールダイアログが表示され、「インストール」を選択すると、自動でダウンロードされてインストールされます。
なお、私のビルドした wine-1.7.8 ではMonoのインストールに失敗したのですが、Notepadが起動し、特に問題はありませんでした。

WINE Geckoインストーラのダイアログ


TIPS

WINEビルドのためのbuild-depに失敗する (Ubuntu13.10)

Ubuntu13.10では追加手順が必要です (12.04では不要なようです)。
リポジトリを追加した際、デフォルトでは追加された deb-src が無効にされているため、build-depにて "wine1.7(最新版WINE)" を取得することができません。
コメントアウトを外して設定ファイルの deb-src を有効化する必要があります。
テキストエディタとしてviを使う場合は以下のようにします。
sudo vi /etc/apt/sources.list.d/ubuntu-wine-ppa-saucy.list

具体的な書き換え内容としては、上記テキストファイル内の
# deb-src http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu saucy main
行の先頭の#を外します。
" sudo apt-get update "から続きの手順を行えば、build-dep による依存パッケージの導入に成功するはずです。

ccacheの導入

コンパイル時に使用する情報をキャッシュすることで、再ビルドを高速化します。
不具合報告をするなど、2度以上コンパイルすることがありそうならば導入しておくとよいです。
使用するなら、ccacheを追加で導入。
sudo apt-get install ccache -y

使い方は、configureの前にオプションとして追記する。
上記の手順のうち、configure部分を下記のものに置き換える。
CC="ccache gcc" ~/wine-git/configure

add-apt-repositoryが見つからない場合

LXCゲスト環境のUbuntu 12.04にて発生した問題です。
software-properties-common を入れても「 add-apt-repositoryが無い 」エラーが出てWINEのリポジトリを追加できない場合は、
sudo apt-get install python-software-properties
にて、 add-apt-repository を導入することができます。


WINE設定の初期化の落とし穴?(あるいはインストーラが途中で落ちる不具合の解決)

不具合報告のためにWINE環境のリセットを行ったところ、Fixされているはずの現象が出現しました。
試した結果、~/.wine ディレクトリに隠しファイルがあり、これを消すことで解決しました。

不具合の詳細ですが、インストーラが起動して「インストーラが起動しています」のあと、インストーラが終了します。
コンソール上で実行すると、以下のエラーが表示されていました。
fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)

これはMSI(MSインストーラ)およびInstallSieldで起こる問題だと書いてあるページがヒットします。
NetFramework3.5のレポートに従って「winetricks, msxml3, dotnet35­」を入れろ
wine32bitをセットアップしろ
などの対応策が書いてありますが、実はこの問題、既に解決(fix)されているようです。
というか、1.7.7で実際動いたことからして、この問題は解決しています。

そして、対処法に書いてあるとおり .netを入れようとしても、winetickが動きません。

$ winetricks
------------------------------------------------------
wine cmd.exe /c echo '%ProgramFiles%' returned unexpanded string '%ProgramFiles%' ... can be caused a corrupt wineprefix, an old wine, or by not owning /home/USERNAME/.wine
------------------------------------------------------



最終的に、以下の方法で解決。
隠しファイル "~/.wine/.update-timestamp" を消します。
rm -rf ~/.wine/*
rm -rf ~/.wine/.update-timestamp

上記のエラーで動かなかったインストーラも以下の方法で完走を確認しました。

正直、WINEが悪いとは思いにくく、私の使っているディレクトリ構成が少し普通でないためだと思うのですが、ワークアラウンドとして書き残しておこうと思います。

ComfyUIでXYZ-PlotするワークフローのサンプルとTips(ComfyUI-XYZ-Stitch)

 ComfyUIでAutomatic1111的なXY-Plotをしたいのだが、ComfyUIデフォルト機能には用意されていない。     カスタムノードが必要となるのだが、Webには古いとか何故か動かないとかなXY-Plotパッケージの使ってみた系記事か、githubに上げられた...