2016-07-27

Void Linux:リポジトリの追加

XBPSパッケージのリポジトリサーバーのURLはVoid Linuxを普通にインストールした状態ではcurrentリポジトリのみが登録されます。

一部のアプリケーションは32bit用のパッケージしかなかったり、ライセンスの関係でcurrentリポジトリに登録出来ないもの等は別途リポジトリのURLを追加しないと利用出来ません。

公式のリポジトリは手動で設定ファイルを書き換えずともパッケージを追加することでリポジトリを追加出来ます。

void-repo-multilib
void-repo-nonfree
void-repo-multilib-nonfree

などのパッケージがあります。

これ以外にもミラーサーバーのリポジトリなどが公開されており、ダウンロード速度が速いミラーサーバーを自分で指定することも可能です。

それ以外に自分でローカルのリポジトリを追加したい場合は/etc/xbps.dディレクトリ内に<任意の名前>.confを作成しファイル内に
repository=<URL>
の書式でパスを記述することでリポジトリを追加することが出来ます。

システムのデフォルト設定ファイルは/usr/share/xbps.dディレクトリにあり、ここにあるファイルと同名のファイルを/etc/xbps.dディレクトリに作成した場合は、/etc/xbps.dディレクトリのファイルが優先され設定をオーバーライドします。

リポジトリを追加後は必ず1回はxbps-install -Sを実行してパッケージリストのSyncを行いローカルに保存されているリスト情報を最新にしてください。


にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ

2016-07-23

Windows10でSSFが強制終了してしまう問題を回避する

前回の記事ではWindows10でSSFを使うとXAudio2_7.dllのUnloadによりSSFが強制終了してしまうと書きましたが、その後ネットで調べるといけそうな回避方法があったので試してみました。

Windows10ではタブレットPC向けのタッチキーボードのサービスがデスクトップPCでも起動しているのですが、これを起動しているとSSF実行時にXAudio2_7.dllのUnloadが起きるそうです。

なんでタッチキーボードのサービスがオーディオと・・?
勝手な想像ですがタッチキーボードのタップ音とかの出力でWindows10ではデフォルトのXAudio2_9.dllを使用すると思われ、Windows7以前のOS用のXAudio2_7.dllを使うSSFがライブラリをロードするときに上手くいかずエラーになってしまうのではないでしょうか?

というわけで、管理ツールのサービスにて「Touch Keyboard and Handwriting Panel Service」を停止しすることでSSFのエラーを回避出来ます。

ただ、デスクトップPCなら停止させても問題なさそうですが、タブレットPCでは問題が出ると思いますので自己責任でチャレンジして下さい。


自分の環境でサービス停止後に今までエラーで強制終了してしまった「慟哭 そして」をエンディングまで強制終了せずにプレイが出来ました。


にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ

2016-07-22

SSFが強制終了するようになってしまった

Windows10でSSFをプレイしていると途中で強制終了してしまうゲームが幾つかあるみたい。
今までプレイしていたソフトはたまたま大丈夫だったっぽいです。

SSFのバージョンは0.12_beta_R4

大丈夫だったソフト
・ファンタシースター コレクション(ファンタシースター4 千年紀の終わりに)
・プリンセスクラウン(エンディングまでプレイ)


ダメだったソフト(プレイ中一定時間で強制終了)
・慟哭 そして
・ダンジョン&ドラゴンズ コレクション(DISC1)
・コットン2



互換性の設定も幾つか変えてみましたがダメでした。
SSFの設定をいじくって見ても変わらず。

イベントログでアプリケーションエラーの内容を見てみるとXAudio2絡みのエラーみたいです。

障害が発生しているモジュール パス: XAudio2_7.dll
XAudio2_7.dll_unloaded

ログの一部にこのような記述が見られます。

SSF作者のページによるとXAudio2絡みのエラーが出る場合はDirectXのエンドユーザーランタイムをインストールを勧められているのですが、既に別のゲームのためにDirectX エンドユーザーランタイムはインストール済みなんでこれ以上対処しようがない。

古い情報ではC:\Windows\System32\にあるXAudio2のdllを手動で削除してから再度エンドユーザーランタイムをインストールしたら直ったとの記述もあったので、エラーの発生しているXAudio2_7.dllをリネームしておいて、再度DirectXエンドユーザーランタイムをインストールしてみましたが症状変わらず。

テストバージョンで試しても同じエラーが出てダメでした。


にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ

2016-07-14

OneDriveの無料容量がもうすぐ5GBに縮小されます

以前からOneDriveを利用しているユーザーにはメールにて通知が来ていましたが、8月上旬からOneDriveの無料容量が5GBに制限されます。
これは以前スマホ連動での写真アップロードなどでのボーナスで容量が5GB以上あるユーザーでも強制的に5GBへ制限されます。

制限を解除するには有料のアップグレードかOffice365などのサービスでついてくる容量アップを利用するしかありません。

現在5GB以上のデータをOneDriveに保存している場合、期間が過ぎると読み取り専用となりデータのアップロードができなくなります。
読み取り専用を解除するにはデータを5GB以下まで減らす必要があります。
容量を減らさず読み取り専用が1年以上続くと強制的にコンテンツが削除されるそうですので注意しましょう。

OneDriveのオフラインアプリにはスクリーンショットをOneDriveに保存するオプションもあるし、最近のスマホでの写真は容量でかいからあっという間に制限容量超えちゃいそうなのにサービスの改悪するくらい赤字のサービスなんでしょうね・・・


最近MicrosoftのサービスがWindows10強制アップグレードやWindows Phoneの体制縮小など迷走しっぱなしでなんか不安になってきます。
まあ、倒産するような会社じゃないのでそんなに心配はしていませんが。

にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ

2016-07-13

Void Linux:再度mozcのbuildに挑戦

以前mozcのxbpsパッケージを作ったのですが、いつの間にかエラーが出るようになってしまい使えなくなっていました。
直そうとは思っていたのですが、日本語入力が安定しないVoid Linuxでそこまでして使うか?
と、考えると仮想環境にインストールして遊んでいる分には全く必要なく、またAnthyで日本語入力が出来ない問題が解決できなかったので直すの保留にしていました。

日本語入力が不安定な問題を解決できたわけではないですが、一応日本語入力出来る状態がわかったのでmozcをビルドしなおしてみようと思います。

そういえばmozcのbuildってネットで調べても結構古いバージョンしか扱っていないサイトが多いので参考にならない場合が結構あるのですが、比較的新しいバージョンの記事ってあまりないんですよね。
今は日本人がよく利用するディストリビューションには大抵パッケージが用意されているのでそんなことする必要がないんでしょうけど。


テスト環境は
  • Void Linux x86_64 20160420バージョンをVirtualboxにインストールして最新の状態
  • GuestAddisionsをインストール
  • xorgをインストール
した状態で行いました。

必要なパッケージは
clang python pkg-config git bzip2 unzip make ibus-devel zinnia zinnia-tomoe libglib-devel qt-devel glib-devel python-gobject2-devel gtk+-devel
でした。mozc公式のUbuntuでのインストールに必要なパッケージを参考にVoid Linux用に選びました。
他にも必要なパッケージがあるのですが、上記パッケージをインストールする中で依存パッケージとしてインストールされるので大丈夫みたいです。
zinniaとzinnia-tomoeは公式のパッケージリストには無いので自力でビルドしましょう。

depot_toolsの入手

$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

depot_toolsのダウンロードが完了したらパスを登録しておきます。
export PATH=$PATH:[depot_toolsのパス]

mozcのソースコードを入手

git clone https://github.com/google/mozc.git -b master --single-branch --recursive
オプションはマスターの部分以外はよくわかりません。mozcのソースとセットになっているUbuntu用のDockfile内を見て真似してみました。

設定

GYP_DEFINES="ibus_mozc_path=/usr/libexec/ibus_mozc \
ibus_mozc_icon_path=/usr/share/ibus-mozc/product_icon.png \
document_dir=/usr/share/doc/mozc \
zinnia_model_file=/usr/lib/zinnia/model/tomoe/handwriting-ja.model" \
python mozc/src/build_mozc.py gyp

本来一行で書くのですが、長いのでバックスラッシュ(¥表示になっているかも)を使って複数行にしています。
ここの設定を実行後にINFO: doneと表示されればOKです。
表示されない場合は設定一覧の出力部分よりも前にエラー内容が表示されるのでそれを参考に足りないパッケージをインストールして再度チャレンジして下さい。

ビルド

python mozc/src/build_mozc.py build -c Release \
mozc/src/unix/ibus/ibus.gyp:ibus_mozc \
mozc/src/server/server.gyp:mozc_server \
mozc/src/gui/gui.gyp:mozc_tool \
mozc/src/renderer/renderer.gyp:mozc_renderer

こちらも長いのでバックスラッシュ(こっちも¥表示になっているかも)で複数行にしています。
コマンドはgitコマンドを入力したディレクトリから移動せずに実行しています。
記述するgypファイルのパスは作業ディレクトリからの相対パスになります。

問題なければビルドが開始されます。
工程が800以上あるのでそれなりに時間がかかります。
CPU2とRAM2GBの仮想環境で30分位かかりました。


ビルドが完了するとmozc/src/out_linux/Releaseにファイルが生成されます。
下記の→先のディレクトリに移動またはコピーして下さい。
パーミッションはアプリケーションのファイルは755で、画像ファイルは644にすれば大丈夫です。
mozc/src/out_linux/Release/gen_collocation_data_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_collocation_suppression_data_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_oss_sbm → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_suggestion_filter_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_symbol_rewriter_dictionary_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_system_dictionary_data_main → /usr/lib/mozc/
mozc/src/out_linux/Release/gen_usage_rewriter_dictionary_main → /usr/lib/mozc/
mozc/src/out_linux/Release/mozc_renderer → /usr/lib/mozc/
mozc/src/out_linux/Release/mozc_server → /usr/lib/mozc/
mozc/src/out_linux/Release/mozc_tool → /usr/lib/mozc/
mozc/src/out_linux/Release/protoc → /usr/lib/mozc/

mozc/src/out_linux/Release/ibus_mozc → /usr/libexec/
mozc/src/out_linux/Release/gen/unix/ibus/mozc.xml → /usr/share/ibus/component/
mozc/src/data/images/unix/ime_product_icon_opensource-32.png → /usr/share/ibus-mozc/product_icon.png
mozc/src/data/images/unix/ui-alpha_half.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-alpha_full.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-dictionary.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-direct.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-hiragana.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-katakana_full.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-katakana_half.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-properties.png → /usr/share/ibus-mozc/
mozc/src/data/images/unix/ui-tool.png → /usr/share/ibus-mozc/

あとはibusの設定をしてmozcがちゃんと動くか確認します。

確認してみると、自分の環境ではAnthyと同じで英語ロケールにしないと動作しませんでした・・・
もうこれってibusが悪いんじゃないですかね?


にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ

2016-07-12

ターミナルでのバックスクロール

ターミナルでアプリケーションのビルドをしていると、エラーで止まった際にいろいろ出力してくれます。
が、出力量が多いと画面外までスクロールしてしまい肝心なエラー内容がわからない場合がよくあるのでなんとかならんものかと考えていました。

GUIのターミナルアプリケーションは大抵スクロールバーがあってそれを使えば簡単にバックスクロールが出来るので問題ないのですが、Xサーバーを使っていないCUI画面でバックスクロールをするにはどうしたら良いのか・・

最初はエラーが出る処理の出力をパイプでlessとかに渡していたのですが、そんなことをしなくてもある程度ならばキーボード操作でバックスクロールが出来ることをついさっき知りました。
こんなことも知らないからいつになっても初心者から抜けられないんだと思います。


で、方法は、Shiftキーを押しながらPageUpやPageDownキーを押すことである程度バックスクロールができるそうです。
やってみたところ、5画面分くらい前の出力ならバックスクロールで確認が出来ました。


にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ

2016-07-11

Void Linux:たまったカーネルの削除

Void Linuxはローリング・リリースのディストリビューションなので頻繁にカーネルのアップデートが入ります。
その為古いバージョンのカーネルのファイルがどんどん溜まっていって/bootディレクトリが大変なことになってしまいます。

通常のパッケージならばxbps-removeコマンドで削除出来るのですが、カーネルイメージはこのコマンドでは削除できません。(パッケージファイルだけをアンインストールすることは可能)

手動でカーネルイメージを削除しなくてはならないのかと思いきや、それ用のシェルスクリプトがあることを最近知りました。たぶんVoid Linux専用です。

コマンドはvkpurgeです。
現在OSの起動に使われていないカーネルのリストを表示するには
$ vkpurge list
とすることでインストール済みカーネルのバージョンをリスト表示してくれます。

リスト内にあるカーネルイメージを削除したい場合は
# vkpurge rm バージョン
とすることで指定したバージョンのカーネルを削除してくれます。
バージョンはリビジョンまでしっかりと指定しなくてはいけないみたいです。

カーネル削除後は勝手にupdate-grubを実行して起動リストを再作成してくれます。 

にほんブログ村 IT技術ブログへ ブログランキング・にほんブログ村へ