Регулировка (колибровка) гаммы монитора в Linux.

Как изменить гамму монитора?

Для этих целей отлично подходит консольная программа — xgamma. Запустив её без параметров мы получим текущие значения монитора. Обычные настройки монитора (те, что закладывает завод) скорее всего окажутся следующими: Red 1.000, Green 1.000, Blue 1.000

Для смены установленных значений нужно использовать следующие параметры:

-rgamma f.f Red Gamma Value

-ggamma f.f Green Gamma Value

-bgamma f.f Blue Gamma Value

Например, чтобы немного приглушить синий, используем команду:

xgamma -rgamma 1.000 -ggamma 1.000 -bgamma 0.900

В ответ получим две строчки:

-> Red 1.000, Green 1.000, Blue 1.000

<- Red 1.000, Green 1.000, Blue 0.900

Первая из которых предыдущие значения, а вторая соответственно показывает установленные значения. Чтобы при каждом включении компьютера настройки гаммы не устанавливать заново, добавим команду в автозагрузку (для Xubuntu: Меню —> Настройки —> Диспетчер Настроек —> Сеансы и запуск — вкладка «Автозапуск Приложений»).

Заводские настройки можно будет вернуть командой:

xgamma -rgamma 1.000 -ggamma 1.000 -bgamma 1.000

Соответственно, если ранее гаммакорекция была прописана в автозагрузку, убираем ее.

(На монитор Samsung NP 900 я поставил такие значения — Red 1.000, Green 0.975, Blue 0.840)


Установка Ubuntu на ультрабук Samsung 900X4C.

Речь пойдет об установке Xubuntu на SAMSUNG NP900X4C-A01RU (Core i5 3317U 1700 Mhz/15.0"/1600x900/8192Mb/256Gb/DVD нет/Wi-Fi/Bluetooth/Win 7 HP 64). Это достаточно мощный и при том стильный ультрабук, он же, на сколько я понял, и самый тонкий в мире (по крайней мере сейчас, на момент выхода). Заранее скажу, что на мой взгляд это лучший ноутбук для повседневной работы, отлично совместимый с Linux.

Linux на SAMSUNG NP900X4C-A01RU

Linux на SAMSUNG NP900X4C-A01RU

Начну сразу с конца — Xubuntu установил только сегодня, основные функции заработали сразу, без дополнительно вмешательства. Обнаружил лишь несущественные проблемы, которые придется решать:

  1. Не работает правый клик тачпада. Уже починил:

sudo su
echo options psmouse proto=exps > /etc/modprobe.d/psmouse.modprobe
reboot

2. Из функциональных кнопок (тех, что используются в сочетании с клавишей Fn) Не работает регулировка яркости подсветки клавиатуры. Временное решение — загрузить Windows установить яркость клавиатуры и перезагрузиться, таким образом клава будет иметь установленную подсветку в Linux. Решилось само собой после очередного обновления ядра. Подсветка клавиатуры наконец заработала! Правда яркость функциональными клавишами не регулируется, ну да ладно, откровенно говоря это уже лишнее - клавиши в темноте подсвечиваются и хорошо...

3. да, и ещё похоже нужно как-то настроить реакцию на датчик освещенности (затемнение экрана, яркость подсветки клавиатуры). Оказалось и это тоже не особо нужно, все одно - на других устройствах (ipad, xperia, комп с windows) автояркость меня ни где не устраивает, регулирую вручную.

4. В момент простоя, было заметно как монитор сходил с ума и начинал быстро мигать то притушив, то вновь усиливая яркость. Это уже починил, оказалось достаточно применить готовое решение для ноутбуков samsung:

sudo add-apt-repository ppa:voria/ppa
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install samsung-tools samsung-backlight

Теперь опишу саму установку и предварительную настройку ультрабука:

Для начала, перед установкой нужно залезть в BIOS и временно отключить функцию Fast Boot (можно и навсегда, она все равно бестолковая), перейти в меню выбора загрузок и отключить загрузку с SSD с помощью комбинации "Shift + 1" на соответствующем пункте загрузки (иначе какой приоритет загрузок не выставляй, все одно — грузится компьютер будет с SSD), затем используя клавиши F6 или F5 передвиньте установочную флешку в верх списка. Сохраняем настройки и выходим из BIOS (клавиша F10).

Для начала загрузитесь с установочной флешки (или подключенного CD/DVD привода) без установки. Дело в том, что заводская разбивка диска не очень удачная, во первых заняты четыре основных раздела на единственном SSD диске (boot около 100М, далее системный под Windows7, потом раздел гибернации около 8Гб, и наконец раздел восстановления системы, который занимает около 20Gb), что делает невозможным установку без перераспределения дискового пространства. При этом, два последних раздела, на мой взгляд абсолютно не нужны. Первый из которых, раздел гибернации, все равно не работает как положено (более того, сама гибернация в Windows 7, заработала лишь после того, как я изменил разделы нужным мне образом...). Второй раздел — раздел восстановления системы, я на всяк случай, при помощи gparted с установочного диска, скопировал на отдельную флешку. Затем оба эти раздела были удалены безо всякого сожаления, даже с чувством радости от высвобождения почти 30 Gb дополнительного пространства на SSD.

Продвинутым хватит и того, что я написал выше, а для не очень уверенных в своих силах добавлю ещё несколько строк:

Следующим пунктом, используя тот же gparted, я уменьшил размер системного диска Windows до 100 Gb, и теперь на уже достаточно объемном пустом пространстве сделал нужную разметку под установку системы. В целом, получилась такая таблица:

Раздел Файловая система Точка монтирования Метка Размер Флаги
dev/sda1 ntfs /media/SYSTEM SYSTEM 100 МиБ boot
dev/sda2 ntfs /media/... 102,98 ГиБ
dev/sda3 extended 135,40 ГиБ
dev/sda5 ext4 / 18,68 ГиБ
dev/sda6 ext4 /home 69,85 ГиБ
dev/sda7 linux-swap 7,72 ГиБ
dev/sda8 fat32 /general 39,20 ГиБ

Разделы sda1 и sda2 я после изменения размера не трогал, сохранив Windows 7 со всем в нем установленным, остальные разделы как раз и получены разметкой пустого пространства.

После установки системы и перезагрузки, рекомендую установить gparted и отформатировать раздел dev/sda8 (/general) в ntfs, это может оказаться удобнее для хранения больших файлов и использования более длинных имен. Вообще, на этом разделе я храню профили для программ используемых в обеих системах типа Thunderbird, Firefox и др. (читай статью -Полноценная работа c Linux и Windows на одном компе ). Если вы последуете этой рекомендации и переформатируете раздел, то не забудьте изменить и файл автомонтирования разделов - /etc/fstab. Здесь нет ничего сложного, в терминале набираем sudo blkid и узнаем измененный UUID отформатированного раздела, в нашем случае раздела dev/sda8. Далее в /etc/fstab изменяем строку описания этого раздела, заменив старый UUID, на тот, что только-что получили, а также в этой строке меняем слово fat на ntfs. Перезагружаемся, и проверяем чтобы все работало...

Напоследок, можно настроить кнопку переключения раскладки клавиатуры с изображением земного шара, на самом деле ничего настраивать не придется, так-как несмотря на маскировку под глобус, эта кнопка была и остается клавишей правый ALT, просто установите его в параметрах переключения языка.

Подводя итог, смело могу рекомендовать этот ноутбук для linux, как отлично совместимый по железу, производительный и просто супер удобный в повседневной работе. Из минусов только одно - цветопередача монитора не топовая... частичным решением может быть коррекция цветовой гаммы, которую я описал в статье - Регулировка (колибровка) гаммы монитора в Linux


Синхронизация файлов в смешаной сети NFS (Linux) и SAMBA (Windows)

Что ни говори, а все-таки по сети нет-нет, да и приходится взаимодействовать с компьютерами под управлением Windows. Некоторое время назад, я установил себе мультимедиаплеер с поддержкой WiFi и с встроенным диском на два терабайта. В общем, вздумалось мне, что негоже прозябать такому вместительному хранилищу и решил слить туда медиафайлы с остальных компов, а в дальнейшем периодически синхронизировать медиаданные между компами и плеером. В самом девайсе зашито ядро драгоценного Linux, но к сети он подключается под виндовым протоколом через samba. Соответственно для нормальной работы с устройством (я говорю именно про нормальную работу, т. е. не через GUI и всякие копи-пасты..), для начала необходимо примонтировать диск плеера в какой-нибудь локальный каталог. Делается это следующей строкой:

sudo mount -t cifs -o iocharset=utf8,file_mode=0777,dir_mode=0777,uid=1000 //192.168.1.34/ScreenPlay ~/Share

где:

uid=1000 - это uid пользователя с правами которого нужно примонтировать диск (по умолчанию, если не указать нужный uid, все права на файлы и директории будут принадлежать пользователю root, так-как сама команда выполнялась от суперпользователя, через sudo).

//192.168.1.34/ScreenPlay - это сетевой ip адрес устройства и каталога, который станем монтировать.

~/Share - это предварительно созданный каталог куда хотим монтировать своё устройство.

Опции iocharset=utf8, file_mode=0777, dir_mode=0777 (в строке идут через запятую, без пробелов) говорят сами за себя - это кодировка ( utf8 ) и права на файлы и папки ( 0777 ).

rsync -avn /home/barbar/Media/ /home/barbar/Share/RemoteMedia/ (опция -n позволяет увидеть предстоящие изменения, без запуска самой синхронизации)

rsync -av /home/barbar/Media/ /home/barbar/Share/RemoteMedia/ (запуск синхронизации)

Команда rsync имеет полезную опцию --progress, устанавливая её вы сможете наблюдать за процессом происходящего. Это весьма полезно при синхронизации больших файлов, когда может показаться, что команда «зависла», а учитывая, что при синхронизации с удаленным диском, могут возникать обрывы сети и прочие непредвиденные ситуации, наблюдение за прогрессом оказывается отнюдь не лишним. Однако, команду rsync, часто запускают в фоновом режиме, и тогда следить за статусом выполнения становится неудобно. В этом случае, можно периодически, в целевой папке, куда пишем информацию, запускать что-нибудь на подобии:

ls -la .?*? | cut -d -f5

Обратите внимание, что регулярное выражение {.?*?} подходит для слежения за обычными файлами, имена которых не начинаются с точки. В иных случаях регулярные выражения, можно составлять исходя из ситуации. Например, для слежения за видео файлами с расширением «avi» можно использовать следующее выражение в строке:

ls -la .?*.avi.* | cut -d -f5

Так-как формат временного названия синхронизируемого файла, rsync генерирует по шаблону типа - «.00017.avi.zZIAQP», т. е. добавляет точку перед названием и в конце, а затем добивает рендомным буквосочетанием из 6-ти произвольных символов, то выражение «.?*.avi.*» вполне подойдет для того, чтобы команда ls -ls выдала нам информацию именно о том файле, который находится в процессе синхронизации. Далее, после знака вертикальной черты («|» - конвеер) мы передаём найденную строку команде cut, которая получая данные о нужно поле (в данном случае, мне интересен лишь размер обрабатываемого файла, если он меняется, то все нормально — синхронизация в процессе работы), через опции - «-d » (d — делиметр, а « » - обозначение пробела, (который мы передавая как разделитель строки, должны предварять (экранировать) обратным слэшем, иначе пробел будет воспринят как служебный символ и команда его просто не воспримет, выдав сообщение типа - «cut: разделитель должен быть одним символом...») т.е. мы сообщаем, что поля в строке разделены символом «пробел») и опцию «-f5» (пятое поле полученной строки) выдает нам размер обрабатываемого файла.


Перекодировка и склейка множества видеофайлов MTS (AVCHD) в DVD формат AVI

Одной строкой:

for invideo in `find -name '*.MTS'`; do ffmpeg -i $invideo -deinterlace -target pal-dvd Converted/${invideo%%.MTS}.avi; done; mencoder -ovc copy -oac copy -o Converted/outvideo.avi Converted/*.avi

Эта строка содержит несколько идущих подряд команд:

1) for invideo in `find -name '*.MTS'`; (находим в папке все файлы с расширением MTS)

2) do ffmpeg -i $invideo -deinterlace -target pal-dvd Converted/${invideo%%.MTS}.avi; (поочердно, конвертируем найденые файлы в формат "avi" и сохраняем в папкe "Converted" с прежним названием но с расширением "avi")

3) done; (завершаем цикл конвертирования файлов из "MTS" ("AVCHD") в "AVI")

4) mencoder -ovc copy -oac copy -o Converted/outvideo.avi Converted/*.avi (исользуя "mencoder" в папке "Converted" склеиваем все файлы с расширением "avi" в новый файл "outvideo.avi")

Как всегда, командная строка радует своей простотой и изящностью :)


Украшательства меню grub2

Копируем картинку в нужное место:

sudo cp /home/barbar/Картинки/poezd-1024x768.tga /usr/share/images/desktop-base/

Указываем какую картинку использовать при загрузке:

sudo gedit /etc/grub.d/05_debian_theme

строка, где указывается название картинки:

for i in {/boot/grub,/usr/share/images/desktop-base}/poezd-1024x768.{png,tga} ; do

удаляем временный файл, если появился:

sudo rm /etc/grub.d/05_debian_theme~

Указываем разрешение экрана загрузчика:

sudo gedit /etc/default/grub

строка, в которой указываем разрешение:

GRUB_GFXMODE=1024x768

удаляем временный файл, если появился:

sudo rm /etc/default/grub~

обновляем конфигурационный файл grub2:

sudo update-grub

Ни какие разрешения больше 1024x768, grub2 не воспринял. Для того, чтобы все-таки целиком разместить нужную картинку? на экране с пропорциями 16x9 (дефолтное разрешение 1600x900), мне пришлось, при помощи редактора Gimp, сжать исходное изображение 1600x900 до размеров 1024x768 (нарушив пропорции но не обрезая) и в таком виде сохранить в нужную директорию. При следующей перезагрузке, когда появилось меню grub2, тот автоматом растянул картинку на весь экран, вернув изображению правильные пропорции.


Поиск установленых и удаление ненужных ядер.

Периодически появляются новые версии ядра Linux, выходят заплатки и исправления. Каждый раз, когда случаются подобные обновления, то старые версии ядра не уничтожаются, но продолжают соседствовать с новыми, занимая место на диске и размножая дополнительные пункты в меню загрузок.  Со временем, когда становится ясно, что новое ядро работает нормально, можно подумать о том, чтобы избавится от ненужных старых ядер. Делаю это следующим образом:

dpkg-query -l linux-image-* |grep ^ii |grep -v e-g

Удаление ненужного ядра (например удалим ядро 'linux-image-2.6.31-14-generic')

sudo apt-get remove linux-image-2.6.31-14-generic

после удаления grub2 будет обновлён автоматически, как при команде 'update-grub'.


Установка Ubuntu 9.04 на SONY VAIO VGN-FW56SR

Установка Ubuntu 9.04 на SONY VAIO VGN-FW56SR прошла без задоренки, всё оборудование прекрасно распозналось. Ни каких специальных плясок с бубном не понадобилось.

Запустив компьютер, сразу после установки, я первым делом полез [ Система →  Администрирование →  Драйверы устройств ], где активировал проприетарный драйвер для видеокарты ATI Mobility Radeon HD 4650. Может быть и открытый драйвер, установленый по умолчанию, мог бы нормально работать с картой, но мне не удалось устоять перед соблазном использовать полную мощь дров от производителя. Дальше пошел долгий и мучительный процесс настройки софта, подгоняя его под себя.

1)Мне кажется очень удобным, когда в командной строке присутствует возможность ввода ранее введённых команд не только в строго хронологическом порядке вперёд-назад, но также хочется, в полной мере, использовать функционал автодополнения по первым набраным символам. Чтобы реализовать этот функционал, достаточно вставить в файл '/etc/inputrc' , который управляет readline ( подробнее читайте в хелпе 'readline --help' ) строки:

"e[A": history-search-backward
"e[B": history-search-forward

А поставил их перед всеми инструкциями обработки ввода, примерно таким образом:

...
$if mode=emacs

# добавлено мной: замена "Ctrl+R", поиск в истории команд по набранным символам
"e[A": history-search-backward
"e[B": history-search-forward
#####################################

# allow the use of the Home/End keys

теперь (после перезагрузки оболочки, а может и сразу), в оболочке появится     функция автодополнения команд, по первым набранным символам, должно работать.

2)  Настройка загрузчика grub2, свелась к тому, что я удалил из меню пункт загрузки диска востановления ОС Windows. Потому как, если как-нибудь случайно его запустить, то наш любимый Ubuntu окажется убитым «дружелюбной» системой от Microsoft, расположенной по соседству на жестком диске. По идее, можно было бы вообще, снести этот раздел ещё на стадии разбивки диска, когда я устанавливал Linux. Но следуя закону жанра безобидной установки, этот диск я оставил не тронутым. Итак, в grub2, все конфигурации загрузки хранятся в файле - '/boot/grub/grub.cfg', там многое похоже на старый добрый menu.lst из первого grub. Однако, в отличии от menu.lst, в  grub.cfg внесённые изменения будут перезаписаны при очередном обновлении ядра, grub или других опций затрагивающих загрузку системы. В новом варианте загрузчика, настройки разнесены по разным файлам-скриптам. Так, например, для отключения в меню загрузчика, пункта загрузки скрытого раздела востановления Windows, пришлось подправить файл /etc/grub.d/30_os-prober.

Схема правки простая, после фрагмента скрипта, где перебираются сторонние системы, а конкретно, нижеследующего:

for OS in ${OSPROBED} ; do
DEVICE="`echo ${OS} | cut -d ':' -f 1`"
LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
BOOT="`echo ${OS} | cut -d ':' -f 4`"

if [ -z "${LONGNAME}" ] ; then
LONGNAME="${LABEL}"
fi

Добавляем свою врезку:

# Врезка удаляет из меню скрытый раздел Windows Recovery (помечен как Windows Vista (loader))
if [ "$LONGNAME" = "Windows Vista (loader)" ] && [ "${DEVICE}" = "/dev/sda1" ] ; then
continue
fi
# Конец врезки

Тем самым, мы исключили из меню пункт, который помечен как Windows Vista (loader). Теперь для того, чтобы изменения вступили в силу (читать — для того чтобы     был сконфигурирован  новый '/boot/grub/grub.cfg'), необходимо запустить команду     'sudo update-grub'. Но перед этим, командой ls, посмотрите чтобы в директории не     было ни каких временных файлов (имеющих в конце имени, знак тильда -    '~', которые система может создавать автоматически после правки оригинального файла),  иначе grub2 попытается их обработать. Так, если, после запуска 'sudo update-grub',     вы обнаружите, что вместо того, чтобы, ненужные пункты исчезли, они наоборот     продублировались, то это может означать, что в системе, имеется временный файл     '/etc/grub.d/30_os-prober~', удалите его и вновь запустите 'sudo update-grub'. Вывод     команды покажет текущее состояние меню загрузчика.

3)Настройка почтовой программы

4)Настройка Pidgin – перенос профиля и настройка .purple, как было ранее описано в статье.

5)Настройка Filezilla — просто экспорт в xml, а на другом компьютере импорт.

6)Настройка области уведомлений путём манипуляций с файлами в '/usr/share/indicators/messages/applications'. Необходимо было заменить Evolution на Thunderbird и Empathy на Pidgin. Pidgin появился в области сам, сразу после установки пакета и запуска программы, так, что добавлять его не пришлось. Удаление же   Empathy и  Evolution сводится к простому удалению одноименных файлов из директории '/usr/share/indicators/messages/applications'. Чтобы добавить в область уведомлений Thunderbird, оказалось достаточно создать пустой файл с названием thunderbird:

$ sudo touch /usr/share/indicators/messages/applications/thunderbird

и добавить туда строку -  "/usr/share/applications/thunderbird.desktop" На этом настройка области завершена, все нужные приложения добавлены, а не нужные удалены.

sudo cp -a /home/barbar/Загрузки/thunderbird /usr/lib/thunderbird-3
sudo ln -s /usr/lib/thunderbird-3/thunderbird /usr/bin/thunderbird-3
thunderbird-3 -ProfileManager


Как сравнить и найти отличия всех файлов в одинаковых каталогах?

Довольно тривиальная задача по сравнению всех или некоторых файлов из разных каталогов, встречается весьма часто. Но вот уже в который раз я сталкиваюсь с тем, что для некоторых людей она становится настоящим камнем преткновения. Иной раз можно услышать и весьма оригинальные идеи, например идею сравнивать даты файлов, размер и даже хэш суммы. Не спорю, в некоторых случаях эти методы могут оказать неоцениму помощь. Но случается так, что нужно сравнить несколько версий файлов, созданных в одно время, в этом случае, самый доступный (потому-что доступен через графический интерфейс) метод -  сравнения дат, не сработает. Если же случалась замена одного и того же количества символов в сравниваемых файлах то и метод определения разницы размера файлов так же не сработает. Что же, остаётся весьма надёжный метод сравнения хэш сумм, но представьте, что сравниваемые файлы имеют длинну в несколько тысяч строк, а искомое различие составляет лишь несколько символов.  Факт знания чтого что файлы различны, даст нам направления поиска, но отыскать сами различия будет также просто, как отыскать иголку в стоге сена. А ведь между тем, ничего придумывать и не надо! Всё давным давно изобретено, знакомьтесь - команда diff !

Вот несколько очень типичных примеров её использования:

Пример 1:

Простое построчное сравнение двух файлов, узнаём чем они отличаются:

$ diff file1 file2

Пример 2:

Нужно сравнить все файлы каталога, работающего сайта с одноименными файлами тестового каталога (надеюсь вы не имеете привычки вносить какие-либо изминения, непосредственно, сразу, в ваш рабочий web-проект?).

Решение очень простое:

$ diff -r var/www/site/somesite.ru /var/www/testsite/somesite.ru

Здесь мы использовали дополнительный ключ "-r", который задаёт рекурсивность для папок, т.е. находя папку, команда diff перходит в неё и просматривает содержащиеся там файлы. Находя файлы с одинаковыми именами и относительными путями в обеих папках, diff сравнивает содержимое файлов.

Пример 3:

Необходимо сравнить все файлы в одинаковых каталогах (как в примере 2), но в этот раз мы хотим избежать того, чтобы diff сравнивала наши гигансткие, многомегабайтные логи webstat, так-как сравнение логов может сильно загромоздить вывод, ненужным массивом данных.

Вот решение:

$ diff -r -x webstat var/www/site/somesite.ru /var/www/testsite/somesite.ru

Используя ключ "-x" мы исключаем из поиска файлы (папки) совпадающие с указанным нами именем - webstat. Найдя такой файл или папку, diff игнорирует их, а мы получаем удобочитаемые вывод команды, незагромажденный лишними данными. Не стоит забывать и о том, что вывод diff, обычно, удобнее направлять в файл, где с данными будет работать намного удобнее:

$ diff -r -x webstat var/www/site/somesite.ru /var/www/testsite/somesite.ru > my_result_file.txt

Ну и напоследок! Не забывайте читать хелпы и маны:

$ diff --help
$ man diff

Как засунуть сертификат Webmoney в Firefox

Посвящается всем тормозам саппорта вэбмани и не менее удачливым разработчикам их вэб-интерфейса.

В общем, тех. поддержка в вебмани.. отдельный разговор, хуже только их юзабилити и кодеры интерфейса. Случилось так, что когда мой сертификат подходил к концу, я попытался его обновить, но что-то пошло не так и я остался без нового сертификата, зато с записью в вэб аккаунте, буд-то все-таки этот сертификат мною получен. Соответственно возможности "переполучить" его в "чудо" сервисе не предусмотренно.. Писал в сапорт, но там, видимо, народ напрочь укуренный, потому как ответили мне только через неделю, а к этому моменту мой имеющейся сертификат уже закончил своё выступление. Ну и так далее: письма без ответа, телефонные переговоры сводившиеся к - "пишите в сапорт, только там могут помочь, а мы просто так автоответчиками работаем..." и т.д. Короче несколько дней назад прислали мне таки сертификат, но в таком формате, что для того чтобы его запулить в браузер пришлось долго и нудно побегать с бубном..

Вот собственно этот танец с бубном здесь и выкладываю на позор кодеров и разработчиков интерфейса light.webmoney.ru, и в помощь тем кто наступит на подобные грабли:

Для начала, при получении сертификата через вэб-интерфейс light.webmoney.ru, очень важно не покупаться на то, что предлагают сделать "следующим действием", когда нужно сохранить/сертификат, нажав на кнопку типа - "далее" или "получить", точно уже не помню её название. В этот момент, нужно, правой кнопкой мыши, выбрать ссылку на этот сертификат и сохранить данный объект где-нибудь на своём компьютере (ну как, уже интересно? дальше круче.. наберитесь терпения!). Если вы этого не сделали и сертификат не получили, то возможности получить его заново, Вам не предоставят! Приготовьтесь к переписке с сапортом и долгому ожиданию ответов на свои письма, в моём случае, первый ответ пришёл через пол месяца, а второй не пришёл вовсе..

Ладно, будем считать, что сертификат Вы все-таки получили, но вот незадача, он получен в формате XXXXXXXXXXXX.cer , который не поддерживается в Firefox. Почему один из самых популярных браузеров игнорируется разработчиками light.webmoney.ru, вопрос открытый, можно сказать это даже не вопрос, а притензия, пусть пока ещё и не полученная из ФАС (федеральной антимонопольной службы). Если очень долго покопаться в дебрях сайта light.webmoney.ru, где как обычно, об удобной навигации для пользователей, подумать просто забыли, то можно выйти на страницу с весьма запутанной инструкцией . По идее, там описан способ добавления сертификата webmoney в браузер Firefox, но как видно, без бубна, в виде установки доп. библиотек и утилит не обходится.. Жесть! В общем, с первого раза, я и не разобрался, перечитывать пришлось не раз. В конце концов, для решения проблемы установки сертификата в формате *.cer в Firefox, нужно сделать следующее:

1) Устанавливаем библиотеку libnss3-tools:

$ sudo apt-get install libnss3-tools

2) Переходим в папку хранятся настройки профиля пользователя Firefox:

$ cd /home/юзер/.mozilla/firefox/набор_знаков.юзер(или defoult)

3) Создём временную директорию tempdir:

$ mkdir tempdir

4) Копируем в неё три фала из профиля:

$ cp cert8.db key3.db secmod.db tempdir/

5) Создаём удобоваримый для Firefox сертификат, на основе существующего:

$ certutil -A -n mynewsertificat -t "u,u,u" -d tempdir/ -i /путь_к_сертификату/XXXXXXXXXXXX.cer

6) Сделаем папку, куда сохраним старые файлы, на всякий случай...:

$ mkdir oldsertificat

7) Переносим эти фалы (бэкапим):

$ mv cert8.db key3.db secmod.db oldsertificat/

8) Копируем, полученные в результате обработки файлы, из tempdir директорию, где хранятся настройки профиля:

$ cp tempdir/* ./

9) Удаляем временную директорию tempdir:

$ rm -rf tempdir/

Теперь всё должно работать, запускаем Firefox, пользуемся.

Всё...


Установка MODx на ISPmanager (сервер Apache и nginx фронтенд)

Недавно столкнулся с классическим случаем конфликта именований файлов и папок. На сервер с установленным ISPmanager, пытался прикрутить CMS MODx. Во время инсталляции, на этапе проверки возможности подключения к базе данных, (когда нужно кликнуть по появившейся ссылке - "Нажмите здесь для проверки соединения с вашим сервером базы данных и получения сопоставления кодировки") установка останавливалась (вызов скрипта проверки связи с БД, ни к чему не приводил). Как оказалось, проблема была вызвана конфликтом директорий с одинаковыми названиями в ISPmanager и MODx. И там и там существует директория "manager", при чем ISPmanager использовал данную папку для доступа к собственной админке и при запросе "/manager/" из MODx, редиректил на залогинивание к ней. После некоторого раздумья, мне пришло в голову два пути, первый (как наиболее безопасный), пробежаться c помощью "grep -ril manager" по распакованному архиву MODx и заменить найденные пути на какое-нибудь новое имя, естественно переименовав и саму папку "manager". Однако, в этом случае, такой вариант мог бы сыграть злую шутку в дальнейшем, например при апгрейде CMS на более новую версию, а также при установке некоторых дополнений и патчей. По этому, я решил идти по другому пути, а именно поправить, созданные панелью ISPmeneger, конфиги сервера. В простейшем случае, хватило бы правки одного файла "/etc/apache2/apache2.conf", где я просто добавил алиас для нужного хоста в секции "VirtualHost", прописав в неё строку - "Alias /manager/ /var/www/user/data/www/domain/manager/". Но поскольку фронтедом стоял славный сервер nginx, пришлось в него и влезать. Файлом конфигурации nginx, на серевере оказался файл - "/etc/nginx/nginx.conf", где я, собственно и нашёл ответственную за редирект строку - "rewrite ^(/manager/.*)$ https://$host$1 permanent;" (естественно, что строку надо искать в секции соответствующего хоста - сайта). Чтобы долго не разбираться во взаимозависемостях ISPmeneger с установленным ПО, я просто изменил в этой строке название "manager" на "manage". Как и предполагалось, после перезагрузки сервера, инсталляция прошла без сучка и задоринки :-)

Минус описанного способа, заключается в том, что теперь по обычному пути, через http://адрес_сайта, в админку ISPmeneger не попасть, но это не проблема так-как вход в админку возможен через защищённый протокол https - https://адрес_сайта. К тому же, ISPmeneger, чаще всего, предоставляет возможность доступа через адрес хоста самого сервера (на хостинге, соответственно, адрес хостера), чем обычно народ и пользуется. Есть в конце концов и третий способ - немного подправить регулярку в указанной строке nginx.conf.