VNC terminál szerver Gentoo Linuxon

Hozzávalók:

  • xorg-server
  • vnc
  • gdm
  • xinetd

Az utolsó menüpont csúnyán hangzik, de ez a legjobb döntés, mert így nem fut feleslegesen egy X ha nincs senki belógva.
A fent említett csomagokat emergeljük fel, majd kezdjük meg a konfigurálást.
A szokott módon gyártsunk egy működőképes X konfigot a /etc/X11/xorg.conf helyre, ahol a billentyűzetet, meg ilyeneket is konfigoljunk fel.

Írkáljunk ilyeneket a /etc/services fájlba:


vnc-10		5910/tcp
vnc-11		5911/tcp
vnc-12		5912/tcp
vnc-13		5913/tcp
vnc-14		5914/tcp

Ezután készítsük fel a xinetd-t:
[code]
## /etc/xinetd.d/xvncserver
service vnc-10
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
only_from = localhost 192.168.1.0/24
server_args = -inetd -query localhost -once -geometry 800x600 -securitytypes=none -depth 16
}

service vnc-11
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
only_from = localhost 192.168.1.0/24
server_args = -inetd -query localhost -once -geometry 800x600 -securitytypes=none -depth 16
}

service vnc-12
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd -query localhost -once -geometry 800x600 -securitytypes=none -depth 16
only_from = localhost 192.168.1.0/24
}

service vnc-13
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
only_from = localhost 192.168.1.0/24
server_args = -inetd -query localhost -once -geometry 800x600 -securitytypes=none -depth 16
}

service vnc-14
{
protocol = tcp
socket_type = stream
wait = no
user = nobody
server = /usr/bin/Xvnc
only_from = localhost 192.168.1.0/24
server_args = -inetd -query localhost -once -geometry 800x600 -securitytypes=none -depth 16
}
[/code]
A xinetd-s konfigba mindegy, hogy milyen nevet adunk a szolgáltatásnak, de a /etc/services-ben is ilyen névvel kell szerepeljen, hiszen csak így képes a xinetd valós tcp porthoz kötni azt.
A server_args-ban sokmindent megváltoztathatunk, arra azonban figyeljünk oda, hogy a -securitytypes=none kiszedése esetén meg kell adnunk egy jelszófájlt is az Xvnc szervernek (a gdm mindenképpen külön authentikál).

Ezek után már csak a gdm konfigurálása van hátra (csak azokat a részeket írom ide, amit meg kell változtatni):


## /etc/X11/gdm/custom.conf

[xdmcp]
Enable=true

[servers]
# Nem akarjuk, hogy normál X is fusson a gépen (ha mégis, ezt a sort töröljük)
0=

A /etc/conf.d/xdm-ben állítsuk be a gdm-et default xdm providernek, majd indítsuk el a xinetd-t és a gdm-et is.
Ha szerencsénk van, egy engedélyezett távoli gépről rávnc-zve a szerverre a gdm üdvözlőképernyője fogad minket. Használjuk a szokott módon.

A fenti konfig egy négycsatornás VNC terminálszervert ad, de elvben minden csatorna több usert is tud fogadni. iptables alapú szeparációval korlátozhatjuk az ezekhez történő hozzáféréseket, illetőleg az Xvnc szerver argumentumainak okszerű módosításával különbőző konfigurációjú vnc szervereket tehetünk az adott portokra.

Hozzászólások

Mivel csak en hasznalom, de szeretnem ha megmaradna a sessionom, nekem ilyet kellett megadni az xinetd configban:


        server_args = :50 -inetd -query localhost -once -geometry 850x600 -depth 16 -fp /usr/X11R6/lib/X11/fonts/misc/ -co /usr/X11R6/lib/X11/rgb \
-auth /etc/Xauthority -SecurityTypes=VncAuth -PasswordFile=/etc/vncpassword -NeverShared -DisconnectClients=0 -dpi 75

ezzel csak az a gond, hogy valamelyik parameter miatt a net-misc/vnc-4.1.2-r4-t kell hasznalnom, ami meg nem megy ossze a friss xorg-al (vagy valami hasonlo kavaras volt anno). :/

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Ezt mér' nem a wikibe írod rögtön? De komolyan....

Nem is tudom. Ezeket ugy leirogatom, javitgatom, szepitgetem, elvannak magukba is, ha nem bantom. Egyszer irtam wiki cikket, azota se toltottem fel hozza a megfelelo forrasokat (talan mar az a virtualis gep sincs meg, amit akkor toltam). Valahogy idegenkedem a wikitol, ide meg elszosszenem magam, es ha keresem, akkor tudom, hogy a blogomba megvan.

De lehet az lesz, h kerek wiki accot, de elobb ide postolok, aztan ha legalabb elolvassa valaki rajtam kivul, akkor mehet wikibe. De ezen meg gondolkodom. Viszont konnyen meggyozheto vagyok.

Elnézést kérek, lehet, sőt biztos én vagyok a hülye, de ez mire jó?
Tudom mire van a vnc, de magát a témát nem értem.
Ez egy géphez ad hozzáférést több felhasználónak? Vagy mi?

Valaki elmagyarázná!
Köszi előre is

Igen. Egyszerre 5 kapcsolatot tud kezelni, valami inteligens balancerrel meg lehet oldani, hogy forwardolva legyen a megfelelo portra. Nekem csak azert kellett, mert gui-s cuccokat kellett adminolnunk. Kulonben bekorlatozhato 1 portra is. A lenyeg az, hogy nem vnc authot ker, hanem rendes X-es DM authot. Sokkal jobban nez ki.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Chrunchbang-en a következőképp zajlik. Ezzel megmarad a session (thx 4 Elbandi):

apt-get install vnc4server xinetd

nano /etc/xinetd.d/xvncserver

service vnc-10
{
protocol = tcp
socket_type = stream
wait = yes
user = nobody
server = /usr/bin/Xvnc
server_args = -inetd :50 -query localhost -once -geometry 1440x900 -depth 16 -auth /etc/Xauthority -SecurityTypes=VncAuth -PasswordFile=/etc/vncpassword -NeverShared -DisconnectClients=0 -dpi 75
}

nano /etc/services

...
# A fájl aljára
vnc-10 5910/tcp

XDMCP-t engedélyezni lehet a "gdmsetup"-al vagy beírni szépen:
nano /etc/gdm/gdm.conf

...
# NOTE: Lines that begin with "#" are considered comments.
#
# Have fun!

[daemon]

RemoteGreeter=/usr/lib/gdm/gdmgreeter

[security]

[xdmcp]
Enable=true

[gui]
...

Majd reboot és működik. A felbontást érdemes átállítani. Köszi a leírást.