linux - воспроизводить звук при входе в систему?
Я установил Gentoo без графического интерфейса и добавил aplay /usr/shar/sounds/startup3.wav &> /dev/null &
в мой файл /etc/bash/bashrc. Это прекрасно работает при воспроизведении звукового файла, но как только звук заканчивается, и я нажимаю Enter, он говорит мне, что процесс завершен. Когда я запускаю звук на переднем плане, у меня нет возможности что-либо делать в своем терминале, пока не закончится воспроизведение звука.
Можно ли как-нибудь воспроизвести звук без каких-либо выходных или сбоев после входа в систему?
1 ответ
Это сообщение "Готово" вызвано тем, что командная оболочка все еще находится под контролем задания:
$ sleep 10 &
[1] 660
$ jobs
[1]+ Running sleep 10 &
(time passes)
$
[1]+ Done sleep 10
Вы можете просто удалить все задания из управления заданиями с помощью disown
(а)
$ sleep 100 &
[1] 3804
$ jobs
[1]+ Running sleep 100 &
$ disown
$ jobs
$
Я не знаю способа отречься от работы с самого ее начала(б), поэтому я предлагаю вам просто поставить disown
на ваш bashrc, сразу после звуковой команды. Однако это отменит все рабочие места - я не знаю, если это требуется. В противном случае вы можете использовать disown %aplay
,
(А) man bash
disown [-ar] [-h] [jobspec...] Без опций каждая спецификация заданий удаляется из таблицы активных заданий. Если jobspec отсутствует и не указан ни -a, ни -r, используется оболочка для текущего задания. Если указана опция -h, каждая спецификация заданий не удаляется из таблицы, а помечается так, что SIGHUP не отправляется заданию, если оболочка получает SIGHUP. Если спецификация заданий отсутствует и не указана ни опция -a, ни опция -r, используется текущее задание. Если спецификация заданий не указана, опция -a означает удалить или отметить все задания; опция -r без аргумента jobspec ограничивает выполнение операций заданиями. Возвращаемое значение равно 0, если в задании не указано допустимое задание.
(б) Однако в Z Shell zsh
это просто:
zsh$ sleep 10 &!
zsh$ jobs
zsh$