Как-то я писал про бесплатный linux shell от провайдера Bshellz в заметке Бесплатный Linux-shell с Tmux на борту. Там же был приведён способ автоматического продления аккаунта — путём отправки (по расписанию) служебного сообщения боту Beschbot с помощью имеющегося на самом хостинге IRC-клиента irssi. Время показало, что способ, как и следовало ожидать, не лишён недостатков. А именно — периодически сервер Bshellz перезагружается, после чего настройка расписания в irssi слетает. Также — несколько раз наблюдались проблемы с подключением клиента к сети Freenode IRC. В результате возникло решение зарезервировать автообновление аккаунта в Bshellz путём использования дополнительного внешнего скрипта, также запускающегося по расписанию (раз в день в произвольное время, на домашней машине).
Читать далее Bshellz shell autorenew — IRC-perl-скрипт для обновления аккаунта в Bshellz
Архив рубрики: Полезности
Автозапуск tmux и автоподключение к нему
Сделал себе автоподключение к сессии tmux (или автозапуск tmux-сервера с новой сессией, если её ещё нет) при заходе в локальную консоль или при подключении по ssh к удалённым машинам (пользоваться бесплатным шеллом bshellz стало удобней).
# Autostart tmux on login
__autostart_tmux() {
# $( type -p ) - built-in in sh or bash only?
#TMUX_BIN="$( whereis tmux | cut -d " " -f 2 )"
# which versions different output format
TMUX_BIN="$( which tmux 2> /dev/null )"
if [ -z "${TMUX_BIN}" ]; then
echo "Tmux not found"
return 0
fi
TMUX_AS_SESS_NAME="$(echo "${USER}" | cut -c '1-3')"
# return empty line if specified session exist or return 1
TMUX_AS_SESS_RUN="$( tmux has-session -t "${TMUX_AS_SESS_NAME}" &> /dev/null || echo "$?" )"
#TMUX_AS_DAEMON_MODE="$1" # $1 == "-d" or " "
#TMUX_AS_EXIT="$2" # "return 0" or "exit 0"
# do not attach automatically to tmux session if login on local XTerm
if [ -z "${TMUX_AS_SESS_RUN}" ] && [ -z "${SSH_TTY}" ] && [ "${TERM}" = "xterm" ]; then
echo "Tmux: running, not attached on local XTerm"
return 0
# do not run tmux automatically in another tmux (or screen)
# in exists tmux session shell be started on non-login mode and .profile not used
# (see set -g default-command "${SHELL}" in tmux.conf)
elif [ -n "${TMUX}" ] || [ "${TERM}" = "screen" -o "${TERM}" = "screen-256color" ]; then
echo 'Tmux: not be running in another terminal multiplexer "'${TERM}'"'
return 0
# attach to existed tmux session or create it and exit login-shell; or print error message
else
((tmux has-session -t "${TMUX_AS_SESS_NAME}" && exec tmux attach-session -t "${TMUX_AS_SESS_NAME}") || (tmux new-session -d -s "${TMUX_AS_SESS_NAME}" && exec tmux attach-session -t "${TMUX_AS_SESS_NAME}")) && exit 0;
echo "Tmux: autostart failed: $?"
fi
}
Читать далее Автозапуск tmux и автоподключение к нему VCSH — спасение настроек в $HOME
Как ни странно, я только недавно познакомился с VCHS — надстройкой над Git, призванной облегчить резервирование конфигурационных файлов, расположенных в домашней директории (Version control system for $HOME
— один из вариантов расшифровки аббревиатуры). Очень жаль, что этого не произошло раньше, и бэкап конфигов делался нерегулярно, кое-как, с изобретением различных костылей. Но, всё это в прошлом! Итак, что же представляет собой VCSH и как ей пользоваться?
Читать далее VCSH — спасение настроек в $HOME
Цифровое телевещание IPTV
IPTV — цифровое телевидение, использующее интернет-протокол (IP). Услуга IPTV входит в сервисный пакет провайдера, то есть той организации, которая оснащала ваше жилье подключением к сети Интернет или ставила широкополосной ADSL — модем. Как предоставляется такая услуга и при каких условиях можно узнать на официальном сайте провайдера – здесь же скачать и плей — лист (список каналов) IPTV. Иногда провайдеры дают зашифрованный цифровой поток за дополнительную плату. В этих условиях требуется специальная телеприставка — плей-лист не поможет.
Как смотреть IPTV
- Использовать телевизор SMART (со встроенным доступом к интернету) — некий симбиоз компьютера и TV. Поэтому, если вы хотите поменять старый телевизор и уже имеете дома качественный интернет — поинтересуйтесь моделями, которые имеют Ethernet или порты Wi — Fi и «дружат» с IPTV. Специалисты говорят — лучше подойдут определенные модели корейских брендов, в которых «прошит» специальный IP- проигрыватель. Останется только скачать плей — лист вашего поставщика интернета — и смотреть.
- В роли сервера применить свой компьютер. Это можно сделать, установив на него программу, которая будет транслировать цифровой поток в формате, «понятном» для телевизора (DLNA). Компьютер работает как «переводчик» для телевизора. Недостатки этого способа: во время просмотра телепередач компьютер должен работать.
- DLNA–сервер установить непосредственно на роутер. Для этого понадобится перепрошить роутер — сделать его «переводчиком» сигнала IPTV для телевизора. И тогда компьютер уже включать не надо.
- Использовать IPTV на компьютере или соединить его видеокабелем с телевизором. Способ самый простой и наименее затратный — подойдет для любителей минимализма, которым не важен 40 — дюймовый экран. Скачайте плей-лист — и смотрите себе телепрограммы на здоровье. Платить будете только за интернет, без дополнительных затрат на оборудование.
Бесплатный Linux-shell с Tmux на борту
Возникла у меня как-то нужда в получении linux-shell на стороннем сервере с постоянным доступом в сеть (тот же парсер ТИЦ запустить например). При этом шелл должен был удовлетворять двум условиям: быть бесплатным и иметь возможность оставить запущенное приложение работать «в фоне», без поддержания постоянного соединения удаленной машиной. Помимо этого, хотелось несколько большего, чем возможность использовать простые dtach
или nohup
, а значит — нужно наличие на удаленной машине терминального мультиплексора (Screen или Tmux). Мой выбор пал на bshellz, удовлетворяющий всем условиям, включая наличие Tmux. Вот что они предлагают после прохождения бесплатной регистрации:
— Возможность разместить свой сайт на домене http://имя_пользователя.bshellz.net
— 50 Мб дискового пространства
— Электронный адрес вида: имя_пользователя@bshellz.net
— Возможность использовать одну базу MySQL, наличие phpmyadmin: https://services.bshellz.net/phpmyadmin/
Парсинг Яндекс ТИЦ на примере списка пользователей ЛиРу
В заметке рассмотрено использование многопоточного парсера Яндекс ТИЦ на примере обработки списка пользователей ЛиРу (Liveinternet). Для запуска понадобятся: bash (под Windows можно использовать cygwin), perl, wget и, для большего удобства представления результатов, — sort. Все эти утилиты присутствуют практически в любой *nix-ОС или могут быть установлены в cygwin.
Обзор Archos 101 G9 — мой выбор недорогого функционального планшета
После пары месяцев раздумий, чтения обзоров и сравнения характеристик, я наконец сумел остановиться на конкретной модели планшета, которая полностью подходила бы под мои требования. Планшетом этим стал «француз» китайской сборки под названием Archos 101 G9 Tablet 8Gb — достаточно бюджетный (по сравнению с iPad по крайней мере); оснащён всем, что нужно для комфортной работы; дополнительные свистелки подключаются через обычный USB — не нужно платить тонны денег за «оригинальные разъемы».
Требования к планшету были следующие:
- Цена до 10 тыс. рублей, чтобы было не жалко таскать с собой в поездки и вообще не жалко покупать;
- Емкостной экран размером не меньше 10 дюймов — посмотреть кино, интернет, при необходимости — набрать текст;
- Достаточная продолжительность работы — 7 часов просмотра видео хватает как раз на пару фильмов, читать можно вообще целый день;
- Не слишком слабое железо — чтобы не наблюдалось тормозов в видео и при чтении PDF и DjVu;
- Поддержка последних версий Android, присутствие Google Play (Market);
- Наличие Wi-Fi не обсуждается, сейчас это по-моему есть везде. GPS и выход mini-HDMI — в виде бонуса; поддержка microSD тоже по-моему есть во всех современных устройствах (кроме некоторых, «особенных»);
- Наличие USB-хоста для подключения флешки или GPRS-модема — очень удобно; откидная ножка на корпусе — отличная идея, не нужны чехлы и подставки при чтении.
Всем этим условиям Archos 101 G9 удовлетворял, был благополучно приобретён, пробыл в эксплуатации пару месяцев, пережил две большие поездки, благополучно падал и впихивался в туго набитый рюкзак — в общем, он заслужил небольшой обзор, который и представлен ниже.
Читать далее Обзор Archos 101 G9 — мой выбор недорогого функционального планшета
Автонумерация строк таблицы в LibreOffice Writer
Недавно ломал голову над проблемой автоматической нумерации строк в таблице LibreOffice Writer. Просто «растянуть» диапазон, как в электронной таблице Calc (по Calc, кстати, есть несколько интересных трюков, включая автонумерацию) или Excell — там невозможно (по крайней мере в версии LibreOffice 3.4.5, которой я пользовался). Зато в ячейки таблиц можно вставлять формулы — именно с их помощью в итоге и получилось сделать автоматическую нумерацию строк.
Для начала нужно вручную задать номер первой строки, с которой будет начинаться нумерация (в примере он задан в ячейке A1
), а затем вставить в ячейку на следующей строке формулу с номером ячейки в предыдущей строке, увеличенным на единицу (или другой шаг, если нумерация нужна не по порядку). Для вставки формулы в пустую ячейку надо ввести знак «равно» — появится строка для ввода формул. Формула для нумерации строк по порядку может выглядеть так: =<A1>+1
.
Низкоуровневое форматирование flash/SD/microSD под Linux
Несколько раз приходилось форматировать флешки (к которым относятся и различные SD и microSD карточки), а поскольку происходит это довольно редко — вынужден был лезть в гугл. Конспективная памятка по форматированию флешек под Linux:
Проверить подключение flash
fdisk -l
Выведет список подключенных дисков и их разделов. Обычно флешка — /dev/sdb, но нужно обязательно проверить, так ли это!
Проверить, примонтирована ли флешка
df -h
Если флешка примонтирована — покажет это и точку монтирования. Перед форматированием — отмонтировать: umount /dev/sdb
.
Проверить защиту от записи и геометрию
При желании — можно проверить защиту от записи и геометрию (защита от записи в линуксе не важна):hdparm /dev/sdb
Если нужно низкоуровневое форматирование — забить нулями
dd if=/dev/zero of=/dev/sdb
В выводе покажет объем флешки (должен соответствовать заявленному), скорость и время записи. Также покажет, сколько было записано байт на флешку, что полезно при проверке флешки на физические ошибки (см. ниже).
Проверить на физические ошибки
head -c N /dev/sdb | md5sum
head -c N /dev/zero | md5sum
где N равно числу байт, записанных на флешку при помощи dd. Если контрольные суммы не совпадают — флешка «битая» или были ошибки записи (в реальности сталкивался с форматированием microSD через плохой кард-ридер — даже когда не выскакивали ошибки ввода-вывода при операциях — контрольные суммы не совпадали, с заменой кард-ридера проблема ушла).
Пример:
dimio@ibm $ dd if=/dev/zero of=/dev/sdb
dd: запись в «/dev/sdb»: На устройстве кончилось место
3932161+0 записей считано
3932160+0 записей написано
скопировано 2013265920 байт (2,0 GB), 1010,99 c, 2,0 MB/c
dimio@ibm $ head -c 2013265920 /dev/zero | md5sum
5d0fd6273bed1c500c6fc22d86a59630 -
dimio@ibm $ head -c 2013265920 /dev/sdb | md5sum
5d0fd6273bed1c500c6fc22d86a59630 -
Ну и для полного счастья при желании:
dimio@ibm $ perl -we ' > print "OK" if q{5d0fd6273bed1c500c6fc22d86a59630} > eq q{5d0fd6273bed1c500c6fc22d86a59630};' OK
Разбиваем на разделы при помощи fdisk
fdisk /dev/sdb
Опции: m — справка, d — удалить раздел, p — просмотреть список разделов, n — создать раздел, t — поменять тип раздела, w — сохранить изменения.
Последний шаг — создать файловые системы на разделах флешки
mkfs.ext{2,3,4} /dev/sdbX
где X — порядковый номер раздела, на котором нужно создать файловую систему.
Также полезны
mkfs.msdos, mkfs.vfat (создаёт «стандартную» файловую систему флешек — vfat
).
mkfs.ntfs — тут понятно, создаёт NTFS, не на всяком Андроид-устройстве может читаться потом.
mkfs.exfat — «расширенная fat», на старых устройствах не прочитается, зато файлы большого размера поддерживает, например (как и NTFS). В Убунте надо пакет exfatprogs
поставить, чтобы создавать эту ФС.
Форматирование успешно окончено!
Если что-то осталось непонятным или есть дополнения и замечания — добро пожаловать в комментарии! 🙂
Дистанционное управление для автомобильного компрессора Беркут
Решил в рамках подготовки к сезону поменять автокомпрессор на более мощный (с Беркут R15 на Беркут R17), чтобы не испытывать проблем с подкачкой колес после травления. Однако не обратил внимания в магазине на тот факт, что производитель не предусмотрел возможности включать компрессор дистанционно, не смотря на то, что он укомплектован шлангом длиной 7,5 м. Шланг в данном случае получается бесполезным — всё равно нужно компрессор таскать с собой (не выключив его невозможно точно померить давление в колесе). Также не особо удобным оказалась конструкция наконечника шланга — его нужно наворачивать на ниппель, хотя R15 был оборудован быстросъемным наконечником. Соответственно перечисленные минусы нужно было устранять. С наконечником всё понятно — его можно только заменить на более удобный (я использовал пневмопистолет с манометром), а вот для использования потенциала длинного шланга есть несколько путей:
- Установить ресивер (аккумулятор давления) с реле давления, компрессор будет по необходимости давление нагнетать. Плюсы установки ресивера — можно подключать пневмноинструмент, легко забортировать колесо, есть возможность смонтировать пневматический ревун, пневмоблокировки, при большом объеме ресивера — быстро накачивать объемных потребителей типа надувной лодки. Минусы — необходимость тянуть пневмосистему, ресивер объемом менее 10 л полезен только для пневмоблокировок, а под большой объем ресивера нужно место, которого у меня не так много.
- Врезать в шланг возле манометра трехходовй кран, который после переключения будет выпускать воздух в окружающую среду. Плюсы — дёшево и сердито. Минусы — компрессор работает вхолостую, расходует ток, греется и изнашивается.
- Смонтировать на компрессор дистанционное управление, чтобы не бегать к нему каждый раз, как будет нужно его включить или выключить. Плюсы — простота исполнения, минимум материальных затрат, не нужно искать дополнительное место, поставленные задачи решаются в полном объеме. Минусы — для решения возможных доп. задач (ревун, инструмент, блокировки) компрессор (мой Беркут R17) без ресивера в силу малой мощности не подойдет.
Я, как не сложно догадаться из заголовка заметки, избрал третий путь и оснастил компрессор системой дистанционного включения питания, о чем и расскажу ниже.
Читать далее Дистанционное управление для автомобильного компрессора Беркут