logo

muhas.ru — это просто блог…

О linux, о используемых или просто понравившихся инструментах, вобщем обо всем что окружает мою аскетичную компьютерную жизнь и показалось достойным упоминания или заметки «на память»

Systemd в ArchLinux

В extra уже присутствует systemd, более того от libsystemd уже зависят pulseaudio и часть гнома (gnome-session, gnome-control-center, etc)
Если вы замечали что флешка или что-нить другое при автомонтировании подмонтировалось в /run/media/ololo и ничего ужасного не произошло то, поздравляю — вероятно systemd вам уже не страшен, ибо его часть уже установлена системе (не так страшен чёрт, как его малюют на ЛОРе)

Если ставить systemd полностью то, для непритязательных арчеводов, процесс смены практически не заметен. Несмотря на то что systemd не читает /etc/inittab, стандартные его настройки соответствуют стандартным из inittab, да и большинство параметров rc.conf читаются systemd (хотя его настройки имеют приоритет). Так же имеется пакет initscripts-systemd чтобы эмулировать скрипты инициализации Arch'а.
В общем в арчевики уже имеется достаточно объемная страничка по systemd с инструкцией по установке, описанием настройки-использования, интеграции с уже привычными инитскриптами и прочее, и прочее.

Так что, желающие уже сейчас могут относительно легко попробовать творение Леннарта Поттеринга в своем уютном арчике, на котором systemd в скором времени может заменить старый добрый initscripts…

wifi-select — рулим беспроводными подключениями в ArchLinux

пример работы wifi-selectwifi-select — полезная консольная утилита для выбора и подключения к беспроводным сетям «на лету», что-то вроде wicd или networkmanager, но только для wifi.
Несомненный плюс(хотя может для кого-то и минус) wifi-select в том что он использует «штатный» для ArchLinux netcfg, и помимо этого не висит демоном как это делают wicd или nm (и netcfg тоже не висит, он лишь единожды запускается для применения настроек профиля). Работает wifi-select до ужаса просто (да и сам он всего лишь скрипт на bash с использованием dialog) — смотрит список сетей через iwlist и выдает их для выбора, выбрали нужную сеть и если требуется ввели пароль. Всё!
Профиль сохранен и подкючается через netcfg profilename, если подключился, то профиль уже сохранен для дальнейшего использования, если нет то предлагается похерить профиль или оставить его дабы мы смогли поменять ip или добавить каких-нить чудо-настроек в него…

Запускать, к сожалению, надо с правами суперпользователя, ибо и профиль надо писать туда где у пользователя прав не хватит и сам netcfg от пользователя не запуститься, но sudo ещё никто не отменял…

Уже существующие профили можно подключать чем душа пожелает, можно с помощью dmenu (чем я с радостью и пользуюсь) или того же wifi-select(правда он покажет только wifi), netcfggui или других. Хотя в итоге все такие управлялки запускают netcfg profilename

netcfg — настройка и управление профилями сетевых подключений (проводные, беспроводные, коммутируемые, vpn, bonding, etc)
Пакет wifi-select имеется в community, в AUR есть его версия из git

UPDATE: Сегодня (13 мая) в core пришел netcfg 2.8.2 (до этого была ветка 2.6), в котором ещё с версии 2.7 появилось wifi-menu работающее почти аналогично сабжу. Так же появилась поддержка PPPoE.
Не забудьте перенести конфиг сети из /etc/rc.conf в /etc/conf.d/netcfg
Полный ченджлог тут, а тут более коротко, но вполне доходчиво.

Управление курсором мыши с клавиатуры

Логотип ratpoison как бы намекает Без всяких лирических отступления — ключевое слово xdotool.
xdotool умеет многое, но сейчас нас интересует её возможность нажатия кнопок мыши или изменения положения курсора:
  • xdotool mousemove 50 100 — переместит курсор на точку с координатами 50.100
  • xdotool mousemove_relative 10 0 — переместит курсор на 10 вправо
  • xdotool click 1 — нажмет левую кнопку мыши
Ну и так далее, опций достаточно много — начиная от передвижения и заканчивая отпусканием кнопки мыши (а помимо работы с мышью есть ещё много чего что умеет xdotool)

Посему если есть желание управлять мышью, то просто вешаем на хоткеи на желаемые манипуляции с мышью.
К примеру, мне хватает малого, и в конфиге xchainkeys (а это для меня поудобнее чем xbindkeys) имеются строки
W-p Up :group xdotool mousemove_relative -- 0 -15
W-p Down :group xdotool mousemove_relative 0 15
W-p Right :group xdotool mousemove_relative 15 0
W-p Left :group xdotool mousemove_relative -- -15 0
W-p Return :group xdotool click 1

После нажания Win+p стрелками можно управлять курсором, а клавиша Enter будет равносильна нажатию левой кнопки мыши.

И всё это независимо от wm…

PS. В некоторых DE управление курсором мыши с нампада это штатная функция (ищите да обрящите)

Wizardry 8 в linux через wine

Wizardry 8 — в wine пол linuxДля работы Wizardry 8 помимо wine нам необходимы библиотеки msvcp60 и mfc42 (winetricks mfc42 vcrun6, хотя вроде как вторая ставит первую).
Всё остальное уже работает, но работает только при использовании OpenGL… Посему запускаем wine 3DSetup.exe и выбираем opengl, для звука же нам подойдет DirectSound3D Software Emulation.
Пример настройки
Так же нужно выбрать разрешение — при некоторых не запускается, но опытным путем угадать что нужно можно (в идеале лучше запускать в окне — выбрать эмуляцию виртуального рабочего стола в winecfg)
Wizardry8 можно запустить только перейдя в каталог с игрой, по какой причине для меня не ведомо… wine для меня вообще темный лес…
cd path/to/wiz8; wine Wiz8.EXE

Сидим играем-задродствуем, радуемся — с модами, с патчами да с nocd wiz8 отлично работает. Но есть пару неприятных моментов:
  • На некоторых видеокартах при использовании OpenGl есть квадраты на текстурах, такая не очень приятная сетка (пример), причем проблема сия возникает и на windows. В стародавние времена для решения этой проблемы я нашел пропатченную библиотеку srDD_OpenGL.dll которой надо заменить оригинал в каталоге Dll с игрой.
  • В некоторых модах (а может и не только в модах, но я замечал тименно на них) слетает кодировка в диологах NPC — решается использованием виндовой локали…
    LC_ALL=ru_RU.CP1251 wine Wiz8.EXE

Приятной игры!

Грамотная очистка /var/cache/pacman/pkg

arch logocacheclean — это скрипт на python для отчистки /var/cache/pacman/pkg работающий по аналогии с pacman -Sc, но имеющий одну важную особенность — он позволяет указать количество сохраняемых версий пакетов и, так же как repo-clean, упомянутый в Arch FAQ & Tips, не удаляет пакеты не установленные в данный момент.
Т.е. repo-clean удаляет все файлы пакетов акромя последней версии, а cacheclean позволяет указать сколько последних версий сохранять…

pkgcacheclean — аналог cacheclean, но уже написан на сях и удаляет все неиспользуемые пакеты, грубо говоря это pacman -Sc && cacheclean 2 (2, ибо pkgcacheclean по умолчанию оставляет две последнии версии пакета, хотя количество оставляемых версий можно изменить).

Обе утилитки имеются в AUR

Ну и не забываем о опции CleanMethod = KeepCurrent в pacman.conf позволяющей
оставлять не установленные пакеты с помощью pacman -Sc