Làm cách nào để tắt tự động khởi động máy chủ X trong Debian Jessie?


39

Tôi có một máy từ xa chạy Debian 8 (Jessie) với cài đặt lightdm. Tôi muốn nó bắt đầu ở chế độ không có GUI, nhưng tôi không muốn xóa tất cả những thứ liên quan đến X để vẫn có thể chạy nó qua SSH với -Xtham số. Vậy làm thế nào để vô hiệu hóa máy chủ X tự động khởi động mà không xóa nó?

Tôi đã thử systemctl stop lightdm, nó dừng lightdm, nhưng nó chạy lại sau khi khởi động lại. Tôi cũng đã thử systemctl disable lightdm, nhưng về cơ bản nó không làm gì cả. Nó đổi tên tập lệnh của lightdm trong các /etc/rc*.dthư mục, nhưng nó vẫn bắt đầu sau khi khởi động lại, vậy tôi đang làm gì sai? Và tôi không thể update-rc.d lightdm stop, bởi vì nó không được chấp nhận và không hoạt động.


2
Chạy công cụ X thông qua ssh không yêu cầu máy chủ X được cài đặt trên máy. (Nó chỉ yêu cầu các thư viện máy khách X ). Bạn có thực sự muốn cài đặt máy chủ X không? [AFAIK, bạn đã tìm thấy một lỗi lỗi mà bộ vô hiệu hóa nên hoạt động. Tất nhiên đó không phải là một câu trả lời ...]
derobert

@derobert Ồ, vậy ... tôi nghĩ tôi không cần máy chủ X trong trường hợp đó. Đó vẫn là một cách giải quyết hơn là một giải pháp, nhưng cảm ơn. Tôi có thể gỡ bỏ lightdm và tất cả các gói xorg-server- * một cách an toàn hay tôi nên giữ một cái gì đó, ví dụ như xorg-server-input- * hoặc trình điều khiển video?
Kurogetsusai


@kurogetsusai bạn có thể xóa lightdm và xorg-server- *. Bạn thực sự chỉ cần giữ xauth(được khuyến nghị bởi openssh-server) và bất kỳ thư viện nào mà máy khách X của bạn phụ thuộc vào. Bạn có thể cần một số phông chữ là tốt.
derobert

Câu trả lời:


81

Việc vô hiệu hóa không hoạt động vì /etc/X11/default-display-managerlogic Debian đang cuộn lên ghi đè lên nó.

Để làm cho văn bản khởi động mặc định theo systemd (bất kể phân phối nào, thực sự):

systemctl set-default multi-user.target

Để thay đổi trở lại để khởi động vào GUI,

systemctl set-default graphical.target

Tôi đã xác nhận những công việc đó trên Jessie VM của tôi và Slashback cũng xác nhận nó trên Stretch.

PS: Bạn thực sự không cần máy chủ X trên máy của mình để chạy máy khách X qua ssh. Máy chủ X chỉ cần ở nơi có màn hình (màn hình).


2
+1 để chỉ ra X không bắt buộc phải chạy máy khách X qua SSH
jlh

Hoạt động trên máy ảo Stretch của tôi.
Slashback

hoạt động nhưng vẫn có thiết bị đầu cuối xterm, không thể thoát khỏi nó.
chuộc

@ransh Âm thanh như bạn nên đặt câu hỏi của riêng bạn. Tham khảo câu hỏi này trong câu hỏi của bạn và cũng giải thích ý nghĩa của nó khi nó hoạt động. Tôi không chắc bạn vẫn có một xterm bật lên nếu X không bắt đầu. Ngoài ra bất cứ điều gì có thể khác về hệ thống của bạn.
derobert

1
bạn có thể sử dụng systemctl get-default để biết cái hiện tại là gì. rất hữu ích cho máy chủ từ xa.
Sadi

4

bạn cũng có thể thêm systemd.unit=multi-user.targetvào dòng lệnh kernel, nếu bạn không thể truy cập hệ thống đang chạy.


2

Tôi không biết nhiều về Debian, nhưng trên máy tính xách tay Ubuntu 14.04 của tôi, đây là quy trình chuẩn tôi sử dụng khi tôi muốn tắt X và khởi động để command promptkhắc phục sự cố:

  1. Chỉnh sửa tập tin /etc/default/grubtrong chế độ siêu người dùng và thiết lập GRUB_CMDLINE_LINUX_DEFAULT="text"

Tùy chọn, cũng bỏ ghi chú dòng này: #GRUB_TERMINAL=console và sau đó làm sudo update-grub. Máy sẽ khởi động ở chế độ văn bản.

  1. Để bắt đầu giao diện đồ họa từ đó, sau đó bạn thực hiện sudo service lightdm start#could be gdm hoặc startx trong một số trường hợp

Nguồn: https://askubfox.com/questions/52089/how-do-i-boot-to-a-command-line-interface-instead-of-a-gui


Không hoạt động trong Ubuntu 16.04. Nó vẫn tự động khởi động để gnome.
Juha Untinen

Bạn đã cố gắng bỏ qua GRUB_TERMINAL=consolevà cũng cập nhật các grub?
Prahlad Yeri

Vâng. Tôi đã phải làm điều này, được đề cập trong câu trả lời được chấp nhận:systemctl set-default multi-user.target
Juha Untinen

0

Hãy thử lệnh sau:

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.