вторник, 5 января 2016 г.

Здравствуй, здравствуй, Новый год!

Постов в этом блоге не было уже год, что свидетельствует о стабильности стабильной версии Debian. Ну правильно, ведь она же стабильная :)
 И тут значит, дернуло меня обновиться на тестируемую ветку stretch.
И всё заверте...
  1. Первое - никогда не обновляйте на ночь глядя операционку, тем более если завтра вам вставать!
  2. У меня полетели все зависимости невесть куда, так что в какой-то момент я уже думал, что систему пакетов не собрать.
  3. Напрочь вылетел Perl так что пришлось его заново скачивать и компилировать. И ведь знакомая история, было у меня уже что-то такое. Что теперь делать с этим перлом - не понятно.Оказалось, что KDE-таки доехал до версии KDE5, и это было одновременно приятной и неприятной неожиданностью. Приятность оказалась в плиточном интерфейсе


    Жаль, конечно, что виндовая мода добралась и сюда. Но с другой стороны KDE и позиционируется как похожий на Windows. Да и сам интерфейс отрисовали действительно красиво. Если б сделали раньше, цены б им не было.
  4. Плазма не падает. Когда вышел KDE 4.0, его разработчики прямо признались "мы выпускаем в релиз бета-версию, чтоб вы, дорогие пользователи, это всё оттестировали". Ахаха. Этим релизом  пользоваться было практически невозможно - значительная часть старых функций KDE 3.5 отсутствовала, а новая среда Plasma грохалась так часто, что даже удостоилась отдельной статьи на Лурке.  Ну дык KDE5 живо мне напомнило те эпичные времена. Даже на Debian Testing - самом стабильном из тестируемых, Plasma иногда падает. Впрочем, сразу восстанавливается без последствий. Зато пропало большинство старых виджетов, нельзя сделать панель с кнопочками, полупрозрачность и анимация работают через пень-колоду, всё дергается и мерцает.
  5. Новая мозилла перестала валиться на ЖЖ. Ну хоть что-то.
  6. Внезапно обнаружилось, что KDM - всё :( Не нужен. Упразднен. Вместо него теперь некий SDDM. Симпатичный и недоделанный как и плазма.
  7. Полетел ждущий и спящий режим. Некоторые пишут, что из-за SDDM. Поставил Lightdm - система ушла в спящий режим, но при загрузке глюкнула и перезагрузилась заново.
    Попробовал обновить policykit из ветки experimental по этой инструкции. Ничего не редактировал, просто обновил - вроде бы работает. Да, потребовалось отдельно ставить пакет libmozjs185-1.0_1.8.5-1.0.0+dfsg-4.5_amd64.deb из репозитория sid.
  8. При завершении система выдает таймаут на полторы - три минуты с сообщением "A stop job is running for Session N of user" Ну вообще приехали. Пока непонятно, что с этим делать. Пишут что проблема в systemd. Попробую обновиться может.
  9. Libreoffice стал пятой версии. Пока особо не пользовался.
  10. Пока что это все. Посмотрим, что будет дальше.
 

четверг, 22 января 2015 г.

Скрипт для обновления Firefox под Debian

Одна из немногих вещей, которые я не разделяю в Debian - это всякие приколы приколы над продуктами Mozilla типа создания браузеров Iceweasel или клиентов электронной почты Icedove.
Поэтому у меня стоит оригинальная версия Mozilla. Для этого нужно скачать архив, распаковать куда-нибудь (у меня /usr/local) и поставить сиволическую ссылку на исполняемый файл в /usr/local/bin.

Но возникает вопрос с обновлением. Firefox периодически предлагает мне обновиться на новую версию, однако самостоятельно не может этого сделать. Приходится обновлять вручную. И вот в очередной раз я решил этот процесс автоматизировать.
Написал bash-скрипт под названием firefox-update.
Скрипту в качестве параметра указывается номер версии Firefox, которую нужно скачать, он скачивает архив, распаковывает его и самостоятельно всё обновляет.

вот его текст:


#!/bin/bash
if [ "$1" == "" ]; then
 echo "Пожалуйста, укажите номер версии Firefox."
 exit 0;
fi

if [ "$1" == "--help" ]; then
 echo "Usage: firefox-update number-of-version; e. g. firefox-update 35.0"
 echo ""
 exit 0;
fi

echo "Download Firefox..."
wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/$1/linux-x86_64/ru/firefox-$1.tar.bz2 -O /tmp/firefox-$1.tar.bz2
if [ "$?" == "0" ]; then
  echo "OK. Extracting source..."
else
  echo "Firefox source does not found. Please, check your version number."
  exit 1;
fi
tar xjf /tmp/firefox-$1.tar.bz2 --directory /tmp
if [ "$?" == "0" ]; then
  echo "OK. Updating Firefox..."
  cp -R  /tmp/firefox /usr/local/
  echo "Firefox is succesfully updated."
  exit 0;
else
  echo "Firefox source tarball has an error. Exiting."
  exit 1;
fi
exit 0;

суббота, 29 ноября 2014 г.

Samsung Galaxy Tab 3: MTP vs Debian Linux

Вопрос, как подружить под Линуксом планшет Samsung Galaxy Tab 3 и Linux стоял передо мной уже давно. Нет, планшет был виден, монтировался и вполне читался, однако ни записать, ни удалить что-либо было невозможно (сейчас посмотрел - удаляет, но, например, создать новую папку - not supported by camera protocol). В интернетах это объяснялось неполной поддержкой в Линуксе протокола MTP - изобретения Майкрософт. Преимущество этого протокола перед обычным подключением USB Mass Storage (по типу флешки) в том, что карта памяти не отключается от устройства на время подключения к компьютеру, а становится доступна сразу и там, и там.

Сегодня-таки решил заварить чаю и надолго засесть за решение этой проблемы. Одно из решений, собственно, где-то я уже видел, но оно требовало скачивать и устанавливать Android SDK весом 500 Мегабайт - игра не стоила свеч :)

Как обычно - наиболее толковая инструкция по MTP была на Arch Wiki:
https://wiki.archlinux.org/index.php/MTP

Там было несколько способов - мне понравился jmtpfs,  про него было написано: If you have a newer Android device that does not support UMS (USB Mass Storage) and you find mtpfs extremely slow or not working properly, you can install jmtpfs from the AUR.

Устройство действительно новая, да и скорости хочется - можно сразу ставить jmtps :)
В KDE работа mtp обеспечивается пакетом kio-mtp, так что не мешает поставить и его.
Итак:

#aptitude install kio-mtp mtp-tools jmtpfs

Дальше следуем Arch-инструкции:
  • First edit your /etc/fuse.conf and uncomment the following line:
user_allow_other

затем создаем папку для монтирования устройства:

#mkdir /mnt/galaxy; chmod 0777 /mnt/galaxy

Арчвики рекомендует монтировать так:

Use this commands to mount your device:
$ jmtpfs ~/mtp
And this command to unmount it:
$ fusermount -u ~/mtp

Можно монтировать полной командой:

jmtpfs -o allow_other /mnt/galaxy

При монтировании выдается ошибка: Unable to open ~/.mtpz-data for reading, MTPZ disabled. Однако, всё работает, думаю, можно не обращать на нее внимания.

Минус один повод перезагружаться в Винду :)

P.S. Как понятно из заголовка, я вернулся-таки на Дебиан, поставил Debian Jessie и очень доволен. Последней каплей стало то, что после последнего обновления KDE на Арче стал загружаться по две минуты, и сходу решить это я не смог, а разбираться с кучей таких досадных мелочей надоело. Дебиан всё-таки - наше всё )))

среда, 2 июля 2014 г.

Wvdial, Megafon modem и все-все-все

Если в Дебиане мой старенький Мегафон-модем еще как-то худо-бедно работал с помощью своей собственной программы, то в Арче программа модем тупо не видит - какая-то ошибка драйвера. А ковыряться лень.

К счастью есть старый добрый wvdial, который ест все модемы, какие только есть :)

Wvdial.conf у меня такой:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = Analog Modem
ISDN = 0
Modem = /dev/ttyUSB0
Phone = *99#
Username = gdata
Password = gdata
Baud = 460800
Init3 = AT+CGDCONT=1,"IP","internet"
Модем создает аж три устройства /dev/ttyUSB[0-2], с /dev/ttyUSB0 всё прекрасно работает.

Но инициализируется он не сразу.
Сначала нужно запустить /usr/local/Mobile_Partner/driver/HWActivator
Можно переключить модем в режим модема и без него, в интернете есть инструкции, но раз уж у меня драйвер установлен, почему бы им и не воспользоваться.

В итоге нужно:
1. Воткнуть свисток
2. Запустить HWActivator
3. Подождать, пока модем переключится в режим модема
4. Запустить wvdial

wvdial с этим модемом почему-то делает паузу на 30 секунд перед подключением, что с этим делать - не понятно.

Тем не менее, тут явно напрашивается скрипт, верно? :)
Ну так вот, наконец, сегодня я его и сделал. Добавлены всякие проверки и прочее.

#!/bin/bash

if [ $(pgrep wvdial)>'0' ]
then
  echo "Wvdial is already running. Exit."
  exit 1
fi

# Make sure only root can run our script
if [[ $EUID -ne 0 ]]; then
    echo "This script must be run as root"
    exit 1
fi

# Check that HWActivator is running
if [ $(pgrep HWActivator)>'0' ]
then
  echo "HWActivator is running. Ok."
else
  echo "HWActivator is not running. Starting..."
  /usr/local/Mobile_Partner/driver/HWActivator
fi

# Wvdial section
echo "Waiting for Megafon modem..."

until [ -e /dev/ttyUSB0 ]
do sleep 3s;
done

echo Modem activated. Starting wvdial...
wvdial
exit 0;

Таймаут меньше трех секунд не срабатывает - устройство в /dev уже есть, но модем при подключении выдает ошибку.

Как-то так.

(Почему Network Manager не видит этого модема (в дебиане видел и опознавал как мобильник, подключался нормально) - тоже не очень понятно)

вторник, 17 июня 2014 г.

Гуманитарный Latex

В общем, таки да.
Я дозрел до написания работы (или может, для начала, переформатирования существующей) в LaTeX
Проект обещает быть интересным и доставить много плясок с разного размера бубнами, да.

Для начала я поставил весь latex в арче, что был в репозиториях, и для греческого, и для иврита, для всего.

Потом нужно было поставить PSCyr - пакет с поддержкой всяких таймсов - ариалов, долго с ним мучался, ключевой момент вот:

updmap --enable Map pscyr.map

без этого - не заработало.

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

Вот остался еще варнинг:

LaTeX Font Warning: Font shape `T2A/ftm/bx/sc' undefined
(Font) using `T2A/ftm/bx/n' instead on input line 23.

но с этим документ хотя бы компилится, что уже приятно.
Статья с похожим на нужное мне оформление - вот
http://habrahabr.ru/post/144648/


вторник, 17 декабря 2013 г.

Wifi из консоли в Linux

http://lsoft.daraba.ru/blogs/nelex
 Тут такая хорошая статья - ни убавить, ни прибавить :) И вообще этот блог заслуживает того, чтобы в нем побольше покопаться.
Копирую как есть :) Спасибо автору. У меня network-manager и wicd подключались с десятого раза, а тут всё работает...
По итогам статьи создал скрипт

#!/bin/bash
service wicd stop
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -Dnl80211
dhclient wlan0
route add default gw 192.168.5.1
echo nameserver 8.8.8.8 > /etc/resolv.conf

Но еще его не обкатывал. Итак:

Привет уважаемый читатель!

Надоели в последнее время мне проблемы с wicd и wifi-radar для подключения к Wi-Fi в Linux, и я решил что пора бы подключаться через консоль, минуя все эти надстройки в виде программ для подключения. На самом деле все оказалось еще проще чем я предполагал. И сейчас я покажу как это делается. А тем кому пока не надоело подключатся через программы стоит добавить эту заметку в Избранное, в дальнейшем пригодиться.

Подключаемся к роутеру/точке доступа

Итак, предполагаем что подключение происходит с шифрованием WPA2, так как сейчас это самое популярное и наиболее безопасное решение, чем к примеру устаревший WPA.
Для начала посмотрим все ли в порядке с нашими устройствами:
# ifconfig
eth0      Link encap:Ethernet  HWaddr e4:11:5b:f2:cc:4a 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1131 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1131 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:299033 (292.0 KiB)  TX bytes:299033 (292.0 KiB)
Никакого wlan не видим, смотрим, может он отключен:
# ifconfig -a
eth0      Link encap:Ethernet  HWaddr e4:11:5b:f2:cc:4a 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B) lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:816 errors:0 dropped:0 overruns:0 frame:0
          TX packets:816 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:209884 (204.9 KiB)  TX bytes:209884 (204.9 KiB)
wlan0     Link encap:Ethernet  HWaddr e4:d5:3d:9e:97:bb 
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:26410
          TX packets:0 errors:882 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:23
Ага, вот и он, наш wlan0, в некоторых исключительных случаях система его может обозначить как eth2, но не в нашем случае. Если ifconfig -a не вывел вам информации о беспроводном интерфейсе, значит система не видит устройство, либо оно отключено хардварно(на панели ноутбука), либо нет драйвера и устройство не определилось. В таком случае либо включите ваше устройство и повторите команду, либо переходите к установке драйвера. Установку я описывал в статьях:
Debian GNU\Linux: Broadcom Wi-Fi drivers в Compaq Presario CQ57
Broadcom драйвера wifi в Linux ядрах версий 3.4 и 3.5
Итак, зная наш интерфейс мы находим наш роутер или точку подключения:
#iwlist wlan0 scanning | grep -i essid
                    ESSID:"TP-LINK_985188"
                    ESSID:"Beryozka"
                    ESSID:"Tenda_18B2F8"
Видим наш "TP-LINK_985188".
Дальше, для WPA2 нам нужно создать запись соответствующую ESSID и Пароль доступа, для этого используем пакет программ wpasupplicant, если у вас не установлен, нужно установить:
# apt-get install wpasupplicant
Используем ее для генерации записи подключения:
# wpa_passphrase TP-LINK_985188 наш_пароль_установленный_на_роутере
Получаем сгенерированную запись:
network={
ssid="TP-LINK_985188"
psk=b8530ddba3a3625b9336be805da8cfb5f2d67d0e776d5ffd2f38b3f11b18a404
}
Открываем файл где храняться такие записи и добавляем нашу сгенерированную в него:
nano /etc/wpa_supplicant/wpa_supplicant.conf
Сохраняем и закрываем.
Осталось только подключиться, что мы и делаем:
wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
В дальнейшем нам нужно только использовать последнюю команду для подключения к этому роутеру.

Настройки сети

Подключиться по Wi-Fi не сложно, но это еще не все, нужно получить/указать свои клиентские настройки для использования сети. Если ваш роутер раздает настройки автоматически то просто введите команду:
#dhclient wlan0
Если же не раздает, пропишем их вручную, введите команды:
ifconfig wlan0 ip-адресс netmask сетевая_маска
И добавляем шлюз:
route add default gw 192.168.1.1 последний IP адрес стоит по умолчанию для большинства роутеров, если у вас другой то введите его.
Все, как видите ничего сложного =)

среда, 15 мая 2013 г.

Пакетное сжатие фотографий

Если вам нужно быстро сжать кучу фоток

 for image in *.JPG; do convert $image -resize 1024 -quality 100 m$image; done




сжимаем все фотки в папке до размера 1024 по одной стороне с качеством 100%
только не забудьте, что в этой команде фотки с раcширением не ,JPG (а .jpg скажем) не участвуют!