Conky: SMARTモニタリング用の新しいモジュールを追加します

作成日 2017年05月29日  ·  3コメント  ·  ソース: brndnmtthws/conky

SMARTディスク監視用の新しいモジュールを作成することを考えています。 私の知る限り、これを実装するには3つのオプションがあります。

  • smartctl(smartmontools)の呼び出し
  • libatasmartとのインターフェース
  • DBUS通信を使用したudiskのインターフェース

libatasmartを使用することをお勧めします。これにより、依存関係が1つだけ追加されたネイティブサポートが追加されます。

root権限なしでlibatasmartを使用できるかどうか誰かが知っていますか?

enhancement

最も参考になるコメント

@fonicOMFG 。 これが実装されるのを待ちきれません。 :悲鳴:

全てのコメント3件

libatasmart

#include <stdio.h>
#include <string.h>
#include <errno.h>

#include <atasmart.h>

int main(void) {
  uint64_t mkelvin = 0;
  const char *device = "/dev/sda";
  SkDisk *d = NULL;

  if (-1 == (sk_disk_open(device, &d))) {
    fprintf(stderr, "Failed to open disk %s: %s\n", device, strerror(errno));
    return 1;
  }

  if (-1 == (sk_disk_smart_read_data(d))) {
    fprintf(stderr, "Failed to read SMART data: %s\n", strerror(errno));
    goto finish;
  }

  if (-1 == (sk_disk_smart_get_temperature(d, &mkelvin))) {
    fprintf(stderr, "Failed to get temperature: %s\n", strerror(errno));
    goto finish;
  }

  printf("%llu\n", (unsigned long long)mkelvin);

finish:
  if (NULL != d) {
    sk_disk_free(d);
  }
  return 0;
}

smartmontoolsはクロスプラットフォームで利用可能であり、* BSDフレーバーもその恩恵を受けます。

init systemdを使用しない私のような人は、追加の依存関係をインストールすることを余儀なくされます。

root権限なしでlibatasmartを使用できるかどうか誰かが知っていますか?

visudo

computer_name ALL=NOPASSWD:/usr/bin/program_name

@fonicOMFG 。 これが実装されるのを待ちきれません。 :悲鳴:

このページは役に立ちましたか?
0 / 5 - 0 評価