I know Ruby right now, however I want to learn a new language. I am running Ubuntu 10.04 right now but I am going to get a Mac later this summer. Anyways I want something more for GUI development. I was wondering if I should learn C on Ubuntu right now, and then learn Objective-C when I get an iMac? Will learning C give me an edge? Or should I just learn Python on Ubuntu and then learn Objective-C when I get a new computer?
It's frequently helpful to learn programming languages in the order they were created.  The folks that wrote Objective-C clearly had C and its syntax, peculiarities, and features in mind when they defined the language.  It can't hurt you to learn C now.  You may have some insight into why Objective-C is structured the way it is later.
C has a great, classic book on it, The C Programming Language by Kernighan & Ritchie, which is short and easy to digest if you already have another language under your belt.
If I start learning C on Ubuntu will it give me an edge when I start learning Objective-C later this summer?