Skip to content


Как заставить sudo сохранять $HOME

Начиная с CentOS 6, sudo перестало по-умолчанию сохранять переменную окружения $HOME, заменяя её на $HOME того юзера, на которого переключаемся (обычно это директория /root). Поскольку у меня много чего понастроено в ~/.bashrc и ~/.vimrc, то такое поведение меня напрягало (так как после команды "sudo -s" bash и vim вместо этих файлов обрабатывали /root/.bashrc и /root/.vimrc соответственно). Решение простое: нужно добавить строку

Defaults env_keep += "HOME"

в файл /etc/sudoers с помощью команды visudo. Эффект следующий:

[avz@dev ~]$ sudo -s
[root@dev ]# echo $HOME
/root

После:

[avz@dev ~]$ sudo -s
[root@dev ~]# echo $HOME
/home/avz
Кто на самом деле получает очтеты от команды sudo

Кто читает репорты от sudo

Posted in *nix, Howto.

Tagged with , .


Цукаты

  1. Вымочить целые корки от апельсинов, мандаринов, грейпфрутов два дня в миске с водой. Воду менять 3-4 раза в день, чтобы горечь из шкурок вышла.
  2. Порезать на полосочки, положить в кастрюлю, засыпать сахаром (приблизительно 1.2 кг сахара на 1 кг шкурок) и вылить туда стакан воды
  3. Варить на медленном огне, постоянно перемешивая, пока жидкость в кастрюле полностью не испарится и сироп не впитается в шкурки
  4. Выложить на противень с фольгой, присыпать сахаром, подождать пока подсохнут, разложить в банки, поставить в холодильник

Posted in Recipes.


Полезности для смартфона HTC Desire

Андроид по-русски

Русский андроид. Суровый и беспощадный.

Как сделать Hard Reset

(иногда помогает если телефон не загружается).
Выключить телефон. Зажать и удерживать кнопку уменьшения громкости Volume Down. Не отпуская её, кратковременно нажать кнопку питания Power. Продолжать держать кнопку уменьшения громкости до появления экрана с иконками. Кнопками громкости выбрать пункт «Очистить память» и для подтверждения нажать кнопку питания Power. Когда появится ещё один экран, требующий согласия пользователя, нажать кнопку увеличения громкости Volume UP.

Установка приложений при отсутствии подключения к Интернет

Скопировать .apk-файл на карту памяти и запоминить его название, пусть для примера это будет com.very-cool-program.apk. Затем открыть браузер и ввести в строке адреса такой вот URL: content://com.android.htmlfileprovider/sdcard/com.very-cool-program.apk После чего нажать Enter.

Soft-reset (быстрая перезагрузка)

Одновременно нажать: кнопку включения, громкость вниз и оптический сенсор и телефон перезагрузится.

Некоторые сервисные коды

*#*#3424#*#* - режим диагностики, в котором можно проверить сенсоры аппарата, кнопки, экран, вибру, трекбол, динамик, камеру, батарею
*#*#4636#*#* - информация о телефоне, уровне сигнала, использовании батареи, времени работы приложений, Wi-Fi сетях
*#*#7262626#*#* - тест радио-модуля (лично я ниасилил как этим пользоваться)
*#06# - показать код-IMEI (работает на любом телефоне)

Установка мелодий

На карте памяти создать папку /media, в ней --- папку audio, потом еще уровнем ниже папки ringtones, alarms, notifications, ui соответственно для мелодий звонка, будильника, уведомлений и звуков интерфейса.

Набор полезных программ из android-market-а (он же google play)

IM+ --- instant messanger (программа для общения) поддерживает одновременно почти все известные чаты, включая icq, facebook, skype и др.
File Expert --- многофункциональный файловый менеджер, умеет даже делать из телефона FTP-сервер и открывать ресурсы локальной сети по протоколу SMB!
Color Note --- создание заметок
CurrentWidget --- детальная информация по использованию батареи (виджет на рабочий стол, запись лог-файла с текущим потреблением тока от батареи, уведомление при высоком уровне использования батареи)
MX Video Player --- отличный видео-плеер, поддерживающий кучу форматов, включая flv, mkv.
QR Droid --- разпознавание и создание QR-кодов.
OpenSignalMaps --- показывает уровень GSM- и WiFi- сигнала, ближайшие базовые станции сети GSM с привязкой к карте.
EBookDroid --- читалка книг в форматах PDF, Djvu.
FBReader --- читалка книг в форматах epub, fb2 и mobipocket.
Cool Reader --- читалка книг в форматах doc, txt, epub (non-DRM), pdb, fb2, rtf, html, chm, tcr. Очень много настроек на любой вкус, включая настройку стилей с помощью CSS, ночной режим, настройку яркости, поддержку словарей (Fora Dictionary или ColorDict), копирование текста в буфер, чтение вслух.
Genial Writing 2 --- удобное создание заметок от руки (пользуясь пальцами как стилусом).
Elixir --- удобное управление функциями телефона с помощью виджетов (например, можно вынести на один из рабочих столов виджет, показывающий текущее потребление тока от батареи, переключалку уровня яркости экрана одним касанием, выключатель передачи данных в мобильной сети и т.д)

Posted in Android.


Автоматическое создание скриншотов в Linux

Как-то посетила меня мысль, что было бы неплохо где-то хранить историю открытых терминалов, чтобы в случае неожиданной перезагрузки рабочего компа вспомнить на каких же именно серверах я сидел SSH-ем и при необходимости доделать начатое. Непродолжительное гугление вкупе с "yum search screenshot" вывело меня на 2 следующих программки: shutter и scrot. Обе нашлись в стандартных репозиториях Fedora. Первая за собой потянула кучу Perl-модулей и не сильно мне понравилась тем, что, во-первых, отрабатывает довольно долго (секунды 3-4), а во-вторых, не умеет работать молча (на экране хоть и ненадолго, но появляется раздражающее окошко). Вызывал я её из крона следующим образом:

1 * * * * DISPLAY=:0 /usr/bin/shutter -f --disable_systray --min_at_startup -e > /dev/null 2>&1

Параметр -e означает, что нужно сразу завершить работу без лишних вопросов, а -f означает, что нужно сделать скриншот всего экрана целиком. Если нужно заскриншотить только определённую область экрана, то вызывать нужно так:

/usr/bin/shutter --select=100,100,300,300

Первые два числа - координаты (X,Y) верхнего левого угла прямоугольной области, вторые два числа - размеры области в пикселях по горизонтали и вертикали соответственно. При наличии ключика --select результат своей работы сохраняет в домашний каталог в виде файлов c именами "Выделение_001.png", "Выделение_002.png" и т.д. или, если установлена английская локаль, то "Selection_001.png", "Selection_002.png" и т.д. При наличии ключика -f имена файлов будут такие: "Рабочий стол 1_001.png", "Рабочий стол 2_001.png" и т.д.

Вторая софтинка (scrot) работает заметно быстрее и молча (что и определило мой выбор в её пользу). На её основе был написан следующий скриптец:

#!/bin/bash
 
WD=/home/sysadmin/screens
export DISPLAY=:0
[ ! -d $WD ] && mkdir -p $WD
/usr/bin/scrot $WD/sc-$(date '+%Y-%m-%d_%H:%M').png >> /tmp/scrot.log 2>&1
 
if [ `date '+%H'` -eq 19 ]; then
  # removing old screenshots
  cd /tmp
  find $WD -mtime +30 | xargs -r rm
fi

В результате в каталоге /home/sysadmin/screens будут создаваться файлы с именами, соответствующими текущей дате и времени. Скриптец был повешен в крон выполняться раз в час. Блок if задуман для того, чтобы раз в сутки находить и удалять скриншоты старше 30 дней от роду. Scrot, в отличие от shutter-а, не умеет выцеплять область экрана, а только может сохранять весь экран целиком.

Если кто знает способ делать скриншот только определённого рабочего стола, а не текущего, прошу отписаться в комментариях. Просто у меня в KDE рабочих столов 6 штук, и терминалы с SSH-ем группируются обычно только на одном из них.

Posted in *nix, Howto.

Tagged with .