#arch-linux #linux-kernel #kernel #arch #kernel-module #desktop-notifications #linux

app reboot-arch-btw

检查是否需要重启系统,因为内核已更新。(顺便说一句,我使用Arch!)

23个不稳定版本 (7个破坏性版本)

0.8.0 2024年5月21日
0.7.1 2024年3月17日
0.7.0 2024年2月9日
0.5.7 2023年10月19日
0.1.2 2019年11月19日

命令行实用程序 中排名第 23

Download history 2/week @ 2024-04-26 202/week @ 2024-05-17 73/week @ 2024-05-24 30/week @ 2024-05-31 21/week @ 2024-06-07 16/week @ 2024-06-14 16/week @ 2024-06-21

每月下载量 1,526

GPL-3.0-only

28KB
570

重启Arch BTW

GitHub Workflow Status Crates.io Version Crates.io Downloads AUR version

这是一个小型实用程序,显示在 ArchLinux 上安装并运行的Linux内核。如果您没有注意到内核已更新,并且突然发现USB驱动器无法挂载,因为所需的内核模块无法加载,那么这个实用程序非常有用。

它还可以检测像systemd这样的关键软件包是否已更新,这也可能需要重启。

要获取已安装内核的版本,它使用libalpm(与pacman一起发货)查询本地pacman数据库。要获取运行内核的版本,它使用 uname -r

安装

您可以直接从AUR安装它

或者,您可以使用cargo安装它

cargo install reboot-arch-btw

构建

此项目需要最新的稳定Rust版本,但也可能与较旧的Rust版本兼容。此外,您需要安装dbus。

sudo pacman -S dbus
cargo build

用法

$ reboot-arch-btw
Kernel
 installed: 5.19.13.arch1.1 (since 4 minutes ago)
 running:   5.19.12.arch1.1
systemd updated 4 minutes ago
Reboot arch btw

它还将显示一个 桌面通知,表明您可能需要重启系统。

可以使用 --reboot-packages--reboot-packages 设置在更新时应触发通知的软件包列表。

$ reboot-arch-btw --help
Check if a reboot is needed due to an updated kernel or other system packages.

Usage: reboot-arch-btw [OPTIONS]

Options:
      --disable-notification
          Disable desktop notification

      --notification-timeout <NOTIFICATION_TIMEOUT>
          Timeout for the desktop notification in milliseconds.

          * "default" will leave the timeout to be set by the server.

          * "never" or "0" will cause the notification never to expire.

          * Any other number will be interpreted as the timeout in milliseconds.

          [default: default]

      --reboot-packages <REBOOT_PACKAGES>
          Comma separated list of packages were we should reboot after an upgrade

          [default: systemd,linux-firmware,amd-ucode,intel-ucode]

      --session-restart-packages <SESSION_RESTART_PACKAGES>
          Comma separated list of packages were we should restart our session after an upgrade

          [default: xorg-server,xorg-xwayland]

  -h, --help
          Print help information (use `-h` for a summary)

  -V, --version
          Print version information

Pacman钩子

您可以配置 pacman 在每次升级后运行 reboot-arch-btw,以立即检查您是否需要重启。为此,创建 /etc/pacman.d/hooks/99-reboot-arch-btw.hook 并包含以下内容

[Trigger]
Operation = Upgrade
Type = Package
Target = *

[Action]
Description = Check whether a reboot is required
Depends = reboot-arch-btw
When = PostTransaction
Exec = /usr/bin/sudo -u $USER DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$UID/bus /usr/bin/reboot-arch-btw

注意:您需要将 $USER$UID 替换为您实际的用户名和用户ID。

依赖项

~4–29MB
~407K SLoC