จะปิด X Server ได้อย่างไรเพื่อหลีกเลี่ยงข้อผิดพลาดขณะอัพเดทไดรเวอร์ nVidia


33

ฉันพยายามอัปเดตไดรเวอร์ nVidia ของฉัน แต่ฉันพบข้อผิดพลาดเมื่อฉันติดตั้งไดรเวอร์

ดูข้อผิดพลาด:

  ข้อผิดพลาด: ดูเหมือนว่าคุณกำลังใช้งานเซิร์ฟเวอร์ X อยู่ โปรดออกจาก X ก่อน            
         การติดตั้ง สำหรับรายละเอียดเพิ่มเติมโปรดดูในส่วนการติดตั้ง   
         NVIDIA DRIVER ใน README มีอยู่ในไดรเวอร์ Linux         
         หน้าดาวน์โหลดที่ www.nvidia.com


หมายเหตุ: ฉันลองทำตามคำแนะนำโดยพิมพ์init 3แต่ยังไม่มีอะไรเปลี่ยนแปลง .. จะปิดเซิร์ฟเวอร์ X ได้อย่างไร?

ดังนั้นฉันสามารถอัปเดตไดรเวอร์


1
คุณลองserviceคำแนะนำของฉันหรือไม่
เควิน

นี่คือ distro อะไร
Patrick

คำตอบ:


17

ฉันไม่คิดว่าฉันเคยได้รับการติดตั้ง / อัปเดต nvidia แต่ที่นี่:

# To stop:
sudo init 3
# To resume:
sudo init 5

แม้ว่าฉันจะไม่แน่ใจ 100% ว่ามันจะใช้งานได้กับ Ubuntu แต่ IIRC พวกเขาย้ายออกจาก init บน Ubuntu ลองทำสิ่งนี้ (แทนที่ gdm ด้วย kdm / slim / เครื่องมือจัดการหน้าจอที่คุณใช้):

# To stop:
sudo service gdm stop
# To start:
sudo service gdm start

ฉันค่อนข้างแน่ใจว่าจะหยุดเซสชัน X ทั้งหมด

สะอาดหมดจดคุณสามารถฆ่าพวกมันได้:

sudo killall /usr/bin/X

แต่พวกเขาอาจเกิดใหม่ได้


ฉันลองโซลูชันแรกของคุณแล้วใช้งานไม่ได้แล้วฉันลองโซลูชันที่สองของคุณโดยระบุว่าบริการที่ไม่รู้จัก (ฉันลองทั้งหมด) ฉันลองโซลูชันล่าสุดของคุณแล้วและก็บอกว่าno proccess found
Rev3rse

2
ใน Ubuntu เครื่องมือจัดการหน้าจอพื้นฐานไม่ใช่ GDM แต่เป็น LightDM service lightdm stop.
John WH Smith

@JohnWHS บางทีมันอาจเป็นตอนนี้ แต่เมื่อไม่นานมานี้เมื่อฉันเขียนสิ่งนี้
Kevin

6

วิธีการหยุดเซิร์ฟเวอร์ X แตกต่างกันไปตามรุ่นของคุณ คุณต้องออกจากโหมดกราฟิก ( alt+ctrl+F1เช่นพิมพ์) เข้าสู่ระบบจากนั้นพิมพ์คำสั่งต่อไปนี้เพื่อหยุดเซิร์ฟเวอร์ X:

sudo service lightdm stop

sudo service gdm stop

sudo service kdm stop  //this is the one that worked for mi as I use kdm and Linux mint

ตอนนี้คุณสามารถติดตั้งไดรเวอร์แล้วพิมพ์

sudo reboot

เมื่อคุณเขียนแท็บsudo serviceกดเพื่อดูตัวเลือกที่คุณมี (gdm, kdm, ... )


4

ตามที่ระบุข้อผิดพลาดคุณยังคงใช้งานเซิร์ฟเวอร์ X ข้อผิดพลาดนี้เกิดขึ้นเมื่อคุณพยายามติดตั้งไฟล์ Nvidia .run ในขณะที่เข้าสู่ระบบ

ตรวจสอบให้แน่ใจว่าคุณออกจากระบบแล้ว

  • กดCTRL + ALT + F1และเข้าสู่ระบบโดยใช้ข้อมูลประจำตัวของคุณ
  • ฆ่าเซสชันเซิร์ฟเวอร์ X ปัจจุบันของคุณโดยพิมพ์sudo service lightdm stopหรือsudo stop lightdm
  • ป้อน runlevel 3 (หรือ 5) โดยพิมพ์sudo init 3 (หรือsudo init 5) และติดตั้งไฟล์. runของคุณ
  • คุณอาจต้องรีบู๊ตเมื่อการติดตั้งเสร็จสิ้น ถ้าไม่ใช่ให้รันsudo service lightdm startหรือsudo start lightdmเพื่อเริ่ม X server ของคุณอีกครั้ง

2

จากประสบการณ์ของฉันฉันจะลองนี้:

  • Alt+F1จากนั้นเข้าสู่ระบบsudo telinit 3(หากที่ไม่ทำงานลอง/sbin/telinit 3) และตรวจสอบว่ามันจะถูกเปลี่ยนเป็น 3 ระดับด้วยrunlevelที่ควรส่งออกสิ่งที่ต้องการ5 3ซึ่งหมายความว่าระดับการทำงานในปัจจุบันและก่อนที่มันเป็น35

ในกรณีที่ใช้งานไม่ได้ให้ทำ:

  • ps ax | grep Xและในผลลัพธ์ที่คุณจะเห็นPIDจำนวนของกระบวนการXดังนั้นคุณควรฆ่ามันด้วยsudo kill -9 numberที่numberเป็นPIDจำนวนของกระบวนการ

1
sudo kill -9 <all pids from ps ax>ทำงาน!
voy

1

หากคุณใช้ Linux Mint ให้ใช้ sudo service mdm stop


สำหรับฉันมันเป็นsudo service lightdm stopLinux Mint 19.
Angelorf

@Angelorf คุณใช้สภาพแวดล้อมของเดสก์ทอปแบบใด? อบเชย?
crypdick

ใช่ Linux Mint 19 Cinnamon
Angelorf

0

การบูตเพื่อ runlevel อื่น

Runlevels ใน Linux กำหนดว่าบริการใดที่จะเริ่มต้นและหยุดทำงานโดยอัตโนมัติเมื่อระบบบูตหรือปิดการทำงาน โดยปกติแล้ว runlevels จะอยู่ในช่วงตั้งแต่ 0 ถึง 6 โดยปกติแล้ว runlevel 5 จะเริ่มต้นระบบ X window ซึ่งเป็นส่วนหนึ่งของบริการ (runlevel 0 เป็นจริงที่ระบบหยุดและ 6 คือการรีบูตระบบ) เป็นวิธีปฏิบัติที่ดีในการติดตั้งไดรเวอร์ NVIDIA Linux ในขณะที่ X ไม่ทำงานและเป็นความคิดที่ดีที่จะป้องกันไม่ให้ X เริ่มการบูทใหม่ในกรณีที่เกิดปัญหากับการติดตั้ง (ไม่เช่นนั้นคุณอาจพบว่าตัวเองใช้ระบบเสีย เพื่อเริ่ม X แต่หยุดทำงานในระหว่างการเริ่มต้นทำให้คุณไม่สามารถทำการซ่อมแซมที่จำเป็นเพื่อแก้ไข X) runlevels 1, 2 หรือ 3 ควรเพียงพอสำหรับการติดตั้งไดรเวอร์ทั้งนี้ขึ้นอยู่กับการตั้งค่าเครือข่ายของคุณ โดยปกติแล้วระดับ 3 จะรวมถึงบริการเครือข่าย ดังนั้นหากยูทิลิตี้ที่ใช้โดยระบบระหว่างการติดตั้งขึ้นอยู่กับระบบไฟล์ระยะไกลระดับ 1 และ 2 จะไม่เพียงพอ หากระบบของคุณเริ่มระบบไปยังคอนโซลด้วยพรอมต์คำสั่งคุณไม่จำเป็นต้องเปลี่ยนแปลงอะไร หากระบบของคุณบูทเข้าสู่ระบบหน้าต่าง X ด้วยการล็อกอินแบบกราฟิกและเดสก์ท็อปคุณต้องออกจาก X และเปลี่ยน runlevel เริ่มต้น

ในการกระจายส่วนใหญ่ runlevel เริ่มต้นจะถูกเก็บไว้ในไฟล์ / etc / inittab แม้ว่าคุณอาจจะต้องศึกษาคำแนะนำสำหรับการแจกจ่ายของคุณเอง บรรทัดที่ระบุระดับเริ่มต้นจะปรากฏเป็น

id:n:initdefault:

หรือคล้ายกันโดยที่ n หมายถึงหมายเลขของระดับ runlevel / etc / inittab ต้องแก้ไขเป็น root โปรดอ่านหัวข้อการแก้ไขไฟล์และผู้ใช้รูทหากคุณไม่คุ้นเคยกับแนวคิดนี้ นอกจากนี้ขอแนะนำให้คุณสร้างสำเนาของไฟล์ก่อนที่จะแก้ไขโดยเฉพาะถ้าคุณยังใหม่กับโปรแกรมแก้ไขข้อความ Linux ในกรณีที่คุณเกิดความเสียหายกับไฟล์โดยไม่ตั้งใจ:

# cp /etc/inittab /etc/inittab.original

บรรทัดควรได้รับการแก้ไขเพื่อให้ runlevel ที่เหมาะสมเป็นค่าเริ่มต้น (1, 2 หรือ 3 ในระบบส่วนใหญ่):

id:3:initdefault:

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

การแจกแจงที่แตกต่างกันมีวิธีการที่แตกต่างกันในการออกจาก X ในหลาย ๆ ระบบยูทิลิตี้ init จะเปลี่ยน runlevel ปัจจุบัน สิ่งนี้สามารถใช้เพื่อเปลี่ยนเป็นระดับที่ X ไม่ได้ทำงานอยู่

init 3

มีวิธีอื่นที่จะออกจาก X โปรดปรึกษาการกระจายของคุณ

README และคู่มือการติดตั้งไดรฟ์เวอร์ NVIDIA เร่งกราฟิก Linux

แสดงกระบวนการทั้งหมดของคุณด้วย:

ps ax

รายการบริการ runing ทั้งหมดของคุณด้วย:

service --status-all | grep +

0

ฉันกำลังใช้ kubuntu และมีปัญหาเดียวกันและไม่มีคำตอบใดที่ทำงานได้ แต่มันเกิดขึ้นพร้อมกับข้อความว่ากำลังทำงานใน "โหมดกราฟิกต่ำ" ฉันต้องกดปุ่มctrl-alt-backspaceเพื่อฆ่า X-server

ฉันใช้ ssh เพื่อเชื่อมต่อกับเครื่องและติดตั้งไดรเวอร์ของ Nvidia หลังจากนั้น อาจจะเปลือกเสมือนใช้ctrl-alt-F1จะทำงาน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.