2013年11月13日水曜日

LinuxでAndroidデバイスにadb接続するための設定

すぐに忘れてしますのでメモ。

  1. usbで接続する。

  2. lsusbコマンドでベンダーIDを調べる。IDにつづく4文字をメモする。

    Bus 003 Device 002: ID 0bb4:0c91 HTC (High Tech Computer Corp.)

  3. /etc/udev/rules.d/51-android.rulesを編集。ベンダーIDを調べた値に変更して、追記する

    SUBSYSTEM==”usb”, ATTR{idVendor}==”0bb4”, MODE=”0666”, GROUP=”plugdev”

  4. adbサーバーの再起動

    adb kill-server
    adb start-server

Written with StackEdit.

2013年11月7日木曜日

CentOSにPHPを入れたときのメモ

参考にしたページ

CentOS6 で remi から php や mysql をインストールするための yum の設定 - Qiita [キータ] http://qiita.com/ngyuki/items/98a7cc5ac33225619e69

バージョンが変わったようで、少しアドレスが変わっていますが、ほとんどこちらと同じようにしました。


yumに外部のレポジトリを教える

epel

$rpm --import http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/RPM-GPG-KEY-EPEL-6

$sudo rpm -ivh http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

remi

$sudo rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi

$sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

レポジトリの優先度を設定しておく

プラグインを入れる

$sudo yum install yum-plugin-priorities

/etc/yum.repos.d/remi.repo /etc/yum.repos.d/epel.repo
2つのファイルの中にあるenable=0をenable=1に変更する。

/etc/yum.repos.d/CentOS-Base.repoの中にある [base],[updates],[extras]の各行の次 の行に

priority=10

を追加する。

やっとphpのインストール

 $sudo yum install php

Written with StackEdit.

2013年11月4日月曜日

Xfceでボリュームの変更をキーボードで行う設定

音量を変更する

amixerコマンドが必要なので、インストールされているかチェック。標準で入っていると思います。

dpkg -l | grep amixer

メニューの"設定マネージャー"から"キーボード"、"アプリケーションショートカット"へ移動する。
"Add"ボタンを押してコマンド入力欄に以下を入力する

音量を5%下げる

amixer set Master 5-

音量を5%上げる

amixer set Master 5+    

ミュートする

amixer set Master toggle
(もしくは、amixer -D pluse set Master 1+ toggle)

検索してみると “set Master toggle”だけでいけるはずのようですが、自分の環境ではunmuteがうまく行かなかったので、色々検索してみて下の方の設定に行き着きました。

入力して”OK”ボタンを押すと、ショートカットの入力待ちになるので、好きなショートカットを入力。


特定の端子のみを変更する

ヘッドホン端子だけとかでもできるみたいです。コマンドラインで引数なしで”amixer”を実行すると、現在の設定が以下のように表示されるので、

Simple mixer control 'Master',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback 0 - 64
  Mono: Playback 36 [56%] [-28.00dB] [on]
Simple mixer control 'Headphone',0
  Capabilities: pswitch penum
  Playback channels: Front Left - Front Right
  Mono:
  Front Left: Playback [on]
  Front Right: Playback [on]

ここに表示された名前を”Master”の代わりに実行すると変更できるようです。Masterはその名の通りすべての設定に適用されるようです。

Written with StackEdit.

2013年10月28日月曜日

Macでキーボード入力を便利にする

この前 AkiIno Blog: Xmodmapでいろいろ便利になるように設定 で、Linuxでキーバインドを変更する設定を書いたので、こんどはMacで同じことをしてみました。 MacでもWindowsやLinuxと同じキーボードを使って、無変換キーを切替キーにしています。
こんな設定、ニッチすぎて誰も使ってないかもしれませんが、ちょっとでも参考になれば。


変更したキー

半角全角 => Esc
Esc => IMEのトグル 無変換をモードスイッチに設定(IMEのONは無功化)
変換を入力モード切換

以下は無変換キーを押しながら

i => home
o => end
h => 左矢印
j => 下矢印
k => 上矢印
l => 右矢印
b => バックスペース


使ったソフトウェア

Macのキーバインド変換といえば、 pqrs.org(https://pqrs.org/index.html.ja)こちらの方が作られているソフトウェアを使うのが定番みたいです。
前回も出ていたWin用のenthumbleの設定も入っているらしいですが、設定項目がたくさんありすぎてよくわからないので、今回は手作業でやってみました。

KeyRemap4MacBook
KeyRemap4MacBook - OS X用のソフトウェア
キーバインドを入れ替えるためのソフトウェア

PCKeyboardHack
PCKeyboardHack - OS X用のソフトウェア
MacにないWinキーボードのキーを使うためのソフトウェア


大まかな手順

  1. ソフトウェアのインストール
  2. PCKeyboardHackでキーの有効化
  3. KeyRemap4MacBookでキーバインドの変更

細かな手順

1. ソフトウェアのインストール

普通に2つのソフトウェアをダウンロードして、インストールするだけです。それぞれで再起動を求められます。 順番も特になさそうですがなんとなくPCKeyboardHackを先に入れて再起動、つぎにKeyRemap4MacBookを入れました。

2. PCKeyboardHackでキーを有効化

PCKeyboardHackで変換、無変換、カタカナ/ひらがなキーを有効にします。
アプリケーションのなかにあるので、ファインダーから普通に起動して、上側で一番下の方にある"For Japanese"の3つのチェックボックスにチェックをつけます。 ソフトウェアを終了するとキーが効くようになっています。

3. KeyRemap4MacBookでキーバインドの変更

タスクバーにある四角のアイコンをクリックして、出てきたメニューからPreferencesを選択します。
"Misc & Uninstall"を選択して、"Open private.xml"ボタンを押すとFinderでprivate.xmlが表示されます。このファイルを以下のように編集します。

ファイルの基本的な書式は、

<autogen>__KeyToKey__ <変更したいキーコード>, <変更したいモディファイキー>,<変更後のキーコード>, <変更後のモディファイキー></autogen>

例えば以下なら、

<autogen>__KeyToKey__ KeyCode::I, ModifierFlag::EXTRA1,     KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>

EXTRA1を押しながらiキーを押したときに、Command_Lを押しながら左矢印キーを押したように変更されることになります。
モディファイキーが不要な場合は省略します。
キーコードは、ステータスバーのKeymap4MacBookのアイコンをクリックしたときに出る"Launch EventViewer"メニューで確認できます。

<?xml version="1.0"?>
<root>
    <item>
      <name>Swap Hankaku_Zenkaku and Escape</nam>
      <identifier>hankaku_zenkaku_escape</identifier>
      <autogen>__KeyToKey__ KeyCode::ESCAPE, KeyCode::SPACE, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ KeyCode::BACKQUOTE, KeyCode::ESCAPE</autogen>
    </item>
    <item>
      <name>Change MUHENKAN to MODIFIER</nam>
      <identifier>modifier_key_muhenkan</identifier>
      <autogen>__KeyOverlaidModifier__ KeyCode::JIS_EISUU, KeyCode::VK_MODIFIER_EXTRA1</autogen>
      <autogen>__KeyToKey__ KeyCode::J, ModifierFlag::EXTRA1, KeyCode::CURSOR_DOWN</autogen>
      <autogen>__KeyToKey__ KeyCode::K, ModifierFlag::EXTRA1, KeyCode::CURSOR_UP</autogen>
      <autogen>__KeyToKey__ KeyCode::H, ModifierFlag::EXTRA1, KeyCode::CURSOR_LEFT</autogen>
      <autogen>__KeyToKey__ KeyCode::L, ModifierFlag::EXTRA1, KeyCode::CURSOR_RIGHT</autogen>
      <autogen>__KeyToKey__ KeyCode::J, ModifierFlag::EXTRA1, KeyCode::CURSOR_DOWN</autogen>
      <autogen>__KeyToKey__ KeyCode::B, ModifierFlag::EXTRA1, KeyCode::DELETE</autogen>
      <autogen>__KeyToKey__ KeyCode::P, ModifierFlag::EXTRA1, KeyCode::PAGEUP</autogen>
      <autogen>__KeyToKey__ KeyCode::SEMICOLON, ModifierFlag::EXTRA1, KeyCode::PAGEDOWN</autogen>
      <autogen>__KeyToKey__ KeyCode::I, ModifierFlag::EXTRA1,   KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ KeyCode::O, ModifierFlag::EXTRA1,   KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen>

      <autogen>__KeyToKey__ KeyCode::JIS_KANA, KeyCode::SPACE, ModifierFlag::COMMAND_L</autogen>

      <autogen>__KeyToKey__ FROMKEYCODE_HOME, VK_COMMAND, KeyCode::CURSOR_UP, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_HOME, VK_CONTROL, KeyCode::CURSOR_UP, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_END, VK_COMMAND, KeyCode::CURSOR_DOWN, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_END, VK_CONTROL, KeyCode::CURSOR_DOWN, ModifierFlag::COMMAND_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_HOME, KeyCode::A, ModifierFlag::CONTROL_L</autogen>
      <autogen>__KeyToKey__ FROMKEYCODE_END, KeyCode::E, ModifierFlag::CONTROL_L</autogen>
    </item>
</root>

保存したら、KeyRemap4MacBookの一番最初の画面にもどり、"ReloadXML"ボタンを押して、設定を有効化します。 一番上に出てきた、"Swap Hankaku_Zenkaku and Escape"と"Change MUHENKAN to MODIFIER"にチェックをつけて、終了すると反映されます。


参考にしたページ

KeyRemap4MacBook/files/prefpane/checkbox.xml at Japanese-handling-improvement · tekezo/KeyRemap4MacBook · GitHub
GithubにおかれてるKeyRemap4MacBookのリポジトリにある、設定ファイルです。これを参考に作りました。

Macでキーバインドを変更する ~KeyRemap4MacBook~ - 世界中の羊をかき集めて KeyRemap4MacBookでキーバインドの変更するための設定を公開されてます。
キーマップっていうと、キーボード全体のレイアウト的なものを指して、今回みたいなのはキーバインドが正しい呼び方です。


感想

これで打ちやすく、というか打てるようになりました。完全にenthunbleに調教されてしまって、変更なしでは無理です。
Windowsになれてるからかもしれませんが、キーボードで操作するっていうことでは、間違いなくWindowsの方が使いやすいと思います。なんで、アプリケーションの切替がアプリごとでウィンドウごとじゃないのか。ぜったいウィンドウごとの方が便利だと思うんだけど。あと、ウィンドウを並べて表示みたいなのがないのも不思議。Linuxにはあるから特許とかの問題ではないと思うんだけど、どうなんだろ?

Written with StackEdit.

2013年10月18日金曜日

Xmodmapでいろいろ便利になるように設定

Windowsでenthumbleというユーティリティを使ってキーボードを便利に使っているんですが、同じ事をLinuxでもやりたくなったので、がんばってみました。
キーボード、もっと便利にしませんか? | キーボードソフト enthumble
http://jp.enthumble.com/
keycodeを確認するには、xveというアプリケーションを使う。
"$xmodmap -pke"で現在のキーマップが表示される .xmodmapファイルの書式
keycode 33 = $1 $2 $3 $4

$1 => 普通に押した時

$2 => shiftキーと一緒に押した時

$3 => モード切り替えと押した時

$4 => モード切り替えとShiftキーと押した時

変更したキー

  1. 半角全角 => Esc
  2. 左Caps => Ctrl
  3. 無変換をモードスイッチに設定
以下は無変換キーを押しながら
  1. i => home
  2. o => end
  3. h => 左矢印
  4. j => 下矢印
  5. k => 上矢印
  6. l => 右矢印
  7. b => バックスペース
  8. p => PageUp (Prior)
  9. ; => PageDown (Next)

.Xmodmapファイルの内容

clear Lock
clear Control
remove Control = Mode_switch
add Control = Control_L

keycode 66 = Control_L
keycode 102 = Mode_switch
keycode 49 = Escape
keycode 56 = b B BackSpace
keycode 31 = i I Home
keycode 32 = o O End
keycode 33 = p P Prior
keycode 47 = semicolon plus Next 
keycode 43 = h H Left
keycode 44 = j J Down
keycode 45 = k K Up
keycode 46 = l L Right
keycode 49 = Escape


(追記:2014/07/01)
一部うまくキーが送れないアプリケーションがあるみたいです。
例えばChromeでCtrl+PageUpでタブが移動できるはずですが、Ctrl+Mode_switch+Pを押しても移動できませんでした。



Written with StackEdit.

Chromeアプリの"StackEdit"がすごくいいかも

Chromeアプリ?ChromeApp?正式にはなんなんだろ?
AppLauncherだし、ウェブストアではアプリって表示されてるし。

Chromeアプリの"StackEdit"っていうエディタが便利。

StackEdit - Chromeウェブストア

benweet/stackedit · GitHub

良い所

  1. マークダウンで書いて、リアルタイムでプレビューされる
  2. ショートカットがいろいろある。
  3. Bloggerに直接投稿できる
  4. GoogleDriveの指定のフォルダに保存できる
  5. Dropboxに直接保存できる
  6. ローカルに保存できる

不満なところ

  1. 画像のアップロードができない。ローカルのファイルを指定して、文章と一緒にアップロードできたらいいのにな。
  2. Bloggerへの上書き保存ができない -> "Syncronize All"ボタンでなく"Publish this document"ボタンで上書き保存できました。

Written with StackEdit.

Firefoxでアドレスバーにhttpから全部表示させる

Firefoxでアドレスバーにhttpから全部表示させる。

ChromeもFireFoxもいつの間にかhttp://の部分が表示されなくなってたけど、どういう意味があるんだろ? スペースを取らないほうが良いといえば良いのかもしれないけど、なんとなく気持ち悪い気がする。あと、自分で設定したリダイレクトがきちんと働いてるか見るときに不便に感じたので(めったにないことだけど)。

手順

about:configを開いて
browser.urlbar.trimURLsを検索
値をfalseにする。

参考にしたページ

Firefoxを便利にする魔法の呪文「about:config」を使った裏ワザ10選 : ライフハッカー[日本版] http://www.lifehacker.jp/2013/10/131015firefox_aboutconfig.html

2013年4月5日金曜日

ピボット対応ディスプレイスタンド DA-STAND1を買った

 ずっと前からピポット対応のディスプレイを使ってみたいなと思っていたんですが、なかなか条件に合うのがなくて。中古のディスプレイを買って、スタンドだけ使うかなんてことも考えたけれど、それもなんだかなぁ~という感じでした。

 ニュースサイトで見つけて、値段もそんなに高くなかったので、衝動買いしてしまいました。
 注文した次の日に商品が届くとか、ほんといい時代になりましたねぇ。

メーカーのサイト
DA-STAND1 _ ディスプレイ・オプション_ IODATA アイ・オー・データ機器
 


アフェリエイトです。よかったらお願いします。



購入前にチェックする点

 1. モニタの重さ

このスタンドは、4.2kgまで対応となっていますが、あまり軽いモニタだと、一番下の位置でピン留めするか、一番上の位置まで上げるか、どちらかになるようです。
 自分のモニタは20インチで4kgあるようです(スタンド込みかもしれません)。

 2.モニタのVESAマウントの規格

モニタの裏にあるネジ穴の間隔です。いくつかの種類があるようです。定規かなにかで実際に測ってみるのが一番確実だと思います。このスタンドは10cm間隔にのみ対応しています。

VESAマウントとは【VESA mount】 - 意味/解説/説明/定義 : IT用語辞典

3.ピボットさせるときにケーブルが絡まりそうだけど大丈夫?

 自分はDVIで接続しています。電源ケーブルとDVIケーブルのどちらも太めです。しかも、アームを挟んで左右に刺さっているのでモニタを横にするとき、どうしても画面のしたをケーブルがまたぐことになります。
 1本ずつなら大丈夫ですが、PCを2台とか、PCとPS3とかを同じモニタに刺している要な場合は、ケーブルの取り回しに悩むかもしれません。
 細めのケーブルを用意するのがいいかもしれません。


 
 いちど無理にでもディスプレイを縦にしてみてケーブルが絡まないか、長さが足りてるか確認しておいた方がいいと思います。
 あと画面を立て表示にしてみて、表示がどんな具合か見ておくことを強くおすすめします。


買ってみて

思ったよりも大きな箱でしたが、スタンドと説明書、ネジ4本だけが入ってました。

 
 アームの後ろ側に高さ固定用のピンが刺してありますが、モニタをつけていない状態で抜くと、飛び出して危ないです(注意書きのシールがあるのに、やってしまいました)。

 
 組立は簡単で、元のスタンドからネジ2本を外して、新しいスタンドに付属していたネジ4本で止めるだけでした。


 高さ調節は軽いです(バネで補助されてるみたいです)が、もちろん下にずれ落ちるってことはありませんでした。
 ピボットさせるにはモニタをがっちり持つ必要があります。片手でクルッと回すという風な感じでは無理だと思います。
(2013/4/7追記:使っているうちに、自分が慣れたのか、動きがよくなったのか、スムーズにできるようになりました。上に動かしてクルッと回して高さ調節まで、片手でできます)



  メーカーのWebサイトに画面の向きを簡単に変えられるアプリがあります。ショートカットキーで切り替えられるようですが、キーは[Ctrl]+{Alt]+[L]で固定のようです。他のアプリでこのショートカットを使っていると、毎回警告がでて、ショートカットは使えません。
(追記: Windowsの標準ショートカットでCtrl+矢印が画面の向きの変更になっているようです。知らなかった。)

 ディスプレイの向きを変えるとウィンドウのサイズが、色々になるのでショートカットキーでウィンドウを移動させるようなアプリがあると便利かもしれません。Windows標準のショートカットで左右に半分はできますが、上下はできないようです。


  「画面の向きを変える」、「ウィンドウを上下に並べて表示する」をキーボードだけでできるフリーウェアとかあると便利そうです。


感想

取り付けてみただけって段階ですが、購入したことに後悔はないって感じです。
動きもなめらかですし、ずり落ちるようなこともないので、とりあえず今のところ不満点はないです。
 ずっと文章を書くような時はいいかもしれませんが、例えばブラウザのタブを見るとかのように、ウィンドウの上端を見る必要があるときに、一番下から一番上まで目線を上げるのは意外と面倒です。
 20インチのディスプレイだと縦向きで使うと少し幅が狭すぎる気もします。23か27インチぐらいのを縦向きで使うとすごく便利そう。
 もう少し大きなモニタ買いたい。


 

2013年4月4日木曜日

mac(10.8.2)にRuby on Railsを入れるメモ

macにのRuby on Railsの開発環境を入れたいけど、エラーが出て入れられないので助けてって言われたので、ここにメモしておきます。

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/li
b/ruby/ruby.h


まずXcodeを入れる必要があるようです。
AppStoreを起動して、右上の検索欄に"Xcode"を入力して検索するとすぐ分かります。
1.5Gほどダウンロードすると思うので、時間がかかります。

Xcodeを起動して、メニューの"Xcode"-"Preference"を選択。
"Download"タブを選択して、"Command Line Tools"をインストール。

あとは、普通に"sudo gem install rails"でいけるようになります。


Windowsでやった方がだいぶ楽な気がするんですが。

2013年3月16日土曜日

Thinkpad X220のマザーボードを交換した

電源が入らないThinkpadX220が手に入ったのでマザーボードを買って、交換してみました。


ebayで約25,000円で購入。ヤフオクでも売っていたのですが、せっかくならcore i7にしたいなってことで、こちらにしてみました。
イスラエルからの発送で、3月9日の夜に購入、3月16日に到着。
1週間で届くってスゴイ!


スポンジで挟んで、そのままダンボール箱に入ってて、箱がけっこうボコボコになってたんで、「ヤバいかな」と思ったけど、中身は無事でした。


ThinkpadX220保守マニュアル
Thinkpadは、分解マニュアルが公開されてるので、読み込みつつ分解。
ゆっくり時間をかける余裕をもってやれば失敗することもなさそう。


ネジをなくさない。
ケーブルがうまくさばけなくてもイライラしない。(分解するときに、どこにハメ込まれてるか覚えておく)
これだけ守れば大丈夫w



気付いた点
電源コネクタの部分はついてこない。(別部品なので当然といえば当然)
BIOSの(?)電池は付いてこない。(別部品なので当然といえば当然)
有線LANのMACアドレスは変わってしまうので、ルーターで設定している時は注意。
有線LANのMACアドレスのシールがマザーボードに適当にテープで止めてあるので、ゴミかと思って捨てない。



マニュアルを見ながら、逆の手順で組み立てる。
よくわからないネジが余ってないかキチンと確認しておくw


組み立てて電源を入れると、モデルナンバーがないよ!シリアルがないよ!って感じのエラーが出る。
ググってみると、マザーボードにシリアルが入っていないので、エラーが出てるらしい。

保守マニュアルによると事前にシリアルを確認して、メモしておくのが正当な方法のようだけど、起動しないので、裏面のシリアルのシールから入力。


で、"thinkpad maintenance diskette"って検索して三番目に出てくるリンクで1.82のバージョンのものが拾えるので、ダウンロード。
(IBMのサーバーからダウンロードできますが、一般向けには配布されてないとかなんとか、i7tm30us.exe


ファイルを実行して、解凍先にできた"usbfmtpw.exe"ってのを実行すると、USBメモリでも出来ました。

0.本体裏側のシリアルのシールに書いてある"TYPE"と"S/N"をメモ。(TYPE 4286-CTO、
S/N  SSSSSSSとする。)

1. USBメモリから起動。(はじめてやる時には、再起動させる必要がある旨が表示されるので再起動」

2. メニューが出たら「1.Set System Identification」を選択

3. 次のメニューで「1. Add S/N data to EEPROM」を選択

4. [Device Type Number]を入力 "20"(unit serial number)

5. [Serial Number]を入力 "1S4286CTOSSSSSSS"
  TYPEとS/Nを組み合わせて入力する。

6. 最初のメニューに戻って、「4. Assign UUID」を選択。

7. Enterを押して実行させると自動的にUUID(個別のID)が保存される。

以上で終了。



参考になるページ
ThinkPadのマザーボードをついに換装!
今、ブログを書くのにファイル名とか検索してたら見つけました。
写真もついていてわかりやすいです。
英語のページを検索して苦労して読んで、3時間かかったのに…



2013年2月5日火曜日

Shapeで作ったバックグラウンドの色を動的に変える方法

Shapeで作ったバックグラウンドの色を動的に変える方法

AndroidでViewのバックグラウンドをShapeで作りました。

 




 
    

    

    


で、Javaのコードの方から色を変えたくなったので色々とためしてみました。
 
GradientDrawable drawable = (GradientDrawable) getResources().getDrawable(R.drawable.back);
//色を設定する
drawable.setColor(Color.RED);
textView.setBackgroundDrawable(drawable);
こんな感じで、やったら出来ました。
ShapeDrawableだと思い込んでハマりました。