Frage

Ich habe 256 Farben Arbeiten groß in meinem Terminal ( Testskripts hier ), aber es funktioniert nicht mehr, wenn ich ncurses verwenden (über Rubin-ncurses). die Escape-Sequenzen Druck auf dieser Seite gegeben funktioniert gut, aber wenn ich ncurses ‚puts‘ Anschläge initialisieren arbeiten und ich die Farben mit einem der Ich habe verschiedene ncurses Farbwechsel / string Ausgabefunktionen nicht gefunden Ausgang kann. Was soll das?

War es hilfreich?

Lösung 2

njsf: Sie waren zum Teil hier, und nach viel mehr bastelt Ich habe es schließlich zu arbeiten. Danke für Ihre Hilfe. Die Geschichte: XTerm (und rxvt und Eterm) Unterstützung 256 Farben über Escape-Sequenzen (was ich sah), aber ‚tput Farben‘ werden sagen, ‚8‘ und ncurses nicht in der Lage sein, sie zu bekommen, weil ncurses spielt schön und versuchen, über term zugreifen zu können.

Zum Nutzen von jedermann mit ähnlichem Schmerz:

Ich fand ich brauche die ncurses-term (Ubuntu) Paket installieren zu bekommen / lib / term / x / xterm-256color und andere 256color term Dateien. Dann habe ich meine TERM xterm-256color und fügte hinzu, die Zeile ‚* Anpassung: -Farbe‘ meiner ~ / .Xdefaults, lief ‚xrdb -merge ~ / .Xdefaults‘ zu laden, und von da an habe ich die richtige haben 256 Farben Unterstützung in neuen xterms.

Andere Tipps

Ich bin nicht sicher, ob dies die ganze Geschichte sein würde, aber stellen Sie sicher, dass Ihre Terminal-Fähigkeiten in die Tat für die 256 Farben Beschreibung liefern können.

Was ist die Umgebungsvariable TERM Wert? Versuchen Sie es zu xterm-256color Einstellung und erneut ausführen. ncurses sollte dann bekommt die richtigen Farbsequenzen entkommen.

können Sie testen auch die Endgeräte-Leistungsmerkmale und Terminal Farbausgabe mit dem Programm, das wir bei SXEmacs Entwicklung verwenden:

http://www.triatlantico.org/tmp/tty-colors.c

Kompilieren mit gcc -o tty-Farben tty-colors.c -lncurses

EDIT: Beachten Sie, dass nur, weil die Skripte, die auf dem Netz gibt die 256 Farben gefunden werden, das ist nicht „alles Set“. Flüche Programme stützen sich auf term und termcap und die TERM Umgebungsvariable, um herauszufinden, wie man mit dem Terminal zu interagieren. Also, um für eine Flüche App in der Lage sein, die 256 Farben zu verwenden, sollte man die Variable TERM auf einem vorhandenen Terminalnamen gesetzt, die 256 Farben unterstützt. Das C-Programm oben zeigen Sie was ncurses über Ihren Terminal denkt, nicht nur die Ausgabe xterm Sequenzen wie die meisten Skripte tun [auch derjenige von X.org]

Einstellung

ENV [TERM] + = '-256color', wenn ENV [ 'TERM'] == 'xterm' # aktivieren 256 Farben

arbeitet auf Ubuntu 10.04 +

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top