Wie kann ich "Mann" gui freundlicher machen?

20

Wenn ich tippe man bash, werden die Informationen im Terminal selbst angezeigt.

Wie sage ich " man", dass die Informationen stattdessen in gedit geöffnet werden sollen? Ist das möglich?

Zabba
quelle

Antworten:

31

Verwenden Sie diese Funktion in .bashrc:

man () { yelp "man:$@"; }

Quelle

Zengr
quelle
2
Vielen Dank! Dies ist auch besser als Gedit (wusste nicht über Yelp)
Zabba
3
Oder verwenden yelp man:bashSie es einfach , wenn Sie sich auf dem Desktop eines anderen Benutzers befinden.
20.
2
Und wenn Sie eine Manpage benötigen, die nicht im Standardabschnitt enthalten ist, verwenden Sie yelp "man:init(5)"stattdessen so etwas wie man 5 init(dies funktioniert nicht mit der aktuellen Version der Bash-Funktion von zengr ).
20.
Das ist sehr gut. Ich möchte jedoch auch eine Methode zum Indizieren oder Durchsuchen der Manpages nach Thema oder Inhaltsverzeichnis. Gibt es so etwas da draußen, das funktioniert, zum Beispiel nur Ubuntu oder sogar nur Debian mit X?
wird
3

Geben Sie einfach Folgendes in das Terminal ein:

man bash >/tmp/t;gedit /tmp/t

Dadurch wird eine temporäre Datei mit dem Inhalt der Manpage erstellt und mit geöffnet gedit.

Nathan Osman
quelle
Ein alternativer Befehl, der das Erstellen einer temporären Datei unter Verwendung der Bash-Funktionen vermeidet:gedit <(man bash)
Lekensteyn
1
@Lekensteyn: gedit öffnet weder eine <()Prozessersetzung noch eine weitergeleitete Eingabe. (getestet in 2.30.3 und 3.4.1)
Peter.O
@ Peter.OI habe gerade gecheckt und du bist wahr. Es funktioniert auch nicht kate. nanokann es jedoch als schreibgeschützt öffnen.
Lekensteyn
man bash | gedit -vermeidet die tmp-Datei
Ellipsentrainer
2

Besser noch, lassen Sie es in HTML formatieren und in Firefox öffnen

#!/bin/bash
# open a man page in firefox

# loop through all parameters in order
for i
do
    # if the manpage was found, spawn it in a browser window
    man -f "$i" > /dev/null && coproc man --html=firefox "$i"
done
Rechnung
quelle
Hervorragend, ich liebe es. +1 .. Es ist jetzt eine Funktion in meinem ~/bashrc...fman () { until [[ -z $1 ]] ;do man -f "$1" 2>/dev/null && coproc man --html=firefox "$1"; shift; done; }
Peter.O
1

Wenn Sie keine Shell verwenden möchten, drücken Sie Alt + F2 und geben Sie ein yelp man:bash. Ein Befehlsverlauf ist ebenfalls verfügbar, und Sie können eine beliebige Hilfeseite auswählen, indem Sie sie man:bashdurch die gewünschte Hilfeseite ersetzen .

cosmo
quelle
1

geditSie können nicht nur die Manpage in (wie die anderen Antworten gezeigt haben) öffnen , sondern auch ein PDF der Manpage (wie zuerst in diesem Artikel erwähnt ) erstellen und dann in anzeigen evince. (Du brauchst ps2pdfund evinceinstallierst). Die PDF-Datei wird in Ihrem aktuellen Arbeitsverzeichnis erstellt und bleibt nach dem evinceSchließen erhalten.

Ändern Sie einfach den folgenden Befehl entsprechend der gewünschten Manpage, und ändern Sie die Dateinamen. Andernfalls werden die resultierenden PDF-Dateien überschrieben. Hier ist ein Beispiel für dpkg:

man -t dpkg | ps2pdf - dpkg.pdf && evince dpkg.pdf

Es ist jedoch wahrscheinlich viel nützlicher, eine Funktion zu konstruieren. Sie könnten die folgende Funktion zu Ihrer hinzufügen .bashrcoder .bash_aliases(vorausgesetzt , Sie haben evinceund ps2pdfinstalliert, letztere in der ist ghostscriptPaket):

mikman() { man -t "$1" | ps2pdf - "$1".pdf && setsid evince "$1".pdf; }

Nach dem Hinzufügen der Funktion müssen Sie . .bashrc(oder . .bash_aliases) ausführen, um Ihre Konfigurationsdateien zu erhalten, oder das Terminal neu starten, damit es wirksam wird.

Rufen Sie die Funktion mit dem Namen eines Programms auf, das über eine Hilfeseite verfügt, z. B. mikman dpkg, und sie führt die Befehle aus und startet die Hilfeseite als PDF. Wenn Sie die Manpage als PDF in Ihrem PDF-Reader starten, erhalten Sie eine sehr nützliche Benutzeroberfläche, in der Suchwerkzeuge und dergleichen verwendet werden können.


quelle
0

Im Einzelfall können Sie Folgendes tun:

man mount > mount.txt

Die TXT-Datei befindet sich in Ihrem aktuellen Verzeichnis.

man mount > mount.txt && gedit mount.txt

öffnet die Datei in gedit.

boehj
quelle
0

Sie können die Manpages online unter http://manpages.ubuntu.com/ durchsuchen oder das dwww-Paket installieren und die gesamte Dokumentation offline durchsuchen ( http://localhost/dwww). Siehe Beschreibung des dwww-Pakets und / oder lies man dwww nach der Installation.

Sie könnten auch daran interessiert sein, den Inhalt des Pakets zu durchsuchen - installieren Sie das Paket dpkg-www und machen Sie dasselbe: Lesen Sie die Beschreibung des Pakets dpkg-www und / oder lesen Sie man dpkg-www nach der Installation. Starten dpkg-wwwoder durchsuchen http://localhost/cgi-bin/dpkg.

Hans Ginzel
quelle
-1

Dadurch wird eine temporäre Datei mit der Handbuchseite für bash in Ihrem Ausgangsverzeichnis mit dem Titel "man" erstellt und mit gedit geöffnet. Sobald Sie gedit schließen, wird auch die Datei gelöscht. Ersetzen Sie bash einfach durch die Manpage, die Sie öffnen möchten.

man bash >> ~/man && gedit ~/man && rm ~/man

Hoffe das hilft :)

scay
quelle
Das Problem dabei ist, dass geditsich das Terminal mit einem Exit-Code von löst 0, so dass der rmSchritt sofort ausgeführt wird. Dies führt ~/mandazu, dass es gelöscht wird, bevor gedit es überhaupt geladen hat ...
Peter.O