[[Vorlage(Ausbaufähig, "Es sollte noch eine Anleitung für LcdProc hinzugefügt werden, sowie für weitere Displays und weitere Möglichkeiten der Stromversorgung.")]] [[Vorlage(Getestet, bionic, focal)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:Pakete_installieren: Installation von Programmen] Grundlagen im Löten, optional wenn kein Selbstbau erfolgt [:AVR: wie man einen AVR Microcontroller flasht], optional }}} [[Inhaltsverzeichnis()]] Wenn es darum geht einen Linuxrechner ohne Monitor, Tastatur und Maus zu betreiben, dient der SSHD oft zur Fernwartung. Aber ständig will man ja auch nicht zu dem Server, der vielleicht nebenan im Zimmer steht, verbunden sein. Also stellt sich die Frage: Wie kann man ohne den SSHD ständig Systeminformationen sehen. Eine Lösung: ein Liquid Crystal Display kurz LCD. Ein LCD kann natürlich auch als reine "Schönheitsoperation" am Rechner hängen, halt "nur so". = Ein LCD Adapter bauen = == Für den parallel Port == Der Bau eines LCDs für den parallel Port ist mehr oder weniger einfach. Man sollte auf jeden Fall Vorkenntnisse in der Elektrotechnik haben. Im Detail sollte man können: * Löten [4] * Schaltpläne lesen können Bauen kann man das Display nach dieser [http://web.archive.org/web/20070813214426/http://www.moddingpower.de/artikel.php?article=lcd Anleitung] {de} . Die Anleitung beschreibt die Verdrahtung nach dem "Winamp"-Verfahren. Man braucht von dem HowTo nur den Schaltplan und den Teil bis zur Software, denn diese basiert in dem HowTo auf Windows. Alternativ kann man auch [https://blog.hacker3000.cf/lcd4linux_parport.html diese Anleitung] {de} verwenden, welche steuerung der Hintergrundbeleuchtung erlaubt (etwas komplizierter). == Für den USB Anschluss == Man benötigt zusätzlich Kentnisse wie man einen AVR Mega8 Microcontroller flasht. [5] [https://github.com/harbaum/LCD2USB#hardware Bauhilfe (kompliziert)] {en} Außerdem eine andere Display Konfiguration in lcd4linux.conf (in der [https://wiki.lcd4linux.tk/doku.php/lcd2usb lcd4linux Wiki Seite zu LCD2USB] {en} beschrieben) == Vom Hersteller verbaute Displays == In manchen Servern, Netzwerkspeichern, oder "Gaming" Gehäusen sind Displays ab Werk verbaut. Oftmals werden diese über die [https://wiki.lcd4linux.tk/doku.php/crystalfontz Crystalfontz]{en} oder [https://wiki.lcd4linux.tk/doku.php/serdisplib serdisplib]{en} Konfiguration angeprochen. Am besten schaut man in die [https://wiki.lcd4linux.tk/doku.php/displays Liste aller Display Treiber] {en} . = Die Software = Ohne die Steuersoftware wäre ein Display nutzlos, denn es würde immer nur zwei schwarze Balken anzeigen. == Installation == Als Software wird lcd4linux benutzt, welche über das folgende Paket installiert werden kann: {{{#!vorlage Paketinstallation lcd4linux }}} == Konfiguration == Jetzt sollte die Konfigurationsdatei '''/etc/lcd4linux.conf''' angepasst werden. Am besten nimmt man die Konfiguration mit allen Treibern vor, dadurch erleichtert sich der Wechsel auf ein anderes Display, falls dies mal nötig sein sollte. Man öffnet also einen Editor mit Root-Rechten [2] und ersetzt den vorhandene Text durch diesen: {{{#!vorlage Warnung Diese Konfigurationsdatei ist nur für die parallel Port Version gültig. Ersetze die ''Display HD44780-ParPort { [...] }'' Sektion falls ein anderes verwendet wird. }}} {{{#! code text Display HD44780-ParPort { Driver 'HD44780' Model 'generic' UseBusy 0 Port '/dev/parport0' Port '0x378' Bits '8' Size '20x4' #ACHTUNG! Bitte an das Display anpassen ([Zeichen pro Zeile]x[Zeilen insgesamt] asc255bug 0 Icons 1 Wire { RW 'AUTOFD' RS 'INIT' ENABLE 'STROBE' ENABLE2 'GND' BACKLIGHT 'GND' GPO 'GND' } } #Alles ab hier ist in der "Layout" Sektion erklärt Widget CPU { class 'Text' expression uname('machine') prefix 'CPU ' width 9 align 'L' update tick } Layout Default { Row1 { Col1 'CPU' } } Variables { tick 500 } Display 'HD44780-ParPort' Layout 'Default' }}} === Grundwissen === So gut wie alles in der Konfigurationsdatei wird als "Expression"/Ausdruck verarbeitet. Deshalb ist es wichtig, alle Texte, die als solche erscheinen sollen in Anführungszeichen zu setzen. Sollte dies nicht geschehen, werden alle Wörter als Variable oder Operation gewertet. ==== Beispiele ==== {{{#!code text "Test" }}} wird als der Text ''Test'' gelesen, während {{{#!code text test }}} als den inhalt der in {{{#!code text Variables { } }}} definierten Variable ''test'' gelesen wird Genau so wird {{{#!code text 42 }}} sowohl als auch {{{#!code text 40 + 2 }}}als die Zahl ''42'' gelesen. Für eine volle Liste dieser Operationen lese [https://wiki.lcd4linux.tk/doku.php/evaluator#operators die Liste im wiki.] {en} Wer einfach etwas ausprobieren möchte kann den Befehl {{{#!vorlage Befehl lcd4linux -i }}}ausführen um den Interaktiven Modus zu starten. Dort kann man Ausdrücke u.ä. eingeben um die Ausgabe zu erhalten. Nützlich zum testen. === Layout === {{{#!vorlage Hinweis Alle Informationon in diesem Segment beziehen sich hauptsächlich auf Textbasierte Displays welche mit Zeichen statt Pixeln Arbeiten. }}} Das ganze Layout System von lcd4linux basiert auf "Widgets". Kleine, voreingestelle Bausteine die dann frei platziert werden können. Der grundlegende Aufbau eines Widgets basiert auf der Klasse/Art, eines Ausdrucks, und einer Update Rate in Milisekunden. {{{#!code text Widget Busy { class 'Text' #Art des Widgets. In diesem fall Text. expression proc_stat::cpu('busy', 500) #Der Ausdruck der die Textausgabe bestimmt. In diesem Fall eine operation des proc_stat Plugins. prefix 'Busy' #Was vor dem Ausdruck geschrieben wird(optional) postfix '%' #Was nach dem Audruck gescrieben wird (optional) width 10 #Wie viele Zeichen das Widget breit ist (optional, empfohlen) precision 1 # Wie viele Kommastellen die Zahl aus der expression hat. (optional, nur bei Numerischen Ausdrücken) align 'R' # In welche Richtung die Ausabe des Ausdrucks ausgerichtet werden soll (optional) update tick #Wie oft das Widget aktualisiert wird in Millisekunden. In dem fall eine Variable. } Widget BusyBar { class 'Bar' #Art des Widgets. In diesem fall balken. expression proc_stat::cpu('busy', 500) #Numerischer Ausdruck der die Anzeige der oberen Hälfte (falls noch expression2 eingetragen wurde) des Balken angibt. In diesem Fall eine operation des proc_stat Plugins. expression2 proc_stat::cpu('system', 500) #Numerischer Ausdruck der die Anzeige der unteren Hälfte des Balken angibt. In diesem Fall eine operation des proc_stat Plugins. (optional) length 10 #Wie viele Zeichen lang der Balken maximal werden soll. direction 'E' #In welche Richtung der Balken wachsen soll. update fast_tick #Wie oft der Balken in Millisekunden Aktualisiert wird. In dem Fall eine Variable. } }}} Diese Widgets kann man nun auf dem Textdisplay platzieren. Dabei ist auf die festgelegte (oder dynamische) Breite des jeweiligen Widgets zu achten. {{{#!code text Layout meinLayout { Row1 { #Alle Widgets für die erste Zeile des Diplays. Col1 'Busy' #Ein Widget was ab dem ersten Zeichen beginnt. Col11 'BusyBar' #Ein Widget was ab dem elften Zeichen beginnt. } Row2 { #Alle Widgets für die zweite Zeile des Diplays. Col1 'Disk' #Ein Widget was ab dem ersten Zeichen beginnt. Col11 'DiskBar' #Ein Widget was ab dem elften Zeichen beginnt. } } }}} {{{#!code text Display 'meineDisplayKonfiguration' Layout 'meinLayout' }}}beschreibt welche Display Konfiguration und welches Layout aktiv verwendet werden. Diese wurden zuvor mit {{{#!code text Layout meinLayout { #[...] } Display meineDisplayKonfiguration { #[...] } }}}beschrieben. Man kann so viele definieren wie man möchte, und zwischen ihnen wechseln. [https://wiki.lcd4linux.tk/doku.php/layout Mehr info hierzu gibt es im lcd4linux Wiki] {en} === Datenquellen / Plugins === Die Liste von Erweiterungen ist lang, aber alle folgen dem gleichen Schema: {{{#!code text plugin_name(option1, option2, ...) }}} Wenn eine Erweiterung ordungsgemäß aufgerufen wird verhält sie sich wie als ob der Rückgabewert an ihrer Stelle stände. Die ganze Liste an Erweiterungen gibt es im [https://wiki.lcd4linux.tk/doku.php/plugins lcd4inux wiki] {en} == lcd4linux steuern == Jetzt ist kann das Programm im Terminal [1] über {{{#!vorlage Befehl # Allgemein sudo service lcd4linux {start|stop|restart|force-reload} # Beispiel sudo service lcd4linux restart }}} gesteuert werden. Mehr dazu im Wiki unter [:Dienste:]. Wenn das Display nun etwas anzeigt, hat alles funktioniert. Alles weitere zu den Konfigurationsmöglichkeiten und allen unterstützten Displays gibt es im [https://wiki.lcd4linux.tk/doku.php lcd4linux Wiki] {en} {de} . = Links = * [http://www.moddingpower.de/artikel.php?article=lcd LCD för den parallel löten HowTo] {de} * [https://blog.hacker3000.cf/lcd4linux_parport.html LCD für den parallel Port Löten (Alternative)] {de} * [https://github.com/harbaum/LCD2USB Das LCD2USB Projekt] {en} * [https://wiki.lcd4linux.tk/doku.php/lcd2usb lcd4linux Wiki Seite zu LCD2USB] {en} * [http://sourceforge.net/projects/lcd4linux/ lcd4linux Sourceforge.net Projekt Seite] {en} * [https://lcd4linux.tk/ Neuaufsetzung des lcd4linux Wiki] {en} {de} * [http://web.archive.org/web/20190105191638/lcd4linux.bulix.org/ Archiv Version des orginalen lcd4linux Wiki] {en} {de} # tag: Hardware, Server, LCD, Selbstbau, DIY, Anzeige