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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-03-22 10:57:35

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Uruchamianie aplikacji graficznych w LXC

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:

Kod:

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

Kod:

startx -- :8 vt8

Offline

 

#2  2014-03-22 13:08:28

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Uruchamianie aplikacji graficznych w LXC

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2014-03-22 13:40:35

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Uruchamianie aplikacji graficznych w LXC

588

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 00:48:04)

Offline

 

#4  2014-03-22 13:42:38

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

A te nody w /dev tworzyć? Tam po instalacji sterów nvidii się tylko utworzyły /dev/nvidia0 i /dev/nvidiactl

Offline

 

#5  2014-03-22 14:00:19

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Uruchamianie aplikacji graficznych w LXC

[quote=uzytkownikubunt]A jak z listą kontroli dostępu w X? U mnie tak wygląda:

Kod:

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]

Kod:

xhost +localhost

???

Kod:

xhost local:+

???

Ostatnio edytowany przez Jacekalex (2014-03-22 14:01:42)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#6  2014-03-22 14:31:05

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

A tak tylko eszcze zapytam, ten DM to muszę również zainstalować na hoście czy tylko w lxc? Bez DM (na hoście) da radę się w to bawić w ogóle?

Offline

 

#7  2014-03-22 14:43:17

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Uruchamianie aplikacji graficznych w LXC

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#8  2014-03-22 14:48:47

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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

 

#9  2014-03-22 15:52:48

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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

Kod:

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

 

#10  2014-03-23 15:16:26

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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

 

#11  2014-03-23 18:53:05

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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ą:

Kod:

# startx -- :0 vt8

Choć to trochę dziwne, bo

Kod:

$ 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

 

#12  2014-03-23 19:05:37

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: Uruchamianie aplikacji graficznych w LXC

A jak można przyrównać LXC? Do Chroota?

Fervi

Offline

 

#13  2014-03-23 19:19:40

  uzytkownikubunt - Zbanowany

uzytkownikubunt
Zbanowany
Zarejestrowany: 2012-04-25

Re: Uruchamianie aplikacji graficznych w LXC

597

Ostatnio edytowany przez uzytkownikubunt (2016-12-01 00:48:15)

Offline

 

#14  2014-03-23 20:35:26

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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

 

#15  2014-03-24 15:13:51

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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

 

#16  2014-03-25 13:15:49

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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

Kod:

# 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:

Kod:

192.168.1.2 lxc.mhouse lxc

Kod:

$ 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ć:

Kod:

#!/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:

Kod:

morfik@lxc:/wow$ export DISPLAY="morfikownia.mhouse:0"

I można grać:

Kod:

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

 

#17  2014-03-25 17:13:12

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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:

Kod:

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

 

#18  2014-03-25 18:06:06

  thomsson - Dyskutant

thomsson
Dyskutant
Zarejestrowany: 2011-10-26

Re: Uruchamianie aplikacji graficznych w LXC

@Morfik: Może jakiś tutek? (Coś w stylu twojej wielkiej instrukcji instalacji Debiana on scratch) BO nie powiem, że interesuje mnie strasznie LXC


ilin napisał
[i]"DUG to tez moja mała ojczyzna"[/i]

Offline

 

#19  2014-03-25 19:07:46

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

Będzie artykuł z tego, jak tylko jeszcze doczytam parę rzeczy. xD

Offline

 

#20  2014-03-25 21:19:34

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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

 

#21  2014-03-25 21:23:03

  fervi - Użytkownik

fervi
Użytkownik
Zarejestrowany: 2010-03-14

Re: Uruchamianie aplikacji graficznych w LXC

Możesz sprawdzić jak LXC działa z Virt managerem?

Fervi

Offline

 

#22  2014-03-25 21:51:57

  garrick - Użytkownik

garrick
Użytkownik
Zarejestrowany: 2013-12-30

Re: Uruchamianie aplikacji graficznych w LXC

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


Debian/xfce/*box

[url=https://docs.google.com/document/d/1J2tqbLFvsfIAh9QaagiLQWFMoN6CxPsGmo9jRVW7Klk/edit?usp=sharing][img]http://s18.postimg.org/x7bxep3t1/res.gif[/img][/url]

Offline

 

#23  2014-03-25 21:58:41

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

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

 

#24  2014-03-25 22:20:08

  garrick - Użytkownik

garrick
Użytkownik
Zarejestrowany: 2013-12-30

Re: Uruchamianie aplikacji graficznych w LXC

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


Debian/xfce/*box

[url=https://docs.google.com/document/d/1J2tqbLFvsfIAh9QaagiLQWFMoN6CxPsGmo9jRVW7Klk/edit?usp=sharing][img]http://s18.postimg.org/x7bxep3t1/res.gif[/img][/url]

Offline

 

#25  2014-03-25 22:36:44

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Uruchamianie aplikacji graficznych w LXC

No nawet działa, może nawet się przy okazji pulse pozbędę.

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.012 seconds, 12 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00086 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.138.36.168' WHERE u.id=1
0.00082 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.138.36.168', 1733076401)
0.00041 SELECT * FROM punbb_online WHERE logged<1733076101
0.00066 DELETE FROM punbb_online WHERE ident='85.208.96.196'
0.00054 SELECT topic_id FROM punbb_posts WHERE id=261238
0.00212 SELECT id FROM punbb_posts WHERE topic_id=25476 ORDER BY posted
0.00062 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.00006 SELECT search_for, replace_with FROM punbb_censoring
0.00131 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.00084 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25476
Total query time: 0.00838 s