Как проверить, подключен ли силовой кабель, из командной строки?

Вопрос или проблема

Я использую Ubuntu на своем ноутбуке и мне нужно узнать (из командной строки), подключен ли кабель питания. Есть ли какой-либо системный файл, который фиксирует это? Или есть ли команда bash, которая может помочь?

Мне это нужно для скрипта, который будет вести себя иначе в зависимости от того, подключен кабель питания или нет.

$ cat /proc/acpi/ac_adapter/ACAD/state
state:                   on-line

или что-то подобное в зависимости от вашей архитектуры. В псевдодиректории /proc скрыто множество экспортов состояния машины.

$ cat /sys/class/power_supply/ADP1/online 
1
 [подключено питание]
$ cat /sys/class/power_supply/ADP1/online 
0

Значение, которое нужно поставить вместо ADP1, может различаться.

Используйте команду on_ac_power.

Например:

on_ac_power && echo on_ac || echo on_batt

Коды состояния выхода команды:

0    (true)   Система работает от сети
1    (false)  Система не работает от сети
255  (false)  Статус питания не может быть определен

Чтобы отобразить статус батареи на строке состояния wmii, я использую что-то подобное:

acpi -a | grep AC | cut -d: -f2

Если acpi отсутствует, вы можете установить его с помощью:

sudo apt install acpi

Как предлагается здесь: https://askubuntu.com/questions/386949/how-to-check-if-the-ac-laptop-adapter-is-plugged-or-not, просто выполните:

acpi -a

который можно установить с помощью

sudo apt-get install acpi

Вывод покажет вам Adapter 0: on-line, если подключен, или Adapter 0: off-line, если отключен.

Для меня ADP1/online не было доступно, так что мне пришлось посмотреть в другой файл в той же директории power_supply, т.е.

cat /sys/class/power_supply/AC/online     

Подключено : 1

Не подключено : 0

Ответ или решение

Вопрос проверки подключения сетевого кабеля на ноутбуке с установленной операционной системой Ubuntu может быть решён несколькими способами через командную строку. В данной статье мы рассмотрим наиболее эффективные методы и команды, которые могут быть использованы для этой цели, чтобы вы могли интегрировать их в свои скрипты и оптимизировать поведение системы в зависимости от подключения к сети.

1. Проверка через файлы в каталоге /proc или /sys

Одним из способов проверки статуса питания является использование файлов, расположенных в специальных директориях, таких как /proc и /sys. Поскольку эти директории содержат виртуальные файловые системы, они предоставляют доступ к информации о состоянии оборудования:

Пример:

cat /proc/acpi/ac_adapter/ACAD/state

Этот файл может возвращать строку с состоянием: state: on-line (соответствующий кабель подключен) или state: off-line (кабель не подключен).

Другой путь заключается в использовании следующей команды:

cat /sys/class/power_supply/AC/online

Если результат равен 1, это означает, что адаптер подключен, если 0 — не подключен. Однако учтите, что название устройства может варьироваться, вместо AC может быть ADP1 или другое, в зависимости от вашей системы.

2. Использование утилиты acpi

Утилита acpi позволяет получить информацию о состоянии питания и других характеристиках батареи и адаптера. Если acpi не установлена, вы можете добавить её с помощью следующей команды:

sudo apt install acpi

Пример:

После установки утилиты вы можете использовать команду:

acpi -a

Вывод будет содержать информацию о состоянии адаптера: Adapter 0: on-line (подключен) или Adapter 0: off-line (не подключен).

Можно также использовать следующую команду, чтобы получить только статус:

acpi -a | grep AC | cut -d: -f2

3. Команда on_ac_power

Альтернативный способ — использование команды on_ac_power, которая возвращает статус подключения к сети. Для выполнения команды просто используйте следующий синтаксис:

on_ac_power && echo "on_ac" || echo "on_batt"

Команда возвращает статус:

  • Код возврата 0 означает, что компьютер подключен к электроэнергии.
  • Код возврата 1 — система работает от батареи.
  • Код 255 указывает на то, что статус питания не может быть определён.

Заключение

Вы можете использовать один или несколько из перечисленных методов для проверки подключения к сети через командную строку в Ubuntu. Эти возможности позволяют получить актуальную информацию о состоянии питания, обеспечивая гибкость в скриптах и улучшая управление системой.

Используя команды и методы, описанные выше, вы сможете эффективно контролировать поведение вашего ноутбука в зависимости от подключения к сети, что крайне важно для оптимизации использования ресурсов и энергосбережения.

Оцените материал
Добавить комментарий

Капча загружается...