หลังติดตั้ง ubuntu 16.04 server เพิ่มระบบ GUI X-windows, VNC Server สำหรับรีโมทแบบ GUI

จาก Wiki Opensource

บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 2-09-2559
เขียนเรื่องโดย: pom (at) pharmacy.psu.ac.th


หลังติดตั้ง Ubuntu Server 16.04 ควรทำดังนี้ (GUI X-Windows, VNC Server)

  • เลือกติดตั้ง Xfce4 Desktop Enviroment เพราะเน้นที่ขนาดไม่โต มีความเร็ว และใช้ทรัพยากรน้อย
  • เลือกติดตั้ง VNC Server เพื่อให้สามารถรีโมตเข้าเครื่อง Ubuntu Server ได้ในรูปแบบ GUI

1.ทำการปรับปรุงซอฟต์แวร์ระบบให้ใหม่เป็นปัจจุบันก่อนเริ่มต้น

sudo apt update
sudo apt list --upgradable
sudo apt upgrade


2. ปิดการใช้พื้นที่ Share memory

df -h
sudo vi /etc/fstab
 tmpfs     /dev/shm     tmpfs     defaults,noexec,nosuid     0     0


3. ทำการติดตั้งระบบ GUI X-Windows และโปรแกรม Chromium Browser เพิ่มเติม

sudo apt install xfce4 vim chromium-browser
*  // ทดสอบเรียกใช้งานระบบ GUI //
startx


3.1 การติดตั้งฟอน์ตภาษาไทย สำหรับระบบ GUI X-Windows เพิ่มเติม

sudo apt install xfonts-thai
startx
* // เปิดโปรแกรม Terminal ลองพิมพ์ข้อความภาษาไทย //


4.ติดตั้งโปรแกรม VNC Server สำหรับทำ GUI remote จากเครื่องลูกโดยใช้โปรแกรม TightVNC Viewer

sudo apt install tightvncserver
vncserver
vncserver -kill :1 


4.1. ทำการคัดลอกแฟ้ม config ของ VNC Server เก็บไว้เป็นต้นฉบับ ก่อนปรับแก้ไขไฟล์

cp ~/.vnc/xstartup ~/.vnc/xstartup.bak


4.2. แก้ไขแฟ้ม config ใหม่ตำแหน่ง ~/.vnc/xstartup

sudo vi ~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
sudo chmod +x ~/.vnc/xstartup


4.3. สร้างไฟล์สำหรับใช้ VNC Service File

sudo vi /lib/systemd/system/vncserver@.service
#  This file is TightVNC part of systemd.
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=mama
PAMName=login
PIDFile=/home/mama/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target 


4.4. สร้างไฟล์ในระบบ เพื่อไว้เรียกใช้ VNC Server

cd /etc/systemd/system/
sudo ln -s /lib/systemd/system/vncserver@.service vncserver.service
sudo systemctl daemon-reload
sudo systemctl enable vncserver@.service
sudo systemctl status vncserver@1
sudo systemctl start vncserver@1

sudo vi /etc/rc.local
 // เพิ่มบรรทัดก่อน exit 0 ดังนี้ //
sudo systemctl start vncserver@1


4.5. การรีโมทเรียกใช้งาน VNC Server จากเครื่องคอมพิวเตอร์ PC โดยใช้โปรแกรม TightVNC Viewer

เรียกใช้งานโปรแกรม TightVNC Viewer
กรอกหมายเลข IP Address และตามด้วยเลขพอร์ต เช่น 192.168.xx.xx:5901 เพื่อรีโมทเข้าเครื่องเซิร์ฟเวอร์

TightVNC-client.jpg