จะปิดการใช้งาน X server autostart ใน Debian Jessie ได้อย่างไร?


39

ฉันมีเครื่องระยะไกลที่ใช้ Debian 8 (เจสซี) ติดตั้ง lightdm ฉันต้องการให้เริ่มในโหมด no-GUI แต่ฉันไม่ต้องการลบสิ่งที่เกี่ยวข้องกับ X ทั้งหมดเพื่อให้สามารถเรียกใช้งานได้แม้ว่า SSH ด้วย-Xพารามิเตอร์ ดังนั้นวิธีการปิดการใช้งาน X server เริ่มอัตโนมัติโดยไม่ต้องลบมัน?

ฉันพยายามsystemctl stop lightdmมันหยุด lightdm แต่มันจะทำงานอีกครั้งหลังจากรีบูต ฉันพยายามsystemctl disable lightdmด้วยเหมือนกัน แต่มันก็ไม่ทำอะไรเลย มันเปลี่ยนชื่อสคริปต์ของ lightdm ใน/etc/rc*.dไดเรกทอรี แต่ก็ยังคงเริ่มต้นหลังจากรีบูตดังนั้นฉันทำอะไรผิด และฉันทำไม่ได้เพียงupdate-rc.d lightdm stopเพราะมันเลิกใช้แล้วและใช้งานไม่ได้


2
การเรียกใช้ข้อมูล X ผ่าน ssh ไม่จำเป็นต้องมีเซิร์ฟเวอร์ X ติดตั้งอยู่ในเครื่อง (มันแค่ต้องการไลบรารีไคลเอนต์ X ) คุณต้องการติดตั้งเซิร์ฟเวอร์ X หรือไม่ [AFAIK คุณพบข้อผิดพลาด - การปิดใช้งานควรจะใช้งานได้ แน่นอนว่าคำตอบนั้นแทบจะไม่ ... ]
derobert

@derobert โอ้ดังนั้น ... ฉันคิดว่าฉันไม่ต้องการเซิร์ฟเวอร์ X ในกรณีนี้ มันยังคงเป็นวิธีแก้ปัญหามากกว่าวิธีแก้ปัญหา แต่ขอบคุณ ฉันสามารถลบ lightdm และแพ็คเกจ xorg-server- * อย่างปลอดภัยหรือควรเก็บบางอย่างไว้เช่นไดรเวอร์ xorg-server-input- * หรือวิดีโอได้หรือไม่
kurogetsusai


@kurogetsusai คุณสามารถลบ lightdm และ xorg-server- * คุณเพียงแค่ต้องรักษาxauth(แนะนำโดยopenssh-server) และไลบรารีใด ๆ ที่ไคลเอ็นต์ X ของคุณขึ้นอยู่กับ คุณอาจต้องใช้แบบอักษรบางอย่างเช่นกัน
derobert

คำตอบ:


81

การปิดใช้งานไม่ทำงานเนื่องจาก/etc/X11/default-display-managerตรรกะDebian นั้นจบลงด้วยการเอาชนะ

เพื่อให้การบูตข้อความเป็นค่าเริ่มต้นภายใต้ systemd (ไม่ว่า distro ตัวใด):

systemctl set-default multi-user.target

หากต้องการเปลี่ยนกลับเป็นการบูตเป็น GUI

systemctl set-default graphical.target

ฉันยืนยันงานเหล่านั้นบน Jessie VM ของฉันและSlashbackยืนยันบนเครื่องยืดเช่นกัน

PS: คุณไม่จำเป็นต้องใช้เซิร์ฟเวอร์ X บนเครื่องของคุณเพื่อเรียกใช้ไคลเอ็นต์ X ผ่าน ssh เซิร์ฟเวอร์ X จำเป็นเฉพาะเมื่อมีการแสดงผล (จอภาพ)


2
+1 สำหรับการชี้ X ไม่จำเป็นต้องเรียกใช้ไคลเอนต์ X ใน SSH
jlh

ทำงานบน Stretch VM ของฉัน
Slashback

ใช้งานได้ แต่ยังมีเทอร์มินัล xterm ไม่สามารถกำจัดมันได้
ransh

@ransh ดูเหมือนว่าคุณควรถามคำถามของคุณเอง อ้างอิงคำถามนี้ในคำถามของคุณและอธิบายสิ่งที่คุณหมายถึงใช้ได้ - ฉันไม่แน่ใจว่าคุณยังมี xterm โผล่ขึ้นมาได้อย่างไรถ้า X ยังไม่เริ่ม นอกจากนี้ทุกสิ่งที่อาจแตกต่างเกี่ยวกับระบบของคุณ
derobert

1
คุณสามารถใช้ systemctl รับค่าเริ่มต้นที่จะรู้ว่าสิ่งที่เป็นปัจจุบัน มีประโยชน์มากสำหรับเซิร์ฟเวอร์ระยะไกล
Sadi

4

คุณสามารถเพิ่มลงsystemd.unit=multi-user.targetในบรรทัดคำสั่งเคอร์เนลได้หากคุณไม่สามารถเข้าถึงระบบที่กำลังรันอยู่ได้


2

ฉันไม่รู้เกี่ยวกับ Debian มากนัก แต่ในแล็ปท็อป Ubuntu 14.04 ของฉันนี่คือขั้นตอนมาตรฐานที่ฉันใช้เมื่อฉันต้องการปิดการใช้งาน X และ boot เพื่อcommand promptแก้ไขปัญหา:

  1. แก้ไขไฟล์/etc/default/grubในโหมด superuser และตั้งค่า GRUB_CMDLINE_LINUX_DEFAULT="text"

และคุณยังสามารถ uncomment บรรทัดนี้แล้วทำ#GRUB_TERMINAL=console sudo update-grubเครื่องจะบู๊ตในโหมดข้อความ

  1. หากต้องการเริ่มต้นส่วนต่อประสานกราฟิกจากนั้นคุณควรทำ sudo service lightdm start#cd เป็น gdm หรือ startx ในบางสถานการณ์

ที่มา: https://askubuntu.com/questions/52089/how-do-i-boot-to-a-command-line-interface-instead-of-a-gui


ไม่ได้ทำงานใน Ubuntu 16.04 มันยังคงบูทอัตโนมัติไปที่คำพังเพย
Juha Untinen

คุณได้ลอง uncommenting GRUB_TERMINAL=consoleและปรับปรุงด้วงหรือไม่?
Prahlad Yeri

ใช่. ฉันต้องทำสิ่งนี้ซึ่งถูกกล่าวถึงในคำตอบที่ยอมรับได้:systemctl set-default multi-user.target
Juha Untinen


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