Bagaimana cara menonaktifkan autostart X server di Debian Jessie?

39

Saya memiliki mesin jarak jauh yang menjalankan Debian 8 (Jessie) dengan lightdm diinstal. Saya ingin memulai dalam mode no-GUI, tapi saya tidak ingin menghapus semua hal yang berhubungan dengan X untuk tetap dapat menjalankannya melalui SSH dengan -Xparameter. Jadi bagaimana cara menonaktifkan autostart X server tanpa menghapusnya?

Saya mencoba systemctl stop lightdm, ia menghentikan lightdm, tetapi ia berjalan lagi setelah reboot. Saya juga mencoba systemctl disable lightdm, tetapi pada dasarnya tidak melakukan apa-apa. Itu mengubah nama skrip lightdm di /etc/rc*.ddirektori, tetapi masih dimulai setelah reboot, jadi apa yang saya lakukan salah? Dan saya tidak bisa adil update-rc.d lightdm stop, karena sudah usang dan tidak berfungsi.

kurogetsusai
sumber
2
Menjalankan X stuff melalui ssh tidak memerlukan server X yang diinstal pada mesin. (Itu hanya membutuhkan pustaka klien X ). Apakah Anda benar-benar ingin server X diinstal? [AFAIK, Anda menemukan bug — penonaktifan seharusnya berfungsi. Tentu saja itu bukan jawaban ...]
derobert
@derobert Oh, jadi ... Saya rasa saya tidak perlu server X dalam kasus itu. Ini masih lebih merupakan solusi daripada solusi, tapi terima kasih. Bisakah saya dengan aman menghapus lightdm dan semua paket xorg-server- * atau haruskah saya menyimpan sesuatu, misalnya driver xorg-server-input- * atau video?
kurogetsusai
@kurogetsusai Anda dapat menghapus lightdm dan xorg-server- *. Anda benar-benar hanya perlu menyimpan xauth(direkomendasikan oleh openssh-server) dan perpustakaan mana pun yang menjadi tempat bergantung klien X Anda. Anda mungkin perlu beberapa font juga.
derobert

Jawaban:

82

Penonaktifan tidak berfungsi karena /etc/X11/default-display-managerlogika Debian ditutup dengan menimpanya.

Untuk membuat boot teks default di bawah systemd (terlepas dari distro mana, sebenarnya):

systemctl set-default multi-user.target

Untuk mengubah kembali ke mem-boot ke GUI,

systemctl set-default graphical.target

Saya mengkonfirmasi pekerjaan itu pada Jessie VM saya dan Slashback mengonfirmasi itu di Stretch, juga.

PS: Anda sebenarnya tidak perlu server X pada mesin Anda untuk menjalankan X klien lebih dari ssh. Server X hanya diperlukan di mana layar (monitor) berada.

derobert
sumber
2
+1 untuk menunjukkan X tidak diperlukan untuk menjalankan klien X melalui SSH
jlh
Bekerja pada Stretch VM saya.
Slashback
berfungsi tetapi masih ada terminal xterm, tidak bisa menghilangkannya.
ransh
@ Transh Sepertinya Anda harus mengajukan pertanyaan sendiri. Rujuk yang ini dalam pertanyaan Anda dan jelaskan apa yang Anda maksud dengan itu berhasil — saya tidak yakin bagaimana Anda masih memiliki xterm yang muncul jika X tidak dimulai. Juga segala sesuatu yang mungkin berbeda tentang sistem Anda.
derobert
1
Anda dapat menggunakan systemctl untuk mendapatkan default untuk mengetahui apa yang sekarang. sangat berguna untuk server jarak jauh.
Sadi
4

Anda juga dapat menambahkan systemd.unit=multi-user.targetke baris perintah kernel, jika Anda tidak dapat mengakses sistem yang sedang berjalan.

Spongman
sumber
2

Saya tidak tahu banyak tentang Debian, tetapi pada laptop Ubuntu 14.04 saya, berikut adalah prosedur standar yang saya gunakan ketika saya ingin menonaktifkan X dan boot command promptuntuk pemecahan masalah:

  1. Edit file /etc/default/grubdalam mode superuser dan atur GRUB_CMDLINE_LINUX_DEFAULT="text"

Secara opsional, batalkan komentar pada baris ini: #GRUB_TERMINAL=console dan kemudian lakukan sudo update-grub. Mesin akan boot dalam mode teks.

  1. Untuk memulai antarmuka grafis dari sana, Anda dapat melakukan sudo service lightdm start#dapat menjadi gdm atau startx dalam beberapa situasi

Sumber: https://askubuntu.com/questions/52089/how-do-i-boot-to-a-command-line-interface-instead-of-a-gui

Prahlad Yeri
sumber
Tidak bekerja di Ubuntu 16.04. Masih boot secara otomatis ke gnome.
Juha Untinen
Apakah Anda mencoba menghapus komentar GRUB_TERMINAL=consoledan juga memperbarui grub?
Prahlad Yeri
Iya nih. Saya harus melakukan ini, yang disebutkan dalam jawaban yang diterima:systemctl set-default multi-user.target
Juha Untinen
0

Coba perintah berikut:

echo  "manual" | sudo tee -a /etc/init/lightdm.override
GAD3R
sumber
0

Saya harus melakukan ini:

systemtcl disable *dm

dimana *a gatau a kmungkin a x.

emile boyer
sumber
tentu saja * adalah "g" atau "k" mungkin "x"
emile boyer