Tôi đang dùng Arch Linux, nơi tôi đang cố gắng tạo một bộ đếm thời gian systemd như một giải pháp thay thế cho việc ngủ đông máy tính xách tay của tôi với pin yếu. Vì vậy, tôi đã viết ba tập tin này:
/etc/systemd/system/battery.service
[Unit]
Description=Preko skripte preveri stanje baterije in hibernira v kolikor je stanje prenizko
[Service]
Type=oneshot
ExecStart=/home/ziga/Dropbox/workspace/operacijski/archlinux/hibernate/hibernatescript
User=nobody
Group=systemd-journal
/etc/systemd/system/battery.timer
[Unit]
Description=Periodical checking of battery status every two minutes
[Timer]
OnUnitActiveSec=2min
[Install]
WantedBy=timers.target
/ home / ziga / Dropbox / workspace / operacijski / archlinux / hibernate / hibernatescript
#!/bin/sh
/usr/bin/acpi -b | /usr/bin/awk -F'[,:%]' '{print $2, $3}' | (
read -r status capacity
if [ "$status" = Discharging ] && [ "$capacity" -lt 50 ]; then
/usr/bin/systemctl hibernate
fi
)
Và sau đó để kích hoạt bộ đếm thời gian tôi đã thực hiện:
sudo systemctl enable battery.timer
sudo systemctl start battery.timer
Và bằng cách nào đó nó không hoạt động. Script tự hoạt động. Điều này có nghĩa là nếu tôi thực thi lệnh bên dưới, máy tính của tôi ngủ đông tốt.
/home/ziga/Dropbox/workspace/operacijski/archlinux/hibernate/hibernatescript
ĐỊA CHỈ1:
Sau khi kích hoạt và bắt đầu hẹn giờ, tôi đã chạy một số kiểm tra và đây là những gì tôi nhận được:
[ziga@ziga-laptop ~]$ systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
n/a n/a n/a n/a battery.timer battery.serv
Tue 2016-06-28 00:00:00 CEST 42min left Mon 2016-06-27 00:01:54 CEST 23h ago logrotate.timer logrotate.se
Tue 2016-06-28 00:00:00 CEST 42min left Mon 2016-06-27 00:01:54 CEST 23h ago shadow.timer shadow.servi
Tue 2016-06-28 00:00:00 CEST 42min left Mon 2016-06-27 00:01:54 CEST 23h ago updatedb.timer updatedb.ser
Tue 2016-06-28 22:53:58 CEST 23h left Mon 2016-06-27 22:53:58 CEST 23min ago systemd-tmpfiles-clean.timer systemd-tmpf
và
[ziga@ziga-laptop ~]$ systemctl | grep battery
battery.timer loaded active elapsed Periodical checking of battery status every two minutes
THÊM 2:
Sau khi áp dụng giải pháp từ Alexander T, bộ hẹn giờ của tôi bắt đầu (kiểm tra mã bên dưới) nhưng tập lệnh không ngủ đông máy tính xách tay của tôi trong khi nó ngủ đông nếu tôi thực hiện trực tiếp.
[ziga@ziga-laptop ~]$ systemctl list-timers
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2016-06-28 19:17:30 CEST 1min 43s left Tue 2016-06-28 19:15:30 CEST 16s ago battery.timer battery.service
ziga
nhưng nó không hoạt động.
WantedBy=timers.target
để WantedBy=battery.service
trong /etc/systemd/system/battery.timer nhưng điều này không làm gì cả.
nobody
người dùng, hay là ziga (tôi hiểu/home/ziga
)? Người dùng không ai có thể không có đủ quyền . Khi bạn nói nó không hoạt động , nó sẽ đi được bao xa?