LINUX.ORG.RU

Сообщения Kalashnikov

 

Не могу настроить звук

Нужно: Нормальный звук во всех приложениях, нормальное его смешивание из разных приложений, управления звуком хоткеями, микрофон тоже нужен.

Раньше звук работал только из одного источника и время от времени пропадал до перезапуска пульсы.

Единственный ман который нашёл от 2007 года, некоторых пакетов уже даже нет. Сейчас решил настроить всё начисто и сломал всё нафиг, добиться звука теперь можно только маниакальным перебиранием killall pulseaudio и pulseaudio -D, при этом в ТФ2 например он ужасно дёргается, а в vlc звука мне добиться вообще не удаётся.

В общем, жду историй успеха с рабочими конфигами.

$ lspci | grep Audio
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
04:00.1 Audio device: NVIDIA Corporation Device 0e0b (rev a1)

Первое - интегрированная звуковая, второе - HDMI видео судя по всему, оно мне нафиг не нужно.

$ cat /etc/asound.conf 
pcm.pulse {
    type pulse
}

ctl.pulse {
    type pulse
}

pcm.!default {
    type pulse
}

ctl.!default {
    type pulse
}

$ file ~/.asoundrc 
~/.asoundrc: symbolic link to `/etc/asound.conf'
/etc/pulse - всё по умолчанию.

В pavucontrol выглядит так и так (хз, как иначе его показать).

В dmesg иногда видно сегфолты пульсы:

[  945.246726] pulseaudio[5625]: segfault at b0 ip 00007f681a2d5721 sp 00007fff766150a0 error 4 in libc-2.15.so[7f681a1a6000+1b3000]
[  986.233355] pulseaudio[5719]: segfault at b0 ip 00007f4158c17721 sp 00007ffff181a7c0 error 4 in libc-2.15.so[7f4158ae8000+1b3000]
[ 2311.208491] pulseaudio[8900]: segfault at b0 ip 00007fe27ead3721 sp 00007fff5a150850 error 4 in libc-2.15.so[7fe27e9a4000+1b3000]
[ 2331.449617] pulseaudio[8959]: segfault at b0 ip 00007fe8af9c4721 sp 00007fff68f47550 error 4 in libc-2.15.so[7fe8af895000+1b3000]
[ 2409.725929] pulseaudio[9174]: segfault at b0 ip 00007fa2a318d721 sp 00007fffb970c0c0 error 4 in libc-2.15.so[7fa2a305e000+1b3000]

 , ,

Kalashnikov
()

Автообновление теперь и в опере

Сегодня вышел новый минорный релиз, из ченжлога:

Linux and Windows: A new stand-alone update-checker, as part of a planned upgrade of the auto-update system

Сейчас на онтопике она при запуске себя проверяет обновления (если разрешено в настройках) и советует обновиться из реп. Обновился, пока вроде всё по-старому.

 

Kalashnikov
()

Error: Победа

$ ssh home
# ...
$ opera --remote 'openUrl(..., T)'
opera: cannot connect to X server . Error: Победа

 

Kalashnikov
()

Сменил видеокарту

Купил себе на НГ нормальную видеокарту, заменил на живой системе. Что старая что новая довольно свежии нвидии, но из весьма разных серий.

На машине стоят максимальная и дебиан тестинг. Первой включил винду (надо ж на игрушках потестить) - разрешение дропнулось в 800х600, тема в убогую. Сама винда что-то сказала про дрова, но ничего не сделала. Диск из комплекта не завёлся (как потом оказалось это я дурак, сата шнур выдернул когда ставил видео, но дрова там всё равно старые), пришлось искать оффсайт и ждать пока загрузятся дрова пялясь в разорванный экран. Потом на рекламу всякой йобы пока ставятся дрова... Дальше пришлось ребутиться, но потом всё завелось нормально.

Наигравшись, запустил дебиан на котором стояли 310 дрова из сида. Ждал плясок с дкмс/иксами/дровами - но нет, всё итак нормально, всё само работает вообще без каких-либо движений, даже переустанавливать ничего не пришлось. Мне даж стрёмно, может всё-таки надо что-нибудь сделать?

 , , ,

Kalashnikov
()

Уведомления не обрабатываются при редактировании

Если отредактировать сообщение и добавить в него теги или каст, уведомления соответствующим юзерам не придут.

Убедиться легко на примере этого сообщения. maxcom

 ,

Kalashnikov
()

Выбора планшета тред

Да, очередной.

Для чего:

  • Интернеты вне дома
  • Таскать учебники в универ
  • Слушать музыку по дороге

Что хочу:

  • 3G
  • 10"
  • Свежая ос, хочется чтоб по обновлялось
  • Возможность программировать под девайс без особого геммороя. Яву и Обж С не знаю, учить не очень хочется. Есть что-нибудь с вменяемым интерпретаторам питона скажем? С возможностью нормально писать и пользоваться софтом на плюсах?
  • Далее уже скорее пожелания:
    • Линуксы. Вообще есть планшеты под онтопиком? Я пока ничего живого так и не нашёл. Вроде что гном, что юнити пилят в эту сторону, а где..?
    • Доступность в этой стране. Денег не так много, я бы в кредит не против взять чтоб на руках он был уже сейчас, а не через пару месяцев

К продукции Apple есть лёгкое жжение, да и дорогие они, но если выигрывают объективно, согласен.

 ,

Kalashnikov
()

Юнити не падает

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

Вангую хайлод не меньше китайского на серверах каноникал если каждая убунта делает так же.

 ,

Kalashnikov
()

Как нормально подождать подпроцес pdflatex?

p = Popen(["pdflatex", "-halt-on-error", "-interaction=batchmode", name+".tex"], cwd=tmp, stdout=PIPE, stderr=PIPE)
p.communicate()

Так pdflatex ничего не конвертит, в логе странные ошибки:

...
! Emergency stop.
<*> tsnhovwrel.tex
Here is how much of TeX's memory you used:
...
!  ==> Fatal error occurred, no output PDF file produced!
Сам тех компилится номально, даже той же самой командой из консоли, более того, если убрать вызов communicate, всё тоже работает нормально, но код который идёт дальше первым делом проверяет создался ли пдф файл - а он то всё ещё компилится... Пробовал wait вместо communicate - всё аналогично. ЧЯДНТ?

А ещё всё работает прекрасно в питоновой консоли, эти проблемы возникают когда код вызывается внутри джанги. Теперь я совсем ННП.

 , , ,

Kalashnikov
()

Обратный слеш в сырых строках

>>> print "\"
SyntaxError: EOL while scanning string literal
>>> print r"\"
SyntaxError: EOL while scanning string literal
>>> print "\\"
\
>>> print r"\\"
\\

Почему во втором случае кавычка экранируется? И как тогда написать raw строку из одной черты, лол?

В общем-то в доках прямо так и написано:

... r"\" is not a valid string literal...

Но мне так и не понятно, почему?

 , ,

Kalashnikov
()

Строчный [code]

Недавно мелькало предложение в каком-то треде. Пригодится для однострочников/команд/ключевых слов... да чего угодно.

 , , ,

Kalashnikov
()

html-entities

Парсю небольшой кусок хтмла с python.sax, начались проблемы с сабжем, притом довольно избирательные: > например парситься нормально, а на   падает с «SAXParseException: <unknown>:29:3: undefined entity». Попробовал сделать кусок документа валидным, обернув в

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head></head>
<body>
...
</body></html>
- работает, но аж две минуты почему-то (скачивается dtd?). С доктайпом «html» всё тоже падает.

Насколько, я понимаю, можно добавить

<!DOCTYPE[ 
<!ENTITY nbsp "&#160;"> 
]>
, но мне не хочется перебирать их все. Как нормально указать парсеру как ресолвить стандартные хтмл-сущности?

 ,

Kalashnikov
()

Team Fortress 2

Собственно, теперь оно более-менее доступно всем кому хотелось, почему-бы не попробовать поиграть вместе? Можно даже поднять сервер (sudo cast tazhate), или хотя-бы запилить групку в зонстиме чтоб в друзяшки добавляться, ня.

А, группа уже есть: http://steamcommunity.com/groups/rulinux

 , ,

Kalashnikov
()

Помогите собрать простой девайс

Друг попросил помочь с такой штукой: Ему нужно собрать гирлянду девайс который будет всего-то в определённом порядке мигать светодиодами. Вопрос, насколько я понимаю сродни хэллоу ворлду в электронике, но я этим толком не интересовался. Тем не менее, обкурившись манами, думаю смогу спаять. Мне ведь нужен простой микроконтроллер с простеньким алгоритмом, так? Ардуино и компания - дорого и избыточно. Подскажите, в какую сторону копать.

Может кто может подсказать схему, компоненты и инструментарий под онтопик (он таки причём!)?

 ,

Kalashnikov
()

Хэширование загружаемых файлов

Хочется при загрузке файла (изображения) прохэшировать его что-бы во-первых, не допустить загрузку одинаковых файлов, а во-вторых сгенерировать человекочитаемый идетификатор файлу. Ещё хотелось использовать хэш в качестве имени файла. Вопрос, в какой момент именно нужно хэшировать?

Сначала чтобы дать файлу имя попробовал указать для ImageField модели upload_to функцию в которой и хэшировал, но она почему-то вызывается дважды (почему? я так и не нашёл ответ), притом второй раз файл читается как пустой.

Дальше попробовал переопределить метод save модели, но до вызова метода предка файл опять таки читается как пустой, т.е. сам он ещё не сохранён, а после вызова хэшировать поздно ибо хэш нужен как ключ.

Вроде можно прохэшировать в отображении (view) между form.save(commit=False) и model.save(), но это выглядит как костыль, хочется держать его чистым. Вроде можно перенести это в валидацию формы, но непонятно как читать файл оттуда и как сохранять хэш в бд.

tl;dr Не понимаю, как в рамках ORM джанги без костылей хэшировать загружаемые файлы.

 

Kalashnikov
()

Есть ли вменяемые библиотеки?

Попробовал pylast и python-lastfm - в обоих похоже нельзя указать параметры запросов отличные от дефолтных, мне например надо получить список всех исполнителей библиотеки юзера, а они выдают топ 50 и не иначе, единственное что можно указать - период. Почему так? Или я ослеп внезапно?

Само апи такую возможность даёт, можно просто гет запросом получить:

http://ws.audioscrobbler.com/2.0/?api_key=b25b959554ed76058ac220b7b2e0a026

&method=user.getTopArtists&user=DoctorValdos&limit=100500

Но парсить хмл/жсон руками лениво, хотелось ынтерпрайзности.

 , ,

Kalashnikov
()

Сигналы и слоты, позднее связывание

Пишу так:

class Parent {
public:
	virtual void someSignal() = 0;
};

class Child: public QObject, public Parent {
	Q_OBJECT
public signals:
	void someSignal() {}
};
Parent *pointer = getPointer();

connect(pointer, SIGNAL(someSignal), this, SLOT(someSlot())); // первый
connect(qobject_cast<QObject*>(pointer), SIGNAL(someSignal), this, SLOT(someSlot())); // второй

Первый вариант падает с

error: no matching function for call to 'Shooter::connect(Parent*&, const char*, Shooter* const, const char*)'
note:  no known conversion for argument 1 from 'Parent*' to 'const QObject*'
Подумав и погуглив понял что надо приводить к QObject, но не помогает, второй вариант тоже не работает:
error: no matching function for call to 'qobject_cast(Parent*&)'
note:  candidates are: template<class T> T qobject_cast(QObject*)

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

 , ,

Kalashnikov
()

-webkit префиксы в опере

Собственно, чего все и боялись теперь в свежей сборке оперы:

  • -webkit-background-size
  • -webkit-box-shadow
  • -webkit-transform
  • -webkit-transform-origin
  • -webkit-border-radius
  • -webkit-border-top-left-radius
  • -webkit-border-top-right-radius
  • -webkit-border-bottom-left-radius
  • -webkit-border-bottom-right-radius
  • -webkit-transition
  • -webkit-transition-delay
  • -webkit-transition-duration
  • -webkit-transition-property
  • -webkit-transition-timing-function

Осёл умер, да здравствует осёл!

 , ,

Kalashnikov
()

Идентификаторы окон

Хочется получить активное окно, а именно его ид чтоб сделать скриншот (QPixmap::grabWindget()) и его заголовок. Делаю так:

Display *display = XOpenDisplay(NULL);
Window win, root, parent, *children;
int revert = RevertToParent;
int screen = DefaultScreen(display);
unsigned int nchild;
XGetInputFocus(display, &win, &revert);

if (win != RootWindow(display, screen)) {
    parent = win;
    do {
        win = parent;
        XQueryTree(display, win, &root, &parent, &children, &nchild);
        XFree(children);
    } while(parent != RootWindow(display, screen));
}
После этого скриншот окна с идентификатором win - то что надо. Имя пытаюсь получить так:
Atom nameAtom = XInternAtom(display, "_NET_WM_VISIBLE_NAME", false);
Atom atomType = XInternAtom(display, "UTF8_STRING", false);
Atom actualType;
int format;
unsigned long nitems, after;
unsigned char *data = 0;

int status = XGetWindowProperty(display, win, nameAtom, 0, 65536,
                                false, /*AnyPropertyType*/ atomType, &actualType, &format,
                                &nitems, &after, &data);

std::cout << "Returned status: " << status << std::endl;
if (data) {
  	std::cout << "Active window name: " << data << std::endl;
  	XFree(data);
}
Но статус и data всё время 0.

Дальше заметил что идентификатор окна который возвращает xprop не совпадает с моим win, если его использовать в коде для получения имени - всё работает нормально, а если в коде скриншутера - снимается что-то совсем странное.

Так вот, как разобраться в этих идентификаторах и ЧЯДНТ? И почему апи иксов такое говно?

 , ,

Kalashnikov
()

Нестандартные урлы

Толи баг репорт, толи фичреквест. В общем, все ури что не http:// или mailto не работают, а тупо зачёркиваются:

about:blank

data:uri (см аттрибут title)

javascript:alert('hi')

xmpp:owner@internet.net?message

magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C

 

Kalashnikov
()

Создание таблиц?

В общем, можно ли нормально создавать таблицы с QtSql? Не нашёл ничего в доках. Можно конечно ручками написать запрос, но будет ли оно работать для разных СУБД?

 ,

Kalashnikov
()

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