2015年7月28日火曜日

Chromium 44 + uim の挙動が変

Chromium 44 と uim の相性

Chromium 44 で uim を利用すると文字入力が変になります。mozc, anthy であればアドレスバーに1文字だけ入力し Enter をタイプするとそのまま検索されちゃいます。チャットなどの文字入力欄では1文字だけ入力して Enter で確定すると、そのままポストされる状態です。

これが SKK になるともっとひどい動きになります。

対策

Gentoo では問題のなかったバージョンである Chromium 43 系の ebuild ファイルが portage ツリーから消えているのでパッチ適用でしのぎます。もちろん独自 Overlay で 43 系の ebuild ファイルを用意しても良いのですが、可能なら新しいのが使いたいってなもんです。

さて、問題は次の Issue で報告され Closed になってます。
Issue 1257003002: OnPreeditChanged should update the internal composition after checking it. (Closed)
これを参考にパッチを作ります。以下のようになりました。

diff -urPN a/chromium-44.0.2403.89/ui/base/ime/input_method_auralinux.cc b/chromium-44.0.2403.89/ui/base/ime/input_method_auralinux.cc
--- a/chromium-44.0.2403.89/ui/base/ime/input_method_auralinux.cc       2015-07-16 05:30:08.000000000 +0900
+++ b/chromium-44.0.2403.89/ui/base/ime/input_method_auralinux.cc       2015-07-28 06:59:15.478133281 +0900
@@ -236,8 +236,6 @@
   if (suppress_next_result_ || IsTextInputTypeNone())
     return;
 
-  composition_ = composition_text;
-
   if (is_sync_mode_) {
     if (!composition_.text.empty() || !composition_text.text.empty())
       composition_changed_ = true;
@@ -245,6 +243,8 @@
     SendFakeProcessKeyEvent(0);
     GetTextInputClient()->SetCompositionText(composition_text);
   }
+
+  composition_ = composition_text;
 }
 
 void InputMethodAuraLinux::OnPreeditEnd() {
diff -urPN a/chromium-44.0.2403.89/ui/base/ime/input_method_auralinux_unittest.cc b/chromium-44.0.2403.89/ui/base/ime/input_method_auralinux_unittest.cc
--- a/chromium-44.0.2403.89/ui/base/ime/input_method_auralinux_unittest.cc      2015-07-16 05:30:08.000000000 +0900
+++ b/chromium-44.0.2403.89/ui/base/ime/input_method_auralinux_unittest.cc      2015-07-28 07:09:14.228367499 +0900
@@ -606,6 +606,18 @@
   test_result_->ExpectAction("compositionstart");
   test_result_->ExpectAction("compositionupdate:a");
   test_result_->Verify();
+
+  // crbug.com/513124.
+  context_->SetSyncMode(true);
+  context_->SetEatKey(true);
+  context_->AddCommitAction("c");
+  context_->AddCompositionUpdateAction("");
+  input_method_auralinux_->DispatchKeyEvent(key);
+
+  test_result_->ExpectAction("keydown:229");
+  test_result_->ExpectAction("compositionend");
+  test_result_->ExpectAction("textinput:c");
+  test_result_->Verify();
 }
 
 TEST_F(InputMethodAuraLinuxTest, MixedAsyncAndSyncTest) {

これを /etc/portage/patches/www-client/chromium-44.0.2403.89/ に拡張子を .patch にして適当な名前で保存します。chromium の ebuild には epatch_user が記載されているので、これで emerge を実施すれば自動でパッチが適用されコンパイルされます。

ここで掲載したパッチの利用は自己責任でお願いします。急がない方はバックポートされるらしいので、それまで uim から他の物に乗り換えるなどした方が安全だと思います。

2015年7月26日日曜日

qfc による補完

qfc による補完


qfcっていう bash と zshで利用出来るパス補完拡張((?)が HN で紹介されていたので使ってみました。


インストール


難しいことはなくオフィシャルサイトに書いてあるようにします。

git clone https://github.com/pindexis/qfc $HOME/.qfc

と git clone して .bashrc に以下をを追加します。

[[ -s "$HOME/.qfc/bin/qfc.sh" ]] && source "$HOME/.qfc/bin/qfc.sh"

シェルを起動し直すか、source .bashrc で読みなおしてから Ctrl-F で一覧表示して Tab を押すとオフィシャルサイトにあるように一覧が表示されます。何か文字を入力すると対象が絞られていきます。

2015年7月24日金曜日

WeeChat でマウスを使う

WeeChat でマウスを使う

ターミナルアプリの IRC クライアントである WeeChat はキーボードだけで軽快に色々と出来る。なのであまり気にしていなかったのだが、最近になってチャンネンルの切り替えとかがマウスで出来ることを知った。

さっそくやってみた。


/mouse enable これでマウスが有効になりマウスで操作が出来るようになる。ただこれだと一時的な設定で次回起動時に有効にならないので、設定ファイルを編集してマウスサポートを有効にする。もちろん /mouse enable のあと set で設定することも出来るけど忘れた。というか自信がない…

WeeChat が起動しているときは終了してから ~/.weechat/weechat.conf の mouse = off となっているのを mouse = on に編集して保存。これで次回起動時からマウスサポートが有効になる。

2015年7月22日水曜日

lftp で文字化けするときの設定

lftp で ls の結果が文字化けするとき

rxvt-unicode で文字コードを UTF-8 にして使ってると一部の FTP サーバは文字コードが SJIS とかになってて ls とかの結果が残念なことに文字化けします。それを回避する方法です。

lftp を起動して set ftp:charset sjis とタイプします。SJIS の部分はサーバの文字コードを指定してください。これで文字化け解消です。

~/.lftprc に書いてもいいけどそれほど FTP 利用することがないので毎回この方法で一時しのぎしてます。

mpd で SoundCloud を聞く

media-sound/mpd で SoundCloud を聞く方法

Gentoo での方法となります。use フラグ soundcloud を有効にします。echo 'media-sound/mpd soundcloud' >> /etc/portage/packages.use として emerge -uavND --with-bdeps=y @world で変更した use フラグを反映します。

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] dev-libs/yajl-2.0.4-r3::gentoo  USE="-static-libs" ABI_X86="(64) -32 (-x32)" 81 KiB
[ebuild   R    ] media-sound/mpd-0.19.9-r1::gentoo  USE="alsa ao bzip2 curl ffmpeg fifo flac glib icu id3tag inotify lame mad mpg123 ogg pulseaudio soundcloud* sqlite tcpd unicode vorbis -adplug -audiofile -cdio -debug -expat -faad -fluidsynth -gme -ipv6 -jack -libav -libmpdclient -libsamplerate -libsoxr -mikmod -mms -modplug -musepack -network -nfs -openal -opus -oss -pipe -recorder -samba (-selinux) -sid -sndfile -systemd -twolame -upnp -wavpack -wildmidi -zeroconf -zip" 0 KiB

Total: 2 packages (1 new, 1 reinstall), Size of downloads: 81 KiB

Would you like to merge these packages? [Yes/No]

API key を mpd.conf に追加

以下を mpd.conf に追加します。今回はグローバル設定である /etc/mpd.conf に追加しました。
playlist_plugin {
    name "soundcloud"
    enabled "true"
    apikey "c4c979fd6f241b5b30431d722af212e8"
}

mpc でロードする

mpc load soundcloud://url/https://soundcloud.com/bobina/sets/ って感じでロードして mpc play とタイプすれば再生されます。このサンプルでは Bobina のプレイリストをロードしています。これで思い Flash Player から開放されます。

2015年7月20日月曜日

Moto 360 を装着してみた

Moto 360 を装着してみた。

タイトルのまんまです。


なかなかいい感じです。Moto 360 は裏側で心拍数を測るセンサーがあるのでメタルバンドの長さはピッタリになるように、時計屋さんにもっていって調整してもらいました。自分でも出来そうなのですが、固定されているピンがかなり固くプロに任せた方が良いなと思ったからです。また、ちょうど他の腕時計の電池を交換してもらう必要もあったので。

Moto 360 のディスプレイは綺麗な丸ではなく、ちょうど6時部分にセンサーがあります。これが気になるかなぁーと購入前は気になったのですが使ってみると気にするようなものではありませんでした。

keychainでWarningがでるので対応

keychain で Warning がでる

keychain で鍵をロードするときに次のような警告が表示される。「Warning: Can’t determine fingerprint from the following line, falling back to filename」
これは OpenSSH_6.8p1 から FingerprintHash の形式が MD5 から SHA256 に変更に なったために発生している。

Warning 出力がウザいのでパッチ適用

ディストリビューションのパッケージで導入したか手動でインストールしたかで /usr/bin だったり /usr/local/bin になっていたりすると思うが、 keychain そのものはシェルスクリプトなので簡単にパッチを適用することが出来る。

アップストリームを参考にして以下のパッチを適用。

--- keychain.orig       2015-07-20 17:14:59.035940170 +0900
+++ keychain    2015-07-20 17:14:50.524857975 +0900
@@ -812,6 +812,11 @@
                 #   1024 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 /home/barney/.ssh/id_dsa (DSA)
                 echo "$ef_line" | cut -f2 -d' '
                 ;;
+            *\ SHA256:[0-9a-zA-Z\+\/=]*|*\ MD5:[0-9a-zA-Z\+\/=]*)
+                    # The new OpenSSH 6.8+ format,
+                    #   1024 SHA256:mVPwvezndPv/ARoIadVY98vAC0g+P/5633yTC4d/wXE /home/barney/.ssh/id_dsa (DSA)
+                    echo "$ef_line" | cut -f2 -d' '
+                    ;;
             *)
                 # Fall back to filename.  Note that commercial ssh is handled
                 # explicitly in ssh_l and ssh_f, so hopefully this rule will

これで Warning が出なくなる。アップストリームでは既に解決しているようだが ディストリビューションのパッケージにまだ来てないので一時しのぎ。

2015-07-21追記: Gentoo で対応されたようです。

2015年7月16日木曜日

Chromecastを購入し、使ってみた感想

Chromecast購入

AmazonのPrime Dayで購入しました。色々割引適用して2000円を切って購入です。 これならば想像と違っていても、痛くなくていいかなと思った次第です。

外見など

外観は昔のUSBメモリのような感じをしていてUSB端子の代わりにHDMI端子がついている感じです。 パッケージには本体、ACアダプター、microUSBケーブルとHDMI延長ケーブルが入っていました。 延長ケーブルはそれほど長いものではなく、テレビの構造的に差し込むのが難しいときに使う感じです。

早速セットアップ

最近US GoogleではChromecastを優先接続するためのアクセサリーが発表し販売されましたが、日本からは 購入できないので従来のようにWifiで設定するのですが、出力しているSSIDは802.1xのクライアント証明が なければ接続できない設定にしてあるので、このままではChromecastは接続出来ないので、マルチSSIDを 作成しWPA2-PSKで新たにSSIDを設定します。

セットアップにはGoogle PlayからChromecastアプリをインストールし、そのウィザードに従えば簡単に出来ます。 このセットアップの時に、どうやらChromecastが無線APとなって設定している母艦(スマホ)と直接通信することが あるようでセットアップ中はWifiがコロコロ切り替わりますが、おそらく問題はないと思います。

ちなみに私のモデルでは最新のファームウェアではないということでChromecastがネットに接続出来るようになったら ファームウェアのアップデートが始まりました。

YouTubeをテレビで見る

セットアップが完了したらYouTubeを起動しChromecastをセットアップするまでは表示されていなかったCastsボタンが 画面上部のところに表示されるので、それをタップしてあとは見たい動画タップし直ぐに再生するかキューに入れていくか 選択すればあとは動画はChromecastを接続したテレビの方で再生されます。

これで嬉しいのはChromecastで再生しているときはAndroid端末のYouTubeアプリをバックグランドにしても問題なくテレビで 再生されるということでしょうか。これは買って良かったなと素直に思った部分です。

今後について思うこと

現時点でChromecastに対応したアプリは必ずしも多いものではありません。今後、対応アプリが増えると良いなと思ってます。

2015年7月15日水曜日

Moto 360購入した。

Android wear購入

以前から欲しいと思っていたMoto 360を買いました。 最近はドルに対して円安になっていますが、Amazonで並行輸入の価格を見るとボッタクリのような値段になっています。 Amazon.comで購入したらいくら程度なのだろうと、カートに入れて出来るだけ早く届けてもらうように発送プランを 選択しても、Amazon.co.jpで取り扱いしている価格より安くなりました。

送料込みで$234.50 でした。月曜日の夕方に届くとなっているので今からウキウキしています。 正確には購入したのは Motorola Moto 360 - Dark Metal, 23mm, Smart Watch です。レザーは評価で 汗に弱いってのがあったのでメタルバンドにしました。もうメタルバンドにしてもAmazon.co.jpより お買い得なんですから、本当に驚きです。

外見など

実際には商品が手元に届いてから、改めて紹介しますが私が今回購入したのは下記の物になります。

Moto 360 Metal Black

メタルバンドカッコいいですよねぇ。

ところで何をインストールすればいいの?

私にとってスマートウォッチというものは初めてで、アプリなど何を利用して良いのか全く分かってません。 これは入れておいたほうが良いよって物があれば、教えて下さい。ちなみに母艦(?)はNexus 6です。

今後について

今後は使用感などをこのブログに掲載して行きたいと思っています。すでに分かっていることといえばアップデートしたけれども バッテリーの持ち具合に心配があるということでしょうか?

また、一部のレビューで充電中にディスプレイをオンにしておくと焼き付くというのもあって気になってます。 ただ最新のアップデートでこの問題は解消されたとも報告されているのですが、充電するときはディスプレイオフにしておこうと 考えています。

2015年7月14日火曜日

Cheetah Men Theme

あのクソゲーで有名なCheetah Menテーマ曲のリミックスです。Cheetah Menのリミックスはニコニコに沢山ありますね。YouTubeにもニコニコから転載されたのが結構あるのでチェックしてみてはいかがでしょうか。

個人的には「ジュリアナ東京的チーターマン(RaveTechno Remix)」がツボリました。








2015年7月13日月曜日

AsciiDocでBloggerに投稿する練習

AsciiDocの勉強

タイトルのままでAsciiDocの勉強のためにBloggerをAsciiDocで書いてみます。

下準備

BloggerのテンプレートからBlogger.zipを ダウンロードしてインストールする。

asciidoc --backend install blogger.zip

rootで実効するとどこにインストールされるか分かりませんが一般ユーザで実効すると ホームディレクトリの.asciidoc配下にインストールされます。

なにか適当にAsciiDocで記述する。

これは ボールド です。
そしてこれは イタリック です。
色もつけてみます。赤色
んでもって 取り消し線 です。
こっちは アンダーライン です。

と、やってみたら色付け、取り消し線とアンダーラインは効かないみたい。

Blogger用にHTMLを生成する。

以下のコマンドで生成。

asciidoc -b blogger foobar.txt

コマンドを実効するとカレントディレクトリにhtmlファイルが出力されます。

Bloggerに掲載する。

ここは生成したHTMLファイルをエディタ等で開いて全コピーしてBlogger にHTMLコードとして貼り付けて終わりです。

以上です。

2015年7月8日水曜日

Awesome から cwm へ移行

タイトルのままで WindowManager を Awesome から cwm に乗り換えました。cwm ではタイル式の WindowManager ではありませんが、なんだか近いものを感じます。

設定ファイルを晒しておきます。

~/.cwmrc
sticky yes

fontname "ricty:pixelsize=14:Regular"


command term            urxvtcolor.sh
command chromium        chromium
command "mpc play"      mpc play
command "mpc stop"      mpc stop

bind    MS-Return       terminal
bind    MCS-period      ssh
bind    M-period        "mpc seek +10"
bind    M-comma         "mpc seek -10"
bind    MS-period       "mpc next"
bind    MS-comma        "mpc prev"
bind    MS-p            nowplaying.sh
bind    M-v             pavucontrol

bind    M-1             group1
bind    M-2             group2
bind    M-3             group3
bind    M-4             group4
bind    M-5             group5
bind    M-6             group6
bind    M-7             group7
bind    M-8             group8
bind    M-9             group9
bind    MS-1            movetogroup1
bind    MS-2            movetogroup2
bind    MS-3            movetogroup3
bind    MS-4            movetogroup4
bind    MS-5            movetogroup5
bind    MS-6            movetogroup6
bind    MS-7            movetogroup7
bind    MS-8            movetogroup8
bind    MS-9            movetogroup9

autogroup       1       URxvt
autogroup       2       Chromium-browser

ignore stalonetray
ignore conky

設定ファイルが何かの言語じゃないので簡単に設定出来て良いですね。使用リソースも少なくて快適です。

一般ユーザでKVMのvhost-netを利用できるように

標準の udev のルールだと /dev/vhost-net の権限は root:root の crw------- となっていて一般ユーザでネットワークを利用した仮想マシンを起動すると「tap: open vhost char device failed: Permission denied」とおこられてしまいます。

これを回避するため udev のルールを書き換えます。

cd /lib64/udev/rules.d
sudo cp -p 65-kvm.rules 65-kvm.rules.`date -Isec`
vi 65-kvm.rules

diffの結果は以下のようになります。
--- 65-kvm.rules.2015-07-08T07:59:02+0900       2015-07-07 22:50:56.658619909 +0900
+++ 65-kvm.rules        2015-07-08 08:01:14.531018967 +0900
@@ -1 +1,2 @@
 KERNEL=="kvm", GROUP="kvm", MODE="0660"
+KERNEL=="kvm|vhost-net", GROUP="kvm", MODE="0660"

これで一般ユーザであっても vhost-net を利用したネットワークが利用出来ます。今回、利用したディストリビューションは Gentoo なのでもしかしたら編集するファイル名が微妙に違うかもしれませんが、その部分は読み替えるなどしてください。

2015年7月5日日曜日

www-client/firefox emerge中

今、www-client/firefox を emerge しています。最近39.0でしたっけ?がリリースされましたが Gentoo にはまだ来てないので 38系です。

この www-client/firefox の emerge って時間かかるんですよ!

クラウドプリントの印刷方向

それにしてもGoogleのクラウドプリントは便利ですねぇ。Android端末から印刷キューが投げておけるので、印刷忘れがなくて良いのですが一つ不満があってPDFの印刷で、おそらく元のデータが変なんだと思うんですけど印刷プレビューを見るとA4縦で印刷して欲しいのに横になっちゃうんですよね。

LinuxのChromiumからクラウドプリンタを使えばなにも問題無いんですけど… Adobe Readerを使えばこの問題解決するんでしょうか?個人的にはインストールしたくないアプリケーションだったりするんですよね。まあ元PDF(ファイル)が変だってことにしておいて諦めます。

2015年7月2日木曜日

awesompdがうまく動かなかった

Awesompdがうまく動かなくなった

Gentooでしょっちゅうアップデートしているから何かアップデートして動きが変になったのかなぁと最初は思った。

AwesompdにはJamendoを再生する機能があるんだけど、このAwesompdで使ってるAPIが今年で新しいv3.0に移行しないと使えないとなっててこれが原因かと早とちりして、全く理解していないLuaをごちゃごちゃ触ってた。

何をやっても上手く行かなくて。「なんだかなぁー」って思った時にふと/etc/mpd.confが気になりだした、というのもプレイリスト(mpd的にはDBなのかな?)の曲数が3万を超えていてmpd.confで標準値から余裕を持たせてあったんだけど、1月ほど前になると思うけどmpdをアップデートしたときにdispatch-confで設定ファイルをマージしないで上書きしてしまったんだよね。もちろん上書きした後に音楽ファイルのパスとかは変更したけど、max_から始まる設定はそのままだった。

そして、このmax_から始まる値をmpdのwikiを参考にして編集してやるとAwesompd問題なく動きました。あゝ疑ってごめんよ!