Trong Ubuntu 18,19,20 hệ thống ngủ đông
lệnh yêu cầu sudo
để thực hiện nó:
Quyền "tạm dừng systemctl" so với "ngủ đông systemctl"
Để tắt lời nhắc mật khẩu systemctl ngủ đông
lệnh nên được thêm vào danh sách sudoers (/etc/sudoers.tmp
)
Sử dụng sudo visudo
lệnh và thêm vào cuối tệp dòng sau:
<user_name> ALL=NOPASSWD: /usr/bin/systemctl ngủ đông
Nhưng bây giờ có lỗi trong Menu tắt đơn giản hơn
sự mở rộng. Hibernate được thực hiện trong đó bởi systemctl ngủ đông
, không phải bởi sudo systemctl ngủ đông
theo yêu cầu. Việc thực hiện này là trong tập tin [email protected]/extension.js
Tôi đã tạo vấn đề tương ứng cho tiện ích mở rộng này:
Lỗi trong Ubuntu 20.04: Nhấn nút [Ngủ đông] yêu cầu nhập mật khẩu trước khi thực hiện ngủ đông
Cam kết cuối cùng được thực hiện khoảng 1 năm trước. Vì vậy, phần mở rộng không được hỗ trợ tích cực.
Dưới đây là chi tiết đầy đủ về sự cố với cách giải quyết:
hành vi dự kiến
ép ngủ đông
nút thực thi sudo systemctl ngủ đông
.
Nếu có người dùng thích hợp trong danh sách sudoers (/etc/sudoers.tmp
sửa bởi sudo visudo
):
<user_name> ALL=NOPASSWD: /usr/bin/systemctl ngủ đông
hành động ngủ đông được thực hiện ngay sau khi nhấn ngủ đông
cái nút.
Kết quả thực tế
Nhấn nút [Ngủ đông] yêu cầu nhập mật khẩu người dùng để thực hiện ủy quyền cho hành động.
Trong nhật ký hệ thống (ít hơn /var/log/syslog
) có lỗi - "Không thể ngủ đông hệ thống thông qua đăng nhập: Truy cập bị từ chối":
02:51:06 gnome-shell[1983]: st_widget_get_theme_node được gọi trên tiện ích [0x564b127af6f0 Gjs_ui_popupMenu_PopupSubMenuMenuItem.popup-menu-item popup-submenu-menu-item:last-child ("")] không có trong giai đoạn.
02:51:06 Tgnome-shell[1983]: st_widget_get_theme_node được gọi trên tiện ích [0x564b127b6d00 StWidget:last-child] không ở trong giai đoạn.
02:51:06 gnome-shell[1983]: st_widget_get_theme_node được gọi trên tiện ích [0x564b12781480 StBoxLayout ("")] không ở trong giai đoạn.
02:51:13 systemd[1735]: Bắt đầu Ứng dụng do gnome-shell khởi chạy.
02:51:13 gnome-Shell [5729]: Hệ thống ngủ đông không thành công thông qua đăng nhập: Truy cập bị từ chối
02:51:27 gnome-shell[5729]: Không thể bắt đầu ngủ đông.mục tiêu: Truy cập bị từ chối
02:51:27 gnome-shell[5729]: Xem nhật ký hệ thống và 'trạng thái systemctl hibernate.target' để biết chi tiết.
Sau khi nhập mật khẩu, hành động ngủ đông có thể được thực hiện bởi không systemctl ngủ đông
nhưng một số lệnh khác. Tôi không chắc nhưng có thể do chiều ngủ đông
hoặc ngủ đông
lệnh - những gì không được khuyến nghị.
Sự khác biệt giữa "pm-hibernate" và "systemctl hibernate"
Một câu trả lời khá ngắn gọn cho điều này là systemd được duy trì tích cực, trong khi pm-utils thì không.
Trên thực tế, pm-utils đã không được cập nhật từ năm 2010, vì vậy tôi sẽ coi phần mềm này vừa cũ vừa lỗi thời.
Bạn nên sử dụng systemctl từ thời điểm này.
Sự khác biệt giữa "ngủ đông systemctl" và "ngủ đông":
lệnh ngủ đông đã được thay thế bằng systemctl hibernate. Bạn nên sử dụng systemctl hibernate. lệnh ngủ đông vẫn có sẵn trong hệ thống vì lý do tương thích.
Trong Ubuntu 18,19,20 hệ thống ngủ đông
lệnh yêu cầu sudo
để thực hiện nó:
Quyền "tạm dừng systemctl" so với "ngủ đông systemctl"
Trong việc thực hiện Đơn giản hơnTắtMenu
mở rộng trong ngủ đông
nút trình xử lý sử dụng
systemctl ngủ đông
, không phải sudo systemctl ngủ đông
đó là cần thiết để khắc phục vấn đề này.
Sửa chữa
Biến đổi tiện ích mở rộng.js
tập tin như sau:
function FuncHibernate(widget, event) {
Main.overview.hide(); cố gắng {
// sửa lỗi bắt đầu: thêm sudo
//Util.trySpawnCommandLine('systemctl hibernate');
Util.trySpawnCommandLine('sudo systemctl hibernate');
//sửa kết thúc
} bắt (lỗi) {
Main.notify("Lỗi " + err);
}
}
đã sửa tiện ích mở rộng.js
tập tin là đây.
cách giải quyết
Để khắc phục sự cố này trong Ubuntu 20.04 sau khi tiện ích mở rộng đã được cài đặt, bạn cần thực hiện như sau:
Thay đổi tập lệnh JS của tiện ích mở rộng đã được cài đặt tại đây:
/home/<your_user_name>/.local/share/gnome-shell/extensions/[email protected]/extension.js
(bạn có thể tìm vị trí của tiện ích mở rộng.js
tập tin bởi sudo find /* -name "extension.js"
)
Sau đó thêm sudo
như được mô tả trong bản sửa lỗi ở trên và bảo vệ tệp.
Để áp dụng bản sửa lỗi, có thể chỉ cần lưu tệp là đủ. Tôi chỉ trong trường hợp thực hiện các hướng dẫn từ đây:
- Đã tắt và bật tiện ích mở rộng,
nhấn nút cấu hình trên trang mở rộng
- ép
thay thế
+F2
, đã nhập r
và ép đi vào
- Đăng xuất và đăng nhập