Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von Cordess » 18.08.2021 02:39:09

Auf folgender Webseite habe ich erfahren, dass man mit einem ganz einfachen Tipp die Ausgabe der man pages in Farbe hinbekommen kann.
https://zefanjas.de/wie-man-farbe-ins-t ... man-pages/

Dazu muss man einfach nur folgenden Code in seine .bashrc oder .profile Datei einfügen:

Code: Alles auswählen

export LESS_TERMCAP_mb=$'\e[1;32m'
export LESS_TERMCAP_md=$'\e[1;32m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_so=$'\e[01;33m'
export LESS_TERMCAP_ue=$'\e[0m'
export LESS_TERMCAP_us=$'\e[1;4;31m'
# für das gnome-terminal
export GROFF_NO_SGR=1
Damit sind die man pages deutlich besser lesbar.
Was mich aber wundert ist, dass so etwas nicht über die Distribution voreingestellt wird?

Wer hat denn heute noch einen Schwarz Weiß Monitor oder greift von einer uralt Terminal Version ohne Farbunterstützung auf seinen Debianrechner zu?
Und wo sollte so eine Einstellung Probleme machen?

Selbst die Ausgabe von ls ist farbig voreingestellt, wie ein Blick in die Umgebungsvariable $LS_COLORS zeigt:

Code: Alles auswählen

echo $LS_COLORS
rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:... usw.

Interessanterweise gibt es mehrere Varianten das umzusetzen, wie man hier nachlesen kann:
https://unix.stackexchange.com/question ... -man-pages

Meine Frage ist aber, warum man das nicht generell defaultmäßig in Debian so einstellt, wenn es nur eine Frage
der Konfigurationsdateien ist, die mit dem Anlegen neuer Benutzer ohnehin automatisch angelegt werden.

EDIT:
Und was auch noch voreingestellt sein könnte, wäre die MANPAGER Umgebungsvariable mit ein
paar hilfreichen Parametern, die für eine prozentuale Anzeige der "Cursorposition" sorgen:

Code: Alles auswählen

export MANPAGER='less -s -M +Gg'
EDIT2:
Im Prinzip reicht für die prozentuale Angabe folgender Parameter für less:

Code: Alles auswählen

export MANPAGER='less  +Gg'
-s fasst mehrere leere Zeilen zu einer lediglich zusammen.
Und -M ist ein erweiterter Modus von less zu dem ich auf die schnelle keine weiteren Infos finden konnte.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von uname » 18.08.2021 07:24:15

Was ich an Linux schätze ist die Tatsache, dass sich über Jahre und Jahrzehnte kaum was ändert.
Für Anpassungen muss ich selbst eingreifen. Das finde ich eigentlich ganz gut.

"man" mag greznwertig sein.
Für Einsteiger wären Farben bestimmt schön - sofern Einsteiger überhaupt "man" nutzen.
Profis benötigen die Farben vielleicht weniger bzw. wissen, dass man das anpassen kann.

Mal ein anderes Beispiel.
grml nutzt zsh mit vielen Features.
Warum ist "zsh" nicht Standard bei Debian?
Da kann die "Bash" einpacken.

grml nutzt auch tmux (Anleitung) mit folgender tmux.conf
Also "tmux" sollte man jedem Anwender "aufzwingen", da es eine tolle Anwendung ist.
"tmux" ist kein Standard bei Debian und muss (zum Glück) nachinstalliert werden.

Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von Cordess » 18.08.2021 22:05:48

uname hat geschrieben: ↑ zum Beitrag ↑
18.08.2021 07:24:15
"man" mag greznwertig sein.
Für Einsteiger wären Farben bestimmt schön - sofern Einsteiger überhaupt "man" nutzen.
Profis benötigen die Farben vielleicht weniger bzw. wissen, dass man das anpassen kann.
Profis profitieren von Farben genauso.

Und bezüglich dem selber anpassen führen hier viele Wege nach Rom.
Die große Frage ist aber, wie man es richtig macht. Also welcher Weg der richtige ist. Profis machen hier auch Fehler.

Obige Lösung habe ich jetzt mal gründlicher getestet.
Aber leider macht sie doch ein paar Probleme.
Führt man nach setzen der Farben printenv aus, dann wird auch da die Ausgabe ungewollt sehr bunt.

Code: Alles auswählen

printenv
Das Problem dürfte sein, dass diese Config LESS_TERMCAP_* global verändert. Was nötig wäre, wäre eine Lösung, die es
auf den man Befehl beschränkt.

Für den Befehl ls gibt es bspw, eine eigene Umgebungsvariable LS_COLORS, die beim starten von ls entsprechend ausgewertet wird. Dadurch bleibt die farbige Ausgabe und die dafür notwendige Einstellung der Farben auf ls beschränkt.

Eine andere Lösung wäre, den Pager, den man zum Anzeigen verwendet, über die Umgebungsvariable MANPAGER auf most zu ändern, aber most ist kein vollwertiger Ersatz zu less und auch nicht vorinstalliert.
Also eine unschöne Lösung wenn man weiterhin less einsetzen möchte.

Dann gibt es noch für man die Umgebungsvaribale MANOPT, die von man vor der Ausführung ausgewertet wird.
Allerdings scheint man hier nur die Parameter von man eintragen zu können, die dann man benutzt.
Wer bspw. dauerhaft die man pages auf Englisch haben will, der muss nur die MANOPT Umgebungsvariable auf:

Code: Alles auswählen

export MANOPT=-Lc
setzen.

Aber das hilft hier einem auch nicht weiter.

Eine andere Möglichkeit wäre ein Skript das zuerst die TERMCAP Farben setzt und dann man mit dem anzuzeigenden Suchmuster
aufruft und dann nach beendigen von man die TERMCAP Farben wieder zurücksetzt.
Dazu müsste das Skript das zu suchende Suchmuster an man weitergeben.
Global einbinden könnte man das Skript dann per alias der den Namen man kriegt. So wird das Skript aufgerufen, wenn man man haben will.
Aber auch das ist unschön, denn es könnte ja sein, dass man man mit mehreren Parametern starten will.

Eine richtig brauchbare Lösung die auf den Scope des man Befehls beschränkt ist, habe ich leider aber noch nicht gefunden.
Und auch auf unix.stackexchange.com scheint es nur Workarounds zu geben die dazu, abgesehen von der Sache mit most, keine Lösung haben.

Ein nächster Ansatz wäre beim Pager less, den man aufruft.
Obiges Beispiel:

Code: Alles auswählen

export MANPAGER='less -s -M +Gg'
Zeigt, dass man hier less mit Parametern aufrufen kann.
Und +Gg scheint ein Kommando zu sein, dass an vi angelehnt ist und das auch von less benutzt wird.
Da less laut manpage an more and vi manche Befehlscodes übernommen hat.

Vielleicht könnte man über die Möglichkeiten dieses vi Befehlscodes die Farben für less und somit man konfigurieren.
Stichwort Syntax Highlightning.
Aber leider kenne ich mich dafür mit vi zu wenig aus.

Aus der manpage von less:

Code: Alles auswählen

Commands are based on both more and vi.  Commands may be preceded by a decimal number, 
called N in the descriptions below.  The number is  used  by  some commands, as indicated.
Außerdem kann man mit ! an less einen Befehl übergeben:

Code: Alles auswählen

       ! Shell-Befehl
              ruft  eine  Shell  auf, um den angegebenen Shell-Befehl auszuführen. Ein Prozentzeichen (%) im Befehl wird durch den Namen der aktuellen Datei er‐
              setzt. Ein Rautezeichen (#) wird durch den Namen der zuletzt untersuchten Datei ersetzt.  »!!«  wiederholt  den  letzten  Shell-Befehl.  »!«  ohne
              Shell-Befehl  ruft einfach eine Shell auf. Auf Unix-Systemen wird die Shell aus der Umgebungsvariablen SHELL genommen oder ist standardmäßig »sh«.
              Auf MS-DOS und OS/2-Systemen ist die Shell der normale Befehlsprozessor.
Ein Versuch, das an less über die MANPAGER Variable zu übergeben und less ein Shellskript auswerten zu lassen
schlug allerdings fehl:

Code: Alles auswählen

export MANPAGER='less -s -M +Gg !/home/$USER/hallo_welt.sh'
Würde das wie gewünscht klappen, dann könnte man in dem Shellskript wie oben erwähnt die Änderung der Farben auf less im Kontext eines Ausführens von man beschränken.
Man müsste dann lediglich noch, wenn less und somit man beendet wird, ein weiteres Skript aufrufen, dass die Farben dann wieder zurücksetzt, sofern die gesetzten Farben nicht nur für diesen Scope gelten.
Mal ein anderes Beispiel.
grml nutzt zsh mit vielen Features.
Warum ist "zsh" nicht Standard bei Debian?
Da kann die "Bash" einpacken.
Keine Ahnung.
Mir geht es ja jetzt nur mal um eine grundlegende und brauchbare Vorkonfiguration von man. Bei ls klappt es ja auch.
Selbst der Username und Hostname werden in der Shell farbig hervorgehoben.
grml nutzt auch tmux (Anleitung) mit folgender tmux.conf
Also "tmux" sollte man jedem Anwender "aufzwingen", da es eine tolle Anwendung ist.
"tmux" ist kein Standard bei Debian und muss (zum Glück) nachinstalliert werden.
tmux brauchen nur einige wenige, da man in einer Fensterverwaltung genug konsolenfenster starten kann.
Aber ein farbiges man könnte man überall gebrauchen. Davon würden sicherlich 95 % der Debiannutzer profitieren, also könnte man
dass auch gleich seitens Debian vorkonfigurieren.
Jetzt fehlt halt noch eine brauchbare technische Lösung das umzusetzen. Dann könnte man die Debianleute darauf hinweisen.

Vielleicht müsste man auch den Code von man bzw. less anpassen, damit die Ausgabe in Zukunft farbig ist.
So, wenn man den Code von man anpasst oder less einen Parameter dafür kriegt, wäre dann zumindest sichergestellt,
dass keine anderen Befehle, wie printenv davon beeinflusst werden.

DeletedUserReAsG

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von DeletedUserReAsG » 19.08.2021 07:12:23

Cordess hat geschrieben: ↑ zum Beitrag ↑
18.08.2021 22:05:48
Profis profitieren von Farben genauso.
Die stellen sie sich nach Wunsch ein, oder benutzen gleich einen Pager, der farbliche Ausgabe vorsieht.
Cordess hat geschrieben: ↑ zum Beitrag ↑
18.08.2021 22:05:48
tmux brauchen nur einige wenige, da man in einer Fensterverwaltung genug konsolenfenster starten kann.
Wenn du mal mehr mit der Shell machst, wirst du selbst feststellen, dass diese Behauptung blanker Unsinn ist.

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von MSfree » 19.08.2021 08:38:21

niemand hat geschrieben: ↑ zum Beitrag ↑
19.08.2021 07:12:23
Cordess hat geschrieben: ↑ zum Beitrag ↑
18.08.2021 22:05:48
Profis profitieren von Farben genauso.
Die stellen sie sich nach Wunsch ein, oder benutzen gleich einen Pager, der farbliche Ausgabe vorsieht.
Manpages sinnd eigentlich meine erste Anlaufstelle, wenn ich etwas suche. Daß das auch in bunt geht, wußte ich bieher nicht einmal. Die einfarbige Darstellung hat mich bisher aber auch noch nie gestört. :wink:
Cordess hat geschrieben: ↑ zum Beitrag ↑
18.08.2021 22:05:48
tmux brauchen nur einige wenige, da man in einer Fensterverwaltung genug konsolenfenster starten kann.
Wenn du mal mehr mit der Shell machst, wirst du selbst feststellen, dass diese Behauptung blanker Unsinn ist.
tmux ist auch so ein Ding, das ich nie brauche. Meine Arbeitsweise sieht eher so aus, daß ich 4-5 offene xterms habe zwischen denen ich die Maus hin und her schubse, natürlich mit Fokus-follows-Mouse. Insofern, tmux ist für mich viel zu umständlich. Wie hoch der Prozentsatz derer ist, die mit tmux arbeiten im Vergleich zu denen, die einfach mehrere Terminals offen haben, kann von uns keiner sagen. Das ganze gleich als "blanken Unsinn" zu bezeichnen, ist jetzt auch nicht weiterführend.

DeletedUserReAsG

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von DeletedUserReAsG » 19.08.2021 08:46:00

MSfree hat geschrieben: ↑ zum Beitrag ↑
19.08.2021 08:38:21
Das ganze gleich als "blanken Unsinn" zu bezeichnen, ist jetzt auch nicht weiterführend.
Das mit „blanken Unsinn“ bezog sich auf „braucht keiner, man kann ja viele Fenster aufmachen“. Wer tmux als umständlicher empfindet, als mehrere offene Terminalfenster, hat bislang drauf verzichtet, sich das mal genauer anzuschauen – oder seine „Arbeit“ mit der Shell beschränkt sich auf eher wenige und einfache Sachen. Damit ist nix verkehrt, nur sollte man auf der Basis nix abwerten, was man nicht kennt.

Zugegebenermaßen eher ’n OT-Ding, aber wenn Leute was abwerten, von dem sie keine Ahnung haben, und damit andere Leute, die’s nicht kennen und die über den Thread stolpern, implizit davon abhalten, es sich mal anzuschauen, dann ärgert mich das. Es gibt die für derartige Werkzeuge üblich geformte Lernkurve (direkt am Anfang steiler Anstieg, dann ein Plateau), ja – deswegen erscheint’s am Anfang in der Tat umständlich – aber umso mehr erleichtert es einem die Arbeit nach der Einarbeitung.

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von MSfree » 19.08.2021 08:55:20

niemand hat geschrieben: ↑ zum Beitrag ↑
19.08.2021 08:46:00
Wer tmux als umständlicher empfindet, als mehrere offene Terminalfenster, hat bislang drauf verzichtet, sich das mal genauer anzuschauen – oder seine „Arbeit“ mit der Shell beschränkt sich auf eher wenige und einfache Sachen. Damit ist nix verkehrt, nur sollte man auf der Basis nix abwerten, was man nicht kennt.
Meinst du nicht, daß du hier gerade selbst abwertend urteilst?

Abgesehen vom Mailprogramm und dem Webbrowser bin ich praktisch nur auf den Shell unterwegs. Und ja, ich kenne tmux und screen, habe die Lernkurven hinter mir, und ich empfinde beides als zu umständlich. Mich ärgert es, wenn jemand meint, seine Arbeitsweise als die einzig gültige mit "wer es nicht kennt" auf andere Leute abwälzen zu wollen.

DeletedUserReAsG

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von DeletedUserReAsG » 19.08.2021 08:59:38

MSfree hat geschrieben: ↑ zum Beitrag ↑
19.08.2021 08:55:20
Meinst du nicht, daß du hier gerade selbst abwertend urteilst?
Nein. Eher wenige einfache Sachen zu machen, ist nix, was irgendwas abwerten würde. Und wenn du mit mehreren Fenstern klarkommst, ist damit auch nix verkehrt, wie ich schon schrieb. Verkehrt ist, irgendwas ohne genauere Kenntnis von vorneherein die Signifikanz abzusprechen – und gerade Cordess ist ja doch eher als Einsteiger anzusehen, wenn man sich seine Threads so anschaut.

Dass du allerding tmux „kennen“ würdest, halte ich grad für etwas dick aufgetragen – sonst würdest du‘s nicht mit screen gleichsetzen.

fischig
Beiträge: 3639
Registriert: 24.12.2019 12:25:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von fischig » 19.08.2021 09:01:31

Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Grundsatzfrage!? :roll:

Vielleicht, weil die Macher das so für „gut“ befanden/weil sie zusätzlichen Aufwand für überflüssig hielten. Ein Frage von richtig oder falsch ist das nur für den, der eine solche daraus macht.
Es bleibt dir natürlich unbenommen, das als weniger „gut“ zu empfinden.
Nur muss der eine nicht den andern mäkeln.
Nur muss der Knorr den Knuppen hübsch vertragen.
Nur muss ein Gipfelchen23 sich nicht vermessen,
Dass es allein der Erde nicht entschossen.
(Lessing, Nathan, II,5) :wink:

Cordess
Beiträge: 422
Registriert: 09.01.2006 00:37:22

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von Cordess » 19.08.2021 09:13:25

niemand hat geschrieben: ↑ zum Beitrag ↑
19.08.2021 08:46:00
MSfree hat geschrieben: ↑ zum Beitrag ↑
19.08.2021 08:38:21
Das ganze gleich als "blanken Unsinn" zu bezeichnen, ist jetzt auch nicht weiterführend.
Das mit „blanken Unsinn“ bezog sich auf „braucht keiner, man kann ja viele Fenster aufmachen“.
Dann lerne lesen!

Ich habe derartiges nämlich nicht geschrieben.
Und ja, mit deinem blanken Unsinn disqualifizierst du dich, es ist rotz frech.

Zugegebenermaßen eher ’n OT-Ding, aber wenn Leute was abwerten, von dem sie keine Ahnung haben, und damit andere Leute, die’s nicht kennen und die über den Thread stolpern, implizit davon abhalten, es sich mal anzuschauen, dann ärgert mich das.
Wenn du dich über Dinge ärgerst, die nicht dastehen, dann solltest du zum Arzt gehen.

DeletedUserReAsG

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von DeletedUserReAsG » 19.08.2021 09:20:42

Cordess hat geschrieben: ↑ zum Beitrag ↑
19.08.2021 09:13:25
niemand hat geschrieben:„braucht keiner, man kann ja viele Fenster aufmachen“
Dann lerne lesen!
Ich lese:
Cordess hat geschrieben: ↑ zum Beitrag ↑
18.08.2021 22:05:48
tmux brauchen nur einige wenige, da man in einer Fensterverwaltung genug konsolenfenster starten kann.
Wenn dein Problem, aufgrund dessen du ausfallend wirst (gelesen: „geh zum Arzt“, interpretiert: „Du bist ja krank“) das „wenige“ vs. „keiner“ war: das ist ’ne bewusste, gewollte und beabsichtigte Überspitzung gewesen, ja. Ich bitte dich also, selbst sinnerfassend lesen zu lernen – Dank im Voraus.

Edit: Quotezuordnung gefixt, 2. Edit: Bezug präzisiert
Zuletzt geändert von DeletedUserReAsG am 19.08.2021 09:24:33, insgesamt 2-mal geändert.

Benutzeravatar
Meillo
Moderator
Beiträge: 8813
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von Meillo » 19.08.2021 09:21:40

Bzgl. tmux: Entscheidend sind doch unsere Nutzungsszenarien. Dafuer gibt es passende und unpassende Programme. Eine absolute Bewertung macht keinen Sinn.


Bzgl. Manpager-Farben: Keine Ahnung warum das nicht der Default ist. Ich persoenlich finde es ganz gut, dass die Manpages ohne Farben sind. Ich wuerde auch nicht zustimmen, dass Farben immer besser sind. Ich erkenne den Inhalt klarer und nehme ihn konzentrierter auf wenn mich keine Farben ablenken. Insgesamt sind solche Entscheidungen zwischen modernen Komfortfunktionen und minimalistischem Kompatiblitaetsverhalten ja immer wieder das Thema von Diskussionen. Da wird es kaum eine richtige oder perfekte Antwort geben. Die Frage ist also welche Wege es in diesem Dilemma gibt und welche man aus welchen Gruenden und mit welchen Zielen im Blick geht. Alternativ kann man sich damit befassen, wie die User erfahren was sie einstellen muessen, damit sie die Dinge farbig sehen.
Use ed once in a while!

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Warum ist eine farbige Ausgabe zum Lesen von man pages in Debian nicht defaultmäßig voreingestellt?

Beitrag von MSfree » 19.08.2021 11:18:15

Meillo hat geschrieben: ↑ zum Beitrag ↑
19.08.2021 09:21:40
Alternativ kann man sich damit befassen, wie die User erfahren was sie einstellen muessen, damit sie die Dinge farbig sehen.
Ich würde sowas ja irdendwo in den Release Notes und/oder den Readmes unter /usr/share/doc vermuten.

Aber selbst auf meinen Minimalsystemen habe ich schon 800 Pakete installiert, und für fast jedes Paket gibt es mehrere Seiten Notizen, die man durchlesen müßte. Eine kurze Stichprobe mit

Code: Alles auswählen

find /usr/share/doc -name \*README\* -exec zcat {} \; | wc
ergibt bei mir über 21000 Zeile Text, ca 350 Seiten DIN-A4. Das ist keine Gutenachtlektüre, und wir sind uns wohl einig, daß sich da keiner durchwühlt.

Man muß eigentlich immer davon ausgehen, daß Dokumentationen und Anleitungen nur in extrem wenigen Einzelfällen gelesen werden, nämlich nur dann, wenn man etwas spezielles sucht.

Antworten