среда, 22 октября 2014 г.

Ошибка установки dotnet4.0 в wine64

На amd64 с помощью winetricks пытаемся ставить dotnet40:
winetricks dotnet40
DВ результате получаем ошибку вида:

 "Same or higher version of .NET Framework 4 has already been installed on this computer."
 О том, что такая или более свежая версия dotnet4 уже установлена. После чего установка не может продолжиться.

Чистка реестра в wine не помогает.

Что нужно сделать:
1. Создаём 32-х битное окружение wine (директорию .wine32_new создавать перед этим не нужно!):
export WINEPREFIX=/home/ваш_пользователь/.wine32_new
export WINEARCH=win32
winboot
2. Чистим реестр:
wine regedit
Удаляем каталог v4 в HKEY_LOCAL_MACHINE/Software/Microsoft/NET Framework Setup/NDP/

После чего можно ставить с помощью winetricks:

winetricks dotnet40

воскресенье, 5 октября 2014 г.

Не работают несколько приложений с pulseaudio

Долго не доходили руки победить эту странность.
Пытался и так и эдак - запускал пульсу как демона, крутил dmix и т.п.

Оказалось всё проще:
Демон музыки mpd был запущен под своим пользователем и запускал свою собственную пульсу, которая конфликтовала с пульсой пользователя.
Если посмотреть список запущенных процессов на предмет pulse, то должны получить:

root@sky:/home/Serega# ps aux|grep puls
Serega    4629  1.1  0.3 809848  7160 ?        S<l  09:47   0:28 /usr/bin/pulseaudio --start --log-target=syslog
Serega    4636  0.0  0.1  95964  2652 ?        S    09:47   0:00 /usr/lib/pulseaudio/pulse/gconf-helper
root     26119  0.0  0.0  14844   884 pts/4    S+   10:29   0:00 grep --color=auto puls




И такая ситуация должна быть при любых запущенных программах, использующих звук. Только один пользователь.

В моём случае, был ещё mpd-пользователь. Пришлось переделать запуск mpd под пользователя Serega.

До этого пытался pulse запускать как демона, но в документации пульсы не советуют этого делать (хотя кажется логичным такое решение).

Ну и на последок, у меня пульса скисла под моим пользователем. Пришлось снести её конфиги для конкретного пользователя:
rm -rf /home/Serega/.pulse
rm -rf /home/Serega/.pulse-cookie

После этого она заново их создала и всё заработало.

Более того, при проигрывании любых звуков через что бы то ни было - программа pavucontrol должна отображать это на вкладке "Проигрывание". Иначе проигрывается через что-то другое (напрямую через алсу, или через свою пульсу?).

Ещё советуют прописать в конфигах для алса-приложений использование пульсы:

Serega@sky $ cat /home/Serega/.asoundrc
pcm.pulse { type pulse }
ctl.pulse { type pulse }
pcm.!default { type pulse }
ctl.!default { type pulse }


Эти записи необходимы для перенаправлений запросов к альсе на пульс. Однако может случиться, что пульс будет пытаться подключиться к альсе, а она перенаправлять на пульс и пульс не будет стартовать.
У меня это возникло из-за опции:
pcm.!default { type pulse }

Однако опция:
ctl.!default { type pulse }
Оказалась очень удобной, т.к. по умолчанию для утилит регулировки громкости алсы выбирает регулировку пульсы (проверить можно запустив alsamixer).
Благодаря этому можно управлять громкостью пульсы в косносли с помощью команд:
amixer set 'Master' 500+
и
amixer set 'Master' 500-

Для отладки пульсы можно использовать следующий метод:
killall pulsaudio
pulsaudio -vvvvv

Успехов!