Tiếp theo bài viết hướng dẫn cài đặt VNC Server trên Ubuntu, hôm nay mình sẽ hướng dẫn các bạn cách cài đặt và kết nối VNC Server trên CentOS.

Bạn cần cài đặt với user có quyền root.

1. Cài đặt VNC Server

Cài đặt VNC Server package tigervnc-server và giao diện đồ họa GNOME Desktop. Ngoài ra, bạn có thể sử dụng các giao diện đồ họa khác như KDE hay XFCE-4.4.

# yum install tigervnc-server
## CentOS 6
# yum groupinstall "Desktop"

## CentOS 7
# yum groupinstall "GNOME Desktop"

2. Cấu hình VNC Server

2.1. Thiết lập tài khoản truy cập VNC

Để bảo mật, mình sẽ thiết lập truy cập qua VNC bằng user roothocvps. Trong đó:

  • User root truy cập qua domain:1 với tất cả các quyền.
  • User hocvps truy cập qua domain:2

_ Tạo mới user hocvps: # adduser hocvps

_ Thiết lập mật khẩu khi truy cập VNC bằng user root, lưu tại /root/.vnc/passwd

# vncpasswd

_ Thiết lập mật khẩu khi truy cập VNC bằng user hocvps, lưu tại /home/hocvps/.vnc/passwd

# su hocvps
# vncpasswd
# exit

2.2. Chỉnh sửa cấu hình VNC

2.2.1. Đối với CentOS 6

_ Thiết lập cấu hình truy cập VNC:

Đối với CentOS 6, file cấu hình tại /etc/sysconfig/vncservers. Thêm đoạn sau vào cuối:

VNCSERVERS="1:root 2:hocvps"
VNCSERVERARGS[1]="-geometry 1024x768"
VNCSERVERARGS[2]="-geometry 1024x768"

Trong đó, dòng đầu tiên là quy định user kết nối và port tương ứng, dòng tiếp theo quy định độ phân giải màn hình.

_ Mở port truy cập:

Mở port 590X tương ứng với port X truy cập của VNC Client, cụ thể port 5901, 5902.

# iptables -I INPUT -p tcp --dport 5901:5902 -j ACCEPT
# service iptables save

_ Thiết lập VNC Server luôn khởi động cùng server:

# chkconfig vncserver on

_ Cuối cùng, khởi động VNC Server:

# service vncserver start
Starting VNC server: 1:root xauth:  file /root/.Xauthority does not exist

New 'vultr.guest:1 (root)' desktop is vultr.guest:1

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/vultr.guest:1.log

2:hocvps xauth:  file /home/hocvps/.Xauthority does not exist

New 'vultr.guest:2 (hocvps)' desktop is vultr.guest:2

Creating default startup script /home/hocvps/.vnc/xstartup
Starting applications specified in /home/hocvps/.vnc/xstartup
Log file is /home/hocvps/.vnc/vultr.guest:2.log
                                                           [  OK  ]

2.2.2. Đối với CentOS 7

_ Thiết lập cấu hình truy cập VNC:

Đối với CentOS 7, cấu hình VNC tại /lib/systemd/system/vncserver@.service.

Bạn cần tạo mới và chỉnh sửa cấu hình cho từng user theo cấu hình gốc, lưu tại /etc/systemd/system/

# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:2.service

Thay đổi USER tại dòng ExecStartPIDFiletrong block cuối [Service], cụ thể:
Cấu hình /etc/systemd/system/vncserver@:1.service cho user root:

# nano /etc/systemd/system/vncserver@:1.service
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

Cấu hình /etc/systemd/system/vncserver@:2.service cho user hocvps:

# nano /etc/systemd/system/vncserver@:2.service
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l hocvps -c "/usr/bin/vncserver %i"
PIDFile=/home/hocvps/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'

[Install]
WantedBy=multi-user.target

_ Thiết lập firewall:

# firewall-cmd --permanent --zone=public --add-service vnc-server
success
# firewall-cmd --reload
success

_ Thiết lập khởi động cùng server:

# systemctl daemon-reload
# systemctl enable vncserver@:1.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /etc/systemd/system/vncserver@:1.service.
# systemctl enable vncserver@:2.service
Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:2.service to /etc/systemd/system/vncserver@:2.service.
# systemctl start vncserver@:1.service
# systemctl start vncserver@:2.service

_ Cuối cùng, khởi động VNC Server:

Khởi động VNC Server cho user root:

# vncserver

Khởi động VNC Server cho user hocvps:

# su hocvps
# vncserver
# exit

3. Kết nối VNC Server

Bạn cài đặt TightVNC for Windows  hoặc VNC Viewer của RealVNC (có hỗ trợ Mac) rồi chạy VNC Viewer để kết nối tới server với địa chỉ IP và port VNC đã cài đặt. Ví dụ domain:1 cho user root và domain:2 cho user hocvps

Tiếp theo cần nhập password cho VNC.

ket noi vnc centos

Nếu mọi việc thành công, giao diện GUI sẽ hiện ra như bên dưới:

centos vnc

Chúc bạn thành công!

Tagged:

43 Comments

  1. Đình Hà 3 comment

    mình dùng VPS azure centos 6.4 khi cài đến lệnh: yum groupinstall “Desktop” -y thì hiện thông báo :
    Error: WALinuxAgent conflicts with 1:NetworkManager-0.8.1-66.el6.x86_64
    You could try using –skip-broken to work around the problem
    You could try running: rpm -Va –nofiles –nodigest
    bạn cho mình hỏi cách khắc phục như nào. Thanks

    1. Hoàng 31 comment

      Bạn thử dùng cái này xem.
      yum groupinstall “X Window System” “GNOME Desktop Environment”

      1. Đình Hà 3 comment

        Cảm ơn sự giúp đỡ của bạn. Mình chạy dòng lệnh đó vẫn bị lỗi:
        –> Finished Dependency Resolution
        Error: WALinuxAgent conflicts with 1:NetworkManager-0.8.1-66.el6.x86_64
        You could try using –skip-broken to work around the problem
        You could try running: rpm -Va –nofiles –nodigest

          1. Đình Hà 3 comment

            Cảm ơn Luân. Nhưng mình thử remove WALinuxAgent-1.3-1.noarch và NetworkManager-0.8.1-34.el6_3.x86_64 thì bị như này:
            [root@lieccon ~]# yum remove WALinuxAgent-1.3-1.noarch
            Loaded plugins: security
            Setting up Remove Process
            No Match for argument: WALinuxAgent-1.3-1.noarch
            Package(s) WALinuxAgent-1.3-1.noarch available, but not installed.
            No Packages marked for removal
            [root@lieccon ~]# yum remove NetworkManager-0.8.1-34.el6_3.x86_64
            Loaded plugins: security
            Setting up Remove Process
            No Match for argument: NetworkManager-0.8.1-34.el6_3.x86_64
            No Packages marked for removal
            Mình cũng hỏi vài người bạn về cài VNC cho azure thì cũng nhận đc câu trả lời là họ cũng ko cài đc :(.
            Dù sao cũng cảm ơn mọi người đã nhiệt tình giúp đỡ 😀

  2. Nguyễn Nam 7 comment

    Anh chơi cho em hỏi. Em làm tất cả đến đoạn khởi động lại VNC thì nó báo Failed “vnc password for user is not configured”. Anh biết lỗi ở đâu không ạ?

  3. Phong 19 comment

    Đến đoạn khởi động VNC thì
    Starting VNC server: 2:vncuser
    VNC password for user vncuser is not configured
    Bị sao vậy bác LT. Giúp em một tay với bác.

  4. Hoàng 31 comment

    Giải quyết vấn đề “VNC password for user vncuser is not configured” như sau:

    vào tài khoản: vncuser bằng:
    su vncuser

    thay đổi mật khẩu vncuser cho vnc viewer bằng:
    vncpasswd

    restart lại vnc

  5. uoc 6 comment

    ý mình nói là cái VNC không có internet luôn. hì
    cái firerox không kết nối được internet

  6. huy 2 comment

    hi, mình cài như bài trên, đã remote đc nhưng VPS , chạy lần đầu okie. Sau đó khởi động lại VPS thì firefox của VPS không ra internet được. đã tắt tường lửa. nhưng không có phản ứng gì. VNC, Putty đều chạy bình thường

  7. Chung 1 comment

    Mình làm đúng như hướng dẫn nhưng bị báo timeout khi kết nối. VPS sử dụng là của Vultr bản 64bit.

  8. kieuphong 1 comment

    Mình hỏi ngoài leed chút nhé,

    Mình remote desktop OK rồi, giờ đến bước cài soft, cụ thể là wmware workstation ( file .bundle) thì không cài được, mình dùng các lệnh như hướng dẫn trên GG cũng không thể nào cài được. Luân có thể chỉ mình cài được ko? Hoặc ở đây có bạn nào biết cách cài chỉ mình với nhé. Thank so much!!!

  9. hoang 9 comment

    sau khi cài xong rồi có cách nào download 1 playlist của youtube không bạn? Mình tìm mãi không thấy phần mềm nào cài được trên linux centos cả

  10. Đạt Nguyễn 3 comment

    Chào Luân,
    Cho mình hỏi chút nhé.
    Muốn cài chrome lên VNC Server thì làm thế nào nhỉ?
    Hướng dẫn mình cài đặt dc ko?

    Cảm ơn nhiều

  11. Le Trí 1 comment

    Hi bác Luân, em em với, em cài như hướng dẫn của bác nhưng không vào đc internet, em xài CentOS 6.5 trên Linode http://imgur.com/7v7i8th

    Bị lỗi gì hay kích hoạt internet trên Linode như thế nào vậy bác. Cảm ơn bác.

  12. trí 1 comment

    Chào anh.
    Em đang sử dụng vps vultr, centos os 6, khi em dùng lệnh : yum -y install firefox nano để cài đặt firefox thì nó báo Error downloading packages ….
    Vậy giờ có cách nào để cài firefox vào ko anh.
    Thanks anh.

  13. Hạt Tiêu 1 comment

    Bạn cho mình hỏi ?

    – Mình cài đặt ok rồi
    – khởi đôngj Service rồi
    – Tắt Firewall rồi

    nhưng khi kết nối bằng phần mền VNC thì báo lỗi “Error in tightVNC viewer no connection could be made because the target machine actively refused it”

    Có thể giúp mình đc ko? mình remote VPS

  14. Hảo Panda 1 comment

    Các bạn bị lỗi ko truy cập đc internet trong quá trình cài đặt gói giao diện vui lòng sử dụng các lệnh sau nhé:
    # service NetworkManager stop
    # chkconfig NetworkManager off
    # chkconfig network on
    # service network start
    # chkconfig –list

  15. Hoàng 31 comment

    không cài được trên centos 7 thì phải.
    @Luân có bài viết cài vnc trên Centos 7 ko? làm tút cho anh em dùng với. 😀

  16. thonguyen 8 comment

    toan bi the nay thoi Luan oi : ” Starting VNC server: no displays configured [FAILED] ”

    Help me 🙁

  17. thaiaiti 1 comment

    Mình đang cài cwp – control panel, có cài thêm cái này được ko cậu, liệu có ảnh hương j tới dữ liệu và webiste đang chạy ko

Comment của bạn

Your email address will not be published. Required fields are marked *