Estou um pouco confuso com a convenção na criação de daemons linux. A maioria das pessoas concorda que o que faz um daemon é nenhum terminal associado. Além disso, em códigos de exemplo, geralmente o pai do processo é eliminado e o daemon retorna ao init. Não tenho problemas em entender que essa é a maneira de fazer isso, MAS POR QUÊ? Como é benéfico que o processo não tenha um terminal associado e seja um filho direto do init?
Pyjong's questions
O que exatamente torna um aplicativo gráfico executável no ambiente de terminal? Em relação ao X11, o que você precisa fazer para tornar o aplicativo executável a partir do tty?
Como é que programas como omxplayer
, minecraft
ou gedit
não podem ser executados a partir de tty, mas, por exemplo, "anões bêbados raivosos" (um jogo de python) ou emulador retroarch podem?
É claro que esses são apenas exemplos, não quero que você explique por que eles especificamente funcionam ou não. Mas suspeito que haja algum denominador comum. Se puder, entre em detalhes, mas apenas links para a literatura/artigos corretos também são bem-vindos. Obrigado.
--EDITAR--
Ok, houve algum mal-entendido. Para esclarecer: vamos supor que o Xorg esteja rodando no tty7 e estamos tentando executar programas gráficos em um terminal diferente (digamos, tty1) que não tenha uma instância do Xorg rodando.