Всем привет.
Месяца два назад задался идеей записывать радио в Linux Ubuntu, не используя GUI (через Unix shell, ssh — называйте как хотите), при этом с возможностью отключаться от консольной сессии, чтобы радио само записывалось в фоне (например, ночью, пока вы спите).
Для этого нам понадобятся две консольные утилитки — streamripper и screen.
Для начала устанавливаем их
$ sudo apt-get install streamripper screen
Краткая справка по screen находится тут: Как пользоваться screen
Конкретно в нашем случае, рассмотрим на моём примере последовательность команд.
Зайдя в консоль, пишем команду $ screen
Открывается новый «виртуальный» сеанс консоли. Уже в нём мы пишем команду для записи радио (или любую другую задачу, которую нужно выполнить в фоне).
В моём случае записываем детское радио — команда будет следующей
$ streamripper http://109.234.154.30:8000/detskoe_vkontakte_ru_app2462
Всё, у нас пошёл записываться поток в файл, в текущую директорию. По-умолчанию файл пишется в домашнюю директорию. Если хотите записывать в другую, можно например сделать $ cd /path/to/record/file
, и затем записывать туда, куда укажете.
После всех вышеописанных действий нам нужно выйти из этого «виртуального» сеанса и можно идти заниматься делами, или ложиться спать. Для выхода — нажимаете сочетание клавиш Ctrl+A
(переводим screen в командный режим), затем просто нажимаете D
— произойдёт выход из активного «виртуального» сеанса.
Далее можете выходить из физического консольного сеанса и идти спать.
С утра, или по-возвращении, чтобы вернуться в свёрнутый сеанс, набираем команду $ screen -r
, видим PID сеанса, например
$ screen -r
There are several suitable screens on:
24475.pts-1.gladsas-server (29.04.2015 12:52:18) (Attached)
24320.pts-1.gladsas-server (29.04.2015 12:52:00) (Detached)
24030.pts-1.gladsas-server (29.04.2015 12:50:47) (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.
Теперь смело набираем $ screen 24030
и продолжаем сессию, в которой рипуется наш поток. Останавливаем запись нажатием клавиш Ctrl+C
и удаляем активный сеанс screen, нажав Ctrl+D
.