こんにちは 最近、彼はRuby on Railsの研究を始めました。 これに先立ち、私はc#(asp.net)でプログラムしました。 Rubyへの切り替えは、Ubuntuへの切り替えと端末との密接な連携も意味していました。 Rubyは、このオンラインチュートリアル
railstutorial.ruから学んでいます。 ボードにはUbuntu 13.04があります。
RoRボーでの作業Ubuntuには、多くのターミナルウィンドウが含まれます。 1つのRailsサーバー、Sporkを使用した別のGuard、3番目のRubyコンソールなどで、インターネットで
tmuxというプログラムに出会いました。 詳細を説明しなくても、1つのターミナルウィンドウで複数のコンソールを操作できるようになります(用語の説明はLinuxにお任せください)。
写真では次のようになります。

tmuxをインストールし(
sudo apt-get install tmux
)
、基本を
学んだ後、このマルチプレクサに夢中になりました。 彼についてのすべてが良いです。 1つの「しかし」があります-再起動するたびに、tmuxウィンドウを再構成する必要があります。 そして、これはさらに5分です! tmuxウィンドウの状態を保存することは本当に不可能ですか?
インターネット上で、cronを介してセッションを個別のスクリプトとして保存することを提案する
いくつかのソリューションが見つかりました。 私にとって、初心者として、これらのタンバリンとのダンスはすべて複雑で、理解できず、機能的でもありませんでした。 考えた後、必要な3つのウィンドウで新しいtmuxセッションを起動し、いくつかのパラメーターを取得するbashスクリプトを作成することにしました。
パラメーターには以下が必要でした:
- パラメータなしで起動すると、新しいtmuxセッション、新しいウィンドウが作成され、3つのパネルに分割されます(最初のパネルの最初のウィンドウにフォーカスがあります)
- -sはRailsの2番目のパネルでサーバーを起動します
- -tは、3番目のパネルでGuard + Sporkを起動します(TDD RSpec環境)
- -oお気に入りのSublime Text 3エディターでプロジェクトを開きます
- -c最初のパネルでRailsコンソールが起動します
tmuxの
マニュアルを読み、bashスクリプトについて少し学習した後、次の行を〜/ .bash_aliasesに追加しました。
alias rapp='cd ~/work/ruby/Apps/sample_app' alias rappo='cd ~/work/ruby/Apps/sample_app && subl .' alias rapps='/bin/bash --login' alias tmux-k='tmux kill-session' alias tmux-ko='tmux kill-server' alias tmux-l='tmux ls'
ここではすべてが簡単です。 プロジェクト(sample_app)へのアクセスを容易にするためのいくつかのショートカットと、tmuxのいくつかのショートカットを追加しました。
次に、/ binフォルダーにtmux-sファイルを作成し(
sudo touch tmux-s
)、実行可能にしました(
sudo chmod +x tmux-s
)。 実際、このファイルには、必要なパネルとウィンドウでtmuxセッションを発生させ、必要なパラメーターを受け入れるコードがあります。 ファイルの内容は次のとおりです。
構成変数ブロックにはユーザー設定が含まれます
また、正しい操作のために、〜/ .tmux.confファイルを作成し、ここから設定を入力することをお勧めします: tmuxユーザー設定
それだけです 新しいターミナルを開いて
tmux-s
、便利なtmuxウィンドウを取得して、Ruby on Railsで作業できるようにします。 パラメーターを使用して遊ぶことができます-それらも機能します。 パスがプロジェクトに書き込まれるように、〜/ .bash_aliasesからエイリアスを適切に構成することのみが重要です。 また、このスクリプトは
railstutorial.ruの本を勉強する人を支援するために書かれていることを忘れないで
ください 。 Guardがない場合、スクリプトは-tオプションでは正しく機能しません。 Sublime Textもインストールします。
厳しく判断しないでください。 初心者から初心者まで。 私はこのスクリプトのために1日殺し、それを共有することにしました(ロシア語のリソースでそのような指示は見つかりませんでした)。 適切な批判を歓迎します(私はLinuxを初めて使用するので、コードは通常とはかけ離れていると確信しています)。