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/.
Bawił się ktoś kontenerami LXC? Udało mi się zrobić jeden z działającym netem i próbowałem skonfigurować go tak by dało radę odpalić coś graficznego w nim. W oparciu o te dwa linki: http://blog.mraw.org/2011/04/05/Running_X_from_LXC/ oraz http://unix.stackexchange.com/questions/18003/linux-lxc-deploying-images-with-tiniest-possible-x11 zrobiłem taki config:
lxc.rootfs = /media/Server/lxc_wine/my32bitbox/rootfs # Common configuration lxc.include = /usr/share/lxc/config/debian.common.conf # Container specific configuration lxc.mount = /media/Server/lxc_wine/my32bitbox/fstab lxc.utsname = my32bitbox lxc.arch = i386 #lxc.network.type = empty lxc.network.type = veth lxc.network.name = veth0 lxc.network.flags = up lxc.network.link = br0 lxc.network.veth.pair = veth0-sid lxc.network.ipv4 = 192.168.1.1/24 lxc.network.ipv4.gateway = 192.168.1.254 # nvidia lxc.cgroup.devices.allow = c 195:0 rwm lxc.cgroup.devices.allow = c 195:255 rwm # fb0 lxc.cgroup.devices.allow = c 29:0 rwm # tty 7 i 8 lxc.cgroup.devices.allow = c 4:7 rwm lxc.cgroup.devices.allow = c 4:8 rwm # input lxc.cgroup.devices.allow = c 13:* rwm
Kazali zainstalować xorga i stery nvidii w lxc, zainstalowałem. Ale gdy przychodzi do odpalenia sesji graficznej przez startx , system się tak jakby zawiesza, tzn system pracuje dalej jak pracował, muzyczka leci, jest to charakterystyczne przełaczenie się między czarnym ekranem tty a xserverem, nawet pojawia się xterm, w każdym razie jest tam konsola. Problem w tym, że nic się tam nie da zrobić. mysza nie działa, klawiatura też. Nie mogę wrócić do swojej sesji xservera przez ctrl+alt+7 i pozostaje tylko reboot pc. O dziwo sysrq działa. Nie wiem czy to środowisko się zawiesza czy nie działają tylko klawiatura i mysza w tym środowisku.
Myślałem, że to może wina odpalonej sesji xservera i wyłączyłem tą swoją i pod tty odpaliłem kontener i tam wstukałem startx ale efekt był taki sam.
Startx w lxc jest wywoływany przez
startx -- :8 vt8
Offline
Te stery Nvidii mnie trochę dziwią.
Całych X-ów nie podnosiłem, zdarzało mi się podnosić jakiś program odpalony na virtualce KVM albo z chroota, i zawsze wszystko działało, jak się podniosło obsługę sieci i słuchanie na mostku (KVM) w Xorgu.
Spróbowałbym się logować do LXC z poziomu managera logowania, przez [url=https://wiki.archlinux.org/index.php/xdmcp]Xdmcp[/url], albo wyeksportować zmienną DISPLAY na adres komputera gospodarza, (to też TCP).
Bo socketów Xorga raczej do LXC nie zamontujesz, ten kontener zdecydowanie nie jest od tego, wręcz przeciwnie, jest po to, żeby tworzyć skrajnie izolowane środowisko względem systemu gospodarza.
Dlatego praktycznie chyba jedynie po TCP można z niego skutecznie wypuścić X-y, jak z każdej maszyny wirtualnej.
Powinno chodzić.
Ostatnio edytowany przez Jacekalex (2014-03-22 13:10:32)
Offline
588
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 00:48:04)
Offline
[quote=uzytkownikubunt]A jak z listą kontroli dostępu w X? U mnie tak wygląda:
trusty@trusty-Aspire:~$ xhost access control enabled, only authorized clients can connect SI:localuser:trusty
Aby całkiem wyłączyć: xhost + wrócić do stanu przed poleceniem: xhost - a dodać użytkownika (ale normalnego lokalnego, bez LXC): xhost +si:localuser:uzytkownik[/quote]
xhost +localhost
???
xhost local:+
???
Ostatnio edytowany przez Jacekalex (2014-03-22 14:01:42)
Offline
Raczej na LXC, ale pewności nie mam.
Zobacz tutaj:
https://wiki.archlinux.org/index.php/xdmcp
Ostatnio edytowany przez Jacekalex (2014-03-22 14:43:58)
Offline
Patrze, ale mi się mózg grzeje. xD
Robiłem jeszcze według tego -- http://box.matto.nl/lxcxserver.html . Niby jest podobnie jak na arch wiki i nawet zobaczyłem ten xdm i mysza działała nawet ale klawiatura zdechła. Ubicie przez systrq +k, restartowało tylko xdm.
Offline
Chyba ten DM ma być jednak w kontenerze. Doinstalowałem tam lightdm ale efekt jest taki sam -- odpala się DM, mysza lata, klawiatura nie działa i nic nie można kliknąć. Podmontowałem cały katalog dev i dev/pts do kontenera więc raczej to nie jest wina nodów. Gdzieś czegoś brakuje.
Próbowałem też ten xhost + i usunąłem -nolisten tcp z
exec /usr/bin/X -nolisten tcp "$@"
w pliku .xserverrc ale cały czas to samo.
Może jutro spróbuję wgrać czystego gnome i zobaczę czy tam da radę się podłączyć.
Offline
Chyba już wiem co tu jest nie tak — potrzebna jest manualna konfiguracja Xorga. Bo jak piszą w jednym linku:
First things first (and unless I missed something), udev + LXC = fail. So let’s install it, note that it can’t be configured, edit /var/lib/dpkg/info/udev.postinst, add exit 0 at the top, and dpkg --configure udev.[/quote]
w drugim zaś:I also manually configured input devices (since we don't have udev in container)[/quote]
I tam podał kolo plik konfiguracyjny tylko jest taki problem. Mi xorg wyłącza te urządzenia co mająKod:
Driver "kbd"Dlatego mi nie działa ani mysza ani klawiatura. W jeszcze innym linku wyczytałem, że:
Basic Xorg with the vesa driver and the old style input (no hal input hotplugging) works if you bind mount in /dev/tty7 (or another tty), /dev/mem, /dev/dri and /dev/input.[/quote]
Przeszedłem narazie na podstawowy model czyli nouveau i domyślne środowisko, choć zamiast gnome to mi się xfce zainstalowało. xD Wyłączyłem udeva, przepisałem nody i włączyłem je w konfiguracji lxc ale nie wiem jak skonfigurować tego Xorga by włączył myszę i klawiaturę. Jakiś pomysł?Offline
It's alive, it's alive!!!! xD
Bez żadnego DM, bez mieszania w xhost. Problem tkwił w złej konfiguracji xorga, dla klawiatury i myszy, tak jak mówiłem. Obecnie łączę się z lxc za pomocą:
# startx -- :0 vt8
Choć to trochę dziwne, bo
$ ps -eo user,group,pid,args | grep X root root 4576 /usr/bin/X -nolisten tcp :0 -auth /tmp/serverauth.P20NIdP1VS $ xhost access control enabled, only authorized clients can connect
A tu dowód, że działa xD
[url=http://en.zimagez.com/zimage/skrin8.php][img]http://en.zimagez.com/miniature/skrin8.png[/img][/url]
Jeszcze to potestuję, i może jakąś grę się uda na tym odpalić przez wine 32bit. xD
Offline
A jak można przyrównać LXC? Do Chroota?
Fervi
Offline
597
Ostatnio edytowany przez uzytkownikubunt (2016-12-01 00:48:15)
Offline
Tzn różnice między chroot i lxc?
No choćby urządzenia, w chroot nie masz możliwości określenia z jakich urządzeń będzie ci chroot korzystał, bierze cały /dev/ , a w lxc można sprecyzować. Ten lxc nie korzysta z ustawień sieci hosta, albo może i tam jest profil, mój ma nat ustawiony i na iptables łapie połączenia. Dodatkowo lxc jest kontrolowany przez cgroups, jak narzucisz ograniczenia chrotowi by zjadał 50% proca czy 1GiB ramu? I procesy chyba jeszcze się różnią, bo w chroot jak zamontujesz /proc to widzisz to co ma host, a w lxc widzisz tylko procesy od lxc, nie widać procesów hosta, ale host widzi procesy lxc. xD I tam jeszcze pare innych bajerów się znajdzie.
EDIT:
A jeszcze takie pytanko. Czy proces xservera nie powinin być jeden? Bo u mnie są dwa i oba zjadają po 60MiB. Wygląda mi na to, jakby maszyna sobie własny x-server postawiła i się z nim łączyła a nie z tym moim. To by tłumaczyło, czemu to działa. xD
Tego wine teraz i tak nie sprawdzę, muszę czekać aż stery do nvidii wrzucą.
Ostatnio edytowany przez morfik (2014-03-23 21:21:15)
Offline
Nareszcie mi się udało:
[url=http://en.zimagez.com/zimage/skrin9.php][img]http://en.zimagez.com/miniature/skrin9.png[/img][/url]
wine 32bit, lxc 32bit i wow 32bit. xD
Trochę lipa, że to się odpala na roocie. Jeszcze to się trochę doszlifuje i będzie nawet ciekawe środowisko dla gier .
Offline
Kolejny update.
Nie ma potrzeby uruchamiania kolejnej instancji Xservera i to jeszcze jako root, tak jak pokazane wyżej. Można się łączyć do istniejącego już servera ale potrzebnych jest kilka modyfikacji:
Po pierwsze trzeba używać tego xhost i oznaczyć maszyny, z których mogą przychodzić połączenia. Można albo ip albo po naziwe
# xhost access control enabled, only authorized clients can connect INET:192.168.1.2 SI:localuser:morfik
Jeśli nazwa to trzeba dodać pierw linijkę do /etc/hosts na głównej maszynie:
192.168.1.2 lxc.mhouse lxc
$ xhost access control enabled, only authorized clients can connect INET:lxc.mhouse SI:localuser:morfik
I teraz po ustawieniu hostów trzeba dostosować linijkę od xservera, można sobie utworzyć plik: '/home/morfik/.xserverrc' i tam dodać:
#!/bin/sh #exec /usr/bin/X -nolisten tcp "$@" exec /usr/bin/X "$@"
Reboot x-servera i po zalogowaniu się na maszynę, nawet na zwykłego usera:
morfik@lxc:/wow$ export DISPLAY="morfikownia.mhouse:0"
I można grać:
morfik@lxc:/wow$ WINEDEBUG=-all wine Wow.exe
i obrazek. xD
[url=http://en.zimagez.com/zimage/2014-03-25-130819.php][img]http://en.zimagez.com/miniature/2014-03-25-130819.png[/img][/url]
W końcu jest tak jak być powinno, tylko jeszcze trzeba by dźwięk dorobić i coś pokombinować z tym pulseaudio serverem ale większość roboty już z głowy.
A tu jeszcze takie ciekawe staty:
[img]http://oi60.tinypic.com/nvzjhe.jpg[/img]
Szybkie machanie myszą generuje 200pakietów i zjada 15kb/s xD
Ostatnio edytowany przez morfik (2014-03-25 13:55:40)
Offline
Zrezygnowałem z tego xhost na rzecz xauth i tego ciasteczka, które zezwala określonym użytkownikom na łączenie się do servera, co wymagało odpalenia xservera przez:
exec /usr/bin/X "$@" -auth "$HOME/.Xauthority"
No i tak w ramach testów przepchnąłem całą sesję przez ssh. xD Przydatne ale raczej zbędne na localhoście, bo nic mi między eth i virtualnym eth nie będzie siedzieć i podsłuchiwać i można zostawić odkryte połączenie.
Co ciekawe, to połączenie przez ssh ma konfigurację dla xservera i niby zmienna display różni się, to i tak działa wyświetlanie zdalne. Jest mał niedogodność przy przeciąganiu okienek przy połączeniu przez ssh -- spory lag jest i xorg zjada przy tym 100% procka. To tylko występuje przy przeciąganiu okien, nawet tych lokalnych, poza tym, nawet normalnie wszystko działa.
To jeszcze tylko dźwięk ogarnąć i można poskładać to do kupy. xD
Offline
@Morfik: Może jakiś tutek? (Coś w stylu twojej wielkiej instrukcji instalacji Debiana on scratch) BO nie powiem, że interesuje mnie strasznie LXC
Offline
Zrobiłem dźwięk. Działa to tylko z alsą i rozbija pulse, U mnie to standard chyba, bo mi nigdy alsa nie działała na dwóch programach jednocześnie, zawsze jedna aplikacja zajmowała urządzenie i generalnie by mieć dźwięk nawet na wine na 32bitowej maszynie x lat wstecz to musiałem wyłączać wszelkie inne źródła dźwięku.
Offline
Możesz sprawdzić jak LXC działa z Virt managerem?
Fervi
Offline
mam integre która miksuje do 4 zródeł sprzętowo;)
jak nie masz sprzętowego miksowania w karcie (co teraz jest standardem) to w alsie za to odpowiada dmix
i od 1.0.9rc2 powinno od ręki działać na analogowym wyjściu
http://alsa.opensrc.org/Dmix
Offline
Jak sprawdzić czy się ma, to chyba każdy powinien mieć. xD Mi to nigdy nie działało temu zawsze jechałem na pulse. Ta karta -- http://pl.creative.com/p/sound-blaster/sound-blaster-audigy-se
Fervi -- z czym? xD
Ostatnio edytowany przez morfik (2014-03-25 22:00:33)
Offline
ta karta nie ma sprzętowego miksowania nawet xonar dx nie ma taka polityka teraz producentów
musisz chyba cos w pliku .asoundrc poustawiac
znajdz marke czipu i poszukaj opisu na stronach alsy;)
moze to
http://newinubuntu.blogspot.com/2010/08/dzwiek-51-i-dmix-na-kartach-z-chipsetem.html
pomoze
Offline
Time (s) | Query |
---|---|
0.00012 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00078 | 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='3.15.6.140' WHERE u.id=1 |
0.00057 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.15.6.140', 1732873510) |
0.00041 | SELECT * FROM punbb_online WHERE logged<1732873210 |
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=25476 AND t.moved_to IS NULL |
0.00007 | SELECT search_for, replace_with FROM punbb_censoring |
0.00416 | 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=25476 ORDER BY p.id LIMIT 0,25 |
0.00080 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25476 |
Total query time: 0.00755 s |