Học thuyết
Tóm lại, có một tài liệu theo man launchctl
cách để thực hiện việc chuyển đổi như vậy sang chế độ khởi động lại kernel đơn. Nó có thể được triển khai, ví dụ, từ cửa sổ Terminal với lệnh SHELL:
sudo launchctl reboot userspace -s
Thực hành
El Capitan
Tôi đã thử nghiệm nó ở El Capitan trên Macbook Air 2015 nơi nó hoạt động. Nhưng tôi cũng đã báo cáo từ một người dùng rằng những nỗ lực của anh ta trên El Capitan đã không thành công. Sự khác biệt duy nhất tôi có thể nghĩ đến là Retina đòi hỏi chế độ đồ họa hoặc somesuch khác nhau. Tôi không có Macbook với Retina chạy El Capitan, vì vậy hiện tại tôi không thể nói gì thêm để hỗ trợ phiên bản như vậy.
Cao Sierra, Mojave
Những cố gắng của tôi với High Sierra đã cho thấy chức năng này không còn hoạt động (so với El Capitan). Một lần nữa, có thể là do Retina, nó không rõ ràng. Mojave không có nó cũng hoạt động.
Giải thích cặn kẽ bởi một người đóng góp¹
Có một cách để quay trở lại chế độ người dùng từ macOS đang chạy mà không cần khởi động lại đầy đủ bằng cách chạy
sudo launchctl reboot userspace -s
Điều này sẽ chỉ khởi động lại phần không gian người dùng của macOS mà không cần khởi động lại kernel Darwin và tương đương với việc thay đổi runlevel trên các UNIX ngày xưa.
Để biết thêm chi tiết, xem man launchctl
:
reboot [system|userspace|halt|logout|apps|reroot ]
Instructs launchd to begin tearing down userspace. With no argu-
ment given or with the system argument given, launchd will make
the reboot(2) system call when userspace has been completely
torn down. With the halt argument given, launchd will make the
reboot(2) system call when userspace has been completely torn
down and pass the RB_HALT flag, halting the system and not ini-
tiating a reboot.
With the userspace argument given, launchd will re-exec itself
when userspace has been torn down and bring userspace back up.
This is useful for rebooting the system quickly under conditions
where kernel data structures or hardware do not need to be re-
initialized.
-s When rebooting the machine (either a full reboot or
userspace reboot), brings the subsequent boot session
up in single-user mode.
Điều này có nghĩa là ở cấp độ kỹ thuật sudo launchctl reboot userspace -s
không gọi reboot(2)
và do đó cung cấp cách chuyển sang chế độ người dùng đơn lẻ mà không cần khởi động lại.
Ngoài ra bài viết Wikipedia về chế độ Người dùng đơn nói:
Trong OS X El Capitan và các bản phát hành macOS sau này, chế độ có thể được đảo ngược sang chế độ người dùng đơn bằng lệnh sudo launchctl reboot userspace -s
trong Terminal và hệ thống có thể được khởi động lại hoàn toàn trong chế độ một người dùng bằng lệnh sudo launchctl reboot system -s
.
1 - Được phép của @ nohillside
sudo launchctl reboot userspace -s
thành một không gian người dùng thành công và có thể sử dụng được khởi động lại! Nói một cách đơn giản, bất kể nguồn gốc của tài liệu là gì, lệnh nói trên đã không và không hoạt động và do đó, bất kể thực tế, câu trả lời cho câu hỏi này đã được chấp nhận, tuy nhiên tôi không thấy nó hoạt động và là lý do khiến tôi thất vọng.