Tôi có một máy tính xách tay cũ và tôi đã cài đặt phiên bản Ubuntu 20.04 LTS Server (không có GUI, chỉ có CLI). Nó được quản lý thông qua SSH nên việc hiển thị của nó là không cần thiết. Tôi muốn tắt màn hình khi đóng nắp và bật lại nếu tôi mở.
Tôi đã cấu hình thành công acpid để quản lý màn hình.
Trong /etc/acpi/sự kiện Tôi đã tạo một tệp:
sự kiện=nút/nắp.*
hành động =/etc/acpi/lid.sh
Kịch bản:
#!/bin/sh
grep -q đã đóng /proc/acpi/nút/nắp/LID/trạng thái
nếu [ $? = 0 ]
sau đó
# đóng hành động
setterm --blank force
khác
# hành động mở
setterm --blank poke
fi
Nếu tôi chạy tập lệnh này theo cách thủ công, nó sẽ hoạt động hoàn hảo, tuy nhiên có vẻ như acpi không thể chạy tập lệnh:
$ sudo tạp chí -u acpid -f
...
Ngày 04 tháng 7 20:03:01 máy chủ acpid[1179]: đã nhận được sự kiện lớp đầu vào "đóng nút/nắp LID"
Ngày 04 tháng 7 20:03:01 máy chủ acpid[1179]: quy tắc từ/etc/acpi/events/lid khớp
Ngày 04 tháng 7 20:03:01 máy chủ acpid[1353]: thực hiện hành động "/etc/acpi/lid.sh"
Ngày 04 tháng 7 20:03:01 máy chủ acpid[1179]: hành động đã thoát với trạng thái 1
04 tháng 7 20:03:01 acpid máy chủ[1179]: 1 tổng số quy tắc phù hợp
Ngày 04 tháng 7 20:03:01 máy chủ acpid[1179]: hoàn thành sự kiện lớp đầu vào "đóng nút/nắp LID"
...
Lỗi: hành động đã thoát với trạng thái 1 (không phải 0)
Nếu tôi biết đúng, mã thoát 1 là vấn đề về quyền (không được phép thao tác). Tôi không biết tại sao nó "không được phép", vì tôi không cần sử dụng sudo
để chạy tập lệnh này.