Hi everybody.
I'm new to Linux (Debian 2.6.32-41) and to LF too!
I have some questions about executables (binary) files management in Nautilus (my default file manager).
The question is: Is Nautilus able to execute binaries by double-click, either in the case that the binary is a command-line (shell) application or a GUI application? I compiled a simple command-line "helloworld" c++ executable (g++ in Anjuta environment, and - yes, with the proper permissions -rwxr-xr-x):

#include <iostream>
int main()
	int x;
	std::cout << "Hello world!" << std::endl;
	std::cout << "Enter a value...";
	std::cin >> x;
	return 0;
The compiled binary executes correctly if launched from a terminal ($ ./helloworld), but nothing seems to happen when I double-click it from Nautilus (I would expect instead, that a terminal would open and input/output takes place from/to stdin/stdout). The file name does not have an extension and Nautilus considers it "application/x-executable". If I change its extension to ".sh", Nautilus considers it an “application/x-shellscript” and lets me choose "execute in terminal", which is the correct action that I would require.
I see there's a configuration file /etc/gnome/defaults.list, which lists the default application for opening files, but I cannot find any config file about how to execute binaries (but there should be I think...) So: how do I configure Nautilus in order to manage execution of script files in a terminal, command-line binaries in a terminal, GUI binaries in the X11 GUI, etc?
Besides: if I compare Windows executables (PE type) and Linux executables (ELF type), the PE binary has a field in its header, that tells if the application is a command-line application or a GUI application. Do ELF binaries have such information? How to know if a Linux binary is a shell application or a GUI application?
Regards everybody - and thanks!