Hatena::ブログ(Diary)

備忘録 beta

2009-09-26

android に bash を入れる

参考サイト

http://lbdaberi.blogspot.com/2009/01/androidbash.html

http://d.hatena.ne.jp/shinichiro_h/20081226


ホストOSUbuntu 9.04(ja)

デフォルトシェルが使い辛いのでbashを入れることに。

手順は以下

1. クロスコンパイラをDL

ここからクロスコンパイラダウンロード

>Target OS : GNU/Linux

>Download : IA32 GNU/Linux Installer

ファイル名は[arm-2009q1-203-arm-none-linux-gnueabi.bin]

今回はホームディレクトリダウンロード


2. クロスコンパイラ導入

$ cd ~
$ ./arm-2009q1-203-arm-none-linux-gnueabi.bin

注)ここで失敗する場合はここを参考に /bin/sh を dash から bashに変更する。(shebang変更はうまくいかなかった)

インストーラが起動するのでインストール(デフォルトの設定で良い)

今回は[~/CodeSourcery] 以下にインストール


3. bashコンパイル

$ wget http://www.busybox.net/downloads/busybox-1.13.2.tar.bz2
$ CC=~/CodeSourcery/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc CFLAGS=-static LDFLAGS=-static ./configure --prefix=/media/disk/system --host=arm-none-linux-gnueabi
注) CCはクロスコンパイラの実行ファイル, prefixはインストール先
$ make
注) 足りないパッケージは適宜入れる。自分の環境では[yacc]が入っていなかった。
$ make install

あとは

adb shell

で入って実行すれば良い

2009-09-04

Linux + Vimperator2.x で hint時にIMをオフにする

Vimperator 2.x 系では hints 時に前回のIMを起動させる

IMがオンのときはタイプしても飛んでくれない・・・

というわけで、IM をオフにする方法


環境
OSUbuntu9.04 日本語版
ブラウザFirefox 3.0.x
VimperatorVimperator 2.1
IMscim 1.4.6


1. IM側でオフにするショートカットを設定

上記環境の場合、

[SCIM入力メソッドの設定] -> [フロントエンド] -> [ホットキー] -> [終了]

で設定可能。

今回はControl + Shift + space を設定

直には触らないだろうから適当に。。。


2. xvkbd を入れる

# apt-get install xvkbd

今回は Ver3.0 が入った。


3. Vimperatorの設定

noremap <silent> f :!xvkbd -text "\\[Control]\\[Shift]\\[space]"<cr>f

以上でfを押したときにIMがオフになるはず。

ダブルコーテーションの中身は適当に読み替えて。


--

javascript

io.system(':!xvkbd -text "\\[Control]\\[Shift]\\[space]"')

を送っても同じなんだけどjavascriptの知識は皆無なんで・・・

誰かお願い。。。

2009-03-21

zshでコマンドがインストールされていない時の反応をbash風に@Ubuntu

Ubuntu(7.04以降)でコマンドがインストールされていない時に出てくるメッセージ

$ rpm
プログラム 'rpm' はまだインストールされていません。  次のように入力することでインストールできます:
sudo apt-get install rpm
bash: rpm: command not found

bashの特殊関数機能で,コマンドが見つからなかった時に [command_not_found_handle] と言う関数が呼ばれる.(debian独自のbash拡張らしい...後に正式にbashの機能となったとか?)

Ubuntuでは [/etc/bash.bashrc] に実装してあるので参照.

zshにもいろいろな特殊関数があるが,コマンドが見つからない時に呼ばれる関数はない.


zshではprecmd(プロンプト表示前に呼び出される関数)とpreexec(コマンド実行前に呼び出される関数)という2つの特殊関数を用いてこれを実装してある.

zshをインストールしたら [/etc/zsh_command_not_found]があると思うのでこれを読み込むだけ.

source /etc/zsh_command_not_found

ただし,当然precmdとpreexecを自前で定義してる場合は上書きされる.

その場合は内容をコピーして付け加えるのが早い.


読み込み前

$ rpm
zsh: command not found: rpm

読み込み後

$ rpm
zsh: command not found: rpm
プログラム 'rpm' はまだインストールされていません。  次のように入力することでインストールできます:
sudo apt-get install rpm

2009-01-29

GNOMEで Ctrl+h を Backspace に

http://forums.ubuntulinux.jp/viewtopic.php?pid=15364


Ubuntu 8.10

Gnome 2.24.1


設定エディタで

desktop -> gnome -> interface -> gtk_key_theme

初期値は[default]

これを[Emacs]に変更するだけ.

・・・[Vi]とかあるんだろうか?(未確認)


GoogleDesktopやgeditでCtrl+hが使えるようになった.

OOo等効かないアプリケーションもある・・・

2008-12-30

Ubuntuでデフォルトのftpクライアントを変更する

http://lamp-introduction.com/wordpress/?p=470


Ubuntuでメニューの[場所]から[サーバに接続]を選んでftpを選ぶと自動でFirefoxが起動した。

デフォルトのftpクライアントがFxになってるのが問題らしい。


gconf-editorを起動し、

desktop -> gnome -> url-handlers -> ftp

のcommand欄を

"nautilus %s"

にするとOK