среда, 15 июня 2011 г.

Как подружить «Ailurus» c «Катей»

     Недавнюю статью, посвящённую уже решённой проблеме со списком источников в «Ubuntu Tweak», я завершил, упомянув о том, что этот твикер, оказывается, имеет конкурента, носящего имя «Ailurus». Также было сказано и о том, что после установки нового приложения мне пришлось столкнуться с новой проблемой, которую, впрочем, удалось решить. Давайте же продолжим начатый разговор.
     Итак, обрадованный приятным известием о наличии альтернативы «Ubuntu Tweak», я тут же решил установить «Ailurus» на мою «Катю». Запустил «Менеджер программ» — и тут же обнаружил, что «Ailurus» там действительно присутствует, а потому процесс установки прошёл без сучка без задоринки. Правда... вот незадача, программа так и не захотела запускаться.
   Немного опечалившись, я принялся исследовать причины такой вопиющей несправедливости и вскоре увидел, что это приложение попросту на данный момент не имеет версии под «Ubuntu Natty», на которой и основан «Linux Mint 11». В разочаровании вновь запустив «Менеджер программ» на сей раз уже для удаления «ненужного хлама», на всякий случай я всё же сделал ещё несколько запросов в поисковике, и — о, чудо! — решение было найдено.
     На сайте сообщества «Linux Mint» появилось отличное решение этой проблемы от пользователя kazztan0325, вольный перевод которого я и позволю себе привести ко всеобщему вниманию посетителей этого сайта.
   Итак, вот пошаговая инструкция — решение вопроса, как запустить «Ailurus», установленный, но пока не желающий работать на Вашей «Кате»:
1. Установив «Ailurus» (важно!), откройте «Терминал» и скопируйте туда следующую строку:

sudo gedit /usr/share/pyshared/ailurus/lib.py

2. Нажмите «enter» Введите пароль по запросу «Терминала» и вновь нажмите «enter».
3. Результатом выполнения скопированной Вами команды станет открытие служебного текстового файла «lib.py» в программе «Gedit».
4. В меню «Поиск» нажмите «Найти» или воспользуйтесь сочетанием клавиш «Ctrl+F», — и в появившемся поисковом окошке введите «maverick» (без кавычек). В этом же окошке нажмите кнопку «Найти».
5. Слово 'maverick' встретится в тексте файла «lib.py» дважды —

вначале здесь:
@classmethod
def get_all_Ubuntu_versions(cls):
return ['hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', 'maverick']

затем — здесь:
elif MINT:
DISTRIBUTION = 'ubuntu'
UBUNTU_DERIV = True
VERSION = Config.get_Mint_version() # VERSION is in ['5', '6', '7', '8', '9', '10']
VERSION = ['hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', 'maverick'][int(VERSION)-5]

     Мы искали слово «maverick» по той простой причине, что это — название предпоследней версии «Ubuntu», которое внесено в служебный файл «Ailurus». А вот названия свежей версии «natty» в этом файле нет. Вот и причина, почему программа не запускается — ей не разрешает это сделать открытый нами служебный файл «lib.py», который попросту не знаком с новейшей версией «Ubuntu». Наша задача — «познакомить» «Ailurus» с «Natty». Приступим же к этому процессу:

6. Сразу после найденного слова 'maverick' в указанном выше первом фрагменте кода, через запятую вписываем 'natty' в одинарных (важно!) кавычках, сохранив, разумеется, закрывающую квадратную скобку. После чего исправленный фрагмент кода примет следующий вид:

@classmethod
def get_all_Ubuntu_versions(cls):
return ['hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', 'maverick', 'natty']

7. В следующем фрагменте программного кода файла «lib.py» делаем два изменения: вначале после цифры '10' через запятую вписываем '11', которая означает номер новой версии «Ubuntu Natty». Затем, так же, как и в рассмотренном выше случае, после слова 'maverick' и перед квадратной скобкой через запятую вписываем 'natty':

VERSION = Config.get_Mint_version() # VERSION is in ['5', '6', '7', '8', '9', '10', '11']
VERSION = ['hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', 'maverick', 'natty'][int(VERSION)-5]

8. Теперь осталось сохранить внесённые изменения и закрыть оба окна: как «Gedit», так и «Terminal».
     Вот и всё! Теперь смело запускайте «Ailurus». Вначале перед Вами предстанет предупреждение, смысл которого сводится к Вашему согласию нести личную ответственность за установку посредством приложения программного обеспечения с ограниченными правами. После Вашего согласия путём нажатия соответствующей кнопки откроется основное окно программы примерно такого вида:

3 комментария:

Unknown комментирует...

возможно ли этот способ применить к linuxmint 12?

Unknown комментирует...

Поскольку с «Лизой» у меня были некоторые «трения», решил подождать следующего выпуска, надеюсь, на основе «Mate». Единственное, что могу предложить в данной ситуации — «попробовать» (сам не испытывал и ничего гарантировать не могу) следующее:
1. Для пункта 6 этой статьи:
@classmethod
def get_all_Ubuntu_versions(cls):
return ['hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', 'maverick', 'natty', 'oneiric']
2. Для пункта 7:
VERSION = Config.get_Mint_version() # VERSION is in ['5', '6', '7', '8', '9', '10', '11', '12']
VERSION = ['hardy', 'intrepid', 'jaunty', 'karmic', 'lucid', 'maverick', 'natty', 'oneiric'][int(VERSION)-5]
Кажется, это должно решить проблему.

Анонимный комментирует...

Большое спасибо. Работает и в Ubuntu 12.04.