install blackbox & bbkeys from source (CentOS5.2)
gccインストール
gccがないとお話にならない.まずはgccをインストールする.
# yum install gcc.i386
- gcc.i386-4.1.2-42.el5
- glibc-2.5-2.el5_2.2
- glibc-common-2.5-24.el5_2.2
- glibc-devel-2.5-24.el5_2.2
- glibc-headers-2.5-24.el5_2.2
- kernel-headers-2.6.18-92.1.22.el5
- libgomp-4.1.2-42.el5
がインストールorアップグレードされる.
ついでにgcc-c++もインストールする.
# yum install gcc-c++.i386
- gcc-c++.i386-4.1.2-42.el5
- libstdc++-devel.i386-4.1.2-42.el5
がインストールorアップグレードされる.
libiconvインストール
ソースインストールする.
# cd /usr/local/src # wget http://ftp.gnu.org/gnu/libiconv/libiconv-1.11.tar.gz # tar zxf libiconv-1.11.tar.gz # cd libiconv-1.11 # ./configure # make # make install
ライブラリインストール
Xのライブラリ,ヘッダのためlibX11-develをインストールする.
# yum install libX11-devel.i386
- libX11-devel.i386-1.0.3-9.el5
- libau-devel.i386-1.0.1-3.1
- libXdmcp-devel.i386-1.0.1-2.1
- mesa-libGL-devel.i386-6.5.1-7.5.el5
- xorg-x11-proto-devel.i386-7.1-9.el5.centos
がインストールorアップグレードされる.
libXextのためlibXext-develもインストールする.
# yum install libXext-devel.i386
- libXext-devel.i386-1.0.1-2.1
がインストールされる.
blackboxインストール
ソースインストールする.
# ./configure \ --prorgarm-suffix=-0.70.1 \ --with-x \ --x-includes=/usr/include/X11 \ --x-libraries=/usr/lib/xorg/modules # make # make install
makeでエラーが出る場合は,glibcとlibiconvのヘッダファイルiconv.hが混在しているから.
/usr/local/include/iconv.hを削除すればOK.
# rm /usr/local/include/iconv.h
これで/usr/local/bin/blackbox-0.70.1ができるので,/usr/local/bin/blackboxにシンボリックリンクを張っておけばOK.
# ln -s /usr/local/bin/blackbox-0.70.1 /usr/local/bin/blackbox
違うバージョンのblackboxをインストールしてもシンボリックリンクを張り直すことによりバージョンの共存が可能.
bbkeysインストール
ソースインストールインストールする.
# cd /usr/local/src # tar zxf bbkeys-0.9.1.tar.gz # cd bbkeys-0.9.1 # PKG_CONFIG_PATH=/usr/local/lib/pkgconfig # export PKG_CONFIG_PATH # ./configure \ --program-suffix=-0.9.1 # make # make install
環境変数PKG_CONFIG_PATHが必要なことに注意.
シンボリックリンクを張る.
# ln -s /usr/local/bin/bbkeys-0.9.1 /usr/local/bin/bbkeys
テスト
% bbkeys --version bbkeys version: [0.9.1] % blackbox --version Blackbox 0.70.1 Copyright (c) 2001 - 2005 Sean 'Shaleh' Perry Copyright (c) 1997 - 2000, 2002 - 2005 Bradley T Hughes -display <string> use display connection. -single <string> manage the default screen only -rc <string> use alternate resource file. -version display version and exit. -help display this help text and exit. Compile time options: Debugging: no Shape: no
OK.
/etc/inittab
ランレベルの設定ファイル.
id:5:initdefault:
この行を変更することでデフォルトのランレベルを設定できる.初期値はランレベル5.
ランレベル3に設定する.
id:3:initdefaults:
install strace from source
序章
straceを使おうと思ったらcommand not foundだった.のでインストール.
環境
- kernel: 2.6.18-92.el5
- gcc: 4.1.2
- binutils: 2.17
インストール
# cd /usr/local/src # wget http://ufpr.dl.sourceforge.net/sourceforge/strace/strace-4.5.18.tar.bz2 # tar jxvf strace-4.5.18.tar.bz2 # cd strace-4.5.18 # ./configure # make # make install
テスト
% cat >helloworld.c #includeint main(int argc,char *argv[]) { printf("hello world\n"); return(0); } % gcc helloworld.c % strace ./a.out execve("./a.out", ["./a.out"], [/* 34 vars */]) = 0 brk(0) = 0x9628000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=43763, ...}) = 0 mmap2(NULL, 43763, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f18000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000o\262\0004\0\0\0X"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1602320, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f17000 mmap2(0xb11000, 1320356, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb11000 mmap2(0xc4e000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13d) = 0xc4e000 mmap2(0xc51000, 9636, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xc51000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f16000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f166c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 mprotect(0xc4e000, 8192, PROT_READ) = 0 mprotect(0x15b000, 4096, PROT_READ) = 0 munmap(0xb7f18000, 43763) = 0 fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f22000 write(1, "hello world\n"..., 12hello world ) = 12 exit_group(0) = ? [23:55:42][0]%
できた.
iconv
iconvとは
文字コード変換ツール.多くの文字コードをサポートしている.
インストール
yumでは見つからなかった.
どうやらGNUのCライブラリに含まれているらしい.のでインストール不要.ない場合はGNUのCライブラリをインストールしないといけないのかな.
使う
文字コードの一覧を表示.
% iconv --list
euc-jpをutf-8に変換.
% iconv -f EUC-JP -t UTF-8 FILES
ファイルに書き出す場合.
% iconv -f EUC-JP -t UTF-8 FILES -o FILE
もしくは
% iconv -f EUC-JP -t UTF-8 FILES >FILE
cf
- % man 1 iconv
- % iconv --help
- http://ja.wikipedia.org/wiki/Iconv
firefoxオススメアドオン
FireGestures
https://addons.mozilla.org/ja/firefox/addon/6366
マウスジェスチャーアドオン
Web Search Pro
https://addons.mozilla.org/ja/firefox/addon/552
ウェブサーチのアドオン.ウェブ検索エンジンのショートカット機能など詳細な設定ができる.
テキストリンク
https://addons.mozilla.org/ja/firefox/addon/1939
ttp://www.google.co.jpなどの不完全なハイパーリンク,リンクの張られていないURLなどにダブルクリックでアクセスできるようになる.