複数のターミナルタブを開いてタイトルを付け、ディレクトリに移動して、各タブにコマンドを実行させる必要があります。
Linuxとシェルスクリプトは初めてです。オンラインで検索していくつかの解決策を確認した後、このスクリプトを作成しました(編集済み 以下の回答に基づく):
#!/bin/bash
cd /media/Extra/Project
tab=" --tab-with-profile=Default"
options=(--tab --title=Terminal)
cmds[1]="'rails s'"
titles[1]="Server"
cmds[2]="'rails c'"
titles[2]="Console"
for i in 1 2; do
options+=($tab --title="${titles[i]}" -e "bash -c "${cmds[i]} ; bash"" )
done
gnome-terminal "${options[@]}"
exit 0
タブを開いて名前を付けますが、このエラーを生成するコマンドの実行に失敗します:
この端末の子プロセスの作成中にエラーが発生しました
もう1つの欠点は、実行中のコマンドを停止すると、タブが閉じてしまうことです。これは望ましくありません。コマンドを停止して、同じタブ内で再度実行できるようにする必要があります。
スクリプトの何が問題になっていますか?それを行う別の簡単な方法はありますか?
注:コマンドから(-e“” bash -c $ {cmds [i]}; bash””)の部分を削除すると、指定されたディレクトリのタブが開き、エラーなしで名前が付けられます。
>
-編集-1:
以下の@Tuknutxの回答を適用してスクリプトを編集した後、エラーは表示されなくなりましたが、bash: rails c: command not found
が表示されます。 およびrails s
Railsサーバーを起動する代わりに、新しいRailsアプリを作成します。このフォルダーにアクセスしたら、.rmvrcを使用してgemsetを選択します。
承認された回答:
tmux
の使用をお勧めします tmuxinator
を使用 、それはあなたのために仕事をします、そしてあなたはterminator
に頼ることができます レイアウトも!
terminator
の場合 レイアウトチェックアウトmhnagaokaの回答はこちらaskubuntuも:
レイアウトを設定したら、端末の背景を右クリックして、設定を選択します。 →レイアウト タブをクリックし、追加をクリックします ボタン。
名前を付けて閉じるをクリックします 。
これにより、前述の
~/.config/terminator/config
が作成されます。 ファイル。これで、保存されたレイアウトを使用してターミネータを開始できます。
terminator -l yourLayout
( yourLayoutを置き換えます
ステップ2で選択したものを使用して)(オプション)
~/.config/terminator/config
を編集します[layouts]
と表示されるようにファイルします その下にネストされています[[yourLayout]]
、 yourLayoutの名前を変更します デフォルト 以前のデフォルトを削除/名前変更します レイアウト。これで、ターミネーターがパラメーターなしで起動すると、
カスタムの[[default]]
が読み込まれます。 レイアウト!