Как заставить плагин xfce4-sensor отображать температуру жесткого диска на панели XFCE?

Я использую Xubuntu 12.10 на своем ноутбуке и хотел бы отслеживать температуру процессора и жесткого диска. Я установил lm-sensor, hddtemp и xfce4-sensors-plugin и добавил виджет в панель XFCE. Теперь, когда я вхожу в систему или вручную запускаю xfce4-sensors в терминале, я получаю следующее уведомление:

"hddtemp" was not executed correctly, although it is executable. This is most probably due to the disks requiring root privileges to read their temperatures, and "hddtemp" not being setuid root.

An easy but dirty solution is to run "chmod u+s /usr/sbin/hddtemp" as root user and restart this plugin or its panel.

Calling "/usr/sbin/hddtemp -n -q /dev/sda" gave the following error:
/dev/sda: Permission denied

with a return value of 256. 

Когда это происходит, у меня нет никакой возможности показать температуру жесткого диска на панели. Однако, если я запускаю gksudo xfce4-sensors и ввожу пароль, я не получаю ошибки и могу показать температуру жесткого диска на панели, если я хочу.

Поскольку для запуска hddtemp необходимы права доступа root, а chmod u+s /usr/sbin/hddtemp не рекомендуется, какая альтернатива мне для запуска hddtemp из плагина xfce4-sensor при входе в систему автоматически?

3
задан 12 April 2013 в 00:22

2 ответа

У меня была такая же проблема после обновления до 13.04.

Я бы тоже предпочел не грязное решение.

Но Этот отчет об ошибке также не дал никакого чистого решения

По крайней мере: упомянутое грязное решение сработало для меня:

[ 117] установите бит suid в значение hddtemp:

$ sudo chmod u+s /usr/sbin/hddtemp

$ xfce4-sensors

0
ответ дан 12 April 2013 в 00:22

Альтернатива работала бы hddtemp как демон (например, args: --listen=127.0.0.1 -dF) слушание на некоторых TCP порт (значение по умолчанию 7634) на localhost(или 127.0.0.1) и наличие xfce4-sensors-plugin запросите его на каждом обновлении.

НО, это только работает если xfce4-sensors-plugin был скомпилирован с --disable-netcat, иначе (с --enable-netcat это вместо этого пытается выполниться hddtemp самостоятельно на каждом обновлении! вот исходный код для моих требований, и я также протестировал оба пути (suid hddtemp и работающий hddtemp как демон через hddtemp.service).

Протесты:

  1. необходимо указать все устройства жесткого диска, которые Вы хотите контролировать при запуске hddtemp демон.
    т.е. sudo hddtemp --listen=127.0.0.1 -dF /dev/sda /dev/sdb /dev/sdc.
    Только указанные устройства будут замечены xfce4-sensors-plugin.
  2. Если какие-либо устройства, указанные выше (в точке 1), не будут присутствовать, то будет a ? запись в xfce4-sensors-plugin который можно сохранить видимыми в любом случае, пока устройство (устройства) не присутствует. Это может или не может быть тем, что Вы хотите. Но с suid hddtemp и включил netcat, он будет только в настоящее время перечислять подарок устройств жесткого диска, и вероятно (непротестированный) автоматически не добавит новые в будущем, таким образом, необходимо будет войти Properties и проверьте/разрешите их сами под Sensors type: Hard disks.
  3. xfce4-sensors-plugin (последний мерзавец на сегодняшний день 27 сентября 2018), будет поиск localhost и подключение (затем разъединение) через TCP от указанного хоста/порта на каждом обновлении (например, каждую 1 секунду если Вы имеете Update interval (seconds) набор к 1) что означает, что Вы будете видеть (и я протестировал это) как 150 строк TIME_WAIT в Вашем netstat -pantuW команда, таким образом, будет трудно видеть что-либо еще там, если Вы не передадите его по каналу через grep -v "127.0.0.1:7634.*TIME_WAIT" Я предполагаю.

Я совершенствую суть дальнейшей информации здесь

0
ответ дан 12 April 2013 в 00:22

Другие вопросы по тегам:

Похожие вопросы: