Установил с USB, который создал утилитой, идущей в комплекте. То есть сначала установил на дескотоп, посмотрел-повертел, остался доволен. Потом создал флешку, и - Ubuntu 9.04 встала на мой нетбук как влитая, все заработало из коробки, никаких бубнов не потребовалось. Только кардридер не захотел карту читать, пока я не загрузил машинку с воткнутой картой памяти. И жаль, что раздел home у меня был не на отдельном диске, пришлось бэкапить и потом восстанавливать. Теперь-то я сделал по умному. Пара моментов, которым я удивился:
1) Не работает Ctrl-Alt-Backspace, разработчики отключили это сочетание клавиш, непонятно почему. Вернуть, думаю, труда не составит. Забиндить на эти клавиши команду, к примеру "/etc/init.d/gdm restart".
2) При установке на десктоп был предложен вариант автологина первого пользователя, т.е. при включении гном грузится сразу автоматически под юзером. Когда я устанавливал с флешки - такого варианта мне не предложили. Странно, а хотелось бы.
Из прочитанных мной отзывов стало ясно, что если обновлять систему с предыдущих версий - лезут глюки, а если ставить начисто - то работает лучше и быстрее чем 8.10. Что, впрочем, и верно.
P.S. Также по умолчанию стоит Python 2.6, а не 2.5, что тоже порадовало.
2009-04-29
2009-03-25
IIS и Python
Чтобы подружить IIS (у меня 5 версия, но думаю, и на поздних всё также) и Python, и заставить файлы с расширением .py обрабатываться интерпретатором, нужно:
1) Если еще не создали, то создать виртуальный каталог, например test
2) Открыть свойства виртуального каталога и перейти во вкладку "Виртуальный каталог".
3) В пункте "Разрешен запуск" должен быть разрешен запуск сценариев.
4) Правее этого пункта жмем на кнопку "Настройка". Там нажимаем "Добавить".
5) В графе "Исполняемый файл" должно быть примерно так:
"C:\Python26\python.exe" -u "%s"
6) Расширение установим как .py
7) Пусть галочки "Обработчик сценариев" и "Проверка наличия файла" будут включены.
8) Теперь осталось только нажать ОК.
Не забудьте, что питоновый файл должен начинаться с того, что указывается правильный заголовок. Примерно так:
[ файл python.py ]
# -*- coding: utf-8 -*-
print 'Status: 200 OK'
print 'Content-type: text/html; charset=utf-8;'
print
print """
Работает!
"""
Теперь, если в адресной строке браузера набрать http://localhost/test/python.py то мы увидим слово "Работает!".
1) Если еще не создали, то создать виртуальный каталог, например test
2) Открыть свойства виртуального каталога и перейти во вкладку "Виртуальный каталог".
3) В пункте "Разрешен запуск" должен быть разрешен запуск сценариев.
4) Правее этого пункта жмем на кнопку "Настройка". Там нажимаем "Добавить".
5) В графе "Исполняемый файл" должно быть примерно так:
"C:\Python26\python.exe" -u "%s"
6) Расширение установим как .py
7) Пусть галочки "Обработчик сценариев" и "Проверка наличия файла" будут включены.
8) Теперь осталось только нажать ОК.
Не забудьте, что питоновый файл должен начинаться с того, что указывается правильный заголовок. Примерно так:
[ файл python.py ]
# -*- coding: utf-8 -*-
print 'Status: 200 OK'
print 'Content-type: text/html; charset=utf-8;'
print """
Работает!
"""
Теперь, если в адресной строке браузера набрать http://localhost/test/python.py то мы увидим слово "Работает!".
2009-03-24
Полезности
В этой статье я буду собирать всякого рода полезности при работе в консоли, которые мне будут попадаться на глаза. Если захочется сказать "А, я знаю откуда ты это взял!" - не надо. Конечно же не сам придумал.
Вход более одного пользователя в систему с графическим интерфейсом
Для начала переходим в другую консоль, чем стандартная седьмая: Ctrl-Alt-F(1-6). Водим логин и пароль. Теперь мы вошли как второй пользователь в системе. Переходить в другие консоли можно c помощью сочетания клавиш Alt-F(1-7) Чтобы получить графическую оболочку, введем команду:
startx -- :1
Дефрагментация базы данных MySQL
В ходе изменений в структуре БД и информации в ней происходит фрагментирование данных. Дефрагментация выполняется командой:
mysqlcheck -o имя_базы_данных -u пользователь_бд -p пароль_бд
И вообще man mysqlcheck расскажет еще много интересного.
Поиск в мануалах
Иногда знаешь что надо найти, но не знаешь, где искать. Команда man позволяет воплотиться такой дикой мечте:
man -k ключевое_слово
Ну и стандартный метод поиска в открытом мануале - используем клавишу / и сразу за ней - искомое слово, Enter. Чтобы найти следующее вхождение этого-же слова, жмем клавишу n.
Узнать, какой процесс использует примонтированный носитель
lsof +D /media/имя_устройства
Закрыть все приложения, использующие примонтированный носитель
fuser -km /media/имя_устройства
Массовое конвертирование кодировки текста
Скорее всего, вам известно, как весело в Windows переводить текстовые файлы из одной кодировки в другую. Открыл в редакторе, сохранить как, повторять до изнеможения.
Linux открыл для меня прелесть утилиты enca. Поэтому
sudo apt-get enca
После этого текст в ненашей (не utf-8) кодировке приводится в норму так:
enconv *.txt
Массовая замена текста в файлах
Заменить один текст на другой в файлах указанного каталога (включая подкаталоги):
find . -name '*.txt' -print0 | xargs -0 sed -i -e 's/это_заменить/на_это/g'
Многое взято отсюда.
Вход более одного пользователя в систему с графическим интерфейсом
Для начала переходим в другую консоль, чем стандартная седьмая: Ctrl-Alt-F(1-6). Водим логин и пароль. Теперь мы вошли как второй пользователь в системе. Переходить в другие консоли можно c помощью сочетания клавиш Alt-F(1-7) Чтобы получить графическую оболочку, введем команду:
startx -- :1
Дефрагментация базы данных MySQL
В ходе изменений в структуре БД и информации в ней происходит фрагментирование данных. Дефрагментация выполняется командой:
mysqlcheck -o имя_базы_данных -u пользователь_бд -p пароль_бд
И вообще man mysqlcheck расскажет еще много интересного.
Поиск в мануалах
Иногда знаешь что надо найти, но не знаешь, где искать. Команда man позволяет воплотиться такой дикой мечте:
man -k ключевое_слово
Ну и стандартный метод поиска в открытом мануале - используем клавишу / и сразу за ней - искомое слово, Enter. Чтобы найти следующее вхождение этого-же слова, жмем клавишу n.
Узнать, какой процесс использует примонтированный носитель
lsof +D /media/имя_устройства
Закрыть все приложения, использующие примонтированный носитель
fuser -km /media/имя_устройства
Массовое конвертирование кодировки текста
Скорее всего, вам известно, как весело в Windows переводить текстовые файлы из одной кодировки в другую. Открыл в редакторе, сохранить как, повторять до изнеможения.
Linux открыл для меня прелесть утилиты enca. Поэтому
sudo apt-get enca
После этого текст в ненашей (не utf-8) кодировке приводится в норму так:
enconv *.txt
Массовая замена текста в файлах
Заменить один текст на другой в файлах указанного каталога (включая подкаталоги):
find . -name '*.txt' -print0 | xargs -0 sed -i -e 's/это_заменить/на_это/g'
Многое взято отсюда.
2009-03-17
Python и удаленный Microsoft SQL Server 2005
Для работы из Python с удаленным сервером MSSQL 2005 понадобится провести некоторую подготовку на обоих концах этого тандема.
На стороне сервера баз данных делаем так:
Пуск - Все программы - Microsoft SQL Server 2005 - Средства настройки - Настройка контактной зоны SQL Server. Далее внизу ссылка "Настройка контактной зоны для служб и соединений". В левой панели в первой вкладке видим такие параметры, как "Database Engine", а в нем "Служба" (ставим "Тип запуска" = "Авто" и "Состояние службы" = "Запущена") и "Удаленные соединения" (ставим "Локальные и удаленные соединения").
Ниже Database Engine есть параметр "SQL Server Browser" - "Служба" (ставим тип запуска - "Авто" и состояние службы - "Запущена").
При запуске "Среды SQL Server Management Studio Express", в окошке "Соединение с сервером" будет поле "Имя сервера". Оно выглядит как ИМЯ_КОМПЬЮТЕРА\ИМЯ_СЕРВЕРА_БД. Запомним эти данные, они пригодятся.
На стороне нашего компьютера с Ubuntu:
sudo apt-get install python-pymssql
Вот и всё. Теперь краткий пример работы с БД:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Импортируем библиотеку для работы с MSSQL
import pymssql
# Соединение с БД. Если вы не в том-же домене, что и сервер БД, то вместо
# ИМЯ_КОМПЬЮТЕРА впишите его IP.
con = pymssql.connect(host='ИМЯ_КОМПЬЮТЕРА\ИМЯ_СЕРВЕРА_БД', user='ПОЛЬЗОВАТЕЛЬ_БД', password='ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_БД', database='ИМЯ_БД')
# Создаем курсор для работы с соединением
cur = con.cursor()
# Выполняем запрос
cur.execute("SELECT somefield FROM dbo.sometable;")
# Прокручиваем все записи из запроса
for i in cur.fetchall():
# Данные в БД в кодировке cp1251, поэтому сначала переводим их в юникод
i=unicode(i[0],'windows-1251')
# А затем напечатаем их в utf-8 кодировке
print "%s" % i.encode('utf-8')
# Подтверждаем транзакцию и закрываем соединение
con.commit()
con.close()
По сравнению с тем, как организовать такое соединение из php (через odbc, используя freetds) - просто праздник какой-то!
На стороне сервера баз данных делаем так:
Пуск - Все программы - Microsoft SQL Server 2005 - Средства настройки - Настройка контактной зоны SQL Server. Далее внизу ссылка "Настройка контактной зоны для служб и соединений". В левой панели в первой вкладке видим такие параметры, как "Database Engine", а в нем "Служба" (ставим "Тип запуска" = "Авто" и "Состояние службы" = "Запущена") и "Удаленные соединения" (ставим "Локальные и удаленные соединения").
Ниже Database Engine есть параметр "SQL Server Browser" - "Служба" (ставим тип запуска - "Авто" и состояние службы - "Запущена").
При запуске "Среды SQL Server Management Studio Express", в окошке "Соединение с сервером" будет поле "Имя сервера". Оно выглядит как ИМЯ_КОМПЬЮТЕРА\ИМЯ_СЕРВЕРА_БД. Запомним эти данные, они пригодятся.
На стороне нашего компьютера с Ubuntu:
sudo apt-get install python-pymssql
Вот и всё. Теперь краткий пример работы с БД:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Импортируем библиотеку для работы с MSSQL
import pymssql
# Соединение с БД. Если вы не в том-же домене, что и сервер БД, то вместо
# ИМЯ_КОМПЬЮТЕРА впишите его IP.
con = pymssql.connect(host='ИМЯ_КОМПЬЮТЕРА\ИМЯ_СЕРВЕРА_БД', user='ПОЛЬЗОВАТЕЛЬ_БД', password='ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_БД', database='ИМЯ_БД')
# Создаем курсор для работы с соединением
cur = con.cursor()
# Выполняем запрос
cur.execute("SELECT somefield FROM dbo.sometable;")
# Прокручиваем все записи из запроса
for i in cur.fetchall():
# Данные в БД в кодировке cp1251, поэтому сначала переводим их в юникод
i=unicode(i[0],'windows-1251')
# А затем напечатаем их в utf-8 кодировке
print "%s" % i.encode('utf-8')
# Подтверждаем транзакцию и закрываем соединение
con.commit()
con.close()
По сравнению с тем, как организовать такое соединение из php (через odbc, используя freetds) - просто праздник какой-то!
2009-03-03
Рисуем почтовую марку в GIMP

Заметка, скорее всего, только для себя. Потребовалось для стенгазеты на 8 марта нарисовать большую марку с фотографией весны на ней. Что делаем:
1) Доводим саму картинку до нужной кондиции (размер, цвета, яркость и т.п.).
2) Идем в меню Изображение - Размер холста и увеличиваем его процентов на 10-15, после чего жмем на кнопку "Центр", чтобы наша картинка получилось как бы в белой неширокой рамке.
3) Потом берем инструмент "Ластик", обычный круглый, и примеряем его к краю, чтобы половинка ластика задала как-бы половину ответстия линии отрыва марки (надеюсь вы понимаете, о чем я).
4) После этого чуть ниже палитры кистей находим параметр "Интервал" и увеличиваем его, скажем, до 150, чтобы линия, рисуемая ластиком, была не сплошная, а пунктирная.
5) Ставим край ластика на белую рамку вокруг рисунка, где начнется линия отрыва марки, делаем первый клик. Потом, нажав Shift поставим конечную точку. И так 4 раза по краям нашей марки.
В завершении, можно добавить легкую тень вокруг марки, чтобы добавить объема (Фильтры - Свет и тень - Отбрасываемая тень). Смещение по X и Y пусть будет нулевым. Поэкспериментируйте!
Подписаться на:
Сообщения (Atom)