O terminal Xmonad cria três processos

0

Estou configurando o xmonad. Eu mudei o terminal para terminal="urxvt" mas eu não gosto que ele crie três processos por cada terminal que eu abro:

~$ ps -fea --forest
fake 16042 12136  0 11:22 ?        00:00:00          \_ /bin/sh -c urxvt
fake 16043 16042  0 11:22 ?        00:00:00          |   \_ urxvt
fake 16044 16043  0 11:22 pts/2    00:00:00          |       \_ bash

Como posso consertar isso? Posso remover o processo /bin/sh -c urxvt ?

    
por Zhen 23.07.2013 / 11:34

1 resposta

1

Internamente, o XMonad usa spawn no XMonad.Core :

spawn :: MonadIO m => String -> m ()

spawn. Launch an external application. Specifically, it double-forks and runs the String you pass as a command to /bin/sh.

Portanto, se alguém quiser alterar apenas o valor terminal , em vez de usar diretamente o executeFile , será necessário usar exec no comando shell, terminal="exec urxvt" , o que removerá o /bin/sh extra fazendo com que ele seja exec do comando, em vez de o shell ser o pai do processo.

    
por 23.07.2013 / 12:03