Сообщения geekless
Классификация зависимостей между пакетами
Итак, какие вообще могут возникать виды зависимостей между пакетами:
- Бинарник слинкован с другим бинарником по относительному пути (пример: libc.so.6). К этому же пункту относим зависимости от библиотек в программах на интерпретируемых языках.
- Бинарник слинкован с другим бинарником по абсолютному пути. (единственный разумный пример: /lib/ld-linux.so.2 в elf-ах)
- Одна программа вызывает другую по относительноу пути (через PATH).
- Одна программа вызывает другую по абсолютному пути. (пример: #!/bin/sh)
- Один пакет является плагином к другому. Сюда же относим случаи, когда «плагинность» неявная. Например, httpd добавляет unit для запуска через systemd — такой unit является плагином относительно systemd.
- Программа использует некие стандартные ресурсные файлы (например, базу mime-типов или стандартную тему иконок hicolor).
Других видов зависимостей я не могу придумать. Я что-нибудь упустил?
Помощь с отладкой апплета
Владельцы ноутов, а накидайте мне содержимого каталога /sys/class/power_supply. А то мне надо апплет индикатора заряда батареи отлаживать, а у меня сейчас только стационарный комп без аккумулятора.
Достоверно, надежно
Оплот свободных знаний сообщает:
Оконные менеджеры, использующие GTK+
Aewm
AfterStep
Amaterus
Fluxbox
FVWM
FVWM1
IceWM
Metacity
Mutter
Sawfish
Wmg
Xfwm
Специально нашел, когда эта ересь была внесена. 14 марта 2011, с комментом «добавил список с англ вики». За более чем год никто не почесался исправить. Ну прям как баги в опенсорсе. :-D
«DEBUG: Answer unknown»
Признаю: я не осилил поставить Debian через netinst-образ. Может у меня руки не той формы? Или нужен бубен?
Эта зараза на этапе установки соединения pppoe сыплет в лог ворнингами «DEBUG: Answer unknown», после чего разрывает соединение.
Баг воспроизводится как в установщике стейбла, так и в тестинге. И это очень весело, поскольку когда у меня был установлен стейбл, в нём самом всё прекрасно работало.
В гугл ходил, да. Не помогло.
Пойду через debootstrap ставить эту чудо-систему...
Мыши — кактус
GRUB 2.x has moved to [core]. With this move support for GRUB legacy (i.e. version 0.9x) is dropped, which is now moved to AUR.
Although GRUB legacy will not be removed from your system and will stay fully functional, you should consider upgrading to GRUB version 2.x, or one of the other supported bootloaders.
Мелочь, а неприятно.
Теперь если с нуля ставить, придётся лишние телодвижения делать. Впрочем, мне не грозит, мой любимый установщик линукса — это rsync с винта на винт.
Торт
Уж не знаю, кого из них надо больше благодарить — разработчиков wine или 2gis — т.к. и то, и другое обновил одновременно, но теперь 2gis подтормаживать перестал совсем. Всё гладко, плавно, скроллится без лагов. Это просто праздник какой-то.
Собственно, единственная программа, ради которой мне нужен wine.
Такой вот dock
Пилю потихоньку. Закос одновременно под windows 7 и docky:
http://storage2.static.itmages.ru/i/12/0720/h_1342774808_7645880_b7d6859e4e.png
http://storage3.static.itmages.ru/i/12/0720/h_1342774839_7740243_8dcd39c61b.png
Превьюшки окон в панели
Нет компа в виндой поблизости. Раз уж столько виндузятников на ЛОРе, помогайте.
Как в windows 7 ведет себя панель превьюшек окон в случае, когда она не помешается целиком на экран? Уменьшает превьюшки? Скроллится?
Что будет если выключить группировку кнопок панели, открыть много-много окон одного типа и вести мышой по панели задач? Если превьюшки скролятся, будут ли они автоматически скроллиться к превьюшке текущего окна? Как это будет выглядеть?
Мейнтейнеры ROSA Linux отжигают
Итак, ROSA зарелизилась с «LXPanel на основе LXPanelX и с улучшениями ROSA».
Я, разумеется, расковырял srpm пакета в поисках оных улучшений, а таааааааам...
А там в пакете, который на честном голубом глазу называется lxpanel-0.5.9 лежат сорцы lxpanelx ревизии 369. Ребята, ну вы совесть имейте? А почему бы тогда не запакетировать dolphin и назвать его nautilus? Смысла примерно столько же будет. Напоминаю, если что: lxpanelx имеет сейчас (и в ревизии 369 тоже имела) версию 0.6.0 и является альфой. Никаких стабильных релизов у нас не было. И к релизу lxpanel 0.5.9 она имеет отношения не больше, чем dolphin к nautilus-у. Выдавать альфу одной программы за релиз другой программы — ну это полное свинство!
Зачем вы обманываете пользователей, господа?
Представляю, как человек, будучи абсолютно уверен, что поставил lxpanel 0.5.9 (ну никому же в голову не придёт, что мейнтейнеры нагло звиздят, верно?), пойдёт репортить баги в трекер LXDE. И там разработчики будут искать несуществующие ошибки. В то время как в тот трекер, куда они должны действительно попасть, эти репорты никогда не попадут.
Теперь перейдем ко второй части нашего балета — к «улучшениям ROSA», которые, видимо, настолько существенны, что удостоились отдельного упоминания в пресс-релизе. Ну я-то рассчитывал, что раз там такие массивные «улучшения», я их утащу к себе в сорцы. Раскатал губу! Эти «улучшения» включают следующее:
- Одна функция в плагине deskno для вызова конфигурялки openbox или compiz, в зависимости от запущенного WM.
- 5 иконок.
- 1 инфраструктурный скрипт, который к самой панели отношения вообще не имеет.
Это ж какой длины пресс-релизы дебиан и убунта делать должны, если про каждое такое улучшение упоминать...
Короче, это позор, йащитаю. А, да — cast RosaLab.
// P.S. Сама система у меня qemu вообще не запустилась, к слову.
Арч настенный, нанотехнологичный
Вот такая штука висит на стене у знакомых: http://cs5545.userapi.com/u4844523/127958678/z_5d29b308.jpg
Факап на факапе
Приложения для линукс — неиссякающий источник еды. Итак, дано: идея написать плагин-калькулятор на Lua для medit. Надо сказать, про Lua я не знаю ровным счётом ничего. Открываю мануалы на Lua и на API редактора, начинаю писать.
line_nr = doc.get_line_at_cursor()
cur_line_end = doc.get_pos_at_line_end(line_nr)
doc.set_cursor_pos(cur_line_end)
doc.insert_text("\n")
text = doc.get_line_text(line_nr)
f = loadstring("return (" .. text .. ")")
result = tostring(f())
doc.insert_text(result)
Проверяем:
20/4
5
21/4
5,25
Проверяем:
> os.setlocale("C")
> print(tostring(1.5))
1.5
> os.setlocale("ru_RU.UTF-8")
> print(tostring(1.5))
1,5
Копаем сорцы. Находим, что tostring работает через sprintf. sprintf использует десятичный разделитель локали. Курю man sprintf на предмет принудительного использования точки в качестве разделителя. Ничего не накуриваю.
Думаю, ладно — хрен с тобой, золотая рыбка. Подменю локаль прямо в скрипте. Пишем:
line_nr = doc.get_line_at_cursor()
cur_line_end = doc.get_pos_at_line_end(line_nr)
doc.set_cursor_pos(cur_line_end)
doc.insert_text("\n")
text = doc.get_line_text(line_nr)
f = loadstring("return (" .. text .. ")")
result = f()
old_locale = os.setlocale(nil)
os.setlocale("C")
result = tostring(result)
os.setlocale(old_locale)
doc.insert_text(result)
И-и-и-и... обламываюсь! Потому что объект os в API medit-а не входит.
Вот прям даже не знаю, куда репортить это нелепое стечение обстоятельств. Наверное всё-таки в Lua. Ибо какого черта они не дали готовой функции для локаленезависимого преобразования чисел в строки.
{зачем мне холодильник, если я не курю} «Большой выбор программ» для ОС Шi^WWindows
Задался таким вопросом: а есть какие-нибудь небольшие (доступные для написания одним программистом за вменяемый промежуток времени), но полезные программы, которые есть в Винде, но нет аналога для GNU/Linux? Вот, на пример, сайт — называется «Лучший бесплатный софт». Черт знает насчёт «лучший», но это на самом деле довольно приличная файлопомойка, в других файлопомойках, что мне попадались, набор софта еще хуже. Я вот сейчас этот список просмотриваю. Думаю: а вдруг хорошую идею для полезной программы подскажут.
Ржу над такими шедеврами программистой мысли как:
«Текстовый и HTML редактор со множеством функций. Он имеет небольшой размер, быстро работает, красиво выглядит, все его многочисленные функции удобно рассортированы по меню, все настраивается.»
«Виртуальный принтер PDF» (шо, в винде и этой возможности из коробки нет?!)
«программка, призванная мешать работе выбранных приложений. Адская машина для троллинга любителей поиграть на чужом компьютере.»
«Маленькая бесплатная программа для комфортного регулирования громкости звука без необходимости крутить ручки на колонках или наушниках» (шел 2012 год, ага)
«Бесплатная программа для редактирования ресурсов приложений, библиотек и т.д»
«Бесплатный эмулятор флоппи-дисковода для современных компьютеров, в которых отсутствуют разъёмы для подключения этого устройства...» (mount -o loop palm.img /dev/face)
«Небольшая шустрая программа для определения размера папок на жёстких дисках»
«Программа для определения типов файлов по их расширениям. Более 23 000 типов файлов в английской базе и 2565 — в русской.» (ААААД!)
«Китайский бесплатный архиватор, очень похожий на платный WinRAR.» (звучит-то как! почти как китайский закос под айфон.)
Но кроме шуток, раскопал 3 вещи, которые не выглядят пьяным бредом и про аналоги которых я не в курсе:
Первое — тулзы для настройки параметров безопасности. Какая-нибудь графическая морда для применения правил apparmor не помешала бы всяким убунтоидам. Интересно, есть такое?
Второе — идея совмещения блокнота и калькулятора. (http://www.bestfree.ru/soft/office/calculator.php) Сразу возникает вопрос, для каких линуксовых текстовых редакторов есть такие плагины, которые позволяют по хоткею вычислить математическе выражение, на котором стоит курсор. (Понятно, что универсальный ответ emacs. :-D А еще в каких встречается?)
Ну и третье — забавная свистоперделка на рабочий стол. Группирует иконки, вот так: http://www.stardock.com/products/fences/screenshots.asp Польза сомнительна, как и вообще от иконок на рабочем столе, но выглядит прикольно.
Вот и всё, больше ничего не раскопал. :-D
lxpanelx: совместимость с оригинальной lxpanel — быть или не быть?
Назрел такой вопрос к людям, которые пользуются моим форком. Не пора ли уже полностью отвязать проект от оригинальной панели и разделить всё: пути к конфигам, пути установки файлов, ABI плагинов?
Поддержка совместимости замедляет разработку и мешает внедрению новых фич. А единственный профит от неё: потенциально, если есть какой-то сторонний плагин для lxpanel, то его можно использовать и в lxpanelx. Но ведь в реальности таких плагинов нет. Все существующие плагины идут непосредственно с сорцами панели, сторонних никто не пишет.
И отдельный вопрос по конфигам: что вы думаете на тему, если конфиги от lxpanel будут нормально подходить к lxpanelx, а вот обратно — не будут. Т.е. конфиг от lxpanelx нельзя без ручной правки использовать в lxpanel.
Качество локализации
Добросовестный программист взял их в _()-макрос, а добросовестный переводчик добросовестно их перевел: сообщения об ошибках, выводимые PA в системный лог.
Jul 13 21:28:57 localhost pulseaudio[18907]: [alsa-sink] alsa-sink.c: ALSA разбудила нас для записи новых данных в устройство, но на самом деле писать было нечего!
Jul 13 21:28:57 localhost pulseaudio[18907]: [alsa-sink] alsa-sink.c: Скорее всего это ошибка в драйвере ALSA 'snd_intel8x0'. Пожалуйста сообщите об этой проблеме разработчикам ALSA.
Jul 13 21:28:57 localhost pulseaudio[18907]: [alsa-sink] alsa-sink.c: Мы проснулись с POLLOUT set -- однако последующее snd_pcm_avail() вернуло 0 или другое значение < min_avail.
Гвозди бы делать из этих людей, крепче б не было в мире гвоздей. //А вот айтишники из них не очень.
Раскритикуйте.
Обновил патченную freetype-infinality. Не обновлял год или полтора, но решил вот посмотреть, как оно в современных версиях выглядит.
Картинко: http://s41.radikal.ru/i092/1207/9f/3eedaf0aa83d.png
Это вроде как дефолт их настроек. Что думаете? ШГ? Мыло?
Лично мне режет глаза.
Всё-таки таких программистов надо карать
Юзкейз:
- На виртуальной консоли запускаем mplayer, настроенный воспроизводить в PA. mplayer автоматически запускает PA, если тот еще не запущен.
- На другой виртуальной консоли логинимся через lxdm в графический сеанс.
- Вылогиниваемся из графического сеанса.
- PA делает харакири, mplayer замолкает.
Этим программистам уже ничего не поможет.
Это мне одному так везет?
Нет, не падает. Веселее.
Панель расположена снизу экрана. Все всплывающие подсказки и меню открываются сверху экрана. Снос конфига не помогает — через пару перезапусков глюк снова появляется. Версия 4.8.4.
Понятный скриншот со всплывающей подсказкой от часов: http://s017.radikal.ru/i423/1207/0e/fc430cb88927.png
Кто-нибудь, расскажите им уже про тестирование и контроль качества...
setxkbmap не работает, если в момент запуска setxkbmap не активна виртуальная консоль иксов
Раскладки при входе в сеанс включаются таким образом:
$ cat ~/.config/autostart/setxkbmap.desktop
[Desktop Entry]
Type=Application
Exec=setxkbmap -model pc104 -layout 'us(basic),ru:2' -option lv3:ralt_switch,grp:shift_caps_switch,grp_led:caps,compose:menu
Hidden=false
Name=setxkbmap
Comment=
Проверяем баг:
Запускаю такую команду:
sleep 5 ; setxkbmap -model pc104 -layout 'us(basic),ru:2' -option lv3:ralt_switch,grp:shift_caps_switch,grp_led:caps,compose:menu
Баг иксов? У вас воспроизводится?
О принципах модерирования популярных форумов
Наткнулся на две древние (2006 г.), но вечно актуальные заметки:
http://olegart.livejournal.com/840983.html
http://olegart.livejournal.com/852491.html
← назад | следующие → |