投稿

Ubuntu 14.04 Trusty Tahr で変換・無変換で IME を切り替えるようにする

イメージ
前提 Ubuntu 14.04 を普通にインストールすれば iBus と Anthy で日本語が入力できるようになっているが、いくつか不満がある。中でも個人的に強調したい問題点が、直接入力・日本語入力の切り替えがトグル式にしかできないことだ。トグル式である限り常に今の入力モードがどちらであるかを覚えておくか、いちいちインジケーターを目視確認するかしなければならない。そうではなく、オン・オフのキーを個別に設定したい。具体的には Mac のように変換キーと無変換キーをそれぞれ日本語入力と直接入力への切り替えに割り当てたい。 fcitx の導入 iBus では実現できないようだったので、fcitx を導入する。以下のコマンドでインストールできる。 $ sudo apt-get install fcitx-mozc fcitx の設定 [システム設定] の [言語サポート] で [キーボード入力に使う IM システム] を fcitx にする。 このままだと iBus のインジケーターも残ってしまう。[システム設定] の [テキスト入力] で、[メニューバーに現在の入力ソースを表示] を外す。 fcitx と Mozc のキーバインドが競合しているので、Mozc の方を消さないといけない。[Mozc ツール] の [一般] タブにある [キー設定の選択] を [編集...] し、[入力キー] が "Hankaku/Zenkaku" になっているものをすべて消す fcitx のインジケーターをクリックして [設定] を選ぶと [入力メソッドの設定] が開くので、[全体の設定] タブに切り替えて、一番下の [拡張オプションの表示] にチェックを入れる。 [入力メソッドをオンに] と [入力メソッドをオフに] をそれぞれ設定する。 参考 iBus-1.5 を捨てて fcitx-mozc を使うことにした - どせいけいさんき。

Ubuntu 14.04 Trusty Tahr に Android 開発環境をセットアップする

JDK7 のインストール OpenJDK ではなく Oracle の JDK をインストールする。 $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java7-installer Android Studio のインストール 以下のページからダウンロードして適当なディレクトリに展開する。実行ユーザーが書き込み権限を持ってる場所でないと SDK Manager がうまく動かないので注意。 Getting Started with Android Studio | Android Developers .../android-studio/sdk/build-tools/android-4.2.2/aapt": error=2, No such file or directory 試しにプロジェクトを作ったら最初のビルドで上記のエラーが出た。64bit 版の OS を使っていると aapt の実行に失敗するらしい。以下のコマンドで実行できるようになる。 $ sudo dpkg --add-architecture i386 $ sudo apt-get update $ sudo apt-get install libncurses5:i386 libstdc++6:i386 zlib1g:i386 Android Studio をランチャーに登録する Android Studio のメニューから、[Tools] - [Create Desktop Entry...] とすると Unity の検索に Android Studio が出てくるようになるので、ドラッグ アンド ドロップでランチャーに登録できる。 参考 How to Install Oracle Java 7/8 (JDK and JRE) In Ubuntu 14.04, 13.10, 12.10, 12.04 and 10.04 Via PPA or Linux Mint Android's aapt not running on 64-bit Ubuntu 13.10 (no ia32

Ubuntu 14.04 Trusty Tahr で CapsLock を Ctrl にする

単に CapsLock を Ctrl にするには、 /etc/default/keyboard の XKBOPTIONS を "ctrl:nocaps" に書き換える。CapsLock と Ctrl を交換する場合は "ctrl:swapcaps" とする。要リブート。 # Check /usr/share/doc/keyboard-configuration/README.Debian for # documentation on what to do after having modified this file. # The following variables describe your keyboard and can have the same # values as the XkbModel, XkbLayout, XkbVariant and XkbOptions options # in /etc/X11/xorg.conf. XKBMODEL="pc105" XKBLAYOUT="jp" XKBVARIANT="" XKBOPTIONS="ctrl:nocaps" # If you don't want to use the XKB layout on the console, you can # specify an alternative keymap. Make sure it will be accessible # before /usr is mounted. # KMAP=/etc/console-setup/defkeymap.kmap.gz

Ubuntu 12.04 に Redmine をインストールする

Redmine をインストールするだけならすでにいろいろ情報あるけど、以下の様なこだわりでインストールしてみたのでメモ。 Ruby は apt-get で入るやつを使う Ruby 関連のパッケージはできるだけ gem で入れる (apt-get にあるやつでも) Redmine 自体は svn で取ってきて動かす サブドメイン (redmine.example.com みたいな) で見れるようにする MySQL をインストール 以下のコマンドを実行すると root のパスワードを設定するように言われるので適当に設定する。 $ sudo apt-get install mysql-server テキストがデフォルトで utf8 になるように設定する。以下の 2 行を /etc/mysql/my.cnf のそれぞれ適切な位置に追加する。 [mysqld] character-set-server = utf8 [mysql] default-character-set = utf8 ついでにデータベースも作っておく。 $ mysql -uroot -p # パスワード入力 > create database redmine character set utf8; > create user 'redmine'@'localhost' identified by 'password'; > grant all privileges on redmine.* to 'redmine'@'localhost'; Apache をインストール 今回はもう入ってたけどこうやって入れたはず。 $ sudo apt-get install apache2 Passenger をインストール 今回はもう入ってたけどこうやって入れたはず。 $ sudo gem install passenger $ sudo passenger-install-apache2-module # 足りないものがあるからインストールしろと言われる # 言われなくなるまで繰り返し Redmine をインストール 今回は /var/r

Volley で同期的にリクエストを実行する

Volley は Android のネットワーク処理をいい感じに非同期で行ってくれる。とても便利だけど時々同期的に実行したい時がある。SyncAdapter の中とか。RequestFuture を使って以下のようにすれば非同期呼び出しが終わるまで待つことができる。 public void someMethod() throws ExecutionException, InterruptedException { RequestFuture<String> future = RequestFuture.newFuture(); StringRequest request = new StringRequest(URL, future, future); RequestQueue queue = Volley.newRequestQueue(getContext()); queue.add(request); String result = future.get();// 非同期呼び出しを join する // result でなんかする } 参考 Can I do a synchronous request with volley? - Stack Overflow

Mac OS X Mavericks で ANDROID_HOME をちゃんと設定する

環境変数 ANDROID_HOME を正しく設定したい。コンソールでも $ echo $ANDROID_HOME で出てほしい。GUI のプログラムでも有効になってほしい。完全無欠に設定したい。 普通は /etc/launchd.conf に一行書くだけでできます。 setenv ANDROID_HOME /path/to/sdk でもそれでは右辺の値、この場合パスにスペースが含まれているとダメでした。いろんなやり方でエスケープしてみてもダメでした。 以下の内容で /Library/LaunchDaemons/android.home.plist を作成するとできました(要リブート)。 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>android.home</string> <key>ProgramArguments</key> <array> <string>launchctl</string> <string>setenv</string> <string>ANDROID_HOME</string> <string>/Applications/Android Studio.app/sdk</string> </array> <key>RunAtLoad</key> <true/> <key>

node.js と npm と swank-js

Javascript と Slime を組み合わせればなかなか良い Web アプリ開発環境が出来るのではないか、という試行をしてみた。とりあえず環境構築の方法だけメモっておく。今回は Mac でやったけれど Linux でもだいたい同じやり方で導入できるはず。 node.js npm - Node Package Manager ivan4th/swank-js - GitHub Emacs と Slime のインストール MacPorts でインストールした。 node.js のインストール ~/opt にインストールすることにした。GitHub の最新版はビルドが通らなかったので tar の最新版を使った。 $ wget http://nodejs.org/dist/node-v0.4.2.tar.gz $ tar zxvf node-v0.4.2.tar.gz $ cd node-v0.4.2 $ ./configure --prefix=~/opt $ make $ make install npm のインストール 以下の一行で終わり。node の実行ファイルのパスから自動的に自分がどこに配置されるべきか見ているのかな? $ curl http://npmjs.org/install.sh | sh socket.io のインストール swank-js が要求するライブラリを npm でインストールしておく。 $ npm install socket.io swank-js のインストール 最新版を取ってくる。 $ git clone http://github.com/ivan4th/swank-js.git 中にある slime-js.el を Emacs のロードパスの通った位置にコピーする。 $ cp slime-js.el Emacs の設定ファイルに Slime の設定を追加。 (require 'slime) (slime-setup '(slime-repl slime-js)) 使い方 Swank サーバーを立ち上げる $ node swank.js Emacs で、M-x slime-connect してローカルホストの 4005