Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If you have an executable file *.out that you launch from the GUI (let's say by pressing Alt+F2 in Fedora and typing it's name), what happens if that file tries to read or print to standard out/standard in? What actuary happens underneath. Are these file descriptors even created when not launching from the terminal? Are they accessible?

share|improve this question
up vote 2 down vote accepted

What happens is essentially the same as starting a terminal, running the commandline with & at the end to run it in the background and closing the terminal while the program is still running. Depending on how exactly the program is launched from the GUI, you might be able to access standard error in ~/.xsession-errors or the equivalent file that your window manager uses.

In general, standard out and standard in of a program launched this way will not be accessible; they will usually point to /dev/null. Note however that you can redirect input and output using < and >, e.g. program < > file.out.

share|improve this answer

Obviously - if it reads form stdin read fails If ir writes to stdout - it gets discarded Stderr is collected where Lars said.

share|improve this answer
This is poorly punctuated, poorly spelled, slightly insulting (if it was "obvious" to rubixibuc, (s)he wouldn't have asked the question), and adds nothing to Lars's answer. What is the point? – TRiG Jul 14 '14 at 16:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.