LINUX.ORG.RU

Сообщения bk_

 

[gentoo][Пародия на 12309] Виснет система при emerge

Когда начинается какой-нибудь жирный emerge, то иногда случается следующее (довольно редко, но бывает):

- клавиатура перестает реагировать на нажатия: capslock не переключает индикатор, ничего не печатает; SysRq-комбинации нажимать не рискнул.

Правда, не помню, мышка работает в этот момент или нет.

Однако, решение я нашел совершенно случайно и оно оказалось феерическим: надо нажать кнопку включения на ноутбуке - тогда клава «раздупляется».

Причем, это было на моем ноуте как на 32-битной генте, так и на 64-битной.

Что делать как мне быть? Кто-нибудь еще с таким встречался и кто может объяснить происходящее?

2.6.38-r6 из реп, но самопальный (не genkernel)

 

bk_
()

[gentoo] Изменить яркость подсветки lcd из консоли

Собственно, ядро собрано правильно, и яркость великолепно меняется при запущенном gnome-power-manager fn-кнопками.

Но у меня в дебиане я также мог менять яркость через /proc/acpi/video/SOMETHING/LCD/brightness, - как-то так, кажется.

Проблема в том, что в генте нет директории video в /proc/acpi.

Как мне изменить яркость из скрипта?

zdo@mamburu ~ $ zcat /proc/config.gz | grep -i video
CONFIG_ACPI_VIDEO=y
CONFIG_VIDEO_DEV=y
CONFIG_VIDEO_V4L2_COMMON=y
CONFIG_VIDEO_MEDIA=y
CONFIG_VIDEO_V4L2=y
CONFIG_VIDEO_CAPTURE_DRIVERS=y
# CONFIG_VIDEO_ADV_DEBUG is not set
# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
CONFIG_VIDEO_HELPER_CHIPS_AUTO=y
# Video decoders
# Video and audio decoders
# MPEG video encoders
# Video encoders
# Video improvement chips
# CONFIG_VIDEO_CPIA2 is not set
# CONFIG_VIDEO_ZORAN is not set
# CONFIG_VIDEO_SAA7134 is not set
# CONFIG_VIDEO_MXB is not set
# CONFIG_VIDEO_HEXIUM_ORION is not set
# CONFIG_VIDEO_HEXIUM_GEMINI is not set
# CONFIG_VIDEO_TIMBERDALE is not set
# CONFIG_VIDEO_CAFE_CCIC is not set
# CONFIG_VIDEO_SR030PC30 is not set
CONFIG_USB_VIDEO_CLASS=y
CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
# CONFIG_VIDEO_PVRUSB2 is not set
# CONFIG_VIDEO_HDPVR is not set
# CONFIG_VIDEO_USBVISION is not set
CONFIG_VIDEO_OUTPUT_CONTROL=y

 

bk_
()

Применить добавление пользователя в группу без logout

Было решение, да забыл. При добавлении юзера в группу

gpasswd -a myuser mygroup

необходимо разлогиниться в иксах, чтобы изменения применились. Подскажите, как это сделать без логаута?

bk_
()

[ЖЖ][FreeBSD] FreeBSD must be installed into a primary partition

Не хотелось бы, чтобы получилось слишком толсто, но, увы, долго сижу на линуксе - просто стало интересно глянуть на FreeBSD. Почитал статейки разных авторов, которые проводили сравнение, плюс ко всему туда портировали драйвер radeon, на котором моя hd2400 кое-как работала и что-то ускоряла. В теории - все красиво, решил проверить на практике.

Итак, записал ее на rw-шку, перегружаюсь, запускаю инсталлятор, и когда доходит дело до т.н. fdisk (так называемый - потому что привыкнув к старому линуксовому fdisk бсдяшый fdisk - это, пардон, п__дец) - оно отказывается ставить фряху на logical partition в моем специально выделенном для этого extended.

А дело в том, что у меня в triple-буте винда, дебиан и генту. Семерочка отожрала по-минимуму 2 primary + 1 primary на дебиан + 1 primary для экскрементов экспериментов, куда, собственно, и была поставлена 64-битная гента.

Бл_ха муха, современная, пусть и сервер-ориентированная, ось не может быть установлена на extended partition!

Перегрузился обратно в дебиан, начал гуглить - http://www.freebsd.org/doc/handbook/install-pre.html

2.3.3.1 Disk Layouts for FreeBSD/i386

FreeBSD must be installed into a primary partition.

Друзья, это просто п__здец!

Я все больше люблю свой линукс! И вам того же.

 ,

bk_
()

[c][linux][kernel] Не могу понять list_head

Начал глубоко изучать list_head в ядре линукса - наткнулся на непонимание базового принципа работы.

Все макросы list_foreach_* начинают перебор со _второго_ объекта, то есть пропускается самый первый объект.

Это наводит на мысль, что первый объект _всегда_ должен быть «мусорным», то есть он нигде не применяется, а служит только для указания головы списка.

Либо этот самый первый объект должен обрабатываться вручную, что, по-моему, глупо.

Я так понял, что если у меня в программе динамически создаются объекты типа struct my_list_object, которые имеют внутри list_head, то чтобы в _другом_ объекте иметь указатель на этот список, я должен:

1. Либо сделать один «мусорный» объект struct my_list_object, от которого я буду стартовать.

2. Либо иметь указатель на struct my_list_obj * или на соответствующий struct list_head *, который будет равен NULL при пустом списке и иметь нормальное значение при непустом списке.

Мне кажется, что вариант (1) более разумен, однако, смущает наличие мусорного объекта.

Я правильно понимаю «философию» list_head? Если нет, то как надо его применять?

 , ,

bk_
()

[C] Связные списки: реализация glib VS реализация linux kernel

Интересуют преимущества и недостатки этих двух подходов к реализации связных списков.

glib:

struct GList {
  gpointer data;
  GList *next;
  GList *prev;
};

next и prev указывают на такой же GList

linux:

struct list_head{
	struct list_head *next;
	struct list_head *prev;
};

struct my_cool_list{
	struct list_head list; /* kernel's list structure */
	int my_cool_data;
	void* my_cool_void;
};

То, что вижу я:

1. Реализация в linux требует на sizeof(void *)*N байт меньше, чем реализация в glib, где N - количество элементов в списке.

Why so?

glib = N * { sizeof(next_ptr) + sizeof(prev_ptr) + sizeof(data_ptr) + sizeof(data_struct) }

linux = N * { sizeof(data_struct) + sizeof(next_ptr) + sizeof(prev_ptr) }

То есть, нет N штук data_ptr.

2. Мне кажется, модель списков в glib более интуитивно понятная.

Плюс, в linux list_head структура сама определяет, в каких списках она может хранится. Если я захочу добавить возможность вносить структуру в список, у меня есть 2 варианта:

а) изменить код структуры и добавить туда еще один list_head;

б) написать структуру-обертку и использовать уже ее.

То есть, код получается зависимым от того, что сделал разработчик. В linux такое можно легко использовать, поскольку сорцы открыты, либо закрыты полностью (есть только unmodifiable headers).

Опять же, неудобно каждый раз писать структуру обертку

struct my_struct {
  int a;
  struct list_head list1;
};

struct my_struct_add {
  struct my_struct datal
  struct list_head list2;
};

для добавления возможности вставлять структуру в списки.

Гораздо проще в данном плане использовать модель GLib, где _любой_ объект может быть добавлен в список.

3. Реализация list_head оперирует сдвигом для определения указателя на структуру по указателю на list_head.

void *mystruct_ptr = mylist_ptr - &(((struct mystruct *)0)->mylist_head);

Насколько это портабельно между различными компиляторами?

Тема интересная, посему - lets discuss begin!

 

bk_
()

Много здесь разработчиков под iPhone/iPad?

Как много здесь разработчиков под iPhone/iPad?

Почти дописал первую версию утилиты для мониторинга утечек. Возможно, скоро опубликую. Здесь есть люди, которым это будет интересно?

bk_
()

[gentoo] Где gnome commander?

Не могу найти в стандртном репозитории любимый gnome commander. Он там вообще есть?

 

bk_
()

> whois google.com

Случайно ввел

whois google.com

Там бОльшая часть обычна, но интересны имена найденных серверов.

zdo@mamburu /mnt/windows/Program Files/Microsoft Games/Фриленсер/EXE $ whois google.com | grep "Server Name"
   Server Name: GOOGLE.COM.ZZZZZZZZZZZZZ.GET.ONE.MILLION.DOLLARS.AT.WWW.UNIMUNDI.COM
   Server Name: GOOGLE.COM.ZZZZZ.GET.LAID.AT.WWW.SWINGINGCOMMUNITY.COM
   Server Name: GOOGLE.COM.ZOMBIED.AND.HACKED.BY.WWW.WEB-HACK.COM
   Server Name: GOOGLE.COM.ZNAET.PRODOMEN.COM
   Server Name: GOOGLE.COM.YUCEKIRBAC.COM
   Server Name: GOOGLE.COM.YUCEHOCA.COM
   Server Name: GOOGLE.COM.WORDT.DOOR.VEEL.WHTERS.GEBRUIKT.SERVERTJE.NET
   Server Name: GOOGLE.COM.VN
   Server Name: GOOGLE.COM.VABDAYOFF.COM
   Server Name: GOOGLE.COM.UY
   Server Name: GOOGLE.COM.UA
   Server Name: GOOGLE.COM.TW
   Server Name: GOOGLE.COM.TR
   Server Name: GOOGLE.COM.SUCKS.FIND.CRACKZ.WITH.SEARCH.GULLI.COM
   Server Name: GOOGLE.COM.SPROSIUYANDEKSA.RU
   Server Name: GOOGLE.COM.SOUTHBEACHNEEDLEARTISTRY.COM
   Server Name: GOOGLE.COM.SHTHEAD.NET
   Server Name: GOOGLE.COM.SERVES.PR0N.FOR.ALLIYAH.NET
   Server Name: GOOGLE.COM.SA
   Server Name: GOOGLE.COM.PE
   Server Name: GOOGLE.COM.MX
   Server Name: GOOGLE.COM.LASERPIPE.COM
   Server Name: GOOGLE.COM.KNOWS.THAT.THE.BEST.WEB.HOSTING.IS.NASHHOST.NET
   Server Name: GOOGLE.COM.KNOWS.THAT.THE.BEST.HOSTING.IS.NASHHOST.NET
   Server Name: GOOGLE.COM.IS.SHIT.SQUAREBOARDS.COM
   Server Name: GOOGLE.COM.IS.NOT.HOSTED.BY.ACTIVEDOMAINDNS.NET
   Server Name: GOOGLE.COM.IS.HOSTED.ON.PROFITHOSTING.NET
   Server Name: GOOGLE.COM.IS.APPROVED.BY.NUMEA.COM
   Server Name: GOOGLE.COM.HK
   Server Name: GOOGLE.COM.HICHINA.COM
   Server Name: GOOGLE.COM.HAS.LESS.FREE.PORN.IN.ITS.SEARCH.ENGINE.THAN.SECZY.COM
   Server Name: GOOGLE.COM.ESJUEGOS.NET
   Server Name: GOOGLE.COM.DO
   Server Name: GOOGLE.COM.CO
   Server Name: GOOGLE.COM.CN
   Server Name: GOOGLE.COM.BR
   Server Name: GOOGLE.COM.BITERMANSOLUTIONS.COM
   Server Name: GOOGLE.COM.BEYONDWHOIS.COM
   Server Name: GOOGLE.COM.AU
   Server Name: GOOGLE.COM.AR
   Server Name: GOOGLE.COM.AFRICANBATS.ORG
zdo@mamburu /mnt/windows/Program Files/Microsoft Games/Фриленсер/EXE $ 

Объясните мне, пожалуйста, что все это значит?

bk_
()

Как изменить цвет фона в tty*?

Как изменить цвет фона в линуксовом терминале tty*? Гугление успехом не увенчалось - везде попадалась инфа только по изменению цвета вывода grep, приглашения шелла и т.п.

bk_
()

Переносы непомещающихся строк в BSD/MacOSX и Linux терминалах

Заметил такую вещь: когда в линуксе на терминал идет вывод, в котором строка не помещается в ширину экрана, она переносится с точностью до символа на следующую строку. Но после этого, если увеличить размер терминала, строка как была перенесена, так и остается фиксированно на своем месте.

В MacOSX, однако, после изменения размера терминала перенесенная строка подстраивается под новый размер динамически.

Не знаю, как в *BSD, но думаю, что также, как и в MacOSX.

Хоть это и не столь важно, но на мой взгляд, - второй вариант удобнее.

Собственно, вопрос: понятно, что реализации терминала разные, но с чем связано такое отличие - почему в Linux не сделали динамическую подстройку переносов строк под измененный размер терминала?

bk_
()

[gentoo][libsqlite] Anjuta вылетает (LD_LIBRARY_PATH)

Вылетает анюта при запуске.

zdo@mamburu ~ $ anjuta --version
anjuta 2.32.1.1
zdo@mamburu ~ $ anjuta

** (anjuta:17586): WARNING **: Can't find libsqlite3.so file.

(anjuta:17586): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed

(anjuta:17586): GLib-GObject-CRITICAL **: g_object_set_data: assertion `G_IS_OBJECT (object)' failed

** (anjuta:17586): WARNING **: Can't find libsqlite3.so file.

(anjuta:17586): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed

** (anjuta:17586): WARNING **: Can't find libsqlite3.so file.

(anjuta:17586): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed

(anjuta:17586): GLib-GObject-CRITICAL **: g_object_set_data: assertion `G_IS_OBJECT (object)' failed

** (anjuta:17586): CRITICAL **: gda_server_provider_supports_feature: assertion `GDA_IS_SERVER_PROVIDER (provider)' failed

** (anjuta:17586): WARNING **: Can't find libsqlite3.so file.

(anjuta:17586): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed

(anjuta:17586): GLib-GObject-CRITICAL **: g_object_set_data: assertion `G_IS_OBJECT (object)' failed

(anjuta:17586): libanjuta-symbol-db-WARNING **: Could not open connection to DB_DIR=/home/zdo/.cache/anjuta;DB_NAME=.anjuta_sym_db


libanjuta-symbol-db-ERROR **: Opening global project under /home/zdo/.cache/anjuta
aborting...
zdo@mamburu ~ $ 

Однако, если указать

zdo@mamburu ~ $ LD_LIBRARY_PATH=/usr/lib anjuta

То все работает.

Собственно, libsqlite лежит в /usr/lib

zdo@mamburu ~ $ ls -l /usr/lib/libsqlite*
-rw-r--r-- 1 root root 634736 Jun 22 02:08 /usr/lib/libsqlite3.a
-rw-r--r-- 1 root root    948 Jun 22 02:08 /usr/lib/libsqlite3.la
lrwxrwxrwx 1 root root     19 Jun 22 02:08 /usr/lib/libsqlite3.so -> libsqlite3.so.0.8.6
lrwxrwxrwx 1 root root     19 Jun 22 02:08 /usr/lib/libsqlite3.so.0 -> libsqlite3.so.0.8.6
-rwxr-xr-x 1 root root 603096 Jun 22 02:08 /usr/lib/libsqlite3.so.0.8.6
-rw-r--r-- 1 root root 464360 Jun 11 20:23 /usr/lib/libsqlite.a
-rw-r--r-- 1 root root    812 Jun 11 20:23 /usr/lib/libsqlite.la
lrwxrwxrwx 1 root root     18 Jun 11 20:23 /usr/lib/libsqlite.so -> libsqlite.so.0.8.6
lrwxrwxrwx 1 root root     18 Jun 11 20:23 /usr/lib/libsqlite.so.0 -> libsqlite.so.0.8.6
-rwxr-xr-x 1 root root 362444 Jun 11 20:23 /usr/lib/libsqlite.so.0.8.6
zdo@mamburu ~ $ 

Вопрос такой - где anjuta по умолчанию пыталась найти libsqlite, что вылетала?

zdo@mamburu ~ $ ls -l /usr/local/lib/
total 0

 

bk_
()

[gentoo] Как заemergить исходники, но не устанавливать?

Задача: хочу посмотреть и, возможно, сделать патч для плейера moc.

Проблема: moc уже установлен. Как мне скачать _именно те_ исходники, которые _установились_? В ebuild-e написано такое:

SRC_URI="ftp://ftp.daper.net/pub/soft/${PN}/unstable/${MY_P}.tar.bz2"

Я могу, конечно, скачать тарбол в обход emerge, но хотелось бы воспользоваться нормальным существующим методом, который мне пока не известен.

Флаг --fetch-only вроде бы по смыслу подходит, но, написав, его никаких сорцов не скачивается. Так что делает сей флаг?

В результате, как я понимаю, будет патч, который за-epatch-ится через изменный ebuild. Но как это сделать правильно, без костылей?

 

bk_
()

Если firefox <-> vimperator, то X11 <-> [???]

Нужна программа, которая бы давала возможности, подобные vimperator в фурифоксе, для иксов. Может, кто слышал о такой?

bk_
()

[gentoo] Hooks на up/down сетевых интерфейсов

Как можно прописать генте свои скрипты на поднятие какого-либо сетевого интерфейса?

 

bk_
()

[gentoo][awesome] LibreOffice - не открывается в требуемом теге

Awesome собрал на днях из gentoo repo.

В конфиге прописал отдельный тег для office:

awful.rules.rules = {
  ...
  { rule = { class = "libreoffice-writer" },
    properties = {
      tag = tags[1][4]
    },
  },
{ rule = { class = "libreoffice-calc" },
    properties = {
      tag = tags[1][4]
    },
  },
{ rule = { class = "libreoffice-impress" },
    properties = {
      tag = tags[1][4]
    },
  },
...

Ошибка в том, что запуске libreoffice он открывается на _текущем_ теге, но когда нажимаю, например, Ctrl+P (печать) - то окно печати открывается на _заданном_ 4-ом теге.

Классы окон взял из xprop.

Кто как настроил работу офиса для awesome?

В чем ошибка и как ее исправить?

 ,

bk_
()

[success_story][Debian -> Gentoo] emerge - показать список пакетов для установки

Вчера вечером начал компелять генту, сегодня в 15:00 закончил. Собственно, осваиваюсь в новой среде.

Вот вопрос, на который я не нашел ответ:

Как заставить emerge не устанавливать пакеты при emerge <smth>, а просто показать, что оно хочет установить? То есть, как в apt-get, когда он спрашивет перед установкой и показывает список пакетов, которые будут поставлены.

P.S.

Впечатлило, что гном кушает 62МБ оперативки (mesa software), а такой же дебиан - 150...200МБ.

bk_
()

[debian squeeze][libreoffice 3.4] Не запускается

Работал нормально libreoffice 3.3. Установил 3.4 - при запуске выдает следующее:

~$ libreoffice3.4
/opt/libreoffice3.4/program/soffice.bin: /usr/lib/libdb-4.7.so: version `DB_4_7' not found (required by /opt/libreoffice3.4/program/../basis-link/program/libdeploymentmiscli.so)

Даже не появляется сплэш.

Хотя все либы стоят из репов:

$ ls -la /usr/lib/libdb-*
-rw-r--r-- 1 root root 1178304 Sep 13  2008 /usr/lib/libdb-4.5.so
-rw-r--r-- 1 root root 1252512 Dec 30  2009 /usr/lib/libdb-4.6.so
-rw-r--r-- 1 root root 1408516 Dec 29  2009 /usr/lib/libdb-4.7.so
-rw-r--r-- 1 root root 1464988 Aug 30  2010 /usr/lib/libdb-4.8.so

В чем проблема?

bk_
()

[debian] fglrx 2.6.39

Debian 32bit stable

fglrx на стабильном 2.6.32 работает великолепно. Собрал 2.6.39 ядро, переустановил fglrx - fglrx перестал работать. Работает только radeon и radeonhd.

Что может мешать работе fglrx в свежесобранном ядре?

Логи Xorg есть, опубликую позже. Может кто уже сталкивался с такой проблемой или знает, от чего зависит fglrx?

 

bk_
()

[cluster][gzip] Битый архив

Кто-нибудь юзал эту штуку - chpox (чекпоинтинг процессов в linux)?

Кстати, пишет, что архив битый.

gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error is not recoverable: exiting now

Это у меня одного так?

 ,

bk_
()

RSS подписка на новые темы