Merge branch 'master' of ssh://wpitchoune.net/srv/git/psensor-pkg-debian
[psensor-pkg-debian.git] / README.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"\r
2     "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\r
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">\r
4 <head>\r
5 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />\r
6 <meta name="generator" content="AsciiDoc 8.6.7" />\r
7 <title>Psensor README</title>\r
8 <style type="text/css">\r
9 \r
10 body {\r
11     background: #e2e2e2;\r
12     color: #333333;\r
13     font-family: Ubuntu,Arial,sans-serif;\r
14     line-height: 1.6;\r
15     font-weight: lighter;\r
16     margin: 1em 2em 2em 2em;\r
17     padding: 0 0 0 0;\r
18 }\r
19 \r
20 h1 {\r
21     font-size: 2.813em;\r
22     margin: 0 0 0.267em 0;\r
23     padding: 0 0 0 0;\r
24     font-weight: normal;\r
25 }\r
26 \r
27 h2 {\r
28     font-size: 2em;\r
29     margin: 0 0 0.375em;\r
30     padding: 0 0 0 0;\r
31     font-weight: normal;\r
32 }\r
33 \r
34 h3 {\r
35     font-size: 1.438em;\r
36     margin: 0 0 0.522em;\r
37     padding: 0 0 0 0;\r
38     font-weight: normal;\r
39 }\r
40 \r
41 h4 {\r
42     font-size: 1.219em;\r
43     margin: 0 0 0.615em;\r
44     padding: 0 0 0 0;\r
45     font-weight: normal;\r
46 }\r
47 \r
48 h5 {\r
49     font-size: 1em;\r
50     margin: 0 0 0.75em;\r
51     padding: 0 0 0 0;\r
52     font-weight: bold;\r
53 }\r
54 \r
55 h6 {\r
56     font-weight: normal;\r
57     font-size: 0.813em;\r
58     letter-spacing: 0.1em;\r
59     margin: 0 0 0.923em;\r
60     text-transform: uppercase;\r
61     padding: 0 0 0 0;\r
62 }\r
63 \r
64 li {\r
65     margin: 0 0 0 1em;\r
66     line-height: 1.6;\r
67 }\r
68 \r
69 li p {\r
70     margin: 0 0 0 0;\r
71 }\r
72 \r
73 ul {\r
74     margin: 0 0 0 0;\r
75     padding: 0 0 0 0;\r
76 }\r
77 \r
78 a:link, a:visited {\r
79     color: #19B6EE;\r
80     text-decoration: none;\r
81 }\r
82 \r
83 a:hover {\r
84     text-decoration: underline;\r
85 }\r
86 \r
87 code, pre, tt {\r
88     font-family: "Ubuntu Mono","Courier New",Courier,monospace;\r
89     font-weight: normal;\r
90     color: #333333;\r
91 }\r
92 \r
93 pre {\r
94     background: none repeat scroll 0 0 #e0e0e0;\r
95     border-radius: 4px;\r
96     padding: 0.5em 0.5em;\r
97     margin: 0 0 0 0;\r
98     white-space: pre-wrap;\r
99     word-wrap: break-word;\r
100 }\r
101 \r
102 table {\r
103     width: 100%;\r
104     text-align: left;\r
105 }\r
106 \r
107 #footer {\r
108     margin: 0 0 0 0;\r
109     font-size: 0.8em;\r
110     font-weight: lighter;\r
111     clear: both;\r
112     text-align: right;\r
113 }\r
114 \r
115 #page {\r
116     margin: 0 0 0 0;\r
117     padding: 0 0 0 0;\r
118 }\r
119 \r
120 #main {\r
121     background: #ffffff;\r
122 \r
123    -moz-box-sizing: border-box;\r
124 \r
125     padding: 2em 2em 2em 2em;\r
126 \r
127     -moz-border-radius: 4px;\r
128     -webkit-border-radius: 4px;\r
129     border-radius: 4px;\r
130 \r
131     -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
132     box-shadow: 0 2px 2px 0 #C2C2C2;\r
133 }\r
134 \r
135 #menu {\r
136     background: #ffffff;\r
137    -moz-box-sizing: border-box;\r
138     padding: 2em 2em 2em 2em;\r
139 \r
140     -moz-border-radius: 4px;\r
141     -webkit-border-radius: 4px;\r
142     border-radius: 4px;\r
143 \r
144     -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
145     box-shadow: 0 2px 2px 0 #C2C2C2;\r
146 }\r
147 \r
148 #menu-list, #menu-list > li > ul  {\r
149     list-style-type: none;\r
150 }\r
151 \r
152 /* menu on left col, content on right col */\r
153 \r
154 #menu {\r
155     float: left;\r
156     width: 18%;\r
157 }\r
158 \r
159 #main {\r
160     float: right;\r
161     width: 80%;\r
162 }\r
163 \r
164 /* asciidoc */\r
165 \r
166 #toc, #content {\r
167     margin: 0em 0em 2em 0em;\r
168 \r
169     background: #ffffff;\r
170    -moz-box-sizing: border-box;\r
171     padding: 2em 2em 2em 2em;\r
172 \r
173     -moz-border-radius: 4px;\r
174     -webkit-border-radius: 4px;\r
175     border-radius: 4px;\r
176 \r
177     -webkit-box-shadow: 0 2px 2px 0 #C2C2C2;\r
178     box-shadow: 0 2px 2px 0 #C2C2C2;\r
179 }\r
180 </style>\r
181 <script type="text/javascript">\r
182 /*<![CDATA[*/\r
183 var asciidoc = {  // Namespace.\r
184 \r
185 /////////////////////////////////////////////////////////////////////\r
186 // Table Of Contents generator\r
187 /////////////////////////////////////////////////////////////////////\r
188 \r
189 /* Author: Mihai Bazon, September 2002\r
190  * http://students.infoiasi.ro/~mishoo\r
191  *\r
192  * Table Of Content generator\r
193  * Version: 0.4\r
194  *\r
195  * Feel free to use this script under the terms of the GNU General Public\r
196  * License, as long as you do not remove or alter this notice.\r
197  */\r
198 \r
199  /* modified by Troy D. Hanson, September 2006. License: GPL */\r
200  /* modified by Stuart Rackham, 2006, 2009. License: GPL */\r
201 \r
202 // toclevels = 1..4.\r
203 toc: function (toclevels) {\r
204 \r
205   function getText(el) {\r
206     var text = "";\r
207     for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
208       if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.\r
209         text += i.data;\r
210       else if (i.firstChild != null)\r
211         text += getText(i);\r
212     }\r
213     return text;\r
214   }\r
215 \r
216   function TocEntry(el, text, toclevel) {\r
217     this.element = el;\r
218     this.text = text;\r
219     this.toclevel = toclevel;\r
220   }\r
221 \r
222   function tocEntries(el, toclevels) {\r
223     var result = new Array;\r
224     var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');\r
225     // Function that scans the DOM tree for header elements (the DOM2\r
226     // nodeIterator API would be a better technique but not supported by all\r
227     // browsers).\r
228     var iterate = function (el) {\r
229       for (var i = el.firstChild; i != null; i = i.nextSibling) {\r
230         if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {\r
231           var mo = re.exec(i.tagName);\r
232           if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {\r
233             result[result.length] = new TocEntry(i, getText(i), mo[1]-1);\r
234           }\r
235           iterate(i);\r
236         }\r
237       }\r
238     }\r
239     iterate(el);\r
240     return result;\r
241   }\r
242 \r
243   var toc = document.getElementById("toc");\r
244   if (!toc) {\r
245     return;\r
246   }\r
247 \r
248   // Delete existing TOC entries in case we're reloading the TOC.\r
249   var tocEntriesToRemove = [];\r
250   var i;\r
251   for (i = 0; i < toc.childNodes.length; i++) {\r
252     var entry = toc.childNodes[i];\r
253     if (entry.nodeName.toLowerCase() == 'div'\r
254      && entry.getAttribute("class")\r
255      && entry.getAttribute("class").match(/^toclevel/))\r
256       tocEntriesToRemove.push(entry);\r
257   }\r
258   for (i = 0; i < tocEntriesToRemove.length; i++) {\r
259     toc.removeChild(tocEntriesToRemove[i]);\r
260   }\r
261 \r
262   // Rebuild TOC entries.\r
263   var entries = tocEntries(document.getElementById("content"), toclevels);\r
264   for (var i = 0; i < entries.length; ++i) {\r
265     var entry = entries[i];\r
266     if (entry.element.id == "")\r
267       entry.element.id = "_toc_" + i;\r
268     var a = document.createElement("a");\r
269     a.href = "#" + entry.element.id;\r
270     a.appendChild(document.createTextNode(entry.text));\r
271     var div = document.createElement("div");\r
272     div.appendChild(a);\r
273     div.className = "toclevel" + entry.toclevel;\r
274     toc.appendChild(div);\r
275   }\r
276   if (entries.length == 0)\r
277     toc.parentNode.removeChild(toc);\r
278 },\r
279 \r
280 \r
281 /////////////////////////////////////////////////////////////////////\r
282 // Footnotes generator\r
283 /////////////////////////////////////////////////////////////////////\r
284 \r
285 /* Based on footnote generation code from:\r
286  * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html\r
287  */\r
288 \r
289 footnotes: function () {\r
290   // Delete existing footnote entries in case we're reloading the footnodes.\r
291   var i;\r
292   var noteholder = document.getElementById("footnotes");\r
293   if (!noteholder) {\r
294     return;\r
295   }\r
296   var entriesToRemove = [];\r
297   for (i = 0; i < noteholder.childNodes.length; i++) {\r
298     var entry = noteholder.childNodes[i];\r
299     if (entry.nodeName.toLowerCase() == 'div' && entry.getAttribute("class") == "footnote")\r
300       entriesToRemove.push(entry);\r
301   }\r
302   for (i = 0; i < entriesToRemove.length; i++) {\r
303     noteholder.removeChild(entriesToRemove[i]);\r
304   }\r
305 \r
306   // Rebuild footnote entries.\r
307   var cont = document.getElementById("content");\r
308   var spans = cont.getElementsByTagName("span");\r
309   var refs = {};\r
310   var n = 0;\r
311   for (i=0; i<spans.length; i++) {\r
312     if (spans[i].className == "footnote") {\r
313       n++;\r
314       var note = spans[i].getAttribute("data-note");\r
315       if (!note) {\r
316         // Use [\s\S] in place of . so multi-line matches work.\r
317         // Because JavaScript has no s (dotall) regex flag.\r
318         note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];\r
319         spans[i].innerHTML =\r
320           "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +\r
321           "' title='View footnote' class='footnote'>" + n + "</a>]";\r
322         spans[i].setAttribute("data-note", note);\r
323       }\r
324       noteholder.innerHTML +=\r
325         "<div class='footnote' id='_footnote_" + n + "'>" +\r
326         "<a href='#_footnoteref_" + n + "' title='Return to text'>" +\r
327         n + "</a>. " + note + "</div>";\r
328       var id =spans[i].getAttribute("id");\r
329       if (id != null) refs["#"+id] = n;\r
330     }\r
331   }\r
332   if (n == 0)\r
333     noteholder.parentNode.removeChild(noteholder);\r
334   else {\r
335     // Process footnoterefs.\r
336     for (i=0; i<spans.length; i++) {\r
337       if (spans[i].className == "footnoteref") {\r
338         var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");\r
339         href = href.match(/#.*/)[0];  // Because IE return full URL.\r
340         n = refs[href];\r
341         spans[i].innerHTML =\r
342           "[<a href='#_footnote_" + n +\r
343           "' title='View footnote' class='footnote'>" + n + "</a>]";\r
344       }\r
345     }\r
346   }\r
347 },\r
348 \r
349 install: function(toclevels) {\r
350   var timerId;\r
351 \r
352   function reinstall() {\r
353     asciidoc.footnotes();\r
354     if (toclevels) {\r
355       asciidoc.toc(toclevels);\r
356     }\r
357   }\r
358 \r
359   function reinstallAndRemoveTimer() {\r
360     clearInterval(timerId);\r
361     reinstall();\r
362   }\r
363 \r
364   timerId = setInterval(reinstall, 500);\r
365   if (document.addEventListener)\r
366     document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);\r
367   else\r
368     window.onload = reinstallAndRemoveTimer;\r
369 }\r
370 \r
371 }\r
372 asciidoc.install(2);\r
373 /*]]>*/\r
374 </script>\r
375 </head>\r
376 <body class="article">\r
377 <div id="header">\r
378 <h1>Psensor README</h1>\r
379 <div id="toc">
380   <div id="toctitle">Table of Contents</div>
381   <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
382 </div>\r
383 </div>\r
384 <div id="content">\r
385 <div class="sect1">\r
386 <h2 id="_introduction">1. Introduction</h2>\r
387 <div class="sectionbody">\r
388 <div class="paragraph"><p>Psensor is a graphical hardware monitoring application for Linux.</p></div>\r
389 <div class="paragraph"><p>It draws realtime charts and raises alerts about:</p></div>\r
390 <div class="ulist"><ul>\r
391 <li>\r
392 <p>\r
393 the temperature of the motherboard and CPU sensors (using\r
394    lm-sensors).\r
395 </p>\r
396 </li>\r
397 <li>\r
398 <p>\r
399 the temperature of the NVidia GPUs (using XNVCtrl).\r
400 </p>\r
401 </li>\r
402 <li>\r
403 <p>\r
404 the temperature of the Hard Disk Drives (using hddtemp or libatasmart).\r
405 </p>\r
406 </li>\r
407 <li>\r
408 <p>\r
409 the rotation speed of the fans (using lm-sensors).\r
410 </p>\r
411 </li>\r
412 <li>\r
413 <p>\r
414 the temperature of a remote computer.\r
415 </p>\r
416 </li>\r
417 <li>\r
418 <p>\r
419 the cpu load.\r
420 </p>\r
421 </li>\r
422 </ul></div>\r
423 <div class="paragraph"><p>Alerts are using Desktop Notification and a specific GTK+ status icon.</p></div>\r
424 <div class="paragraph"><p>For Ubuntu users, Psensor is providing an Application Indicator which turns\r
425 red under alert and a menu for quickly check all sensors.</p></div>\r
426 <div class="paragraph"><p>It is possible to monitor remotely a computer:</p></div>\r
427 <div class="ulist"><ul>\r
428 <li>\r
429 <p>\r
430 start <tt>psensor-server</tt> on the remote computer.\r
431 </p>\r
432 </li>\r
433 <li>\r
434 <p>\r
435 start <tt>psensor</tt> using: <tt>psensor --url=http://hostname:3131</tt>.\r
436 </p>\r
437 </li>\r
438 </ul></div>\r
439 <div class="paragraph"><p><tt>psensor-server</tt> is a minimal Web server, a Web browser can be used to\r
440 monitor the remote computer by opening the URL:\r
441 <tt>http://hostname:3131</tt>.</p></div>\r
442 <div class="admonitionblock">\r
443 <table><tr>\r
444 <td class="icon">\r
445 <div class="title">Warning</div>\r
446 </td>\r
447 <td class="content"><tt>psensor-server</tt> does not provide any way to restrict the connection\r
448 to the HTTP server, worst, no effort has been made against malicious\r
449 HTTP attacks.  You should make the <tt>psensor-server</tt> port available\r
450 only to a network or computer you trust by using the usual network\r
451 security tools of the system (for example:\r
452 <a href="http://www.netfilter.org/projects/iptables/index.html">iptables</a>).</td>\r
453 </tr></table>\r
454 </div>\r
455 </div>\r
456 </div>\r
457 <div class="sect1">\r
458 <h2 id="_installation_using_distribution_packages">2. Installation Using Distribution Packages</h2>\r
459 <div class="sectionbody">\r
460 <div class="sect2">\r
461 <h3 id="_debian">2.1. Debian</h3>\r
462 <div class="paragraph"><p>For Debian, the binary and source packages are available in the\r
463 Wheezy, unstable and testing repositories.</p></div>\r
464 <div class="paragraph"><p>Debian package information is available at:\r
465 <a href="http://packages.qa.debian.org/p/psensor.html">http://packages.qa.debian.org/p/psensor.html</a>.</p></div>\r
466 <div class="paragraph"><p>To do the installation:</p></div>\r
467 <div class="listingblock">\r
468 <div class="content">\r
469 <pre><tt>sudo apt-get install psensor psensor-server</tt></pre>\r
470 </div></div>\r
471 </div>\r
472 <div class="sect2">\r
473 <h3 id="_ubuntu">2.2. Ubuntu</h3>\r
474 <div class="paragraph"><p>Since Ubuntu Oneiric (11.10), psensor is available in the universe\r
475 repository of Ubuntu.</p></div>\r
476 <div class="paragraph"><p>To install <tt>psensor</tt> or <tt>psensor-server</tt>:</p></div>\r
477 <div class="listingblock">\r
478 <div class="content">\r
479 <pre><tt>sudo apt-get install psensor\r
480 sudo apt-get install psensor-server</tt></pre>\r
481 </div></div>\r
482 <div class="paragraph"><p>Or search them in the Ubuntu Software Center.</p></div>\r
483 <div class="paragraph"><p>For other Ubuntu releases or user the more recent release, the easiest\r
484 way is to use the dedicated PPA.</p></div>\r
485 <div class="paragraph"><p>Last stable version:</p></div>\r
486 <div class="listingblock">\r
487 <div class="content">\r
488 <pre><tt>sudo apt-get apt-add-repository ppa:/jfi/psensor\r
489 sudo apt-get update\r
490 sudo apt-get install psensor\r
491 sudo apt-get install psensor-server</tt></pre>\r
492 </div></div>\r
493 <div class="paragraph"><p>Last development version which should not contain major bugs:</p></div>\r
494 <div class="listingblock">\r
495 <div class="content">\r
496 <pre><tt>sudo apt-get apt-add-repository ppa:/jfi/psensor-unstable\r
497 sudo apt-get update\r
498 sudo apt-get install psensor\r
499 sudo apt-get install psensor-server</tt></pre>\r
500 </div></div>\r
501 <div class="paragraph"><p>Daily trunk build which may contain major bugs and partialy\r
502 implemented features:</p></div>\r
503 <div class="listingblock">\r
504 <div class="content">\r
505 <pre><tt>sudo apt-get apt-add-repository ppa:/jfi/psensor-daily-trunk\r
506 sudo apt-get update\r
507 sudo apt-get install psensor\r
508 sudo apt-get install psensor-server</tt></pre>\r
509 </div></div>\r
510 </div>\r
511 </div>\r
512 </div>\r
513 <div class="sect1">\r
514 <h2 id="_installation_from_source_archive">3. Installation From Source Archive</h2>\r
515 <div class="sectionbody">\r
516 <div class="paragraph"><p><tt>psensor</tt> and <tt>psensor-server</tt> can be compiled and installed on any\r
517 modern GNU/Linux distribution.</p></div>\r
518 <div class="sect2">\r
519 <h3 id="_compilation_prerequisites">3.1. Compilation Prerequisites</h3>\r
520 <div class="paragraph"><p>The compilation of <tt>psensor</tt> requires:</p></div>\r
521 <div class="ulist"><ul>\r
522 <li>\r
523 <p>\r
524 make\r
525 </p>\r
526 </li>\r
527 <li>\r
528 <p>\r
529 gcc (or llvm)\r
530 </p>\r
531 </li>\r
532 <li>\r
533 <p>\r
534 lm-sensors\r
535 </p>\r
536 </li>\r
537 <li>\r
538 <p>\r
539 library sensors4\r
540 </p>\r
541 </li>\r
542 <li>\r
543 <p>\r
544 library gtk3 &gt;=3.4\r
545 </p>\r
546 </li>\r
547 <li>\r
548 <p>\r
549 library gconf2\r
550 </p>\r
551 </li>\r
552 <li>\r
553 <p>\r
554 help2man\r
555 </p>\r
556 </li>\r
557 <li>\r
558 <p>\r
559 asciidoc (optional, required to produce the html version of the\r
560    faq)\r
561 </p>\r
562 </li>\r
563 <li>\r
564 <p>\r
565 cppcheck (optional, static source checker)\r
566 </p>\r
567 </li>\r
568 <li>\r
569 <p>\r
570 library libnotify (optional)\r
571 </p>\r
572 </li>\r
573 <li>\r
574 <p>\r
575 library libappindicator (optional)\r
576 </p>\r
577 </li>\r
578 <li>\r
579 <p>\r
580 library libXNVCtrl (optional)\r
581 </p>\r
582 </li>\r
583 <li>\r
584 <p>\r
585 library json0 and curl (optional, required for remote monitoring)\r
586 </p>\r
587 </li>\r
588 <li>\r
589 <p>\r
590 library unity (&gt;=v3.4.2, optional)\r
591 </p>\r
592 </li>\r
593 <li>\r
594 <p>\r
595 library gtop2 (optional, required for CPU usage)\r
596 </p>\r
597 </li>\r
598 <li>\r
599 <p>\r
600 library atasmart (optional, for disk monitoring)\r
601 </p>\r
602 </li>\r
603 </ul></div>\r
604 <div class="paragraph"><p>The specific requirements for <tt>psensor-server</tt>:</p></div>\r
605 <div class="ulist"><ul>\r
606 <li>\r
607 <p>\r
608 library libmicrohttpd\r
609 </p>\r
610 </li>\r
611 <li>\r
612 <p>\r
613 library json0\r
614 </p>\r
615 </li>\r
616 </ul></div>\r
617 <div class="paragraph"><p>For Debian 7.0:</p></div>\r
618 <div class="listingblock">\r
619 <div class="content">\r
620 <pre><tt>sudo apt-get install asciidoc cppcheck gcc gettext libgtk-3-dev\r
621 libgconf2-dev libnotify-dev libsensors4-dev help2man\r
622 libcurl4-openssl-dev libjson0-dev libmicrohttpd-dev libgtop2-dev\r
623 libatasmart-dev make</tt></pre>\r
624 </div></div>\r
625 <div class="paragraph"><p>For Fedora 17:</p></div>\r
626 <div class="listingblock">\r
627 <div class="content">\r
628 <pre><tt>sudo yum install gcc gtk3-devel GConf2-devel lm_sensors-devel cppcheck\r
629 libatasmart-devel libcurl-devel json-c-devel libmicrohttpd-devel\r
630 help2man libnotify-devel libgtop2-devel make</tt></pre>\r
631 </div></div>\r
632 <div class="paragraph"><p>For Ubuntu 12.10:</p></div>\r
633 <div class="listingblock">\r
634 <div class="content">\r
635 <pre><tt>sudo apt-get install asciidoc autoconf automake autopoint\r
636 debhelper (&gt;= 9) cppcheck gettext help2man libappindicator3-dev\r
637 libatasmart-dev libcurl4-gnutls-dev libgconf2-dev libgtk-3-dev\r
638 libgtop2-dev libjson0-dev libmicrohttpd-dev libnotify-dev\r
639 libsensors4-dev libunity-dev nvidia-settings perl</tt></pre>\r
640 </div></div>\r
641 </div>\r
642 <div class="sect2">\r
643 <h3 id="_compilation_and_installation_steps">3.2. Compilation and Installation Steps</h3>\r
644 <div class="olist arabic"><ol class="arabic">\r
645 <li>\r
646 <p>\r
647 download the source archive from: <a href="http://wpitchoune.net/psensor/files">http://wpitchoune.net/psensor/files</a>\r
648 </p>\r
649 </li>\r
650 <li>\r
651 <p>\r
652 Extract files from the source archive\r
653 </p>\r
654 </li>\r
655 <li>\r
656 <p>\r
657 Compilation: <tt>./configure;make clean all</tt>\r
658 </p>\r
659 </li>\r
660 <li>\r
661 <p>\r
662 Installation:  <tt>make install</tt> (require to have root permission)\r
663 </p>\r
664 </li>\r
665 <li>\r
666 <p>\r
667 Start the sensor detection script: <tt>sensors-detect</tt> and follows the\r
668 instructions. Reboot or activate the kernel modules which have\r
669 been found.\r
670 </p>\r
671 </li>\r
672 <li>\r
673 <p>\r
674 To monitor HDDs, the <tt>hddtemp</tt> daemon must be installed and running.\r
675 </p>\r
676 </li>\r
677 <li>\r
678 <p>\r
679 Run: <tt>psensor</tt>\r
680 </p>\r
681 </li>\r
682 </ol></div>\r
683 </div>\r
684 <div class="sect2">\r
685 <h3 id="_ati_amd_gpu_support">3.3. ATI/AMD GPU Support</h3>\r
686 <div class="paragraph"><p>When the OpenSource ATI driver is used, the monitoring\r
687 information is available throw lm-sensors and does not require the\r
688 following instructions.</p></div>\r
689 <div class="paragraph"><p>When the proprietary ATI driver(Catalyst) is used, the build is\r
690 requiring an additional library.</p></div>\r
691 <div class="paragraph"><p>Download the\r
692 <a href="http://developer.amd.com/sdks/ADLSDK/Pages/default.aspx">ATI ADL SDK</a>\r
693 and extracts the files of the archive into a directory [dir].</p></div>\r
694 <div class="paragraph"><p>Replace the step 3. of the above section by <tt>./configure\r
695 --with-libatiadl=[dir]</tt> where <tt>[dir]</tt> must be the directory where you\r
696 have extracted the ATI ADL SDK. Other steps are indentical.</p></div>\r
697 </div>\r
698 </div>\r
699 </div>\r
700 <div class="sect1">\r
701 <h2 id="_contact">4. Contact</h2>\r
702 <div class="sectionbody">\r
703 <div class="paragraph"><p>Bugs and comments can be sent to <a href="mailto:jeanfi@gmail.com">jeanfi@gmail.com</a>.</p></div>\r
704 <div class="paragraph"><p>Home page: <a href="http://wpitchoune.net/psensor">http://wpitchoune.net/psensor</a></p></div>\r
705 </div>\r
706 </div>\r
707 </div>\r
708 <div id="footnotes"><hr /></div>\r
709 <div id="footer">\r
710 <div id="footer-text">\r
711 Last updated 2014-04-10 01:57:33 CEST\r
712 </div>\r
713 </div>\r
714 </body>\r
715 </html>\r