Connecting to Raspberry Pi using VNC
สารบัญ:
- ข้อกำหนดเบื้องต้น
- การติดตั้ง Desktop Environment
- การติดตั้งเซิร์ฟเวอร์ VNC
- การกำหนดค่าเซิร์ฟเวอร์ VNC
- การสร้างไฟล์หน่วย Systemd
- กำลังเชื่อมต่อกับเซิร์ฟเวอร์ VNC
- ตั้งค่า SSH Tunneling บน Linux และ macOS
- ตั้งค่า SSH Tunneling บน Windows
- ข้อสรุป
คู่มือนี้ครอบคลุมขั้นตอนที่จำเป็นสำหรับการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ VNC บนระบบ Ubuntu 18.04 นอกจากนี้เราจะแสดงวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ VNC อย่างปลอดภัยผ่านอุโมงค์ SSH
Virtual Network Computing (VNC) เป็นระบบแชร์เดสก์ท็อปกราฟิกที่ให้คุณใช้แป้นพิมพ์และเมาส์เพื่อควบคุมคอมพิวเตอร์เครื่องอื่นจากระยะไกล มันเป็นทางเลือกโอเพนซอร์สกับ Microsoft remote desktop protocol (RDP)
ข้อกำหนดเบื้องต้น
ก่อนทำการสอนต่อให้แน่ใจว่าคุณได้เข้าสู่ระบบในฐานะผู้ใช้ที่มีสิทธิ์ sudo
การติดตั้ง Desktop Environment
เซิร์ฟเวอร์ส่วนใหญ่ไม่มีการติดตั้งสภาพแวดล้อมเดสก์ท็อปดังนั้นเราจะเริ่มต้นด้วยการติดตั้งระบบเดสก์ท็อปที่มีน้ำหนักเบา
มีสภาพแวดล้อมเดสก์ท็อป (DE) หลายแห่งในที่เก็บของ Ubuntu ในบทช่วยสอนนี้เราจะทำการติดตั้ง Xfce เป็นสภาพแวดล้อมเดสก์ท็อปที่รวดเร็วเสถียรและมีน้ำหนักเบาซึ่งเหมาะสำหรับการใช้งานบนเซิร์ฟเวอร์ระยะไกล
อัปเดตระบบของคุณเป็นครั้งแรกด้วย:
sudo apt update
sudo apt upgrade
sudo apt update
จากนั้นพิมพ์คำสั่งต่อไปนี้เพื่อติดตั้ง Xfce บนเซิร์ฟเวอร์ของคุณ:
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
การดาวน์โหลดและติดตั้งแพ็คเกจ Xfce อาจใช้เวลาสักครู่ทั้งนี้ขึ้นอยู่กับระบบของคุณ
การติดตั้งเซิร์ฟเวอร์ VNC
นอกจากนี้ยังมีเซิร์ฟเวอร์ VNC หลายแห่งที่มีอยู่ในที่เก็บของ Ubuntu เช่น TightVNC, TigerVNC และ x11vnc เซิร์ฟเวอร์ VNC แต่ละเครื่องมีจุดแข็งและจุดอ่อนต่างกันในแง่ของความเร็วและความปลอดภัย
เราจะทำการติดตั้ง TigerVNC ซึ่งได้รับการบำรุงรักษาเซิร์ฟเวอร์ VNC ประสิทธิภาพสูง
พิมพ์คำสั่งต่อไปนี้เพื่อติดตั้ง TigerVNC บนเซิร์ฟเวอร์ Ubuntu ของคุณ:
sudo apt install tigervnc-standalone-server tigervnc-common
หลังจากติดตั้งเซิร์ฟเวอร์ VNC แล้วขั้นตอนต่อไปคือการเรียกใช้คำสั่ง
vncserver
ซึ่งจะสร้างการกำหนดค่าเริ่มต้นและตั้งค่ารหัสผ่าน ห้ามใช้ sudo เมื่อรันคำสั่งต่อไปนี้:
vncserver
คุณจะได้รับแจ้งให้ป้อนและยืนยันรหัสผ่านและกำหนดให้เป็นรหัสผ่านแบบดูอย่างเดียวหรือไม่ หากคุณเลือกที่จะตั้งค่ารหัสผ่านแบบดูอย่างเดียวผู้ใช้จะไม่สามารถโต้ตอบกับอินสแตนซ์ VNC ด้วยเมาส์และแป้นพิมพ์ได้
You will require a password to access your desktops. Password: Verify: Would you like to enter a view-only password (y/n)? n /usr/bin/xauth: file /home/linuxize/.Xauthority does not exist New 'server2.linuxize.com:1 (linuxize)' desktop at:1 on machine server2.linuxize.com Starting applications specified in /etc/X11/Xvnc-session Log file is /home/linuxize/.vnc/server2.linuxize.com:1.log Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd:1 to connect to the VNC server.
ครั้งแรกที่รันคำสั่ง
vncserver
คำสั่งจะสร้างและเก็บไฟล์รหัสผ่านในไดเรกทอรี
~/.vnc
ซึ่งจะถูกสร้างขึ้นหากไม่มีอยู่
หมายเหตุ
:1
หลังชื่อโฮสต์ในเอาต์พุตด้านบน สิ่งนี้ระบุหมายเลขพอร์ตการแสดงผลที่เซิร์ฟเวอร์ vnc กำลังทำงาน ในกรณีของเราเซิร์ฟเวอร์กำลังทำงานบนพอร์ต TCP
5901
(5900 + 1) หากคุณสร้างอินสแตนซ์ที่สองด้วย
vncserver
มันจะทำงานบนพอร์ตว่างถัดไปเช่น
:2
ซึ่งหมายความว่าเซิร์ฟเวอร์กำลังทำงานบนพอร์ต
5902
(5900 + 2)
สิ่งสำคัญที่ต้องจำคือเมื่อทำงานกับเซิร์ฟเวอร์ VNC
:X
เป็นพอร์ตจอแสดงผลที่อ้างถึง
5900+X
ก่อนดำเนินการต่อในขั้นตอนถัดไปอันดับแรกให้หยุดทำงานอินสแตนซ์ VNC โดยใช้คำสั่ง
vncserver
พร้อมตัวเลือก
-kill
และหมายเลขเซิร์ฟเวอร์เป็นอาร์กิวเมนต์ ในกรณีของเราเซิร์ฟเวอร์ทำงานในพอร์ต 5901 (
:1
) ดังนั้นเราจะหยุดด้วย:
vncserver -kill:1
Killing Xtigervnc process ID 7264… success!
การกำหนดค่าเซิร์ฟเวอร์ VNC
ตอนนี้เรามีทั้ง Xfce และ TigerVNC ติดตั้งบนเซิร์ฟเวอร์ของเราแล้วเราต้องกำหนดค่า TigerVNC ให้ใช้ Xfce ในการสร้างไฟล์ดังต่อไปนี้:
nano ~/.vnc/xstartup
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4
บันทึกและปิดไฟล์ คำสั่งด้านบนจะถูกดำเนินการโดยอัตโนมัติทุกครั้งที่คุณเริ่มหรือรีสตาร์ทเซิร์ฟเวอร์ TigerVNC
ไฟล์
~/.vnc/xstartup
ยังจำเป็นต้องมีการอนุญาตให้ใช้งานด้วย รันคำสั่ง
chmod
ต่อไปนี้เพื่อให้แน่ใจว่าสิทธิ์ถูกต้อง:
chmod u+x ~/.vnc/xstartup
~ /.vnc / config
การสร้างไฟล์หน่วย Systemd
เราจะสร้างไฟล์ systemd unit ซึ่งจะช่วยให้เราสามารถเริ่มหยุดและเริ่มบริการ VNC ได้อย่างง่ายดายตามต้องการเช่นเดียวกับบริการ systemd อื่น ๆ
เปิดเท็กซ์เอดิเตอร์ของคุณและคัดลอกและวางคอนฟิกูเรชันต่อไปนี้ลงใน ตรวจสอบให้แน่ใจว่าได้เปลี่ยนชื่อผู้ใช้ในบรรทัดที่ 7 เพื่อให้ตรงกับชื่อผู้ใช้ของคุณ
sudo nano /etc/systemd/system/[email protected]
/etc/systemd/system/[email protected]
Description=Remote desktop service (VNC) After=syslog.target network.target Type=simple User=linuxize PAMName=login PIDFile=/home/%u/.vnc/%H%i.pid ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill:%i > /dev/null 2>&1 ||:' ExecStart=/usr/bin/vncserver:%i -geometry 1440x900 -alwaysshared -fg ExecStop=/usr/bin/vncserver -kill:%i WantedBy=multi-user.target
บันทึกและปิดไฟล์
แจ้ง systemd ที่เราสร้างไฟล์หน่วยใหม่ด้วย:
sudo systemctl daemon-reload
ขั้นตอนต่อไปคือการเปิดใช้งานไฟล์หน่วยด้วยคำสั่งต่อไปนี้:
sudo systemctl enable [email protected]
หมายเลข
1
หลังจากเครื่องหมาย
@
กำหนดพอร์ตการแสดงผลซึ่งบริการ VNC จะทำงาน ซึ่งหมายความว่าเซิร์ฟเวอร์ VNC จะฟังบนพอร์ต
5901
ดังที่เรากล่าวไว้ในส่วนก่อนหน้า
เริ่มบริการ VNC โดยดำเนินการ:
sudo systemctl start [email protected]
ตรวจสอบว่าบริการเริ่มต้นได้สำเร็จด้วย:
sudo systemctl status [email protected]
● [email protected] - Remote desktop service (VNC) Loaded: loaded (/etc/systemd/system/[email protected]; indirect; vendor preset: enabled) Active: active (running) since Thu 2018-08-16 19:05:54 UTC; 4s ago Process: 9893 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill:1 > /dev/null 2>&1 ||: (code=exited, status=0/SUCCESS) Main PID: 9900 (vncserver) Tasks: 0 (limit: 507) CGroup: /system.slice/system-vncserver.slice/[email protected] ‣ 9900 /usr/bin/perl /usr/bin/vncserver:1 -geometry 1440x900 -alwaysshared -fg
กำลังเชื่อมต่อกับเซิร์ฟเวอร์ VNC
VNC ไม่ใช่โปรโตคอลที่เข้ารหัสและสามารถถูกดักจับแพ็คเก็ตได้ วิธีที่แนะนำคือการสร้างอุโมงค์ SSH ที่จะส่งต่อการรับส่งข้อมูลอย่างปลอดภัยจากเครื่องโลคอลของคุณบนพอร์ต 5901 ไปยังเซิร์ฟเวอร์บนพอร์ตเดียวกัน
ตั้งค่า SSH Tunneling บน Linux และ macOS
ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address
คุณจะได้รับแจ้งให้ป้อนรหัสผ่านของผู้ใช้
อย่าลืมเปลี่ยน
username
และ
server_ip_address
ด้วยชื่อผู้ใช้และที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ
ตั้งค่า SSH Tunneling บน Windows
เปิด Putty และป้อนที่อยู่ IP เซิร์ฟเวอร์ของคุณในฟิลด์
Host name or IP address
คุณสามารถเริ่มโต้ตอบกับเดสก์ท็อป XFCE ระยะไกลจากเครื่องท้องถิ่นของคุณโดยใช้แป้นพิมพ์และเมาส์
ข้อสรุป
ถึงตอนนี้คุณควรมีเซิร์ฟเวอร์ VNC และทำงานอยู่และคุณสามารถจัดการเซิร์ฟเวอร์ Ubuntu 18.04 ของคุณได้อย่างง่ายดายจากเครื่องเดสก์ท็อปท้องถิ่นโดยใช้ส่วนต่อประสานกราฟิกที่ใช้งานง่าย
ในการกำหนดค่าเซิร์ฟเวอร์ VNC ของคุณเพื่อเริ่มแสดงผลสำหรับผู้ใช้มากกว่าหนึ่งรายให้สร้างการกำหนดค่าเริ่มต้นและตั้งค่ารหัสผ่านโดยใช้คำสั่ง
vncserver
คุณจะต้องสร้างไฟล์บริการใหม่โดยใช้พอร์ตอื่น
อย่าลังเลที่จะแสดงความคิดเห็นหากคุณมีคำถามใด ๆ
อูบุนตู vncMicrosoft Tweaks Ad หลังจากที่ Apple บ่น

เรื่องราว "Laptop Hunter" ยังคงมีน้อยลงเล็กน้อย Apple-bashing
วิธีการติดตั้งและกำหนดค่า vnc บน centos 7

ในบทช่วยสอนนี้เราจะแนะนำคุณเกี่ยวกับขั้นตอนการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ VNC บนระบบ CentOS 7 นอกจากนี้เราจะแสดงวิธีการเชื่อมต่อกับเซิร์ฟเวอร์ VNC อย่างปลอดภัยผ่านอุโมงค์ SSH
วิธีการติดตั้งและกำหนดค่า vnc บนเดเบียน 9

บทช่วยสอนนี้อธิบายวิธีการติดตั้งและกำหนดค่าเซิร์ฟเวอร์ VNC ในระบบ Debian 9 Virtual Network Computing (VNC) เป็นระบบแชร์เดสก์ท็อปกราฟิกที่ให้คุณใช้แป้นพิมพ์และเมาส์เพื่อควบคุมคอมพิวเตอร์เครื่องอื่นจากระยะไกล