Glide Note

glidenote's blog

tmux上でmosh接続したときに新しいウィンドウを生成する

前回の記事Moshを導入してあまりに快適なので、zsh+tmux+moshの環境を整え中。

tmuxを利用中に、moshでリモートホストに接続したら、新規ウィンドウを生成するように .zshrcに下記のように記載。

下記のように、新規にmoshでリモートホストに接続すると hostnameの入ったウィンドウが生成されるようになりました。

スリープから復帰してもリモートホストに接続しているターミナルが 生きているので、tmux+moshで新境地が開拓出来そうな予感。

さくらVPSにSSH代替品のMoshを入れてみた

話題のMoshをMacBook Airと自宅サーバのFedora16に入れて、 あまりのレスポンスの良さに感動して、早速さくらVPS(CentOS6)にも入れてみました。
moshの解説はkarasuyamatenguさんのサイトに非常によくまとまっています。

ssh鍵の登録などのsshの設定は完了しているものとして作業します。(認証部分はsshに依存しているので)

さくらVPSにMoshを導入

1
2
sudo yum -y install boost-devel zlib-devel ncurses-devel protobuf-devel paco
exec $SHELL

yumで導入出来なかったので、githubからソースを持ってきて導入。 ソースから導入する場合は、pacoで 管理した方が楽なので、pacoを利用します。
IO::Ptyも必要のようなことが書いてありますが検証したLionFedora16SL6.2CentOS6.2では導入しなくても大丈夫でした。

1
2
3
4
5
6
7
8
9
10
mkdir ~/tmp
cd ~/tmp
git clone git://github.com/keithw/mosh.git
cd mosh
./autogen.sh
./configure
make
sudo paco -D make install
sudo paco -ua
exec $SHELL

さくらVPS側では、UDPの60000-61000番ポートを開放する必要があります。
私は/etc/sysconfig/iptablesに下記を設定しました。適時変更してください。
検証時は接続元を絞った方がいいかと思います。

1
2
# mosh
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 60000:61000 -j ACCEPT

MacにMoshを導入

Homebrewを利用して導入

1
brew install mobile-shell

MacからさくらVPSにMosh接続

1
mosh hostname

という感じで接続出来ます。sshdのように常時デーモンが起動しているわけでなく、 mosh接続した際に、リモートホストでmosh-serverが起動される感じです。

sshに慣れきっていたので、Moshのレスポンスの良さは驚きです。 とりあえずローカル環境に関してはsshじゃなくmoshでいいような。

自分の開発環境には全台導入しました。

keepalived.conf編集用にkeepalived-syntax.vimを作った

nginx.vimのソースを眺めてて、 syntax系Vim pluginが作ってみたくなったのと、keepalived のconfを書くときにsyntax highlightが効かなくて困っていたのを思い出したので書いてみた。

keepalived自体にconfのsyntax checkをしてくれる機能が無くて、confを修正するときは keepalived-checkを必ず回しているんですが そもそもconfの作成の時点で、間違いに気づければいいなと昔から思っていたので、 それが解決しそうです。

導入方法

導入にはvundleか、NeoBundleを利用してください。

私はvundleを利用しているので、.vimrcに下記のように記載しています。

2012年4月9日 2:00追記 setからsetlocalに修正しました

1
2
Bundle 'glidenote/keepalived-syntax.vim'
au BufRead,BufNewFile keepalived.conf setlocal ft=keepalived

@heavenshellさんに教えてもらいました

before

after

最近keepalivedのconfを一から書く事はほとんどないですが、 confを修正するときに重宝しそうです。

nginx.vimを入れてみた

nginxのconfを書いていて、syntax highlightがきかないので導入してみた。

.vimrcに下記のように記載

before

after

ソースがわかりやすいので、syntax系vim pluginはすぐ自作出来そう。

auto-fu.zshの自動補完が便利すぎる

auto-fu.zshの自動補完が便利すぎてやばいです。 2年前くらいに話題になっていたようですが、全く知りませんでした。

普通に試すだけなら下記を実行すればOK

1
2
git clone git://github.com/hchbaw/auto-fu.zsh.git
source auto-fu.zsh/auto-fu.zsh; zle-line-init () { auto-fu-init; }; zle -N zle-line-init

私は下記のような感じで設置しました。

1
2
3
4
mkdir ~/work/ ~/.zsh/
cd ~/work/
git clone git://github.com/hchbaw/auto-fu.zsh.git
cp ~/work/auto-fu.zsh/auto-fu.zsh ~/.zsh/auto-fu.zsh

.zshrcに下記を追加して、exec $SHELL

これは凄い

参考URL