Processos Dmenu Bifurcado por Bash?

3

Eu estava olhando para a saída de pstree e percebi que os processos que eu comecei a usar dmenu parecem bifurcar de bash .

Qual é o raciocínio por trás disso? E existe alguma maneira que eu possa fazer o dmenu se comportar como gmrun e outros lançadores de aplicativos e só lançar o processo?

EDITAR: A página dmenu diz que o comportamento de execução do shell está correto para dmenu_run . Descobrir como não fazer o shell persistir após o lançamento do programa é o que eu ainda estou procurando.

    
por mellowmaroon 26.06.2013 / 10:22

3 respostas

1

Acabei perguntando sobre isso no fórum do ArchLinux depois de um tempo.

Aqui está o que /usr/bin/dmenu_run deve ser:

#!/bin/sh
cachedir=${XDG_CACHE_HOME:-"$HOME/.cache"}
if [ -d "$cachedir" ]; then
    cache=$cachedir/dmenu_run
else
    cache=$HOME/.dmenu_cache # if no xdg dir, fall back to dotfile in ~
fi
exec $(
    IFS=:
    if stest -dqr -n "$cache" $PATH; then
        stest -flx $PATH | sort -u | tee "$cache" | dmenu "$@"
    else
        dmenu "$@" < "$cache"
    fi
)
    
por 10.08.2013 / 16:58
2

Suponho que você esteja vendo dmenu_run . A lista de aplicativos é preenchida usando o shell, e é passada de volta para ele na determinação do que executar - o dmenu não inicia nada, apenas passa de volta o que você selecionou para o que estiver escutando, e isso age sobre ele. A casca está fazendo o trabalho pesado, e é por isso que é necessário.

    
por 26.06.2013 / 10:29
2

dmenu não inicia processos, apenas imprime o item selecionado para stdout. Cabe a outra coisa - provavelmente o seu gerenciador de janelas - para realmente executar o programa que você selecionou.

Você precisará fornecer mais informações sobre o que está chamando de dmenu para ajudar ainda mais.

    
por 26.06.2013 / 10:36

Tags