среда, 26 декабря 2012 г.

Linux Mint 13/ Ubuntu 12.04 on Samsung 900X3C (тачпад, яркость клавиатуры, Fn кнопки)

1. Установил linux Mint Mate Edition 13 amd64 на свой ультрабук

После установки:
  • wifi работает нормально
  • тачпад тоже адекватно определился, не работают жесты, не работает тап по правой части тачпада (правая кнопка)
  • из Fn кнопок работают только яркость экрана, громкость и вкл/выкл тачпад, не работает регулировка яркости подсветки клавиатуры, wifi on/off и другие.
остальное тоже вроде как работает адекватно

2. Обновление системы (очень рекомендуется, если вы скачали дистрибутив относительно давно)

sudo apt-get update
sudo apt-get dist-upgrade


3. Bluetooth в этом минте глючит, не дает соединиться с блютуз-мышкой

Решение вот тут

 
sudo apt-get remove mate-bluetooth libmatebluetooth
sudo dpkg -i mate-bluetooth_1.2.0-1_amd64.deb libmatebluetooth_1.2.0-1_amd64.deb

4. Fn-кнопки

решение взято вот отсюда

создаем файлик /lib/udev/keymaps/samsung-900x3c
и вставляем в него этот текст
# /lib/udev/keymaps/samsung-900x3c
0xCE prog1               # FN+F1 System Settings
0x89 brightnessdown      # FN+F2 Brightness down
0x88 brightnessup        # FN+F3 Brightness up
0x82 switchvideomode     # FN+F4 Switch video mode
0xF9 f23                 # FN+F5 Turn touchpad off
0xA0 mute                # FN+F6 Mute
0xAE volumedown          # FN+F7 Volume down
0xB0 volumeup            # FN+F8 Volume up
0x97 kbdillumdown        # FN+F9 Keyboard backlight down
0x96 kbdillumup          # FN+F10 Keyboard backlight up
0xB3 silentmode          # FN+F11 Silentmode
0xD5 wlan                # FN+F12 WiFi
 
 
создаем файлик /lib/udev/keymaps/force-release/samsung-900x3c
и вставляем этот текст
# /lib/udev/keymaps/force-release/samsung-900x3c
0xCE # FN+F1 System Settings
0x89 # FN+F2 Brightness down
0x88 # FN+F3 Brightness up
0x82 # FN+F4 Switch video mode
0xF9 # FN+F5 Turn touchpad off
0xA0 # FN+F6 Mute
0xAE # FN+F7 Volume down
0xB0 # FN+F8 Volume up
0x97 # FN+F9 Keyboard backlight down
0x96 # FN+F10 Keyboard backlight up
0xB3 # FN+F11 Silentmode
0xD5 # FN+F12 WiFi 
 
открываем файл /lib/udev/rules.d/95-keymap.rules
находим строку 
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*", RUN+="keymap $name samsung-90x3a"
вставляем после нее строчку
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keymap $name samsung-900x3c"

открываем файл /lib/udev/rules.d/95-keyboard-force-release.rules
находим строку
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="*90X3A*", RUN+="keyboard-force-release.sh $devpath samsung-90x3a"
вставляем после неё
ENV{DMI_VENDOR}=="[sS][aA][mM][sS][uU][nN][gG]*", ATTR{[dmi/id]product_name}=="900X3C*", RUN+="keyboard-force-release.sh $devpath samsung-900x3c"
 
Открываем файл ~/.xbindkeysrc (от имени простого пользователя)
удаляем оттуда всё, если там что то есть и вставляем эти строки
 
#fnf1

"/usr/bin/gnome-control-center"
m:0x0 + c:156
XF86Launch1

#fnf11
"/usr/bin/samsung-tools --show-notify --quiet --cpu hotkey"
m:0x0 + c:210
XF86Launch3

#fnf12
"/usr/bin/samsung-tools --show-notify --quiet --wireless hotkey"
m:0x0 + c:246
XF86WLAN

# End of xbindkeys configuration
"SamsungToolsDummyCommand"
  Control+Alt+Shift+Mod4+F1+F2+F3

#
# End of xbindkeys configuration

 
Теперь ставим самсунговские тулзы
apt-add-repository ppa:voria/ppa
apt-get update
apt-get install samsung-tools samsung-laptop xbindkeys-config 


5. Тачпад

Чтобы заработали все фичи тачпада делаем следующее

создаем файл /usr/share/X11/xorg.conf.d/52-synaptics-custom.conf

и вставляем в него строки
Section "InputClass"
Identifier      "samsung n900x3c clickpad"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "SHMConfig"     "On"
Option "RTCornerButton" "2" #right-click to bottom right
Option "RBCornerButton" "3" #right-click to bottom right
Option "LTCornerButton" "6" #right-click to bottom right
Option "LBCornerButton" "7" #right-click to bottom right
Option "TapAndDragGesture" "1" #tap&release then tap&drag
Option "PalmDetect" "1" #avoid bad track behavior
Option "VertTwoFingerScroll" "1" #two-finger vertical scroll
Option "VertEdgeScroll" "0" #right edge vertical scroll
Option "TapButton1" "1" #one-finger tap = left-click
Option "TapButton2" "3" #two-finger tap = right-click1
Option "ClickPad=1"
EndSection
 
создаем файл /usr/local/bin/synaptics.sh
вставляем в него строки
 
#!/bin/sh
synclient RightButtonAreaLeft=1600
synclient RightButtonAreaRight=2946
synclient RightButtonAreaTop=1040
synclient RightButtonAreaBottom=1872
 
делаем этот файл исполняемым
chmod +x /usr/local/bin/synaptics.sh
 
добавляем файлик в автозапуск, для этого создаем файл /etc/xdg/autostart/synaptics.desktop
 
и вставляем в него такие строки
[Desktop Entry]
Type=Application
Exec=/usr/local/bin/synaptics.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[en_US]=touchpad
Name=touchpad
Comment[en_US]=touchpad addons
Comment=touchpad addons
 
 

ПЕРЕЗАГРУЖАЕМСЯ!

 
 

6. Регулировка яркости подсветки клавиатуры

 
 в файл /etc/modules добавляем строчку
samsung-laptop

подгружаем модуль
modprobe samsung-laptop

чтобы узнать адрес нашего устройства яркости набираем в консоли
# ls /sys/class/leds/
phy0-led  samsung::kbd_backlight

следовательно чтобы назначить яркость, нужно от суперюзера (на данный момент) передать значение от 0 до 4 в файл
/sys/class/leds/samsung::kbd_backlight/brightness

например
echo 0 > /sys/class/leds/samsung\:\:kbd_backlight/brightness

Теперь наша задача всё это автоматизировать, метод взят отсюда.
Только на моем самсунге и операционке Mint состояние яркости сохраняется, так что я значительно упростил скриптик

Создаем скриптик регулировки

sudo nano /bin/k-light

вставляем туда текст
#!/bin/bash
#путь до нашего устройства яркости
devpath="/sys/class/leds/samsung::kbd_backlight/brightness"
current=$(cat "$devpath")
if [ "$1" = "up" ] && [ "$current" -lt 4 ]; then
current=`expr $current + 1`
fi;
if [ "$1" = "down" ] && [ "$current" -gt 0 ]; then
current=`expr $current - 1`
fi;
echo $current > $devpath
echo $current



делаем файл исполняемым
sudo chmod +x /bin/k-light

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

sudo nano /etc/init.d/autostart.sh


вставляем туда текст
#!/bin/bash
chmod 0777 "/sys/class/leds/samsung::kbd_backlight/brightness"

Делаем скрипт исполняемым и добавляем в автозапуск 
sudo chmod +x /etc/init.d/autostart.sh
sudo update-rc.d autostart.sh defaults 95
 
Теперь нужно привязать сочетания Fn+F9 и Fn+F10 к нашему скрипту, для этого нужно в том же самом файле ~/.xbindkeysrc
дописать строки
#key light down
"k-light down"
XF86KbdBrightnessDown
#key light up
"k-light up"
XF86KbdBrightnessUp
 
а потом перезайти или перезагрузиться, чтобы активировались хоткеи
 

7. SSD Trim

Прочитать подробнее можно например вот тут
 
Смысл в том, что нужо добавить опцию discard к разделам диска 



Все источники информации отмечены в тексте ссылками, в итоге всех мучений мы получаем полноценную работу ноута, жаль только то что датчик освещенности не завелся, но при желании и на него можно найти решение.

Что мы имеем в конечном итоге:

1. Работает регулировка яркости экрана
2. Работает регулировка яркости подсветки клавиатуры
3. Работает wifi, bluetooth
4. Хоткеями можно включить/выключить wifi,тачпад
5. Хоткеями можно переключать режимы энергосбережения (Fn+F11)
6. На тачпаде работает скроллинг двумя пальцами, нажатие на правый нижний угол равно правой кнопке клавиатуры, тап двумя пальцами тоже работает как правая кнопка клавиатуры.

Если кто не верит, могу показать что всё работает))) Всё почти как в винде завелось и работает, только остались под вопросом всякие режимы сна и гибернации, ну если вам оно нужно - копайтесь сами.


Купить ноутбук Samsung 900x3c в Екатеринбурге в интернет-магазине

среда, 19 декабря 2012 г.

Samsung Galaxy Note 10.1 N8000 (root, android 4.1, flash player)

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


К сожалению на данном планшете только один разъем для подклюения к ПК (ну и еще можно купить юсб-хост или HDMI переходники)


Экран с хорошими углами обзора, но не IPS, мне кажется что даже не PLS, т.к. на моем ноуте PLS с более широкими углами обзора.






Рисовать очень удобно, хотя на бумаге в чем то удобнее, но бумажки на столе мне уже надоели.


Зарядник выполнен в форме кубика, очень похож на эпловские зарядники, у меня на айпаде был похожий, ток заряда 2А.

К стилусу идут дополнительные перья, хотя глянцевое покрытие гораздо дольше изнашивает перо стилуса, на Wacom Bamboo у меня перья моментально истираются.


Коробка тоже выполнена в Ipad стиле.



В комплекте идут вакуумные наушники.

К наушникам прилагаются наконечники для различных размеров ушей


ЮСБ-шнурок тоже выполнен в виде эпловского





Теперь перейдем к издевательствам над планшетом (помните то что вы можете потерять гарантию и превратить ваш девайс в доску для нарезки хлеба).

1. Альтернативный Bootloader

http://4pda.ru/forum/index.php?showtopic=375585 тут качаем из шапки  Recovery, драйвера и прогу Odin. Распаковываем odin в корень диска C, ставим драйвера, сам рековери распаковывать не нужно, просто сохраните его тоже в корень, чтобы исключить кириллические имена папок в пути до файла.

Выключаем девайс и зажимаем кнопки Громкость вниз (ближе к кнопке питания) и кнопку питания, потом жмем кнопку Громкость вверх и подключаем девайс к компу

Далее запускаем odin, выбираем bootloader (путь до файла с рековери тар), жмем старт и ждем пока всё закончится.

2. Прошивка 4.1 Deodex+Root

Качаем zip файл тут http://4pda.ru/forum/index.php?showtopic=375585&st=1120#entry16892435
далее кидаем его в корень устройства, грузимся в режиме рековери (Громкость+ и Power)

Там делаем wipe, далее устанавливаем прошивку (Install Zip From ...), ждем пока всё закончится и всё.

Теперь можно скачать программу SystemAppRemover с 4pda и удалить ненужные стоковые приложения.


P.S. Рекомендую внимательно изучить 4pda, там есть детальные инструкции на все эти операции.


Чехол к планшету я заказал с ebay.com с доставкой он выйдет не дороже 300-500 рублей, тогда как в наших магазинах он стоит от 1500 руб, а оригинальный вообще может стоить около 3000 руб.

 
Продал этот планшет через 3 недели использования, экран не супер (на широких углах не видно). Перо, из-за которого такая высокая цена, работает недостаточно точно, чтобы его использовать по назначению, для рисования сложно использовать. Без пера планшеты с хорошим экраном стоят на 5-6 тыс дешевле.

пятница, 7 декабря 2012 г.

PHPExel Wrap + Merge + Auto Height

В  Exel есть такая трабла, для объединенных (merge) ячеек при установке переноса по словам, высота (height) не устанавливается автоматически, но ее можно рассчитать при помощи примерно такого костыля:


$line_height = 12; //высота одной строки текста (one line height)
$in_line = 50; // примерное количество символов для одной строки (chars in one line)

$h = ceil(strlen(utf8_decode($text))/$in_line)*$line_height;

$aSheet->getRowDimension($str_number)->setRowHeight($h);

среда, 5 декабря 2012 г.

Samsung 900x3c - самая компактная сумка + мышка bluetooth

Вы наверно помните мою статью с обзором ультрабука Samsung 9й серии, данная статья будет продолжением, для тех, кто уже приобрел данный ноутбук.

1. Сумка для ноутбука

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

Я потратил более часа на тестирование всех сумок в магазине DNS, и пришел к выводу, что по размеру подходят 12 дюймовые сумки, но не все. В итоге я выбрал сумку Riva 8170, но ноутбук входил в эту сумку только в центральное отделение, для ноутбука есть отделение с застежкой и дополнительным уплотнением, если разместить ноутбук посередине, то есть риск поцарапать его застежками от боковых карманов, пришлось немножко модернизировать отсек для ноутбука.

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


А вот фото самой сумки, как видно, она почти 1 в 1 создана для этого ноутбука.




 Ремень очень хороший, в сумку влазит ноутбук, зардник, внешний HDD, HDMI провод, и даже графический планшет для рисования.









2. Bluetooth мышка

Т.к. USB-портов на ноутбуке только два, то тратить один из них на мышку не хотелось, я купил блютуз мышку OKLICK 406S, точную цену сказать не могу, т.к. мне ее продал хороший знакомый вместе с ноутом. Мышка работает от 2х батареет типа ААА, вот уже 4 месяца живет на одних батарейках, заряда хватает на долго.





вторник, 27 ноября 2012 г.

Cygwin SSH LANG (codepage)

Иногда приходится пользоваться виндой, например когда ноут слишком крутой и половина его возможностей не реализованы в линуксе в достаточной мере.

Поэтому мне пришлось сидеть на винде, и мне понадобились утилиты для работы, такие как grep, ssh-client, whois и другие. Для SSH я не захотел использовать Putty, т.к. не люблю отрывать руки от клавиатуры. По горячим клавишам у меня запускается Cygwin, в нем я набираю команду и подключаюсь по ssh к нужному серваку, некоторые утилитки пришлось компилировать вручную в cygwin, т.к. в репозитории они отсутствовали, но сегодня речь только про ssh.



В cygwin при использовании SSH может возникнуть такая проблема, на удаленном сервере некорректно отображаются кириллические символы.
Если на удаленном сервере набрать echo $LANG то увидим пустое значение
Для начала нужно настроить кодировку в Cygwin



далее нужно прописать такие строки в файле ~/.ssh/config
Host *
 SendEnv LANG LC_*

В итоге ssh клиент будет пробрасывать локальную переменную LANG в удаленную консоль.

понедельник, 22 октября 2012 г.

Интеграция Google в Mozilla Thunderbird (календарь и контакты)



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

1. Google contacts
Для того, чтобы синхронизировать контакты гугла и thunderbird, нужно установить дополнение Google contacts и ваша адресная/телефонная книга будет синхронизироваться с гуглом и будет доступна в оффлайне.

2. Google calendar
Для того, чтобы подключить гугл-календарь, нужно установить два дополнения
Lightning
Provider for Google Calendar

После перезапуска Thunderbird заходим в календарь "События и задачи"
Файл - Создать - Календарь

 


 Выбираем пункт "В сети", жмем "далее"



Теперь адрес, в этом то и будет основная сложность

Заходим в календарь на гугле



 В правом верхнем углу находим пункт "настройки", переходим на вкладку "календари"





В списке тыкаем на свой календарь, например у меня он называется Павел Беляев






 В пункте "адрес календаря" есть кнопочка ical, на нее жмем и получаем ссылку на календарь, теперь вставляем эту ссылку в наше окно и жмем далее.

После этого календарь будет синхронизироваться.