Возможно, самым простым и стабильным решением было бы установить сервер Icecast, где вы можете определить полосу пропускания для каждой точки монтирования (см. также этот вопрос).
Используя Icecast в качестве потокового клиента, вы можете транслировать звук на своей звуковой карте, что бы alos позволяют микшировать микрофон или другие источники перед потоковой передачей. Чтобы настроить Darkice для потоков с низкой полосой пропускания, вы можете отредактировать файл конфигурации, включенный, например. например:
[icecast2-0]
bitrateMode = cbr # fixed bit rate
quality = 1.0
format = mp3 # format of the stream: ogg vorbis
bitrate = 32 # bitrate of the stream sent to the server
[...]
Оба приложения доступны через репозитории: файл конфигурации этот вопрос и darkice.
Из советов и трюков Bash: «cd» со стилем:
Наконец, я хочу показать вам, как написать свою собственную замену для команды «cd». Вы всегда набираете одно и то же, переходя в каталог? Вероятно, вы, по крайней мере, перечисляете файлы там каждый раз, возможно, так много, что ваши руки автоматически набирают «ls» после каждого «cd». Ну, пытаясь все, о чем я мог думать, оказалось, что есть только один способ правильно выполнить цель, которую мы ищем. Мы должны создать функцию оболочки. Функции оболочки являются частью программирования оболочки. Как и в скомпилированных языках программирования, функции предоставляют своего рода процедурные модульные возможности. Можно создать общую функцию для выполнения часто используемого бита логики или вычисления с различными параметрами. В этом случае параметр является текущим рабочим каталогом. Вот простой:function cs () {
cd $1
ls
}
Как Советы и трюки Bash: «cd» со строками , эта функция перестает работать, если вы пытаетесь перейти в каталог с пробел в названии:
$ cs A\ B/
-bash: cd: A: No such file or directory
<current directory listing>
Вместо этого вы должны использовать следующую функцию:
function cs () {
cd "$@" && ls
}
. Когда вы добавите этот код в свой ~/.bashrc, вы сможете сделайте это:
hello@world:~$ cs Documents/
example.pdf tunafish.odt
hello@world:~/Documents$
Вы можете использовать команду builtin в bash:
function cd() {
new_directory="$*";
if [ $# -eq 0 ]; then
new_directory=${HOME};
fi;
builtin cd "${new_directory}" && ls
}
Используйте функцию вместо псевдонима:
cs() { cd "$1" && ls; }
Как расширение этой функции: cs() { cd "$1" && ls; }, вы можете передать все аргументы функции в cd с помощью $@ вместо "$1" как такового: cs() { cd $@ && ls; }.
У меня были проблемы с переопределением cd, потому что rvm также меняет определение cd. См. Https://stackoverflow.com/a/19941991/1601989. Я действительно не хотел использовать builtin, потому что это пропустит все, что rvm делает.
Я добавил следующее к своему .bashrc:
# cdd allows you to cd to the directory of the given file or directory
function cdd()
{
if [[ $# -eq 0 ]]; then
cd
elif [[ -d "$*" ]]; then
cd "$*"
elif [[ -f "$*" ]]; then
echo "WARNING: file given, cd to file's dirname" 1>&2
local dir=$(dirname "$*")
cd "$dir"
else
cd "$*"
fi
}
function cs()
{
cdd $* && ls
}
И затем после строки rmv в .bashrc:
alias cd='cdd'
# Use bash built in completion for cd to allow for filenames to be used
complete -r cd