Even though Netbeans make things like the Rails development log and the database connections pretty easy to get to, I still have a pretty strong preference for the command line. When I am coding I almost always have a few terminal windows open and stretched nice and big; generally one for mysql, one for the Rails development log and often a third for the Rails console in case I want to experiment with the code I am writing.
The down side to this set up is just that; the set up. Every day I type in the same stuff… mysql -u root blah blah blah.
So last night, after an ill advised post dinner coffee, I set about scripting my morning Rails ritual and on the way learned a bunch about the terminal.
Gnome terminal is the proper name for the program that resides under Applications > Accessories > Terminal. A quick look at the man pages give a pretty nice set of options to play with but I found they required a bit of trial and error to get right.
Cut and paste the ones you want into custom launchers.
Launching Mysql and getting a prompt on a specified database:
gnome-terminal -e “mysql -u root -ppassword -D myapp_development”
Thats no typo! There can’t be any space between the -p option above and the actual password!
Launching a window with the Rails development log (with a specified Rail environment):
gnome-terminal –working-directory=/home/mike/projects/myapp -e “script/server -e mikes”
That one is great for me because I am rapidly becoming sick of typing in stuff for custom Rails environments. Now I don’t need to!
Those are pretty fun, but the ultimate in convenience for me would be to have a single tabbed terminal window with everything. So why not combine the two into a single command?
gnome-terminal –geometry=174×46+50+50 –tab-with-profile=Default –title=”Mysql” -e “mysql -u root -ppassword -D myapp_development” –tab-with-profile=Default –working-directory=/home/mike/projects/myapp –title=”Server” -e “script/server -e mikes” –tab-with-profile=Default –working-directory=/home/mike/projects/myapp –title=”Console” -e “script/console mikes”
This is a doozie but it means that my whole morning Rails set up ritual has been reduced to a single click on a launcher. Sweet!