linux - Reproduz som no login?

0

Instalei o Gentoo sem uma GUI e adicionei aplay /usr/shar/sounds/startup3.wav &> /dev/null & ao meu arquivo / etc / bash / bashrc. Isso funciona muito bem em reproduzir o arquivo de som, mas uma vez que o som termina e eu apertei enter, ele me diz que o processo terminou. Quando faço o som tocar em primeiro plano, não tenho a capacidade de fazer nada no meu terminal até o som terminar de tocar.

Existe alguma maneira de reproduzir o som sem qualquer saída ou interrupção após o login?

    
por mpy 12.03.2013 / 07:41

1 resposta

0

A mensagem "Concluído" é porque o shell ainda tem o comando sob o controle do trabalho:

$ sleep 10 &
[1] 660
$ jobs
[1]+  Running                 sleep 10 &

 (time passes)

$ 
[1]+  Done                    sleep 10

Você pode simplesmente remover todos os trabalhos do controle de trabalho com disown (a)

$ sleep 100 &
[1] 3804
$ jobs
[1]+  Running                 sleep 100 &
$ disown
$ jobs
$

Eu não conheço um método para descartar um trabalho direito com o seu início (b) , então eu proponho que você simplesmente coloque um disown no seu bashrc, logo após o comando do som. No entanto, isso irá ignorar todos os trabalhos - não sei se isso é desejado. Caso contrário, você pode usar disown %aplay .

(a) man bash

disown [-ar] [-h] [jobspec ...] Without options, each jobspec is removed from the table of active jobs. If jobspec is not present, and neither -a nor -r is supplied, the shell's notion of the current job is used. If the -h option is given, each jobspec is not removed from the table, but is marked so that SIGHUP is not sent to the job if the shell receives a SIGHUP. If no jobspec is present, and neither the -a nor the -r option is supplied, the current job is used. If no jobspec is supplied, the -a option means to remove or mark all jobs; the -r option without a jobspec argument restricts operation to running jobs. The return value is 0 unless a jobspec does not specify a valid job.

(b) No entanto, no Z Shell zsh , isso é fácil:

zsh$ sleep 10 &!
zsh$ jobs
zsh$
    
por 12.03.2013 / 10:20