LINUX.ORG.RU

Сообщения unclechu

 

Debian 7, в котором нет gcc-4.5 и winegcc, который его жаждет

 ,

Доброго времени суток! Мне нужно кое-чего пособирать через winegcc, но вот незадача, при любой попытке запустить winegcc или wineg++ отвечает следующим:

winegcc: g++-4.5 failed
Вино установлено свежее пакетами, к которым отсылают с офф-сайта (http://dev.carbon-project.org/debian/wine-unstable/). Всё логично, нужно поставить пакет gcc-4.5-multilib, но ничего не выходит, потому что в репах есть только 4.4 и 4.6, а 4.5 именно вот нету. Что в данной ситуации делать не знаю, потому спрашиваю у ЛОР-а. Где взять 4.5, или можно ли как-то заставить winegcc использовать другую версию gcc?

Благодарю за внимание.

unclechu
()

JACK и псевдо-ALSA

 , ,

Доброго времени суток! Есть тут такая нужда, в общем приложение не поддерживает JACK, только альсу, я понимаю, что следует усомниться в использовании такого приложения, но как факт, есть ли какая-нибудь реализация имитации ALSA-устройства, чтобы звук с неё забрасывался в JACK, как JACK-клиент? Иными словами, приложение чтобы не напрямую в карту по альсе пускало звук, а на псевдо ALSA-устройство, которое на самом деле будет сливать всё в JACK? Вообще, какой-нибудь вариант пробрасывать звук с ALSA-приложения в JACK?

Простите, если плохо гуглил.

unclechu
()

Редирект порта через iptables

 ,

Доброго времени суток! Мне нужно перенаправить 8000 порт на 80-ый, потому что от рута запускать http-сервер — это не торт. Раньше я уже делал такой редирект, но тут на новом сервере возник нюанс, который я никак не могу разрешить.

Ранее делал я это так:

/sbin/iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8000

Но теперь у меня вот такая ситуация с сетью (ip отцензурены):

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:3326 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2624 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:264436 (258.2 KiB)  TX bytes:315652 (308.2 KiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:123.123.123.1  P-t-P:123.123.123.1  Bcast:123.123.123.1  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:123.123.123.2  P-t-P:123.123.123.2  Bcast:123.123.123.2  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
Мне нужно организовать редирект для venet0:0 и venet0:1.
/sbin/iptables -A PREROUTING -t nat -i venet0:0 -p tcp --dport 80 -j REDIRECT --to-port 8000
На что получаю:
Warning: wierd character in interface `venet0:0' (No aliases, :, ! or *).
Пробовал так же (по одному совету где-то в интернетах) так:
/sbin/iptables -A PREROUTING -t nat -i venet0 -s 123.123.123.1 -p tcp --dport 80 -j REDIRECT --to-port 8000
Но ничего не помогло. Как быть, как сделать редирект? Заранее спасибо!

UPD: Система: CentOS 5 Linux *********.org 2.6.18-028stab101.1 #1 SMP Sun Jun 24 19:50:48 MSD 2012 x86_64 x86_64 x86_64 GNU/Linux

unclechu
()

Инициализация WineASIO работает только на «чистом» JACK

 ,

Доброго времени суток! Собственно такая проблема, под вином поднимается Reaper, через WineASIO направляется в JACK. Суть в том, что если инициализация WineASIO происходит после того как подключена вторая звуковая карта через alsa_out или просто mixbus или ardour уже запущен, — то корректной инициализации не происходит. В Patchage появляется только блок с заголовком Repaer, никаких входов/выходов, а в Repaer при нажатии на Play курсор стоит на одном месте и тишина. Если всё поотрубать, оставить только чистый JACK с его физическими входами/выходами карты, и после этого переинициализировать ASIO в Reaper, то тогда всё ок, после этого можно уже запускать всё остальное, в таком случае всё работает. Но открой ты другой проект в Reaper или случайно зайди в настройки звука в Reaper (при этом стопается связь с ASIO), — то всё, опять ASIO поднимется, если снова всё отрубать. Это не торт. В чём может крыться проблема и как лечить? Я так полагаю возможно где-то в реестре Wine-префикса висит попытка автоконнекта виназии, которая при наличии много и больше всяких разных портов не может завершиться успехом. Как-то можно выпилить, чтобы всё работало нормально?

Дистр: xubuntu 12.04 с openbox-ом. Reaper с виназией поставлен shell скриптом-инсталлятором, который раздаётся на оффициальном форуме Reaper. Проблема наблюдается так же и в виназии собранной из исходников.

Благодарю!

unclechu
()

Отдельный X-сервер и его остановка

 , ,

Доброго времени суток!

xubuntu 12.04

uname -a
Linux unclechu-xubuntu 3.2.0-35-generic #55-Ubuntu SMP Wed Dec 5 17:45:18 UTC 2012 i686 athlon i386 GNU/Linux

Я запускаю дополнительные X-сервера для некоторых приложений без менеджеров окон следующим образом:

xinit _ПРИЛОЖЕНИЕ_ -- :_НОМЕР_ДИСПЛЕЯ_

Всё хорошо, но есть одна проблема: когда работа отдельно-запущенного X-сервера прекращается, — я вижу чёрный экран и переключение по терминалам (Ctrl+Alt+F*) не работают. Приложения выполняются, звук поёт, но вот чёрный экран и всё тут.

Что за проблема и как сделать всё правильно, чтобы X сервер останавливался не вешая за собой намертво все остальные X, или чего он там в данном случае вешает?

Благодарю!

unclechu
()

Смена видеокарты при загрузке системы

 , ,

Доброго времени суток! У меня ноутбук с двумя видео-картами, одна для экономии батареи, другая — дискретная. Суть в чём, 99% времени компьютер питается от шнура, и как правило мне нужна дискретная видеокарта довольно часто, — по-умолчанию при загрузке используется экономичная карта, и зачем-то питается дискретная.

Выключаю питание неиспользуемой карты и переключаюсь на дискретную так:

echo 'OFF' > /sys/kernel/debug/vgaswitcheroo/switch
echo 'DDIS' > /sys/kernel/debug/vgaswitcheroo/switch

Вопрос в том, — как это проделать при загрузке системы? Смена карты происходит при рестарте иксов, это например происходит при логауте и логине. Я пробовал в /etc/rc.local записать, — никакого результата, куда расово-верно записать эти пару строчек, чтобы когда я залогинюсь — у меня уже была включена нужная мне карта? Благодарю!

unclechu
()

Отдельный X-сервер для приложения, тормоза в OpenGL

 ,

Доброго времени суток! Есть у меня тут нужда делать отдельный X-сервер для некоторых приложений, в частности — для полно-экранных игр.

Для запуска приложения делаю скрипт:

#!/bin/bash
X :2 -terminate &
sleep 2
DISPLAY=:2
/usr/bin/app

Но тут есть проблема, когда я работаю с иксами, запущенными таким образом — у меня тормозят игры, я так понял, что тормозит именно OpenGL, fps меньше 1, потому что обычные интерфейсы программ работают нормально. Если сделать наоборот, на изначальном X запустить игру, а на созданном 2-ом то, что было на первом, — тогда всё ок. Объясните, что я упускаю при создании нового X-сервера? Как сделать так, чтоб он был таким же полноценным по скорости, как и первый?

Благодарю!

unclechu
()

Wine 1.5.9 Нет звукового драйвера

 , ,

Доброго времени суток! У меня стоит Wine 1.5.9, ставил через PlayOnLinux. Версия именно такая, потому что после этой версии в Steam не рендярятся шрифты. В общем всё бы ничего, я наставил в PlayOnLinux различных пакетов. Установил стим, установил с него Half Life 2, не слыхать звука, а потом обнаружил в winecfg, что там нет звукового драйвера, вместо winealsa.drv или winepulse.drv — (Нет). В других версиях вина у меня всё ок со звуком. Что тут не так, как это исправить? Где копать, где можно явно задать драйвер звука для wine-машины? Благодарю!

UPD: Для эксперимента, создал новый виртуальный wine в PlayOnLinux, этой же версии, — там появилось winealsa.drv. В стационарном вине у winepulse.drv, — а по сути у меня пульс заброшен в JACK. Как и где задавать этот звуковой драйвер — мне неведомо. А по хорошему winejack.drv нужен. Подскажите, могут ли какие-то замещающие dll-библиотеки на эти дела влиять?

unclechu
()

JACK transport loop

 ,

Доброго времени суток! Я пользуюсь G.Jack Transport (в дальнейшем будет использоваться аббревиатура GJT), но мне в ней очень не хватает лупов, есть что-нибудь аналогичное GJT, но с поддержкой лупов? Насколько мне известно в jack-transport лупе при смене позиции случается каждый раз лаг, задержка буфферизации звука, но это не страшно, это в любом случае лучше, чем каждый раз отгонять курсор вручную. Благодарю!

unclechu
()

Принудительно закрыть Emacs в консоли

 ,

Доброго времени суток! Столкнулся с проблемой. Попытался на удалённом сервере отредактировать файл в /etc, забыв указать sudo, — emacs его открыл, но выходить не захотел, при попытке закрыть спрашивает — сохранять ли изменения буфферов, я отказываюсь, потом говорит что есть modified buffers, всё равно сделать kill? Я говорю ему: «да», — а он мне такой в ответ: “Attempt to save to a file which you aren't allowed to write”, и всё, дальше никуда, так повторяется как с C-x C-c, так и с M-x kill-emacs, я конечно понимаю, что можно выполнить kill -9 процессу emacs-а, но может есть более естественные и гуманные способы? Более native для Emacs-а, так сказать: «закрыть во чтобы то ни стало, и без бюрократии»!

unclechu
()

Как в полноэкранном режиме зайдействовать только один монитор?

 , ,

Доброго времени суток! Подскажите как PyGame-дисплей в полноэкранном режиме расположить только на одном из мониторов, когда их 2? Вот например VLC, он разворачивается только на текущем мониторе, а дисплей в PyGame сразу на 2 монитора, в некоторых случаях это может и удобно конечно, но мне нужно именно на одном мониторе запускать приложение. Благодарю!

unclechu
()

Отображение кнопок окон только от текущего рабочего стола

 , ,

Доброго времени суток! Запилил себе на xubuntu Compiz. Есть небольшая проблема. Использую Expo для переключения по рабочим столам, но на панели xfce отображаются кнопки окон со всех рабочих столов, хотя в настройках элемента «кнопок окон» панели xfce ничего такого не стоит. Подскажите, как сделать так, чтобы отображались кнопки окон только по текущему рабочему столу?

unclechu
()

Компенсация задержки JACK в WineASIO

 ,

Доброго времени суток! Я пользуюсь Reaper под Wine, пробрасывая его в JACK через WineASIO. Есть у меня проблема с компенсацией задержки, в Reaper в Options → Audio → Recording стоит галочка: “Use audio driver reported latency”, но компенсации задержки после записи дубля всё-равно не происходит, хоть и в правом-верхнем углу показано, что 512spls ~10/10ms ASIO. Ну способ прост, — выставить смещение вручную, учитывая конкретную величину буфера. Я при старте jackd вижу:

period = 512 frames (10.7 ms)
, умножаю это число на 2 (потому что слышу метроном с задержкой вывода, и записываю партию с задержкой ввода), и получаю 21.4, если смещаю дубль на это значение — всё попадает в метроном, но тут методом тыка выяснил вот что, это касается только количества семплов, но есть еще такая штука как кол-во периодов на буффер:
-n, --nperiods int
              Specify  the  number  of  periods  in the hardware buffer.  The
              default is 2.
Я попробовал задать вместо 2-ух значение 64, при запуске всё-тоже значение 10.7, но при записи, даже после смещения, — дубль дико отстаёт, а это говорит о том, что это значение задержки вовсе не учитывается. Подскажите пожалуйста, как получать это значение, чтобы учитывать его при компенсации задержки? И подскажите как получить более точное значение задержки кол-ва семплов — 10.7 тут всего 1 цифра после плавающей точки, 10.7*2=21.4, а qjackctl даёт 21.3, значит значение 10.7 не точное.

Благодарю!

unclechu
()

WINEPREFIX по-умолчанию

 , ,

Доброго времени суток! У меня есть Wine-машина, отличная по пути от стандартного WINEPREFIX, и мне нужно, чтобы эта машина была для пользователя машиной по-умолчанию. То-бишь .exe и .msi файлы должны по-умолчанию разворачиваться с этим WINEPREFIX, я занёс нужны WINEPREFIX в ~/.bashrc, когда открываю .exe или .msi через консоль — всё отлично, но если открываю где-нибудь в thunar-е мышкованием, то файл разворачивается на стандартном ~/.wine, чего мне нужно избежать. Расскажите пожалуйста почему так происходит и как сделать так, чтобы по-умолчанию для пользователя wine-приложения разворачивались с кастомным WINEPREFIX? Благодарю!

unclechu
()

Как работает global в python?

 , ,

Доброго времени суток! Объясните мне пожалуйста как работает global внутри функции python-а? Что он в действительности делает. Вот у меня есть такая задача: внутри модуля есть переменная, и мне нужно из функции внутри класса менять эту переменную, которая одна на весь модуль будет, — могу ли я в этом случае использовать global module_var, — на какую область видимости распространяется global, до ближайшей найденной переменной или всё-таки на реальную глобальную область? Благодарю!

unclechu
()

Emacs — не удаляются буфферы

 

Доброго времени суток. Осваиваюсь в GNU Emacs 24 с недавнего времени, по большей части всё понятно, но появилась проблема, которой раньше не было. Я пользуюсь Starter-Kit, вот мой ~/.emacs конфиг:

(add-hook 'before-save-hook 'delete-trailing-whitespace)
(windmove-default-keybindings 'meta)
(set-default 'truncate-lines t)
(cua-selection-mode t)
(setq scroll-step 1)
(setq-default tab-width 4)
(setq-default indent-tabs-mode nil)
(global-linum-mode)
(line-number-mode t)
(column-number-mode t)

;autocomplete module
(add-to-list 'load-path "~/.emacs.d/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d//ac-dict")
(ac-config-default)
(define-key ac-mode-map (kbd "M-n") 'auto-complete)

;other hot keys
(global-set-key (kbd "C-/") 'auto-fill-mode)
(global-set-key (kbd "<C-f9>") 'compile)
(global-set-key (kbd "C-z") 'undo)
Не пойму с какого времени, но сейчас я не могу удалить буфферы, при загрузке у меня стопка буфферов, при C-x b мне показывает кучу буфферов, открытых ранее, но по C-x k RET они не убиваются, происходит переход куда-нибудь типа к *scratch*, но де факто, — при нажатии C-x b со стопки он никуда не исчезает, не могу понять в чём проблема, некоторым временем ранее они нормально удалялись. Есть у кого идеи где искать проблему. Надеюсь туда написал. Благодарю!

unclechu
()

mingw не собирает приложение на winapi

 , ,

Доброго времени суток! Пытаюсь тут по делу случая написать кое-какое приложение на чистом WinAPI, но при попытке собрать простой пример — получаю ошибку линковки:

i586-mingw32msvc-g++ test.cpp 
/tmp/ccswEQtM.o:test.cpp:(.text+0x70): undefined reference to `_TextOutA@20'
collect2: ld returned 1 exit status
Прошу помочь с решением проблемы, где копать и как понять источник проблемы?

unclechu
()

Посоветуйте FTP-сервер, отвечающий требованиям

 ,

Доброго времени суток! Возникла необходимость в FTP-сервере для обмена файлами. Изначально используем ProFTPd, по-умолчанию можно отправиться в корень файловой системы, этого нам не надо, может proftpd конечно как-то настраивается — подскажите тогда в таком случае как пожалуйста. В целом нужна авторизация по пользователю, чтобы для пользователя его домашняя директория была корнем, а не как делает по-умолчанию proftpd: ftp://server/home/user/ и так же очень нужно чтобы симлинки в FTP становились обычными директориями. Подскажите пожалуйста чем и как решить мою задачу. Простите, если плохо искал. Благодарю!

unclechu
()

xubuntu скрипт запуска xrandr при авторизации пользователя

 ,

Доброго времени суток!

У меня такая задача, — расширить рабочий стол на два монитора. Один нюанс — на двух мониторах разные фоновые изображения. Создал скрипт для применения нужных параметров через ARandR:

xrandr --output VGA-1 --mode 1280x1024 --pos 1920x0 --rotate normal --output DVI-I-1 --off --output HDMI-1 --off --output DVI-I-2 --mode 1920x1080 --pos 0x0 --rotate normal
После загрузки запускаю скрипт — всё отлично, всё так, как и ожидалось. А вот если ставлю скрипт в автозагрузку, то тут проблема, на мониторе, который больше по размеру, — наложен от нулевых координат (0х0) фон другого монитора поверх его собственного. Я даже пробовал sleep делать, — не помогало. В чём разница между ручным запуском и автоматическим? И как добиться поведения, как если бы я запустил скрипт вручную, чтобы фон не перескакивал на другой монитор?

Благодарю!

unclechu
()

E-MU 0202 и high speed против full speed для Behringer UCA200

 ,

Доброго времени суток, озадачила меня тут одна ситуация. Я намерен применять компьютер в живой игре на гитаре и мне нужна минимально-возможная задержка буферизации. Есть у меня простенькая карта, которая прилагалась к пульту как приятный бонус Behringer UCA200 (карта фонит противной чистотой, ламповый peavey усиливает эту частоту многократно, не айс), есть так же временно взятая на пользование E-MU 0202. Разумеется использую JACK, вычислил максимальную задержку для комфортной игры — 48 семплов.

Начну сразу с:

$ cat /proc/asound/cards
 0 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xf0500000 irq 16
 1 [CODEC          ]: USB-Audio - USB Audio CODEC
                      Burr-Brown from TI USB Audio CODEC at usb-0000:00:13.0-5, full speed
 2 [Generic        ]: HDA-Intel - HD-Audio Generic
                      HD-Audio Generic at 0xf0220000 irq 45
 3 [USB            ]: USB-Audio - E-MU 0202 | USB
                      E-MU Systems, Inc. E-MU 0202 | USB at usb-0000:00:13.2-3, high speed
И тут же меня сразу смутила приставка high speed у E-MU, против full speed для UCA200, это как же так, дешёвая примитивная карта даёт более быстрый отклик, чем E-MU? На практике оказалось, что так оно и есть. E-MU при 48 семплах вскоре встаёт колом и непрерывно сипет dropuot-ами, но можно стартануть на 32 семплах, только толку не будет, работать не будет. А вот UCA200 держится на 48 семплах нормально, но вот с 32-мя семплами запускать не хочет. Доктор, скажите, — это нормально?

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

P.S. Заодно я хочу спросить — что такое периоды буффера в JACK (buffer = 2 periods) и как из них считать задержку?

unclechu
()

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