Cum să aveți ecranul de conectare prin VNC în Oracle Linux? (Unix, Centos, Vnc, Oracle Vm Server)

Gh0sT a intrebat.

Practic, ceea ce caut este o caracteristică similară cu RDP pe Windows. Ar trebui să pot vizualiza ecranul de conectare prin VNC Viewer. Chiar dacă serverul este repornit, ar trebui să pot să îl accesez prin VNC Viewer. În prezent, cineva trebuie să obțină mai întâi consola prin OVM (toate acestea sunt VM-uri), să se conecteze și numai apoi este posibilă o teleportare prin VNC Viewer.
Știu că această întrebare a fost pusă aici anterior [ref1] [ref2], de asemenea aici dar până acum nu am avut succes în încercările mele. Poate cineva să ofere un ghid detaliat despre cum să procedez pentru a realiza acest lucru?

  • OS: Oracle Linux 5
  • VNC rpm : vnc-server-4.1.2-14.el5_6.6

Actualizare 1 – VNC la nivel de utilizator

Bine, am urmat toate informațiile enumerate aici

  • M-am logat la server prin PuTTY folosind root (pentru că acesta este contul pe care trebuie să-l folosesc pentru logarea prin VNC).
  • Am rulat vncpasswd și am setat parola de conectare VNC.
  • Am salvat parola script ca /etc/init.d/vncserver după ce am modificat următorii parametri:
    • USER=”root”
    • DISPLAY=”1″
  • A făcut chmod +x /etc/init.d/vncserver.
  • A făcut chkconfig --level 2345 vncserver on.
  • Did vi /root/.vnc/xstartup și am descompletat liniile:
    unset SESSION_MANAGER
    exec /etc/X11/xinit/xinitrc
    

    și a schimbat ultima linie din twm & în startx & (deoarece folosesc GNOME).

  • Am repornit serverul.

Acum am putut să mă conectez cu succes la server prin VNC Viewer. Acest lucru funcționează chiar dacă serverul este repornit. Cu toate acestea, se ocolește ecranul de blocare și nu se solicită parola. Pentru aceasta a trebuit să configurez o parolă prin System > Preferences > Remote Desktop.
Notă importantă: Așa cum @slm a descris mai jos, această metodă oferă acces VNC la nivel de utilizator. Ceea ce înseamnă că puteți crea mai mulți utilizatori și să le oferiți acces VNC separat. Fiecare utilizator va avea un desktop unic. Totuși, acest lucru nu era exact ceea ce căutam eu!

Actualizare 2 – VNC la nivel de sistem, ca RDP pe Windows

După ce am implementat soluția lui @slm, mi-am dat seama că la asta mă gândeam de fapt când am pus această întrebare. Am urmat exact ceea ce a spus el. Este mult mai simplu! Câteva lucruri pe care aș dori să le adaug:

  • Nu a fost nevoie să instalez x11vnc. Am folosit doar rpm-ul vnc care era instalat implicit.
  • /etc/X11/xorg.conf lipsea un fișier. Pentru a-l crea am făcut următoarele: (Sursa)

    • Ca root executați: Xorg :1 -configure. Acest lucru va crea fișierul /root/xorg.conf.new
    • cp /root/xorg.conf.new /etc/X11/xorg.conf

Am urmat restul instrucțiunilor. Am repornit gdm și Voila! A funcționat! Am reușit să văd ecranul de conectare prin VNC Viewer, exact ca RDP pe Windows. A funcționat chiar și după repornirea serverului. Minunat!

2 răspunsuri
slm

Pentru a adăuga la răspunsul lui @Timo se pare că există 3 moduri de a configura accesul VNC.

  1. La nivel de utilizator (asta e ceea ce folosiți acum)
  2. La nivel de sistem
  3. La nivel de gazdă (când rulează în interiorul unei VM) – aceasta este sugestia lui Timo.

NOTĂ: Acest tutorial arată cum se face #1, , se numește: Cum se instalează serverul VNC pe CentOS 6.

Dacă vă gândiți pentru o secundă #3 este de fapt doar o altă formă de #1 & #2, , în funcție de locul în care oferiți acces la desktop. La nivel de utilizator (#1) sau la nivel de sistem, (#2).

Așadar, cred că ceea ce doriți este de fapt #2. Pentru a obține acest tip de configurare de lucru există în principiu 2 metode pe care le cunosc.

x11vnc

Puteți instala pachetul x11vnc și apoi să-l utilizați pentru a obține acces la sesiunea X11 curentă pe un sistem la distanță. Este în general în majoritatea distribuțiilor bazate pe Red Hat, așa că nu mă voi ocupa de instalare, dar odată instalat, trebuie să ssh într-un sistem pe care doriți să accesați consola de afișare (:0.0) și rulați-l manual astfel:

$ x11vnc -nopw -display :0.0

Există metode pentru a face acest lucru mai permanent, astfel încât să ruleze doar ca parte a sesiunii. O astfel de metodă este discutată în această postare de pe blog, intitulată: x11vnc pe CentOS5 cu GDM.

X11 + vnc

Cea de-a doua metodă este de a instala un modul/driver în X11, astfel încât să vă puteți conecta la orice desktop X11 care rulează. Cel cu care sunt familiarizat se numește vnc. Acest driver trebuie instalat în configurația X a sistemului gazdă pentru a putea accesa managerul de logare al sistemului. Nu sunt sigur ce este pe Oracle (cel mai probabil este GDM – GNOME Display Manager), deoarece derivă din RHEL.

Vestea bună este că dacă ați instalat pachetul vnc-server aveți deja instalat driverul X11. Pur și simplu adăugați-l în configurația X11 a sistemului gazdă.

În primul rând va trebui să adăugați această linie în fișierul dvs. xorg.conf‘s Module secțiunea

# /etc/X11/xorg.conf
Section "Module"
  Load "vnc"
EndSection

Apoi, va trebui să adăugați mai multe linii la același fișier Screen secțiune:

Option "SecurityTypes" "VncAuth"
Option "UserPasswdVerifier" "VncAuth"
Option "PasswordFile" "/root/.vnc/passwd"

În cele din urmă configurați o parolă pentru această conexiune, folosind instrumentul vncpasswd, , apoi reporniți X.

Referințe

Comentarii

  • Bună ziua… vă rog să vedeți actualizările mele. –  > Por Gh0sT.
  • @Gh0sT – pentru început ai putea să dezactivezi vncserver serviciul. chkconfig --level 2345 vncserver off. Apoi, fie reporniți sau opriți-l dacă este pornit. /etc/init.d/vncserver stop. –  > Por slm.
  • @Gh0sT – Încercați comanda yum search libvnc.so pentru a o localiza. –  > Por slm.
Timo

În loc de a rula vnc-server pe serverul propriu-zis, ar trebui să vă conectați (folosind VNC) la OVM direct prin intermediul setărilor din VirtualMachine: Settings → Display → Remote Display.

În TAB-ul respectiv, activați serverul (asigurați-vă că ați marcat numărul de port pe care l-ați selectat), acesta este un server VNC și vă puteți conecta cu clientul dvs. normal.