Как ограничить зарядку аккумулятора (установить порог заряда) для ноутбуков ASUS на Linux
Гугл перевод
Новые ноутбуки ASUS поддерживают ограничение уровня заряда батареи, что помогает продлить срок службы батареи. В этой статье объясняется, как установить порог заряда батареи для ноутбуков ASUS в Linux.
Срок службы батареи зависит от возраста, высоких температур, количества циклов зарядки и времени полной зарядки. Порог заряда батареи сокращает время полной зарядки (100%) и, таким образом, улучшает работоспособность/срок службы батареи.
Ноутбуки ASUS поддерживают установку порога заряда, начиная с Linux 5.4 . Метод ядра WMI для установки порогового значения заряда не позволяет указать батарею, предполагая, что это первая батарея ( BAT0). Однако для некоторых более новых ноутбуков ASUS основная батарея называется не BAT0, а BATT(например, Zenbook UM431DA) и BAT1(например, ASUS TUF Gaming FX706II). [Править] А еще есть BATC.
Таким образом, хотя ноутбуки ASUS поддерживают ограничение зарядки аккумулятора, начиная с Linux 5.4, это возможно только для ноутбуков с BAT0. Для ноутбуков ASUS, использующих BATTв качестве основного имени батареи, вам потребуется ядро 5.7 , а для BAT1вас потребуется ядро 5.8 (в инструкциях ниже вы увидите, как именно проверить имя батареи). [Изменить] Для ноутбуков ASUS, использующих имя батареи BATC, вам необходимо использовать Linux 5.9 или новее.
Кроме того, не все ноутбуки ASUS поддерживают настройку порога заряда батареи, поэтому в зависимости от модели вашего ноутбука ASUS это может работать или не работать для вас; нет списка поддерживаемых устройств, которые я мог бы найти.
Важно отметить, что метод ядра WMI для установки порога заряда батареи для ноутбуков ASUS может установить только значение остановки ( charge_control_end_threshold) (он также не может установить порог запуска). Кроме того, при подключении переменного тока, если уровень заряда батареи выше порога остановки зарядки, она не будет разряжаться до порога остановки.
И еще одно замечание. С моим ASUS ZenBook 14 UX433FAC под управлением Ubuntu 20.04 с оболочкой GNOME, при ограничении зарядки аккумулятора, когда уровень заряда равен или превышает порог заряда, а затем подключить ноутбук к сети переменного тока, индикатор батареи на верхней панели меняется с оставшегося времени пока батарея не разрядится до времени, оставшегося до зарядки батареи. Это происходит, даже если аккумулятор не заряжается. Через некоторое время (так что это не происходит мгновенно, когда вы подключаете ноутбук к сети переменного тока), индикатор батареи меняется на «Не заряжается», как и должно быть.
Помимо ASUS, некоторые ноутбуки Lenovo и Huawei (последний получил поддержку Linux 5.5 ) также имеют поддержку ограничения зарядки аккумулятора. Но поскольку у меня есть только ноутбук ASUS и я не могу протестировать его на других устройствах, это руководство предназначено только для ASUS. Lenovo поддерживает это уже довольно давно, а TLP поддерживает встроенную настройку (только для IBM/Lenovo ThinkPad). В качестве примечания, вот графический интерфейс для TLP , чтобы легко настроить его, если вы еще не используете его.
1. Узнайте название аккумулятора вашего ноутбука ASUS.
Давайте начнем с выяснения названия батареи для вашего ноутбука ASUS. Это можно сделать с помощью следующей команды:
ls /sys/class/power_supply
Эта команда должна вывести что-то вроде этого:
AC0 BAT0
В этом примере (из моего ноутбука ASUS) имя батареи — BAT0, но, как я упоминал выше, для вас это также может быть BAT1 или BATT, это единственные имена батарей, поддерживаемые ядром для ноутбуков ASUS.
2. Создайте службу systemd для установки порога остановки заряда батареи при загрузке.
Перед созданием службы systemd проверьте, есть ли на вашем ноутбуке charge_control_end_threshold( /sys/class/power_supply/BAT*без нее это не сработает):
ls /sys/class/power_supply/BAT*/charge_control_end_threshold
Если эта команда возвращает путь к charge_control_end_threshold, ваш ноутбук ASUS поддерживает ограничение зарядки аккумулятора. Если команда возвращает ошибку о том, что такого файла или каталога нет, значит, ваш ноутбук не поддерживает установку порога заряда.
Если на вашем ноутбуке ASUS есть этот файл, мы можем продолжить. Создайте файл, который мы будем называть battery-charge-threshold.service./etc/systemd/system
Вы можете открыть этот файл в текстовом редакторе консоли по умолчанию, используя:
sudo gedit /etc/systemd/system/battery-charge-threshold.service
или любой другой графический редактор, который вы хотите использовать (например, чтобы Gedit открывал этот файл как root :)gedit admin:///etc/systemd/system/battery-charge-threshold.service
В этот файл вам нужно будет вставить следующее:
[Unit]
Description=Set the battery charge threshold
After=multi-user.target
StartLimitBurst=0[Service]
Type=oneshot
Restart=on-failure
ExecStart=/bin/bash -c 'echo CHARGE_STOP_THRESHOLD > /sys/class/power_supply/BATTERY_NAME/charge_control_end_threshold'[Install]
WantedBy=multi-user.target
Здесь измените BATTERY_NAME на название батареи ( BAT0, BAT1 или BATT) и CHARGE_STOP_THRESHOLD на порог остановки заряда батареи, который вы хотите использовать (в диапазоне от 1 до 100). Обратите внимание, что один пользователь не мог установить порог заряда на любое значение, а только на 60, 80 и 100.
Из того, что я читал, для наилучшего срока службы батареи, когда ноутбук большую часть времени подключен к сети переменного тока, установите порог остановки заряда батареи на уровне 50 или 60. Если батарея используется довольно часто, установите порог остановки зарядки батареи на уровне 50 или 60. около 90.
3. Включите и запустите службу systemd battery-charge-threshold.
Теперь давайте включим и запустим только что созданный сервис systemd battery-charge-threshold:
sudo systemctl enable battery-charge-threshold.service
sudo systemctl start battery-charge-threshold.service
С помощью systemd 220 можно включить и запустить службу напрямую с помощью systemctl enable --now, но я предпочитаю использовать 2 команды на случай, если некоторые читатели используют более старую версию systemd.
Если вы хотите изменить пороговый уровень остановки заряда батареи, вам нужно отредактировать /etc/systemd/system/battery-charge-threshold.serviceфайл и изменить число в ExecStart строке (после echo) на новое значение, которое вы хотите использовать, а затем перезагрузить systemd (поскольку содержимое файла изменилось ) и перезапустите службу systemd с помощью следующих команд:
sudo systemctl daemon-reload
sudo systemctl restart battery-charge-threshold.service
4. Убедитесь, что порог остановки заряда аккумулятора работает.
Если ваш ноутбук ASUS поддерживает это, предел зарядки аккумулятора теперь должен быть установлен на значение, которое вы использовали на шаге 2.
Вы можете проверить это, зарядив свой ноутбук до порога, установленного в battery-charge-threshold.service, а затем использовать эту команду:
cat /sys/class/power_supply/BATTERY_NAME/status
Замените BATTERY_NAME на название батареи, как описано в шаге 1.
Если порог остановки заряда батареи работает, команда должна показать следующий вывод:
Not Charging
Если он говорит «Discharging», убедитесь, что ваш ноутбук ASUS действительно работает от сети переменного тока, а не от батареи. Однако, если он говорит «Charging», ну... тогда ваш ноутбук заряжается выше порога остановки зарядки, так что это не работает для вас, либо потому, что ваш ноутбук ASUS не поддерживает это (что странно, если у вас есть charge_control_end_threshold как упоминается в шаге 2), либо вы используете версию Linux, которая слишком старая для ограничения зарядки аккумулятора на вашем ноутбуке ASUS, ну или из-за человеческой ошибки .
Дополнительно: если вы не используете systemd, вы также можете сделать это с помощью cron, запустив
sudo crontab -e
и вставив следующую строку, хотя это не во всех случаях надежно из того, что я читал (я не уверен, почему):
Замените CHARGE_STOP_THRESHOLD на пороговое значение остановки заряда батареи, которое вы хотите использовать, и BATTERY_NAME на имя батареи, как показано на шаге 1.
Зачем использовать службу systemd или задание cron? Согласно пользователю u/esrevartb, от которого я адаптировал эти инструкции, « кажется, что правило udev не работает либо потому, что путь sysfs батареи еще не инициализирован, когда правило применяется, либо потому, что этот конкретный атрибут charge_control_end_threshold не может быть модифицировал таким образом ».
Добавлено. Чтобы легко установить порог заряда для ноутбуков ASUS (автоматическая настройка службы systemd и возможность изменить порог заряда с помощью команды), а также проверить текущий порог заряда, см . bat .
В TLP 1.4.0 также добавлена поддержка ограничения зарядки аккумулятора на ноутбуках ASUS.
Оригинал статьи:
https://www-linuxuprising-com.translate.goog/2021/02/how-to-...
У меня на ASUS tuf A15 в ОС Fedora 36 workstation команда:
cat /sys/class/power_supply/BATTERY_NAME/status
выдаёт
Unknown
однако, процесс заряда не превышает установленных мною 60%
Отправка анонимных сообщений
Всем привет. Сегодня я покажу вам, как можно отправлять СМС совершенно бесплатно и анонимно.
Заранее оговорюсь, что данная статья написана исключительно в качестве ознакомления. И хоть и при помощи неё невозможно как-то навредить, я всё-таки попрошу не использовать её во зло.
Для начала скачиваем Termux.
Затем просто вводим данные команды последовательно:
pkg install git
pkg install python
git clone https://github.com/HACK3RY2J/Anon-SMS.git
cd Anon-SMS
bash Run.sh
После запуска, нажимаем Enter (может выскочить ошибка, игнорируем и всё равно жмём Enter)
Просто вводим 1 и жмём Enter
Теперь вводим код страны, на номер которой будем отправлять смс( без +) и нажимаем Enter:
После этого, продолжаем вводить номер телефона (код оператора и номер)
Теперь вводим сообщение. Поддерживается и русский, и английский.
При успехе будет "Successful...".
Подвох в том, что квота на отправку смс составляет 1 раз в день. Можно обойти, через VPN. Пример Сообщения будет ниже.
Пы. Сы: Для десктопного линукса команды будут ниже:
sudo apt install git
git clone https://github.com/HACK3RY2J/Anon-SMS.git
cd Anon-SMS
sudo bash Run.sh
Надеюсь, эта информация была вам полезной!
Скрытые скриншоты в linux - scrot
Иногда (почти всегда) работодатель следит за тем, как сотрудник использует компьютеры.
В моей компании, где 95% компьютеров используют ОС Ubuntu, решение использовало scrot (SCReenshOT) - простую утилиту захвата экрана из командной строки.
команда для его установки
$ sudo apt install -y scrot
### ( step 01 )
### создать необходимые папки
mkdir -p /etc/.scrot; mkdir -p /mnt/desktop-sc; chmod 733 /mnt/desktop-sc;
### ( step 02 )
### desktop-sc_mount_credentials - создание файла для учетных данных, монтирование папки со скриншотами
(echo "username=sharedfolder_login"; echo "password=sharedfolder_pass";) > /etc/.scrot/.desktop-sc_mount_credentials;
chmod -R 700 /etc/.scrot/.desktop-sc_mount_credentials; chown root:root /etc/.scrot/.desktop-sc_mount_credentials;
### ( step 03 )
### записать путь к общей папке в /etc/fstab
head -n $(nl -ba /etc/fstab | grep UUID| tail -1 | awk '{print $1}') /etc/fstab > /tmp/fstab-clean;
cat /tmp/fstab-clean > /etc/fstab; (echo ""; echo "# Other projects screenshots folder"; echo "//10.0.0.10/screenshots/$(hostname | tr [:lower:] [:upper:]) /mnt/desktop-sc cifs uid=1001,gid=1001,credentials=/etc/.scrot/.desktop-sc_mount_credentials,file_mode=0333,dir_mode=0333 0";) >> /etc/fstab;
### ( step 04 )
### desktop-sc.sh - создание скрипта, который делает скриншоты
echo " while true; do scrot -d 120 -q 20 '/mnt/desktop-sc/%Y-%m-%d-%H-%M-%S.jpg'; done " > /etc/.scrot/desktop-sc.sh;
chmod 555 /etc/.scrot/desktop-sc.sh;
### ( step 05 )
### desktop-sc.desktop - создание ярлыка загрузки desktop-sc.sh
(echo '[Desktop Entry]';\
echo 'Type=Application';\
echo 'Hidden=false';\
echo 'NoDisplay=true';\
echo 'X-GNOME-Autostart-enabled=true';\
echo 'Name[en_US]=desktop-sc';\
echo 'Name=desktop-sc';\
echo 'Comment[en_US]=desktop-sc';\
echo 'Comment=desktop-sc';\
echo 'Exec=/etc/.scrot/desktop-sc.sh';) > /etc/.scrot/desktop-sc.desktop;
chmod 664 /etc/.scrot/desktop-sc.desktop;
cp /etc/.scrot/desktop-sc.desktop /etc/xdg/autostart/;
что касается скрипта, который делает скриншоты, то все, но в процессе работы заметил, что мошоночный отросток часто сам замыкается из-за различных ошибок.
Чтобы решить эту проблему, мы создали еще один скрипт, который проверяет и решает возможные проблемы.
### ( step 06 )
### /etc/.scrot/desktop-sc_status.sh - создание скрипта, который проверяет и решает проблемы с desktop-sc.sh
(echo '### wait 30 seconds to avoid startup errors';\
echo 'sleep 30 ;';\
echo '';\
echo '### check if SCROT works';\
echo 'if [ $(ps aux| grep scrot| grep -c mnt ) = '1' ]; then';\
echo 'sleep 0;';\
echo 'else';\
echo '### if SCROT does not work normally, closes all possible scrot processes';\
echo 'kill -9 $(ps aux | grep desktop-sc | awk '{print $2}'|xargs |sed -e 's/ / /g') ;';\
echo 'kill -9 $(ps aux | grep mnt | awk '{print $2}'|xargs |sed -e 's/ / /g') ;';\
echo ' ### wait 5 minutes for the rest of the processes to close';\
echo ' sleep 300 ;';\
echo '### check if SCROT works';\
echo ' if [ $(ps aux| grep scrot| grep -c mnt ) -gt '1' ]; then';\
echo ' sleep 0;';\
echo ' else';\
echo '### if SCROT does not work at all, it sets a "scrot" process that cannot be closed without Log-Out';\
echo ' $(while true; do scrot -d 120 -q 20 '/mnt/desktop-sc/%Y-%m-%d-%H-%M-%S.jpg' ; done) & ';\
echo ' sleep 122;';\
echo ' fi;';\
echo 'fi;';\
echo '';\
echo 'if [ $(ps aux |grep scrot |grep -c mnt ) = '1' ] && [ $(df -h |grep -c mnt ) = '1' ]; then';\
echo 'sleep 3600 && /etc/.scrot/desktop-sc_status.sh & exit ;';\
echo 'else';\
echo 'sleep 0;';\
echo 'fi; ';) > /etc/.scrot/desktop-sc_status.sh;
chmod 555 /etc/.scrot/desktop-sc_status.sh;
### ( step 07 )
### desktop-sc_status.desktop - создание ярлыка загрузки desktop-sc_status.sh
(echo '[Desktop Entry]';\
echo 'Type=Application';\
echo 'Hidden=false';\
echo 'NoDisplay=true';\
echo 'X-GNOME-Autostart-enabled=true';\
echo 'Name[en_US]=desktop-sc_status';\
echo 'Name=desktop-sc_status';\
echo 'Comment[en_US]=desktop-sc_status';\
echo 'Comment=desktop-sc_status';\
echo 'Exec=/etc/.scrot/desktop-sc_status.sh';) > /etc/.scrot/desktop-sc_status.desktop;
chmod 664 /etc/.scrot/desktop-sc_status.desktop;
cp /etc/.scrot/desktop-sc_status.desktop /etc/xdg/autostart/;
~ Fin ~
Цифровой экзорцизм или изгоняю демонов терминалом
Как-то раз случайно пригляделся чего я натворил в консоле. Даже испугался немного... Линуксоид-экзорцист!
Сможете найти на картинке цифру среди букв?
Справились? Тогда попробуйте пройти нашу новую игру на внимательность. Приз — награда в профиль на Пикабу: https://pikabu.ru/link/-oD8sjtmAi
#ЗАМЕТКА Как в Linux конвертировать PDF в JPG без тормозов и потерь качества
Частыми примерами для конвертации, является convert из пакета ImageMagic.
Но эта "магическая" функция обожает вначале съедать оперативку, потом гордо сообщая - "А оперативочки то больше нет", умирать.
Воспользуемся пакетом Poppler.
Производим установку из терминала:
sudo apt-get install poppler-utils
Простейший пример конвертации PDF в JPG:
pdftocairo -jpeg "имяфайла.pdf"
И немного о ключах:
-png
Создает PNG-файл(ы)
-jpeg
Создает файл(ы) JPEG
-tiff
Генерирует TIFF-файл(ы)
-f
Задает первую страницу для преобразования.
-l
Задает последнюю страницу для преобразования.
-о
Создает только страницы с нечетными номерами.
-e
Создает только четные страницы.
-r
Определяет разрешение "печати". Значение по умолчанию - 150 PPI.
-mono
Создайте монохромный файл (только PNG и TIFF).
-gray
Создайте файл в оттенках серого (только PNG, JPEG и TIFF).