Kivy - это кроссплатформенный фреймворк создания графического интерфейса для приложений написанных на языке программирования Python 2.7.x. Поддерживает следующие платформы - Linux, Windows, OS X, Android и iOS. Мультитач также поддерживается.
Для сборки пакета для Android я использовал вот этот мануал - http://kivy.org/docs/guide/packaging-android.html.
В процессе сборки необходимо указать разрешения для приложения. Список разрешений можно подсмотреть здесь - http://developer.android.com/reference/android/Manifest.permission.html
Блог Красноглазого
вторник, 10 декабря 2013 г.
воскресенье, 20 октября 2013 г.
Python: С чего начать?
Быть системным администратором достаточно просто, когда есть набор инструментов и средств, которые помогают тебе в работе.
Хотя набор этот и весьма индивидуальная вещь, но общие принципы проявляются везде. И одним из таких принципов является наличие какого-либо скриптового языка программирования в твоём арсенале. Не будем останавливаться на причинах и следствиях, я выбрал для себя Python.
Прочитав пару десятков статей и опробовав несколько языков пришёл к выводу, что это моё.
Самая большая проблема после выбора, была в том, что начался тяжелый этап вхождения. Что почитать, в чём программировать, с кем посоветоваться. Пройдя сам через все эти вопросы хочу поделиться своим опытом.
Как правило, самым сложным на первоначальном этапе изучения оказывается создание среды в которой можно программировать, пробовать куски кода. Некий инструментарий для старта.
Определившись с инструментами остались сущие пустяки, освоить язык. На самом деле это очень просто. Я учился по следующим книгам:
Вторую книгу стоит прочитать тем, кто задаётся вопросом использования Python в системном администрировании. Рассматривается довольно много специфических вопросов, что поможет столкнуть мысли в нужном направлении.
Возможности из третьего пункта хорошо описываются в вышеприведённых книгах.
Из всего пантеона документации для Python на начальном этапе самые нужные это - Library Reference и Tutorial. Возможно ещё может заинтересовать Languge Reference.
Лично я следовал принципу - основное берём у Лутца, уточнения в официальной документации.
Таким образом я смог преодолеть порог на вход в язык. Осталось лишь развивать навыки и умения.
Хотя набор этот и весьма индивидуальная вещь, но общие принципы проявляются везде. И одним из таких принципов является наличие какого-либо скриптового языка программирования в твоём арсенале. Не будем останавливаться на причинах и следствиях, я выбрал для себя Python.
Прочитав пару десятков статей и опробовав несколько языков пришёл к выводу, что это моё.
Самая большая проблема после выбора, была в том, что начался тяжелый этап вхождения. Что почитать, в чём программировать, с кем посоветоваться. Пройдя сам через все эти вопросы хочу поделиться своим опытом.
Как правило, самым сложным на первоначальном этапе изучения оказывается создание среды в которой можно программировать, пробовать куски кода. Некий инструментарий для старта.
- Debian GNU/Linux последней версии. Именно так! Это не максимализм и не фанатичное пропагандирование дистрибутива. Там есть всё. Необходимые инструменты, документация, разные версии самого Python, множество модулей для разных задач, документация. И отсутствие проблем с установкой и совмещением всего этого зоопарка. Плюс дополнительные инструменты для работы с системами контроля версий, библиотеками для построение графического интерфейса и многое, многое другое. Некоторый минус несколько устаревшие версии ПО, но в данном конкретном случает этот минус не настолько важен, чтоб перекрыть все получаемые преимущества. Пользуюсь сам и рекомендую всем.
- WinPython - для использующих Windows XP и выше это просто спасение. На самом деле все компоненты входящие в этот набор программ можно скачать по отдельности и весьма мощно продвинуться в собственных глазах при их интеграции. Но для изучения Python полезность этих знаний не так уж велика. Поэтому просто ставим WinPython и пользуемся. Всё необходимое есть. В наличии сборки под 32 и 64 бита, 2 и 3 версии Python. Пакет направлен на решение научных задач, но этого особо не заметно. И для решения общих задач использовать можно не менее успешно.
- Python 2.x.x - да, я рекомендую к освоению и использованию именно Python версии 2. Почему? Всё просто, под эту версию есть всё. Документация, книги, модули, программы. Ветка поддерживается и активно. Переход с неё на версию 3 не так уж и затруднителен. Перевод сценариев со 2 на 3 версию вызывает несколько проблем, но именно об этих проблемах я предлагаю подумать в тот момент когда вы станете продавать свой код .
- IPython - интерактивная консоль. В дистрибутиве с официальной версией Python поставляется консоль, не самая плохая. Но IPython реально облегчает и упрощает многие моменты как работы, так и обучения языку.
- Spyder - IDE (среда разработки). В общем-то если вы начинаете и озаботились средой разработки, в которой хотите видеть подсветку кода, подсказки, документацию по ходу написания кода, консоль с результатами запуска скрипта. Она подойдёт, не знаю как уж для серьёзной разработки, но для моего начального уровня вполне достаточно. Поддерживает систему контроля версий mercurial.
- TortoiseHg - графический интерфейс для системы контроля версий mercurial. В самом начале она не особо и нужна, но как только появится чуть более сложный скрипт, строк на 100, вы оцените.
Определившись с инструментами остались сущие пустяки, освоить язык. На самом деле это очень просто. Я учился по следующим книгам:
- Марк Лутц - Изучаем Python.
- Ноа Гифт и Джереми М. Джонс - Python в системном администрировании UNIX и Linux.
- Функции help() и dir() в консоли IPython или Python.
- Официальная документация на сайте Python.
Вторую книгу стоит прочитать тем, кто задаётся вопросом использования Python в системном администрировании. Рассматривается довольно много специфических вопросов, что поможет столкнуть мысли в нужном направлении.
Возможности из третьего пункта хорошо описываются в вышеприведённых книгах.
Из всего пантеона документации для Python на начальном этапе самые нужные это - Library Reference и Tutorial. Возможно ещё может заинтересовать Languge Reference.
Лично я следовал принципу - основное берём у Лутца, уточнения в официальной документации.
Таким образом я смог преодолеть порог на вход в язык. Осталось лишь развивать навыки и умения.
пятница, 18 октября 2013 г.
Debian: Системные группы безопасности.
В любом дистрибутиве и в Debian в частности существуют системные группы пользователей управляющие правами доступа к системе.
В самом Debian мануал с описанием этих групп находится здесь -
Приведу парочку, на мой взгляд, самых интересных:
Группы имеющие одноимённого связанного пользователя.
Группы не имеющие связанного с ними пользователя:
В самом Debian мануал с описанием этих групп находится здесь -
/usr/share/doc/base-passwd/users-and-groups.html
Приведу парочку, на мой взгляд, самых интересных:
Группы имеющие одноимённого связанного пользователя.
- root
- Группа суперпользователя.
Сюда лучше кроме root никого не добавлять. Для работы с его правами есть sudo. - daemon
- Пользователи этой группу демоны (сервисы), которым нужен некий уровень доступа к системе.
- Но вообще рекомендуется пускать каждого демона под своей группой и пользователем.
- games
- Группа дающая возможность сохранять играм рейтинг, чтоб разные пользователи системы могли помериться "длинной пароля".
- Группа для доступа к почте в /var/mail.
- messagebus
- От имени этого пользователя работает dbus.
- adm
- Группа с правами чтения логов в /var/log.
- dialout
- Доступ к последовательным портам для использования модемов.
- dip
- Пользователи этой группы могут пользоваться такой штукой как "Диалап".
- cdrom
- Группа для доступа к CD-ROM.
- plugdev
- Члены этой группы могут автоматически монтировать флешки, cd-диски и прочее.
- lpadmin
- Позволяет управлять принтерами, добавлять, удалять и прочее.
- scanner
- Пользователи этой группы могут использовать сканеры.
воскресенье, 23 мая 2010 г.
Установка Mail.Ru Агент под wine в Debian Squeeze
Я использовал версию wine 1.1.42, которую взял из репозитория указанного на www.winehq.org.
Итак по пунктам:
1. Скачать Mail.Ru Агент.
2. Запустить установку под wine.
3. Необходимо скопировать три библиотеки из C:\Windows\System32 (oleacc.dll, riched20.dll, rpcrt4.dll), и скопировать их в ~/.wine/drive_c/windows/system32.
4. Для корректного отображения шрифтов нужно скопировать шрифты из C:\Windows\Fonts в ~/.wine/drive_c/windows/Fonts.
5. Запустить winecfg выбрать magent.exe и настроить замещение библиотек.
6. Установить Flash Player. Можно с помощью winetricks
7. На вкладке "Голосовое общение" снять все галочки, программный телефон не работает.
8. Не работают "Настройки цвета", из-за каких-то проблем с gdi32, если их открыть программа зависает.
Итак по пунктам:
1. Скачать Mail.Ru Агент.
2. Запустить установку под wine.
3. Необходимо скопировать три библиотеки из C:\Windows\System32 (oleacc.dll, riched20.dll, rpcrt4.dll), и скопировать их в ~/.wine/drive_c/windows/system32.
4. Для корректного отображения шрифтов нужно скопировать шрифты из C:\Windows\Fonts в ~/.wine/drive_c/windows/Fonts.
5. Запустить winecfg выбрать magent.exe и настроить замещение библиотек.
6. Установить Flash Player. Можно с помощью winetricks
7. На вкладке "Голосовое общение" снять все галочки, программный телефон не работает.
8. Не работают "Настройки цвета", из-за каких-то проблем с gdi32, если их открыть программа зависает.
четверг, 18 июня 2009 г.
воскресенье, 1 марта 2009 г.
Настройка HP LaserJet P3005 в Debian GNU/Linux "lenny"
Оговорюсь сразу, настраивался принтер для удалённой печати, через CUPS. Принтер HP LaserJet P3005 подключён к рабочей станции с установленной Windows XP. Настроен и проверен в работе. Настроен общий доступ к нему, и разрешён доступ пользователю printeruser, с паролем printerpassword.
Для печати из линукс я использую CUPS (cups.org), мощная и простая в настройке система печати, поддерживающая большое количество принтеров и систем печати.
Сведения о принтерах работающих в Linux и качестве драйверов для них, можно найти здесь и на сайте CUPS.
Устанавливаем:
$ sudo aptitude cups
Не используйте в сетевых именах принтеров пробелов и проблем возникнуть недолжно.
Вообще пути тут два:
Запускаем браузер в адресной строке пишем:
http://localhost:631/
На вкладке Administration, в разделе Printers, нажимаем кнопку "Add Printer".
В разделе "Add New Printer" заполняем данные принтера.
В разделе Device выбирайте "LPD/LPR Host or Printer".
В разделе Device URI, в текстовое поле пишите адрес принтера "lpd://hostname/printername".
hostname - имя или ip-адрес компьютера к которому подключён принтер;
printername - сетевое имя принтера.
В разделе "Make/Manufacturer" выбираем фирму - производителя принтера.
В разделе Model/Driver, в окне Model выбираем пункт "HP LaserJet Series PCL 6 CUPS (en)", нажимаем "Add Printer".
При необходимости изменяем параметры принтера, нажимаем "Set Printer Options".
После небольшой задержки происходит переход на страницу с принтером. Оттуда можно послать на печать тестовую страницу, нажав "Print Test Page".
Настройка печати через CUPS с использованием SMB не сложнее, хотя и имеет свои особенности. Для этого способа не нужно устанавливать дополнительные службы в Windows, что может быть важным если есть доступ только к печати.
Для использования этого способа необходимо установить smbclient:
$ sudo aptitude smbclient
Запускаем браузер в адресной строке пишем:
http://localhost:631/
На вкладке Administration, в разделе Printers, нажимаем кнопку "Add Printer".
В разделе "Add New Printer" заполняем данные принтера.
В разделе Device выбирайте "Windows Printer via SAMBA".
В разделе Device URI, в текстовое поле пишите адрес принтера "smb://printeruser:printerpassword@domenname/hostname/printername".
printeruser - имя пользователя для которого разрешён доступ к принтеру;
printerpassword - пароль пользователя для которого разрешён доступ к принтеру;
domenname - домен к которому принадлежит пользователь, если нет @domenname можно опустить.
hostname - имя или ip-адрес компьютера к которому подключён принтер;
printername - сетевое имя принтера.
В разделе "Make/Manufacturer" выбираем фирму - производителя принтера.
В разделе Model/Driver, в окне Model выбираем пункт "HP LaserJet Series PCL 6 CUPS (en)", нажимаем "Add Printer".
При необходимости изменяем параметры принтера, нажимаем "Set Printer Options".
После небольшой задержки происходит переход на страницу с принтером. И посылаем на печать тестовую страницу, нажав "Print Test Page".
После этого все программы поддерживающие CUPS, а таких множество, смогут отправлять свои документы на печать.
Для печати из линукс я использую CUPS (cups.org), мощная и простая в настройке система печати, поддерживающая большое количество принтеров и систем печати.
Сведения о принтерах работающих в Linux и качестве драйверов для них, можно найти здесь и на сайте CUPS.
Устанавливаем:
$ sudo aptitude cups
Не используйте в сетевых именах принтеров пробелов и проблем возникнуть недолжно.
Вообще пути тут два:
- Использование LPD
- Использование SMB (Samba)
Запускаем браузер в адресной строке пишем:
http://localhost:631/
На вкладке Administration, в разделе Printers, нажимаем кнопку "Add Printer".
В разделе "Add New Printer" заполняем данные принтера.
В разделе Device выбирайте "LPD/LPR Host or Printer".
В разделе Device URI, в текстовое поле пишите адрес принтера "lpd://hostname/printername".
hostname - имя или ip-адрес компьютера к которому подключён принтер;
printername - сетевое имя принтера.
В разделе "Make/Manufacturer" выбираем фирму - производителя принтера.
В разделе Model/Driver, в окне Model выбираем пункт "HP LaserJet Series PCL 6 CUPS (en)", нажимаем "Add Printer".
При необходимости изменяем параметры принтера, нажимаем "Set Printer Options".
После небольшой задержки происходит переход на страницу с принтером. Оттуда можно послать на печать тестовую страницу, нажав "Print Test Page".
Настройка печати через CUPS с использованием SMB не сложнее, хотя и имеет свои особенности. Для этого способа не нужно устанавливать дополнительные службы в Windows, что может быть важным если есть доступ только к печати.
Для использования этого способа необходимо установить smbclient:
$ sudo aptitude smbclient
Запускаем браузер в адресной строке пишем:
http://localhost:631/
На вкладке Administration, в разделе Printers, нажимаем кнопку "Add Printer".
В разделе "Add New Printer" заполняем данные принтера.
В разделе Device выбирайте "Windows Printer via SAMBA".
В разделе Device URI, в текстовое поле пишите адрес принтера "smb://printeruser:printerpassword@domenname/hostname/printername".
printeruser - имя пользователя для которого разрешён доступ к принтеру;
printerpassword - пароль пользователя для которого разрешён доступ к принтеру;
domenname - домен к которому принадлежит пользователь, если нет @domenname можно опустить.
hostname - имя или ip-адрес компьютера к которому подключён принтер;
printername - сетевое имя принтера.
В разделе "Make/Manufacturer" выбираем фирму - производителя принтера.
В разделе Model/Driver, в окне Model выбираем пункт "HP LaserJet Series PCL 6 CUPS (en)", нажимаем "Add Printer".
При необходимости изменяем параметры принтера, нажимаем "Set Printer Options".
После небольшой задержки происходит переход на страницу с принтером. И посылаем на печать тестовую страницу, нажав "Print Test Page".
После этого все программы поддерживающие CUPS, а таких множество, смогут отправлять свои документы на печать.
четверг, 29 января 2009 г.
Восстановление BIOS на ASUS A8N-E c помощью хотсвапа на ASUS P5LD2
Просматривая новости на linux.org.ru, обратил внимание на такую - http://www.linux.org.ru/view-message.jsp?msgid=3437489&lastmod=1233042479332.
Почитав сайт решился перепрошить биос на своей мат. плате. Результат оказался довольно плачевным. После перезагрузки компьютер отказался загружаться, проявляя признаки жизни лишь вращением вентиляторов и подмигиванием светодиодов дисков.
Работоспособность платы в общем, не вызывала сомнений.
Делать нечего надо восстанавливать систему, для чего следовало восстановить прошивку биос. Выходов было несколько:
1. Попытаться воспользоваться штатной системой восстановления биос от ASUS - фиаско, полное.
2. Взять программатор и залить прошивку - идея на 5 с плюсом, только программатора я не нашёл.
3. Покупка аналогичной материнской платы - найти оказалось невозможным, 939 сокет на котором она построена, слишком сильно устарел.
4. Хотсвап, перепрошивка биос путём передёргивания микросхем.
В начале пути, лично я, склонялся к третьему пункту. Из плюсов была лишь потенциальная возможность получить рабочую материнскую плату, да и то если бы я решился на хотсвап на новой. А так же доля риска значительно уменьшалась.
Кто не рискует, тот не зарабатывает опыт. Платы под 939 сокет я не нашёл, а компьютер в рабочем состоянии был нужен. Поскольку сведений, о чём бы то ни было в отношении восстановления биос, было маловато, начал с поиска информации по теме. Гугль (www.google.ru) оказался как всегда на высоте!
Нагрузившись информацией о программаторах, хочется отметить проекты www.willem.org и http://www.ezoflash.com/ezoflash_ru.htm, понял, что и этот вариант малопригоден. С паяльником у меня беда, да и покупка готового программатора, выльется в деньги и время.
Наиболее приемлемым остался лишь вариант с хотсвапом. И более всего меня склонила к нему эта статья - http://www.rom.by/Iskusstvo_pereshivki_BIOS.
Изыскав все возможности и подведя итог, имеем:
Материнская плата с убитым биос.
- Производитель и модель - ASUS A8N-E.
- микросхема биос - SST 49LF004B.
Рабочая материнская плата.
- Производитель и модель - ASUS P5LD2.
- микросхема биос - Winbond W39V040FAP.
На форуме сайта www.rom.by мной был задан вопрос о возможности использования P5LD2 для восстановления биос A8N-E. Быстро и доброжелательно пользователи этого форума ответили на мой вопрос. Было выяснено, что материнские платы используют микросхемы биос совместимые аппаратно, но не совместимые по протоколу общения с материнской платой. Так же микросхема биос от A8N-E (SST 49LF004B) является гибридной и может использоваться и прошиваться на обоих протоколах. Остались небольшие вопросы по поводу использования прошивальщика, но тем не менее я решил рискнуть.
Перепрошивку биос я производил из-под DOS, загрузочная дискета была создана средствами Windows XP. На неё были помещены: прошивальщики - awdflash (взят с официального сайта ASUS), afudos (взят с официального сайта ASUS), uniflash (брать здесь) и прошивка для A8N-E (версия 1013).
Процесс хотсвапа, касающийся его ниточной части описывать не буду. В Сети можно найти достаточно разжёванно.
После загрузки с дискеты на P5LD2 и передёргивания биос, первым был опробован awdflash. Запуск производился со следующими параметрами:
awdflash имя_прошивки /cd/cp/py/sn/f/r
Прошивальщик запустился, предложил подождать и всё. Признаков жизни не проявлял. После 10 минут ожидания компьютер был выключен. Проверка на A8N-E показала отрицательный результат.
Опять в ход пошла ниточная часть, затем был запущен afudos, с параметрами:
afudos /i<имя_прошивки> /n /pb
Параметр /n не помог, проверка IDROM выполнялась и процесс прошивки не начинался.
Ниточная часть не понадобилась, так как afudos самостоятельно корректно завершился.
Запуск uniflash. Программа показала себя с наилучшей стороны! Корректно определила производителя и тип микросхемы (SST 49LF004B), безропотно прошила её предложенным биосом и выполнила проверку.
Выйдя из uniflash, отключил компьютер и менее чем через час A8N-E заработала!
Почитав сайт решился перепрошить биос на своей мат. плате. Результат оказался довольно плачевным. После перезагрузки компьютер отказался загружаться, проявляя признаки жизни лишь вращением вентиляторов и подмигиванием светодиодов дисков.
Работоспособность платы в общем, не вызывала сомнений.
Делать нечего надо восстанавливать систему, для чего следовало восстановить прошивку биос. Выходов было несколько:
1. Попытаться воспользоваться штатной системой восстановления биос от ASUS - фиаско, полное.
2. Взять программатор и залить прошивку - идея на 5 с плюсом, только программатора я не нашёл.
3. Покупка аналогичной материнской платы - найти оказалось невозможным, 939 сокет на котором она построена, слишком сильно устарел.
4. Хотсвап, перепрошивка биос путём передёргивания микросхем.
В начале пути, лично я, склонялся к третьему пункту. Из плюсов была лишь потенциальная возможность получить рабочую материнскую плату, да и то если бы я решился на хотсвап на новой. А так же доля риска значительно уменьшалась.
Кто не рискует, тот не зарабатывает опыт. Платы под 939 сокет я не нашёл, а компьютер в рабочем состоянии был нужен. Поскольку сведений, о чём бы то ни было в отношении восстановления биос, было маловато, начал с поиска информации по теме. Гугль (www.google.ru) оказался как всегда на высоте!
Нагрузившись информацией о программаторах, хочется отметить проекты www.willem.org и http://www.ezoflash.com/ezoflash_ru.htm, понял, что и этот вариант малопригоден. С паяльником у меня беда, да и покупка готового программатора, выльется в деньги и время.
Наиболее приемлемым остался лишь вариант с хотсвапом. И более всего меня склонила к нему эта статья - http://www.rom.by/Iskusstvo_pereshivki_BIOS.
Изыскав все возможности и подведя итог, имеем:
Материнская плата с убитым биос.
- Производитель и модель - ASUS A8N-E.
- микросхема биос - SST 49LF004B.
Рабочая материнская плата.
- Производитель и модель - ASUS P5LD2.
- микросхема биос - Winbond W39V040FAP.
На форуме сайта www.rom.by мной был задан вопрос о возможности использования P5LD2 для восстановления биос A8N-E. Быстро и доброжелательно пользователи этого форума ответили на мой вопрос. Было выяснено, что материнские платы используют микросхемы биос совместимые аппаратно, но не совместимые по протоколу общения с материнской платой. Так же микросхема биос от A8N-E (SST 49LF004B) является гибридной и может использоваться и прошиваться на обоих протоколах. Остались небольшие вопросы по поводу использования прошивальщика, но тем не менее я решил рискнуть.
Перепрошивку биос я производил из-под DOS, загрузочная дискета была создана средствами Windows XP. На неё были помещены: прошивальщики - awdflash (взят с официального сайта ASUS), afudos (взят с официального сайта ASUS), uniflash (брать здесь) и прошивка для A8N-E (версия 1013).
Процесс хотсвапа, касающийся его ниточной части описывать не буду. В Сети можно найти достаточно разжёванно.
После загрузки с дискеты на P5LD2 и передёргивания биос, первым был опробован awdflash. Запуск производился со следующими параметрами:
awdflash имя_прошивки /cd/cp/py/sn/f/r
Прошивальщик запустился, предложил подождать и всё. Признаков жизни не проявлял. После 10 минут ожидания компьютер был выключен. Проверка на A8N-E показала отрицательный результат.
Опять в ход пошла ниточная часть, затем был запущен afudos, с параметрами:
afudos /i<имя_прошивки> /n /pb
Параметр /n не помог, проверка IDROM выполнялась и процесс прошивки не начинался.
Ниточная часть не понадобилась, так как afudos самостоятельно корректно завершился.
Запуск uniflash. Программа показала себя с наилучшей стороны! Корректно определила производителя и тип микросхемы (SST 49LF004B), безропотно прошила её предложенным биосом и выполнила проверку.
Выйдя из uniflash, отключил компьютер и менее чем через час A8N-E заработала!
Подписаться на:
Сообщения (Atom)