Thanks for your comments johnsfine.
I hope that my own did not come off as dismissive as "Linux is not windows", I tried to provide a little more perspective than that.
But when I see thoughtful questions in many contexts, such as those of the OP, which include as their reasoning something like "Why doesn't it work just like windows?", I feel it is important give some kind of answer, and to give the new user occasion to consider, "Why should it work just like windows?". I do not say that antagonistically, but rather to aid in their adjustment to the Unix-like OS world. That was my intent in my post above.
Originally Posted by johnsfine
I don't know the technical details of an answer. But I think you are mistaken about that philosophical answer.
The fact that Linux is also a good text mode OS (while Windows is not) does not need to contradict the fact that for today's casual users Linux is a GUI OS. It certainly should not mean Linux needs to be a worse GUI than Windows is.
I too, do not have all the technical details, but I think it is important to impart to new users something of the relevant historical and philosophical perspective for the current state of GNU/Linux, something almost always unknown and usually of little interest to them - important none the less.
UNIX-like OSs, including GNU/Linux, are not simply also
text mode OSs. Unix and Unix-like systems are fully functional, multi-user operating systems even with no trace of a GUI installed, one of the essential differences I tried to bring attention to. It is in fact the foundations of the OS in many different ways.
Windows on the other hand is not, and never was, fully functional without the GUI. The internals and behavior of windows applications is very intimately coupled to the GUI.
This aspect of the history and philosophy of Unix has very much direct bearing on differences in expected application behavior between windows and Unix-like OSs. I do not know definitively, but I suspect that it does have a role in explaining the different design emphasis and choices of double-click-to-launch behaviors.
Different does not equate to worse
Originally Posted by johnsfine
My comments on aspects of making this the problem of each console ap were not intended as any kind of endorsement of that path. I put my less informed comments on the more reasonable path first.
Linux does not and should not assume a GUI. But whatever under Linux fills the role of "desktop" and/or "file browser", typically must assume a GUI. So we absolutely have that layer that is involved in launching an arbitrary executable and also taking major responsibility for the naive GUI user's GUI experience.
So it is perfectly reasonable to expect that layer to know when and how to wrap a terminal around an executable and to take that responsibility.
I think your comments on making this the responsibility of the application was right on the mark! In fact, that is the current state of affairs, it is just that the OPs applications do not currently implement such a function. Having never done that myself I have no good advice to offer on how to do so, but that seems the way to go.
But again, that is an expected behavior
under windows and is almost certainly supported at little or no "cost" by the windows API and foundation classes. The behavior is part of the windows paradigm.
It is not an expected behavior on a Unix platform and is therefore not universally supported by the common libraries (perhaps by some?). It is not part of the Unix-like paradigm.
Since it is not an expected behavior, the OPs application handles it by offering a more Unix-like choice "Execute or Execute in a terminal". That is not worse
, it is just different. And the assertion that it "should
" work like windows is only valid under windows.
Conversely, consider if a Unix user went to a windows forum and asked, "Why can't I set the default behavior to offer me the same choice to run in a terminal as on Linux?", they would probably not be taken seriously! If they said, "Why doesn't it work like Linux, just like it should
?" we would likely hear the howls all the way to LQ!
I am not howling, and I definitely do not intend this as criticism of the OP or your comments, or anyone else - simply trying to provide an answer, or at least perspective to the "Why is it this way..." question.
It is different. Not worse, or necessarily better. Just different, but also not without some underlying cause.
And I think this is a very important point to consider: The way that windows takes such responsibility for the naive user
, and very much assures that the naive user remains naive, is really not a good thing! It is a specific aspect of windows widely decried within the Unix-like sphere. That too, is part of the different paradigms.
I hope the perspective is helpful, especially to the OP's understanding of GNU/Linux. Offered with the most helpful intent as an important part of the answer to the question.
And I stand by my original advice to make effort to understand and adapt to Linux instead of trying to change it.
Best of luck!