読者です 読者をやめる 読者になる 読者になる

kegamin’s diary

勉強記録

cloud9を弄ってみた@Ruby on Railsチュートリアル講座

『Ruby on Rails チュートリアル』解説セミナー(Rails 4.2対応)/ 晩秋集中セミナー - CoEdo.rb | Doorkeeperに週末3日間でていて、CourseraのMachine Learningは課題こなすだけで精一杯な状態。(とりあえず提出には間に合ってる…

講習のRuby on Rails チュートリアル:実例を使って Rails を学ぼうをやるにあたって、折角なのでCloud9を使ってみることにしたのでそのメモです。講習での感想やらはどこかで残そうと思います

Cloud9とは

Linuxの操作は苦手だけどruby on railsを弄りたい!って人にぴったりなクラウド開発環境を提供してくれるサイト.

Cloud9 combines a powerful online code editor with a full Ubuntu workspace in the cloud.

https://c9.io/

cloud9画面

中身はLinuxだけど、GUIだけで大抵の事はできるようになっているので、cdとかのLinuxコマンド知らなくても、railsチュートリアルをやる程度であれば十分な機能がある。

変更したところ

キーバインディング

default,sublime,emacs,vimから選べるのでvimにした。これ選べなかったら講習でも絶対macでやってたな…

cloud9 keybinding

起動時のシェルをbashからzshに変更

私のdotfilesは完全にzsh仕様になってるので速攻でbash→zshに変更して、dotfilesをimportして自分仕様に

参考サイト

変更コマンド

参考にしたサイトではzshをsourceから入れていてけど、sudo許可されてたので普通にapt-getでzsh入った。 なので後は諸々起動シェルを変更するためにchshしたりtmux.conf変更したり.

echo "install zsh..."
sudo apt-get install zsh

zsh_path=$(which zsh)
# /etc/shellsにzsh追加
if ! grep $zsh_path /etc/shells > /dev/null 2>&1 ; then
    echo $zsh_path | sudo tee -a /etc/shells
fi

# デフォルトシェルを変更
current_shell=`grep $(whoami) /etc/passwd | cut -d':' -f7`
if [ "$current_shell" != "$zsh_path" ]; then
  #zshをデフォルトのshellに
  sudo chsh -s $zsh_path ubuntu
  echo "changed default shell to $zsh_path"
fi

# cloud9はtmuxが起動するので、tmux側のデフォルトシェルも変更する
if [ ! -f $HOME/.tmux.conf ]; then
  echo "set -g default-command zsh" >> $HOME/.tmux.conf
  echo "created $HOME/.tmux.conf"
fi

自動化スクリプト

以下のコマンドで一気に上記をやってくれるので、お好みでどうぞ

# https://gist.github.com/kegamin/8d81a1d029a3aa50916d
$ bash <(curl -sL  'https://gist.githubusercontent.com/kegamin/8d81a1d029a3aa50916d/raw/873ff2dccc0c9c1acc88d23ae0e1e85ee09a6804/zsh_install.sh')

が、しかし

これだけと言いたいところなんですが、これだとうまく初期起動時にzshに変わってくれません(´ω`)

docker -> micro_inetd + dropbear -> tmux
な感じでcloud9は起動されているようなのですが、何故か作ったtmux.confを読み込んでくれない...

tmux source-file $HOME/.tmux.confとかも無理で、dropbearで起動しているtmuxは/usr/bin/tmuxではなく/mnt/shared/sbin/tmuxってのまでわかって面倒臭くなったので、とりあえずunset TMUX;tmuxして無理やり回避/(^o^)\

補足: Docker at Cloud9 IDE

となると、なんでこんな事を!?とか思ってた echo "zsh" >> $HOME/.bashrcという技も、まぁしょうがないのか…な。どこかでちゃんと調べて解決しとこう…

dotfiles入れて完了!

cloud9のシェル画面は小さいので、こんな感じで2行タイプにしてやっと使いやすい状態に。rails turorialは頻繁にgitのブランチ作成するので、やっぱりbranch名がちゃんと表示されないとね!

cloud9 tmux screen

講習中結構Linuxコマンドをがりがり打ってましたが、大抵の事がcloud9上でできてしまうのでおそらく初心者でも問題ないかと思います。 ファイル作成(touch)や削除(rm)含め、検索諸々最低限の機能はGUI上で完結します

【スポンサーリンク】