пятница, 8 февраля 2013 г.

нужен ли gksu

sudo права нужны достаточно часто, особенно если говорить об установке пакетов. К сожалению, sudo не будет работать из под не-консольного launcher, но нам на помощь спешит gksudo, который запросит у пользователя пароль в графическом диалоговом окне.

Получение sudo-прав

Код с реализацией одного примера, можете посмотреть в . Это пример пересборки и перезапуска gearoscope демона: реинсталяция двух пакетов, перенос файла настроек, рестрат процессов с помощью supervisor-а. Но детали работы с окружением в этом коде, естественно, ценней основного процесса.

# As you can see, this line is more clear than sys.exit(1)

# Command.ERROR is created to avoid any "magic" contants in code

print 'You should provide command name as first argument'

# Command found and can be running...

cmd = getattr(Command, sys.argv[1])

При этом вся "магия" выбора обработчика ложится на следующие строки из gist-а (упрощенно):

Keyboard Shortcuts задаем в виде shortcut <command>

В /usr/bin/ делаем symlink /usr/bin/shortcut и даем права на исполнение

В home directory (или где вам удобно) создаем shortcut.py скрипт, куда будет добавлять по мере необходимости новые обработчики

Общая логика действий такова:

Далее я буду описывать некоторые особенности написания скриптов, которые будут а) нормально, б) удобно работать из под этого launcher-а. Чтобы было проще, сразу даю ссылку на gist с python-решением задачи, описанной во вступление (пересборка и перезапуск gearoscope application) - с готовым кодом на руках мне будет легче рассказывать, а вам легче следить за логикой и тонкостям.

Custom Keyboard Shortcut - это возможность биндить свои сочетания клавиш на выполнение указанных скриптов. Добраться к этим настройкам не сложно: Applications > Keyboard Shortcuts.

Что такое custom shortcut

Intro. Рассказывать буду про Ubuntu, при включенной фантазии легко переносится на другие дистрибутивы.

В программистской работе всегда есть куча действий, которые мы с завидным постоянством повторяем каждый день. Например, для обновления работающей версии Gearoscope-приложений мне нужно пересобрать gearoscope package + пересобрать sonar package + обновить конфигурацию + перезапустить два демон-процесса. Достаточно много телодвижений, и в процессе работы приходится их повторять частенько. Чтобы упростить себе жизнь я пользуюсь возможностью bind-ить на клавиатуру собственные скрипты (custom keyboard shortcut). Хочу поделится некоторыми деталями реализации подобных удовольствий.

Особенности и примеры скриптов для Custom Keyboard Shortcuts

Особенности и примеры скриптов для Custom Keyboard Shortcuts / CODE MEHANIKA

Комментариев нет:

Отправить комментарий