How to Fix Ubuntu Stuck on Boot Screen | GDM Error Terminal Guide : คู่มือซ่อม GDM ล่มผ่าน TTY และคำสั่งเทอร์มินัลแบบจับมือทำ 2026

เมื่อ Ubuntu ติดบูตลูป อย่าเพิ่งรีบลงใหม่: เริ่มกู้ระบบอย่างมีสติ | GDM Error Terminal Guide : คู่มือซ่อม GDM ล่มผ่าน TTY และคำสั่งเทอร์มินัลแบบจับมือทำ 2026

ถ้าเครื่อง Ubuntu ของคุณเปิดขึ้นมาแล้วค้างอยู่ที่โลโก้ ระบบหมุนวนไม่หยุด หรือเหลือเพียงเคอร์เซอร์กระพริบอยู่บนหน้าจอ ปัญหานี้มักทำให้หลายคนคิดว่าทางออกเดียวคือการติดตั้งระบบใหม่ทั้งหมด แต่ในความเป็นจริง อาการแบบนี้จำนวนมากเกิดจากบริการแสดงผลกราฟิกที่ชื่อว่า GDM หรือ GNOME Display Manager ล้มเหลวระหว่างเริ่มระบบ โดยเฉพาะหลังอัปเดตแพ็กเกจ เคอร์เนล หรือไดรเวอร์จอภาพ บทความนี้จะพาคุณซ่อม Ubuntu boot loop จาก failed GDM service start ผ่านเทอร์มินัลอย่างเป็นขั้นตอน ตั้งแต่การเข้า TTY เพื่อเลี่ยงหน้าจอกราฟิกที่พัง การตรวจสอบ log การหยุด service ที่เสีย การล้างไดรเวอร์ที่ชนกัน ไปจนถึงการติดตั้งและ reconfigure GDM3 ใหม่อย่างปลอดภัย เนื้อหาทั้งหมดออกแบบมาให้เหมาะกับผู้เริ่มต้นที่อยากเข้าใจว่ากำลังทำอะไร ไม่ใช่เพียงคัดลอกคำสั่งแล้วหวังว่าระบบจะหายเอง เพราะเมื่อเรามองเห็นโครงสร้างของปัญหา เราจะคุมเครื่องได้มากขึ้น และนั่นคือหัวใจของ digital sovereignty ที่แท้จริง

เข้าใจก่อนว่า GDM ล้มแล้วทำไมถึงเข้าเดสก์ท็อปไม่ได้

ใน Ubuntu รุ่นที่ใช้ GNOME เป็นหลัก บริการ GDM3 มีหน้าที่เป็นประตูเชื่อมระหว่างระบบพื้นฐานกับหน้าล็อกอินแบบกราฟิก เมื่อบูตเสร็จ systemd จะพยายามเรียกบริการนี้เพื่อเปิดใช้งาน Xorg หรือ Wayland พร้อม session ของผู้ใช้ ถ้า GDM เริ่มไม่ได้ ระบบอาจวนกลับไปพยายามเริ่มใหม่ซ้ำ ๆ หรือค้างอยู่ก่อนเข้าหน้าจอล็อกอิน ปัจจัยที่ทำให้เกิดเหตุการณ์นี้มีหลายแบบ เช่น ไดรเวอร์ NVIDIA ไม่เข้ากับเคอร์เนลล่าสุด แพ็กเกจ Mesa เสีย dependency ไฟล์คอนฟิก GDM พังหลังการอัปเดต หรือแม้แต่พื้นที่ดิสก์เต็มจน service สร้างไฟล์ runtime ไม่ได้ วิธีคิดที่สำคัญคืออย่ามองว่า “Ubuntu พังทั้งระบบ” แต่ให้แยกให้ออกว่า “ชั้นกราฟิกขึ้นไม่ไหว” ซึ่งหมายความว่าแกนหลักของ Linux ยังอาจทำงานดีอยู่ และเรายังเข้าไปควบคุมผ่าน TTY ได้ นี่เองคือเหตุผลว่าทำไมการซ่อม Ubuntu boot loop จาก failed GDM service start ผ่านเทอร์มินัล จึงเป็นเทคนิคที่ทรงพลังและช่วยหลีกเลี่ยงการล้างเครื่องโดยไม่จำเป็น

บังคับเข้าหน้า TTY เพื่อข้าม GDM ที่ล้มเหลว

ขั้นตอนแรกคือออกจากหน้าจอที่ค้างและเข้าช่องทางควบคุมแบบข้อความหรือ TTY ซึ่งเป็นคอนโซลเสมือนของ Linux ให้ลองกด Ctrl+Alt+F3 หรือถ้าไม่ติดให้ลอง F2, F4 หรือ F5 ตามรุ่นเครื่องและคีย์บอร์ดบางแบบ เมื่อเข้าได้แล้วคุณจะเห็นหน้าจอ login แบบข้อความ ให้พิมพ์ชื่อผู้ใช้และรหัสผ่านตามปกติ จากนั้นเราจะเริ่มวินิจฉัยระบบ ถ้าระบบถามซ้ำหรือหน้าจอมืด ให้รอสักครู่แล้วกดชุดคีย์อีกครั้ง บางเครื่องอาจต้องใช้ปุ่ม Fn ร่วมด้วย เมื่อเข้าสู่ shell ได้แล้ว ลองรันคำสั่งพื้นฐานเพื่อเช็กว่าระบบตอบสนองปกติหรือไม่ เช่น เวอร์ชันเคอร์เนล สถานะ uptime และชื่อโฮสต์ ดังนี้

uname -r
uptime
hostnamectl
whoami
pwd

หากคำสั่งเหล่านี้ทำงาน แปลว่าคุณได้ยึดการควบคุมระบบกลับคืนมาแล้ว และสามารถเดินหน้าซ่อม Ubuntu boot loop จาก failed GDM service start ผ่านเทอร์มินัลได้อย่างเป็นระบบ ในมุมของผม นี่คือช่วงเวลาที่สำคัญที่สุด เพราะมันเปลี่ยนความรู้สึกจาก “เครื่องพัง” ให้กลายเป็น “ระบบยังฟังคำสั่งเราอยู่” ซึ่งสร้างความมั่นใจได้มากสำหรับผู้เริ่มต้น

ตรวจสอบสถานะ GDM และเก็บหลักฐานก่อนแก้

หลังล็อกอินเข้า TTY แล้ว อย่าเพิ่งรีบลบแพ็กเกจทันที เพราะการดูอาการจริงก่อนจะช่วยให้แก้ตรงจุดมากกว่า เริ่มจากตรวจสอบสถานะของ GDM3 ผ่าน systemd และอ่าน log ย้อนหลังเพื่อหาสาเหตุสำคัญ เช่น service crash, dependency fail, ปัญหา permission หรือการโหลดโมดูลกราฟิกไม่สำเร็จ คำสั่งที่ควรใช้มีดังนี้

systemctl status gdm3 --no-pager
journalctl -u gdm3 -b --no-pager | tail -n 100
journalctl -p 3 -b --no-pager | tail -n 100

ถ้าอยากดูความผิดพลาดที่เกี่ยวกับกราฟิกโดยเฉพาะ สามารถค้นหา keyword เพิ่มเติมได้ เช่น

journalctl -b --no-pager | grep -Ei 'gdm|gnome-shell|nvidia|nouveau|amdgpu|i915|mesa|wayland|xorg'

ในหลายกรณีคุณจะเห็นข้อความประเภท “Failed to start gdm.service”, “segmentation fault”, “No screens found”, “GPU driver mismatch” หรือ “dependency problems prevent configuration” ซึ่งช่วยชี้ทางได้ดีมาก ถ้าคุณสงสัยว่ามีการอัปเดตค้างอยู่ ให้ตรวจสอบแพ็กเกจที่ configure ไม่เสร็จด้วย

sudo dpkg --audit
sudo apt-mark showhold

การเก็บหลักฐานก่อนลงมือแก้ถือเป็นนิสัยแบบ system engineering ที่ดี เพราะไม่เพียงช่วยให้แก้เร็วขึ้น แต่ยังช่วยให้คุณย้อนวิเคราะห์ได้หากปัญหาเกิดซ้ำในอนาคต

ตรวจสุขภาพระบบเบื้องต้น: ดิสก์เต็ม แพ็กเกจค้าง และ dependency แตก

อาการ GDM start ไม่ขึ้นไม่ได้มีสาเหตุมาจากไดรเวอร์เสมอไป บางครั้งระบบพังเพราะพื้นที่ root เต็มจนไม่สามารถเขียนไฟล์ชั่วคราวหรือ cache ระหว่างเริ่ม desktop session ได้ จึงควรเช็กสุขภาพระบบก่อนด้วยคำสั่งพื้นฐานเหล่านี้

df -h
free -h
lsblk
sudo du -sh /var/cache/apt /var/log /tmp

ถ้าพื้นที่ดิสก์เหลือน้อยมาก โดยเฉพาะพาร์ทิชัน / หรือ /var ให้เคลียร์ cache และแพ็กเกจเก่าก่อน

sudo apt clean
sudo apt autoclean
sudo apt autoremove -y
sudo journalctl --vacuum-time=7d

จากนั้นซ่อมแพ็กเกจที่ค้างคาและ dependency ที่เสียหาย

sudo dpkg --configure -a
sudo apt --fix-broken install

หากมีไฟดับหรืออินเทอร์เน็ตหลุดระหว่างอัปเดตก่อนหน้า คำสั่งสองชุดนี้มักช่วยคืนความสมบูรณ์ให้ฐานแพ็กเกจได้ดีมาก ในฐานะคนที่ทำงานกับ Linux มานาน ผมมองว่า step นี้มักถูกมองข้าม ทั้งที่จริงแล้วเป็นรากฐานของการซ่อม Ubuntu boot loop จาก failed GDM service start ผ่านเทอร์มินัล เพราะถ้าฐานแพ็กเกจยังแตกอยู่ ต่อให้ reinstall GDM ก็อาจยังเปิดไม่ขึ้นอยู่ดี

เช็กไดรเวอร์กราฟิกว่าชนกันหรือไม่ โดยเฉพาะ NVIDIA

หนึ่งในต้นเหตุยอดนิยมของบูตลูปหลังอัปเดตคือความไม่เข้ากันระหว่างเคอร์เนลใหม่กับไดรเวอร์กราฟิกเดิม โดยเฉพาะเครื่องที่ใช้ NVIDIA แบบ proprietary driver ให้เริ่มจากดูว่าระบบตรวจพบการ์ดจออะไรและตอนนี้โหลดโมดูลใดอยู่

lspci -k | grep -EA3 'VGA|3D|Display'
lsmod | grep -E 'nvidia|nouveau|amdgpu|i915'
ubuntu-drivers devices

ถ้าเห็นทั้ง nvidia และ nouveau ในบริบทผิดปกติ หรือมีข้อความชี้ว่ารุ่นไดรเวอร์ไม่ตรงกับ kernel module นั่นอาจเป็นสาเหตุให้ GDM เริ่มไม่ขึ้น สำหรับเครื่องที่เพิ่งอัปเกรดเวอร์ชัน Ubuntu หรือเคอร์เนลใหม่ในช่วง 2026 แล้วเกิดปัญหา legacy hardware ก็เป็นไปได้ว่า stack เดิมไม่เข้ากับ ABI ล่าสุด สิ่งที่ควรทำคือดูเวอร์ชันแพ็กเกจที่ติดตั้งอยู่

dpkg -l | grep -Ei 'nvidia|mesa|xserver-xorg|gdm3'

ถ้าคุณไม่แน่ใจว่าควรใช้ไดรเวอร์ไหน การใช้ผลลัพธ์จาก ubuntu-drivers devices จะปลอดภัยกว่าการเดารุ่นเองเสมอ และสำหรับมือใหม่ ผมแนะนำให้ถ่ายรูปหรือคัดลอกผลลัพธ์เก็บไว้ก่อนทำการ purge เพราะจะช่วยมากหากต้องย้อนกลับภายหลัง

หยุดบริการกราฟิกก่อนแก้ เพื่อไม่ให้ไฟล์ถูกใช้งานค้าง

ก่อนลบหรือปรับแต่งแพ็กเกจกราฟิก ควรหยุดบริการ GDM3 และสลับระบบไปยังโหมดข้อความชั่วคราวเพื่อลดการชนกันของไฟล์และ service ที่กำลังทำงานอยู่ วิธีนี้ทำให้การซ่อมสะอาดขึ้นและลดโอกาสเจอข้อความว่าแพ็กเกจกำลังถูกใช้งาน คำสั่งมีดังนี้

sudo systemctl stop gdm3
sudo systemctl disable gdm3
sudo systemctl set-default multi-user.target

จากนั้นตรวจสอบว่าไม่มี graphical session ค้างอยู่

systemctl status gdm3 --no-pager
who
loginctl list-sessions

ถ้ามี session กราฟิกเก่าหรือ process ของ gnome-shell ตกค้างในสภาพผิดปกติ อาจ kill อย่างระมัดระวังได้

ps aux | grep -E 'gdm|gnome-shell|Xorg|wayland'
sudo pkill -f gnome-shell
sudo pkill -f Xorg

ขั้นตอนนี้อาจดูเข้มข้นสำหรับผู้เริ่มต้น แต่จริง ๆ คือการทำให้ระบบอยู่ในสถานะที่เราควบคุมได้เต็มที่ คล้ายกับการซ่อมเครื่องยนต์โดยดับเครื่องก่อนเปลี่ยนชิ้นส่วน ไม่เช่นนั้นคุณอาจลบไดรเวอร์ไปทั้งที่ service ยังพยายามเรียกใช้อยู่ และนั่นทำให้การซ่อม Ubuntu boot loop จาก failed GDM service start ผ่านเทอร์มินัลยุ่งยากกว่าที่ควร

ล้างไดรเวอร์ NVIDIA หรือแพ็กเกจกราฟิกที่เสียหายอย่างปลอดภัย

ถ้าจาก log และการตรวจสอบก่อนหน้าเริ่มชี้ว่าไดรเวอร์เป็นตัวการ ขั้นตอนถัดไปคือ purge แพ็กเกจที่น่าจะก่อปัญหา โดยกรณี NVIDIA ให้ใช้วิธีลบทั้งชุดอย่างระมัดระวัง แล้วค่อยติดตั้งรุ่นที่เหมาะสมใหม่ภายหลัง ตัวอย่างคำสั่งที่ใช้บ่อยคือ

sudo apt purge 'nvidia*' -y
sudo apt autoremove -y
sudo apt autoclean

หากมี Mesa หรือ Xorg บางส่วนเสียหายจาก dependency แตก อาจติดตั้งซ่อมแพ็กเกจแกนกลางใหม่ด้วย

sudo apt install --reinstall xserver-xorg-core xserver-xorg-video-all libgl1-mesa-dri libglx-mesa0 mesa-vulkan-drivers -y

สำหรับเครื่องที่เคย blacklist โมดูลบางตัวเอง ควรตรวจสอบไฟล์ใน /etc/modprobe.d/ ด้วย

grep -RinE 'blacklist (nouveau|nvidia|amdgpu|i915)' /etc/modprobe.d/

และถ้าพบไฟล์ตั้งค่าที่หลงเหลือจากการปรับแต่งเก่า ให้สำรองก่อนแก้ไข เช่น

sudo cp /etc/modprobe.d/blacklist-nouveau.conf ~/blacklist-nouveau.conf.bak

ประเด็นสำคัญคืออย่าลบแบบสุ่มโดยไม่ดูผลกระทบ ถ้าคุณใช้ GPU ทำงานเฉพาะทาง เช่น CUDA หรือ AI stack การ purge NVIDIA อาจกระทบ workflow อื่นได้ แต่ในภาวะฉุกเฉินที่เครื่องบูตไม่ขึ้น การกู้ desktop กลับมาก่อนมักเป็นลำดับความสำคัญที่เหมาะสม

อัปเดต initramfs และซิงก์โมดูลกับเคอร์เนลใหม่

หลังลบหรือเปลี่ยนไดรเวอร์กราฟิกแล้ว ควรสร้าง initramfs ใหม่เพื่อให้ระบบบูตด้วยชุดโมดูลล่าสุดที่ตรงกับสถานะปัจจุบันของแพ็กเกจ เพราะหลายครั้งปัญหาเกิดจาก initramfs ยังอ้างถึงโมดูลเก่าที่ไม่มีอยู่แล้ว นี่คือคำสั่งที่ควรรัน

sudo update-initramfs -u -k all
sudo update-grub

จากนั้นดูว่ามีเคอร์เนลค้างหลายรุ่นหรือไม่

dpkg -l | grep linux-image
uname -r

หากเพิ่งอัปเดตเคอร์เนลแล้ว DKMS สร้างโมดูล NVIDIA ไม่สำเร็จ ให้ตรวจบันทึกเพิ่ม

dkms status
journalctl -b --no-pager | grep -i dkms

ในบางสถานการณ์ อาจต้องติดตั้ง header ให้ตรงกับเคอร์เนลที่ใช้งาน

sudo apt install linux-headers-$(uname -r) -y

แล้วค่อยติดตั้งไดรเวอร์ใหม่ภายหลัง สิ่งที่ผมอยากเน้นคือ Linux ไม่ได้ “สุ่มพัง” อย่างที่หลายคนคิด ส่วนใหญ่จะมีชั้นของความสัมพันธ์ระหว่าง kernel, module, display server และ display manager ซ้อนกันอยู่ หากเราเช็กทีละชั้น การซ่อม Ubuntu boot loop จาก failed GDM service start ผ่านเทอร์มินัลจะกลายเป็นงานวิเคราะห์ที่ทำซ้ำได้ ไม่ใช่การเสี่ยงดวง

ติดตั้ง GDM3 ใหม่และรีเซ็ตค่าคอนฟิกที่อาจเสียหาย

เมื่อแน่ใจแล้วว่าฐานแพ็กเกจพอจะสมบูรณ์และไดรเวอร์กราฟิกได้รับการจัดการ ขั้นตอนต่อมาคือ reinstall GDM3 เพื่อเขียนไฟล์ service, dependencies และคอนฟิกหลักใหม่ทับของเดิม วิธีนี้ช่วยได้มากเมื่อไฟล์ใน /etc/gdm3/ หรือ package scripts เสียหาย คำสั่งที่แนะนำคือ

sudo apt update
sudo apt install --reinstall gdm3 ubuntu-desktop gnome-shell -y

จากนั้นรีเซ็ตค่า display manager ด้วย

sudo dpkg-reconfigure gdm3

ระหว่างกระบวนการอาจมีให้เลือก display manager ค่าเริ่มต้น ถ้ามีทั้ง gdm3 และ lightdm ให้เลือก gdm3 ก่อนสำหรับสถานการณ์นี้ ถ้าคุณสงสัยว่าไฟล์คอนฟิกผู้ใช้ทำให้ GNOME shell crash หลัง login ไม่ใช่ตอน start GDM คุณสามารถสร้างผู้ใช้ทดสอบเพิ่มเพื่อแยกปัญหาได้

sudo adduser testfix
sudo usermod -aG sudo testfix

วิธีคิดแบบนี้สำคัญมาก เพราะช่วยแยกว่าปัญหาอยู่ที่ “ตัวจัดการหน้าจอล็อกอิน” หรือ “session ของผู้ใช้” หากผู้ใช้ใหม่เข้าได้ แปลว่าความเสียหายอาจอยู่ใน dotfiles ของบัญชีเดิมมากกว่าตัว GDM เอง

ตรวจเครือข่ายและแหล่งแพ็กเกจก่อนดาวน์โหลดส่วนที่ขาด

การซ่อมระบบผ่าน TTY มักต้องติดตั้งแพ็กเกจใหม่ ดังนั้นอินเทอร์เน็ตและ repository ที่ใช้งานได้จึงสำคัญมาก ถ้าคุณเชื่อมต่อผ่านสาย LAN อยู่แล้ว มักพร้อมใช้งานทันที แต่ถ้าเป็น Wi-Fi อาจต้องตรวจสถานะ network ด้วยคำสั่งเหล่านี้

ip a
ip route
ping -c 4 8.8.8.8
ping -c 4 archive.ubuntu.com

ถ้า ping IP ได้แต่ ping domain ไม่ได้ ให้ตรวจ DNS ใน /etc/resolv.conf หรือใช้ NetworkManager CLI กรณีจำเป็น เช่น

nmcli device status
nmcli connection show

สำหรับ repository ให้ตรวจไฟล์ source และอัปเดตรายการแพ็กเกจ

grep -v '^#' /etc/apt/sources.list
sudo apt update

ถ้าพบ mirror ล่มหรือช้า สามารถเปลี่ยนไปใช้ mirror หลักของ Ubuntu ได้ โดยอ้างอิงเอกสารจาก Ubuntu Community และ Canonical เช่น https://help.ubuntu.com/ และ https://ubuntu.com/server/docs/package-management ผู้เริ่มต้นมักมองข้ามเรื่อง network ในงานกู้ระบบ แต่ความจริงมันเป็นข้อกำหนดพื้นฐานของการติดตั้งแพ็กเกจซ่อมแซมทุกอย่าง

ทดสอบสตาร์ต GDM แบบควบคุมก่อนรีบูตจริง

หลังจัดการไดรเวอร์ แก้ dependency และ reinstall GDM3 แล้ว ให้ทดลองเริ่มบริการด้วยตัวเองก่อน reboot เพื่อดูว่าปัญหาถูกแก้แล้วหรือยัง ขั้นแรกคืนค่า default target และเปิด service กลับมา

sudo systemctl enable gdm3
sudo systemctl set-default graphical.target
sudo systemctl start gdm3

แล้วเช็กสถานะอีกครั้ง

systemctl status gdm3 --no-pager
journalctl -u gdm3 -b --no-pager | tail -n 100

ถ้าสถานะขึ้นเป็น active (running) ถือเป็นสัญญาณที่ดีมาก แต่หากยัง fail ให้ดูข้อความล่าสุดและย้อนกลับไปตรวจเรื่องไดรเวอร์หรือ session ผู้ใช้ ถ้าคุณต้องการทดสอบผ่านการสลับ target โดยไม่รีบูตเต็มระบบ อาจใช้

sudo systemctl isolate graphical.target

แต่สำหรับผู้เริ่มต้น ผมมักแนะนำให้สังเกต log หลัง start service ก่อน เพราะจะเห็น error ชัดกว่าการกระโดดสลับ target ทันที ขั้นตอนนี้เหมือนการทดลองสตาร์ตระบบหลังซ่อมชิ้นส่วนแล้ว ช่วยลดความเสี่ยงที่จะ reboot แล้วกลับไปเจอ boot loop เดิมโดยไม่มีข้อมูลใหม่ให้วิเคราะห์

หากยังไม่หาย: สลับไปใช้ LightDM ชั่วคราวเพื่อยืนยันว่าปัญหาอยู่ที่ GDM

ในบางเคส GDM3 อาจมีปัญหาเฉพาะตัว ขณะที่ส่วนกราฟิกอื่นยังทำงานได้ คุณสามารถติดตั้ง LightDM เป็น display manager สำรองเพื่อใช้ทดสอบว่า desktop session ยังเข้าสู่ระบบได้หรือไม่ วิธีนี้ไม่ใช่การหนีปัญหา แต่เป็นเทคนิคในการแยกชั้นความเสียหายอย่างมีเหตุผล คำสั่งมีดังนี้

sudo apt install lightdm -y
sudo dpkg-reconfigure lightdm

เลือก lightdm เป็นค่าเริ่มต้น แล้วรีสตาร์ตบริการหรือรีบูต

sudo systemctl disable gdm3
sudo systemctl enable lightdm
sudo reboot

ถ้าเครื่องเข้าเดสก์ท็อปได้ภายใต้ LightDM แปลว่าระบบกราฟิกระดับล่างพอใช้งานได้ และปัญหาอาจโฟกัสอยู่ที่ GDM3 หรือการทำงานร่วมกับ Wayland เป็นหลัก ในกรณีนี้คุณอาจทดลองปิด Wayland ชั่วคราวในไฟล์คอนฟิก GDM หากต้องการกลับไปแก้ต่อ เช่น

sudo nano /etc/gdm3/custom.conf

แล้วตรวจบรรทัด WaylandEnable=false จากนั้นบันทึกและทดลองใหม่ วิธีการนี้เป็นตัวอย่างของการวินิจฉัยเชิงระบบที่ดี: เราไม่ได้เดา แต่ใช้การสลับองค์ประกอบเพื่อพิสูจน์ขอบเขตของปัญหา

มุมมองเชิงวิเคราะห์: ทำไมทักษะ TTY จึงสำคัญกว่าการคลิกเมนู

ตรงกลางบทความนี้ ผมอยากแทรกความเห็นส่วนตัวในฐานะคนที่ทำงานกับระบบปฏิบัติการและโอเพนซอร์สมาระยะหนึ่งว่า ปัญหาแบบ GDM ล้มตอนบูตเป็นกรณีศึกษาที่ดีมากของคำว่า “terminal literacy” หลายคนใช้ Linux เพราะอยากได้อิสระจากระบบปิด แต่พอเกิดปัญหาจริงกลับตกใจเมื่อไม่มี GUI ให้คลิก ทั้งที่แก่นแท้ของ Linux เปิดโอกาสให้เราเข้าถึงระบบในระดับลึกกว่าเดสก์ท็อปเสมอ การรู้จัก TTY, systemctl, journalctl, dpkg, apt และการอ่าน log เบื้องต้น จึงไม่ใช่ทักษะของผู้เชี่ยวชาญเท่านั้น แต่เป็นเครื่องมือคุ้มครองความต่อเนื่องของงานและข้อมูลของเราเอง หากมองในเชิง digital sovereignty ความสามารถในการซ่อม Ubuntu boot loop จาก failed GDM service start ผ่านเทอร์มินัล คือการไม่ยอมให้ชั้นกราฟิกที่ล้มชั่วคราวมาพรากการควบคุมทั้งเครื่องไปจากผู้ใช้ ยิ่งสำหรับนักพัฒนา ผู้ดูแลระบบ หรือคนทำงานครีเอทีฟบน Linux ทักษะนี้ช่วยให้คุณตัดสินใจได้ด้วยข้อมูล ไม่ต้องรีบฟอร์แมตเครื่องทุกครั้งที่หน้าจอไม่ขึ้น และนั่นถือเป็นอิสระที่มีความหมายมาก

สร้างสคริปต์บำรุงรักษาและ snapshot สถานะที่เสถียรไว้ล่วงหน้า

เมื่อระบบกลับมาทำงานแล้ว สิ่งที่ควรทำต่อคือป้องกันไม่ให้เหตุการณ์ซ้ำรอยเดิม วิธีที่ง่ายและมีประโยชน์มากคือบันทึกรายชื่อแพ็กเกจสำคัญ เวอร์ชันไดรเวอร์ และสถานะเคอร์เนลไว้เป็น snapshot เชิงข้อความ เพื่อใช้เปรียบเทียบหลังอัปเดตครั้งถัดไป ตัวอย่างสคริปต์ง่าย ๆ มีดังนี้

mkdir -p ~/system-snapshots
cat <<'EOF' > ~/system-snapshots/save-graphics-state.sh
#!/usr/bin/env bash
set -e
STAMP=$(date +%F-%H%M%S)
OUT=~/system-snapshots/$STAMP
mkdir -p "$OUT"
uname -a > "$OUT/uname.txt"
dpkg -l | grep -Ei 'gdm3|lightdm|gnome-shell|nvidia|mesa|xserver-xorg|linux-image|linux-headers' > "$OUT/packages.txt"
lsmod > "$OUT/lsmod.txt"
lspci -k > "$OUT/lspci-k.txt"
systemctl status gdm3 --no-pager > "$OUT/gdm3-status.txt" 2>&1 || true
journalctl -u gdm3 -b --no-pager | tail -n 200 > "$OUT/gdm3-log-tail.txt" 2>&1 || true
echo "Saved to $OUT"
EOF
chmod +x ~/system-snapshots/save-graphics-state.sh
~/system-snapshots/save-graphics-state.sh

คุณอาจเพิ่มการสำรองไฟล์คอนฟิกสำคัญ เช่น /etc/gdm3/, /etc/modprobe.d/ และรายการแพ็กเกจจาก apt-mark showmanual ด้วยก็ได้ สำหรับผู้ที่ชอบแนวทางมั่นคงขึ้นอีกขั้น เครื่องมือ snapshot อย่าง Timeshift ก็เป็นตัวเลือกที่ดี โดยดูข้อมูลได้ที่ https://teejee2008.github.io/timeshift/

เช็กลิสต์คำสั่งสำคัญแบบสรุป ใช้ตอนเจอเหตุฉุกเฉินจริง

เพื่อให้คุณนำไปใช้ได้ง่าย ผมขอสรุป flow ของการซ่อม Ubuntu boot loop จาก failed GDM service start ผ่านเทอร์มินัลแบบย่อในลักษณะเช็กลิสต์ดังนี้:

– เข้า TTY ด้วย Ctrl+Alt+F3
– ล็อกอิน แล้วตรวจสถานะ systemctl status gdm3
– อ่าน log ด้วย journalctl -u gdm3 -b
– เช็กดิสก์และซ่อมแพ็กเกจด้วย df -h, dpkg --configure -a, apt --fix-broken install
– ตรวจไดรเวอร์ด้วย lspci -k, lsmod, ubuntu-drivers devices
– หยุด GDM ก่อนแก้ด้วย systemctl stop gdm3
– purge ไดรเวอร์ที่เสียหาย เช่น apt purge 'nvidia*'
– อัปเดต initramfs ด้วย update-initramfs -u -k all
– reinstall GDM3 ด้วย apt install --reinstall gdm3 ubuntu-desktop gnome-shell
– รีเซ็ตด้วย dpkg-reconfigure gdm3
– ทดสอบ start service แล้วเช็กสถานะอีกครั้ง
– ถ้ายังไม่หาย ทดลองใช้ LightDM เพื่อแยกปัญหา

แม้เช็กลิสต์นี้จะดูยาว แต่เมื่อใช้งานจริงจะเห็นว่ามันเป็นลำดับคิดที่มีเหตุผล ไม่ได้แก้แบบมั่ว และยิ่งคุณทำตามลำดับได้คล่องเท่าไร เวลาเจอปัญหารอบหน้าคุณจะยิ่งรับมือได้สงบขึ้นมาก

สรุป: กู้ระบบให้กลับมา พร้อมยกระดับทักษะการดูแล Linux ของตัวเอง

อาการบูตลูปหลัง GDM start ไม่ผ่านอาจดูน่ากลัวในวินาทีแรก แต่บ่อยครั้งมันไม่ได้หมายความว่าระบบ Ubuntu ของคุณพังจนหมดทางรักษา ตรงกันข้าม ถ้าเรายังเข้า TTY ได้ ก็ยังมีพื้นที่ให้วินิจฉัย ซ่อม dependency ล้างไดรเวอร์กราฟิกที่ขัดกัน สร้าง initramfs ใหม่ ติดตั้ง GDM3 ซ้ำ และ reconfigure display manager ให้กลับมาทำงานได้อย่างเป็นขั้นเป็นตอน หัวใจของกระบวนการนี้คือการอ่านอาการจาก log และแยกชั้นของปัญหา ไม่ด่วนสรุปว่าเป็นความผิดของ Linux ทั้งหมด บทความนี้ได้พาคุณผ่านแนวทางซ่อม Ubuntu boot loop จาก failed GDM service start ผ่านเทอร์มินัลแบบครบวงจร ตั้งแต่ TTY ไปจนถึงการป้องกันระยะยาว หากคุณทำตามแล้วระบบกลับมาได้ อย่าหยุดแค่ความโล่งใจ แต่ให้ถือโอกาสนี้พัฒนาทักษะ terminal literacy ของตัวเองต่อ เพราะในโลกโอเพนซอร์ส ความรู้ในการกู้เครื่องของตนเองคืออำนาจรูปแบบหนึ่ง และเป็นรากฐานของการใช้งานคอมพิวเตอร์อย่างเป็นอิสระ มั่นคง และยั่งยืน

GDM | GNOME
Ubuntu failed to strat display manager

Leave a Comment

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top