telnetで認証付きのircに接続する
いつも忘れるのでメモ。
telnet ircserver 6667 NICK tekiomo PASS password USER tekiomo 0 * : Tekio Omoda
サーバーサイドなLESSを試してみた
LESSのサーバーサイド版を試してみた。
インストールには比較的新しめのnodejs(v0.4.9だとだめだった)とnpmが必要。
$ git clone https://github.com/joyent/node.git $ cd ./node $ ./configure $ make $ make install
$ git clone https://github.com/isaacs/npm.git $ cd ./npm $ git submodule update --init --recursive $ sudo make install
$ npm install less
これで準備完了。
サンプルからコピーしてきた.lessファイル
$ cat /tmp/styles.less @nice-blue: #5B83AD; @light-blue: @nice-blue + #111; #header { color: @light-blue; }
これをlesscすると
$ ~/.npm/less/1.2.2/package/bin/lessc /tmp/styles.less #header { color: #6c94be; }
のように出力された。
LESSの使用で設計はだいぶ楽になると思った。上記の手順でピュアなCSSにすぐに戻せるので試す価値はありそう。
TerminatorのSearchPluginを試してみた
Linux環境ではターミナルはTerminatorを使ってる。
今までは画面分割の機能が便利で使っていたんだけど、Terminatorにはプラグイン機能も備わっていてちょっと探してみたら、choffee/terminator-plugins - GitHubにあるsearchplugin.pyがちょっと気になったので入れてみた。
$ git clone https://github.com/choffee/terminator-plugins.git $ cp ./terminator-plugins/searchplugin.py ~/.config/terminator/plugins/
あとはTerminaitor上でマウスで選択して右クリックメニューから「Search Google」を選択するとデフォルトのブラウザが立ち上がってGoogle検索結果が表示される。
エラーログの内容を検索したいときにプチ便利かも知れないような雰囲気を醸し出しそうな様子に感じそうな気がした。
Zshでホスト名とユーザ名とカレントディレクトリをTerminal(&タブ)のタイトルに表示させてみた
Gnome Terminalはタブを利用できるので重宝しているのですが、普段の開発時には複数のタブを開きサーバにログインしているので、今開いているタブがどのサーバなのか咄嗟に分からないことがあります。
なのでホスト名とユーザ名とカレントディレクトリをTerminal(&タブ)のタイトルに表示するようにしました。
まーありがちな処理なのですが、カレントディレクトリが深い場合に表示しきれなくなってしまうので、ちょっとだけ工夫して下記のように省略表示させました。
/path/to/directory ↓ /p/t/directory
~/.zshrc
function changetitle { # pwdを二回も実行しているのがなんかダサい... current_dir=`pwd | sed -e "s%\(/\([^.]\|\..\)\)[^/]*%\1%g"``pwd | sed -e "s%^.*/\([^.]\|\..\)\([^/]*\)$%\2%"` # タイトル用に整形 title=[${USER}@${HOST%%.*}]${current_dir} case "${TERM}" in xterm*|kterm*|rxvt*) echo -ne "\033]0;${title}\007" ;; screen*) echo -ne "\033P\033]0;${title}\007\033\\" ;; esac } # zsh起動時にとりあえず実行 changetitle # cd実行後に変更 function chpwd() { changetitle } # Screenの場合、window切り替え時に前のwindowのタイトルがTerminal(&タブ)のタイトルとして # 残ってしまうのでせめてcdコマンド以外のコマンドでも実行前にタイトルを変更 preexec () { changetitle }
Screenに現在のメモリ使用率を表示させてみた
過去に掲題のエントリーをどこかで見かけた記憶があるのですが、失念してしまいやむなく自作しました。
まずは下記のようなメモリの使用率を出力するshellを用意します。
#!/bin/sh # echo `free | grep "buffers/cache" | awk '{print substr($3/($3+$4)*100,1,5)}'`'%' # echo `free | grep "buffers/cache" | awk '{printf "%3.1f", $3/($3+$4)*100}'`'%' echo `free | awk '/buffers\/cache/{printf "%3.1f", $3/($3+$4)*100}'`'%'
処理を簡単に説明します。
freeコマンドでメモリの状態を出力し、
$ free total used free shared buffers cached Mem: 2058796 1998692 60104 0 84788 1032096 -/+ buffers/cache: 881808 1176988 Swap: 1951740 3352 1948388
その結果から「buffers/cache:」のある行だけgrepして
# grep "buffers/cache" -/+ buffers/cache: 881808 1176988
grep結果をawkして許されるのは小学生までだよねー
3つめ(881808:OSとアプリケーションが使用しているメモリサイズ)と4つめ(1176988:空きメモリサイズ)からメモリの使用率を算出して、小数点二桁くらい一桁(printf便利!)に揃えて
# awk '{print substr($3/($3+$4)*100,1,5)} # awk '{printf "%3.1f", $3/($3+$4)*100}' awk '/buffers\/cache/{printf "%3.1f", $3/($3+$4)*100}'
最後に「%」をくっつけています
echo 上の処理の結果'%'
このshellを適当なところに置きます。
今回、homeディレクトリに.screenディレクトリを掘り、mem.shとして保存しました。
~/.screen/mem.sh
次に.screenrcファイルに下記のような一行を追加します。
backtick 0 2 2 ${HOME}/.screen/mem.sh
そして、hardstatusまたはcaptionに「%0`」を追加すると完了です。
hardstatus string "memory : %0`"
この0は backtick のひとつめの引数(id)に該当し、例えば「backtick 1 2 2 ${HOME}/.screen/mem.sh」とした場合は「%1`」とします。
以上で完成です。
参考にさせて頂いたエントリー
screenのcaptionに東京電力の電力使用状況を表示するようにしてみた - ケーズメモ
Ubuntu11.04環境でgm-notifyが起動しないときの対処法
4/28にUbuntu11.04が正式リリースされました。さっそく新しいUnityインタフェースに慣れず、Ubuntuクラシックに逃げました...
さて、GMail Notifier(gm-notify)というpython製のGmailのメールチェッカーがあります。Ubuntu10.10の頃から利用していたのですが、素のUbutu11.04環境では動作しませんでした。
下記のように Twisted と python2.7-dev のインストールが必要となります。
まずは gm-notify をインストールします。
$ wget http://launchpad.net/gm-notify/0.x/0.10.3/+download/gm-notify-0.10.3.tar.gz
$ tar xvf gm-notify-0.10.3.tar.gz
$ cd gm-notify-0.10.3
$ sudo python setup.py install
インストールは完了しますが、メニューから「GMail Notifier Configuration」を選択しても起動しません。
ログを覗いてみるとこのようになっていました。
$ less ~/.xsession-errors Traceback (most recent call last): File "/usr/local/bin/gm-notify-config", line 36, in <module> from twisted.words.protocols.jabber import jid ImportError: No module named words.protocols.jabber
words.protocols.jabber がなさそうなのでまずは Twisted をインストールします
$ wget http://twistedmatrix.com/Releases/Twisted/11.0/Twisted-11.0.0.tar.bz2
$ tar xvf Twisted-11.0.0.tar.bz2
$ cd Twisted-11.0.0
$ sudo python setup.py install
fatal error: Python.h: No such file or directory
今度は Python.h がないと言われますので、さらにaptitudeで python2.7-dev をインストールします
$ sudo aptitude install python2.7-dev
再度、Twisted をインストールすると正常に完了しました
$ sudo python setup.py install
以上を行なうことでgm-notifyを起動することができました。
UbuntuのVPN接続が頻繁に切断されるときの対処法
Ubuntu9.04+でのVPN接続は、vpncとnetwork-manager-vpncをインストールすることによってGUIからでも行なえます。
ただCiscoVPN環境下において、頻繁にその接続が切断されていました(一日3,4回
それが最近(今のところ)解消されたのでその対処法です。
結論から言えば、デッドピア検出をオフにすることで解消されました。
下記のようにconfファイルに「DPD idle timeout (our side) 0」を追加しCLIからvpncを実行します。
$ sudo vpnc ~/.vpn/defalult.conf [sudo] password for tekiomo: Enter password for tekiomo@VPN_SERVER: VPNC started in background (pid: 1234)...
# confファイルの中身 $ cat ~/.vpn/default.conf ## generated by pcf2vpnc IPSec ID VPN_GROUP_ID IPSec gateway VPN_SERVER IPSec secret GROUP_PASSWORD DPD idle timeout (our side) 0 Xauth username tekiomo IKE Authmode psk # 切断の仕方 $ sudo vpnc-disconnect
またconfファイルに追加せずに直接コマンドから「--dpd-idle 0」と指定することも可能です
$ sudo vpnc --dpd-idle 0 ~/.vpn/default.conf
(本当はGUIでDPDをオフに設定したかった(接続状況が可視できるので)のですが、GUIでの設定方法が分かりませんでした。)
上記のconfファイルはpcfファイルからpcf2vpncを使ってコンバートしました。pcf2vpncのインストール方法については下記を参考にしてださい。
How to setup Cisco VPN using VPNC Ubuntu Jaunty (9.04) | Ubuntu Geek