Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witam
Używam serwera jackd (dźwięk jest słyszalnie leszy - niż przez alsę),
i w związku z tym pytanie:
W tej chwili serwer działa tylko uruchomiony z konta użytkownika, poleceniem:
jackd -v -d alsa -d hw:0 -r 96000
Jak go skonfigurować (i uruchomić) aby wszyscy użyszkodnicy zalogowani mieli do niego dostęp równocześnie?
Mam na myśli np. skype na jednym koncie i grę na innym (druga konsola graficzna)?
Edit.
Jeśli nie da rady z jackiem to może to działać na samej alsie.
Pozdrawiam
;)
Ostatnio edytowany przez Jacekalex (2011-01-15 12:55:01)
Offline
Nie jestem pewien bo nie testowałem ale możesz spróbować tak.
Dopisz do /etc/environment
JACK_START_SERVER=1
Wówczas jack powinien uruchamiać się na każdym koncie z ustawieniami jakie są zapisane w ~/.jackrc
Ale nie sprawdzałem na kilku kontach.
Offline
Dzięki, spróbuję.
Chociaż ostatnio próbowałem na samej alsie - i tam dźwięk odpalone z konta jednego użyszkodnika blokuje dostęp innych do urządzeń dźwiękowych.
A mam trochę softu(gry, itp) - z Windy, DOSa i trochę i kilka niepewnych programów na Linuxa.
Poza tym często testuję różne dziwne programy, i już kilka razy namieszałem sobie na koncie usera.
I dlatego szukam jakiegoś triku z alsą lub jackiem - który dawałby podobny efekt - jak xhost+ w xserwerze.
EDIt:
Nie da rady, nie ma dostępu do urządzenia dźwiękowego (jackd).
Natomiast w alsie jest płynne przełączanie dźwięku, ale równocześnie na dwóch kontach userów nie działa.
Pozdrawiam
;)
Ostatnio edytowany przez Jacekalex (2010-02-07 00:24:17)
Offline
A próbowałeś może OSS4? Może tam działa w ten sposób...
Zrobiłem taki test:
Zapuściłem muzykę na userze "X" i przełączyłem się na "Y", bezproblemowo udało się i tam zapuścić muzykę w tym samym czasie (dźwięki się na siebie nakładały), nie wiem czy o to dokładnie chodziło, ale jeśli tak to na OSS4 działa bezproblemowo.
Testowałem na Ubuntu ale to raczej bez znaczenia.
Ostatnio edytowany przez Huk (2010-02-09 13:50:01)
Offline
Ja też mam Ubuntu - ale ostatnio oss4 nie chciało się kompilować.
Poza tym - już kiedyś - rok temu - próbowałem oss - i dźwięk był zauważalnie gorszy - niż na alsie - a znacznie gorszy - niż na jacku.
Na jacku (nawet bez opcji realtime) mam dźwięk o wiele lepszy - niż w alsie, pomimo -że wyjściem jacka jest właśnie alsa.
Pozdrawiam
;)
Offline
Witam
[quote=Huk]A próbowałeś może OSS4? Może tam działa w ten sposób...
Zrobiłem taki test:
Zapuściłem muzykę na userze "X" i przełączyłem się na "Y", bezproblemowo udało się i tam zapuścić muzykę w tym samym czasie (dźwięki się na siebie nakładały), [b]nie wiem czy o to dokładnie chodziło, ale jeśli tak to na OSS4 działa bezproblemowo.[/b]
Testowałem na Ubuntu ale to raczej bez znaczenia.[/quote]
Dokładnie o to chodziło, ale po próbach z oss4, jednak jest to trochę nie praktyczne, wolę alsę lub jacka.
Jednak ani jednego, ani drugiego nie udało mi się tak uruchomić w taki sposób.
Najciekawsze klocki mam z jackiem, boki można zrywać:
root $ sudo -u root -g audio jackd -d alsa -d hw:1 Sorry, user root is not allowed to execute '/usr/bin/jackd -d alsa -d hw:1' as root:audio
natomiast kiedy odpalam łobuza z konta usera jackd:
jackd 3905 3.1 2.1 93168 89112 pts/3 SLl+ 07:36 0:00 jackd -R -dalsa -dhw:1 -r96000 -p1024 -n2
wtedy nikt z grupy audio nie ma dźwięku, pomimo że:
id jackd uid=256(jackd) gid=18(audio) grupy=18(audio)
Czyli teoretycznie powinien być.
Przynajmniej z innymi grupami tak to działa.
Teraz próbuję zmusić do takiej pracy alsę - ale tam równocześnie tylko jeden user może mieć dźwięk na karcie w tej samej chwili.
Konfiguracja globalnie w [url=http://jacekalex.sh.dug.net.pl/asound-dmix.conf][b]/etc/asound.conf - dmix[/b][/url].
Natomiast co do oss4 - właśnie usiłowałem to cydo zainstalować z overlaya wg tego howto: http://en.gentoo-wiki.com/wiki/OSS4, ale chyba się trochę zdezaktualizowało, bo nawet nie może znaleźć źródeł:
Emerging (1 of 1) media-sound/oss-4.1.1052-r1 from oss-overlay >>> Downloading 'http://www.4front-tech.com/developer/sources/stable/gpl/oss-v4.1-build1052-src-gpl.tar.bz2' --2011-01-15 07:50:48-- http://www.4front-tech.com/developer/sources/stable/gpl/oss-v4.1-build1052-src-gpl.tar.bz2 Resolving www.4front-tech.com... 64.150.183.243 Connecting to www.4front-tech.com|64.150.183.243|:80... connected. HTTP request sent, awaiting response... 404 Not Found 2011-01-15 07:50:48 ERROR 404: Not Found.
Natomist co do aktualizacji i zabawy w źródelka, na razie wystarcza mi kernel, na który nałożyłem rekordową ilość łatek, - ale cóż, chce być na bieżąco z siecią i bezpieczeństwem, - nie ma omletu bez tłuczenia jajek :).
A konkretnie [url=http://jacekalex.sh.dug.net.pl/patche]taki komplet łatek[/url] :)
Jajo działa bardzo grzecznie i stabilnie, i o dziwo -wszystko działa, chodź z grsec/paxem spodziewałem się większych cyrków.
Wszelkie sugestie mile widziane :)
EDYTA:
Zainstalowałem oss-devel - najnowsza werjsa z git/svn, ale będę musiał nieźle porzeźbić w jaju, żeby go uruchomić:
$ sudo /etc/init.d/oss start * Caching service dependencies ... eth1: error fetching interface information: Device not found [ ok ] * Starting OSS ... Failed to disable conflicting sound drivers Reboot and try running soundon again Also check that you have not compiled sound support statically into the kernel. /dev/mixer: No such file or directory * Failed to start OSS [ !! ] * ERROR: oss failed to start
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2011-01-15 08:26:57)
Offline
Jeżeli chodzi o Dmix+ALSA to rozwiązanie zdaje się wyglądać tak:
Do .asoundrc lub asound.conf dopisujesz definicję dmixera z parametrem "[b]ipc_perm 0666[/b]":
pcm.dmixer { type dmix ipc_key 1025 ipc_perm 0666 slave { pcm "hw:0" period_time 0 period_size 256 #buffer_size 4096 periods 128 rate 44100 } }
U mnie po zmianie parametru dwóch userów mogło grac jednocześnie no problem.
Oczywiście należy pamiętać że jeżeli korzystasz z pliku .asoundrc to każdy user musi mieć jego kopię inaczej będzie bubu ;]
EDIT:
Co do Jack'a to niezbyt optymistycznie to wygląda - google coś tam niby mówi o multi-user support, ale raczej na zasadzie "ktoś komuś gdzieś kiedyś jakiegoś patcha dał ale przyjęty on i tak nie został, a w ogóle to było to dawno i nieprawda..." :/
Wygląda na to że jack niezbyt się lubi z multi-user-enviroment...
EDIt2:
Chociaż tutaj:
https://wiki.archlinux.org/index.php/JACK_Audio_Connection_Kit#Jack_for_a_multi-user_system
Coś niby na ten temat piszą, więc może...
Ostatnio edytowany przez Huk (2011-01-15 12:10:57)
Offline
Dzięki - w dmixie już działa.
A co do jacka - w kilku dystrybucjach podobno działa jako root:audio, i cała grupa audio może z niego korzystać, a u mnie za Chiny Ludowe nie chce tak ruszyć.
Natomiast poczytałem trochę o low latency w alsie, - i w sumie działa tylko nieco gorzej od Jacka (nieco mniejsza dynamika i wyrazistość dźwięku).
Ale generalnie można to wytrzymać :)
<OFTOP>
A po co taka zabawa?
W ten sposób poznaje pancerne zabezpieczenia systemu.
Np pidgin i firefox idą do konta z powłoką /bin/false dodatkowo chronionym przez [url=http://wiki.fiber-hosting.com/Grsecurity_TPE_how-to]tpe[/url], natomiast skype i voip na inne konto, low latency rtprio, - i pierwszeństwo pakietów na interfejsie sieciowym (iptables -I OUTPUT -m owner --uid-owner... -j MARK -set-mark 1 & tc qdisk prio itp).
Łatwiejsze i prostsze od Layer7.
I używając normalnego Desktopa poznaję działanie pancernego serwera, i sporo dowiaduję się o błędach w programach:
Przykład [url=http://jacekalex.sh.dug.net.pl/mprotect]mprotect[/url], ( najprawdopodobniej, lub ochrony stosu?)
2011-01-15T13:16:55.657096+01:00 localhost kernel: [16474.015312] grsec: denied resource overstep by requesting 4096 for RLIMIT_CORE against limit 0 for /usr/bin/id[id:22337] uid/euid:1001/1001 gid/egid:1001/1001, parent /bin/bash[bash:21691] uid/euid:1001/1001 gid/egid:1001/1001
paxctl -v /bin/bash PaX control v0.5 Copyright 2004,2005,2006,2007 PaX Team <pageexec@freemail.hu> - PaX flags: P-S-M--xE-R- [/bin/bash] PAGEEXEC is enabled SEGMEXEC is enabled MPROTECT is enabled RANDEXEC is disabled EMUTRAMP is enabled RANDMMAP is enabled
</OFTOP>
To się nazywa kontrola nad systemem :)
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2011-01-17 06:44:51)
Offline
Strony: 1
Time (s) | Query |
---|---|
0.00020 | SET CHARSET latin2 |
0.00005 | SET NAMES latin2 |
0.00129 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.119.140.103' WHERE u.id=1 |
0.00126 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.119.140.103', 1733993275) |
0.00070 | SELECT * FROM punbb_online WHERE logged<1733992975 |
0.00118 | DELETE FROM punbb_online WHERE ident='18.222.43.11' |
0.00094 | DELETE FROM punbb_online WHERE ident='3.133.128.253' |
0.00095 | SELECT topic_id FROM punbb_posts WHERE id=162632 |
0.00118 | SELECT id FROM punbb_posts WHERE topic_id=16042 ORDER BY posted |
0.00060 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=16042 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00099 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=16042 ORDER BY p.id LIMIT 0,25 |
0.00083 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=16042 |
Total query time: 0.01022 s |