"Linux" is much more varied than Windows is. We have many different types of desktop systems, phone systems, etc. Developing for Ubuntu is completely different from developing for Android, for instance. I'll assume Ubuntu is the target. :)
In Ubuntu, the main desktop is called Gnome and provides lots of nice development tools. It is based on the GTK+ toolkit for user interfaces, and it's quite easy to learn. You can learn more about the platform here: http://developer.gnome.org.
GTK itself is based on C, but it's available for all different kinds of languages. One language I would recommend you have a look at, is Vala. This is a language that very much resembles C# and Java, but instead of compiling to bytecode and depending on a VM and JIT, it compiles to C and then to native code. It uses Gnomes GLib and GObject extensively, and these are quite comfortable tools. There is a quick tutorial here: http://live.gnome.org/Vala/Tutorial. It assumes programming knowledge and it is a highly useful to know C# or Java, and so doesn't waste much time on general programming concepts. You'll pick it up very quickly.
Another language you might want to explore, is Python. This is a much higher level, duck-typed language with a very clean syntax and very easy to learn. Python is very popular in the Ubuntu community. You can learn more about Python here: http://docs.python.org/tutorial/index.html
What programming language you use, is of little consequence when you're developing for Gnome and Ubuntu. The tools will be available for most languages I know of. So, first pick a language, then read up on the Gnome platform. Ubuntu also has a new developer portal which describes the things that are special to Ubuntu, such as the Unity interface. It also has recommendations for development tools such as version control systems, GUI constructors and editors. You'll find it here: http://developer.ubuntu.com.