Come posso rendere 'man' più intuitivo il gui?


20

Quando scrivo man bashmostra le informazioni nel terminale stesso.

Come dico invece " man" di aprire le informazioni in gedit? È possibile?

Risposte:


31

Utilizzare questa funzione in .bashrc:

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

fonte


2
Grazie! Anche questo è meglio di gedit (non sapevo di
yelp

3
O semplicemente usa yelp man:bash, ovviamente, se sei sul desktop di qualcun altro.
JanC

2
E se hai bisogno di una manpage che non è nella sezione predefinita, usa qualcosa del tipo yelp "man:init(5)"invece di man 5 init(questo non funziona con la versione corrente della funzione bash di zengr ).
JanC

È molto buono. Tuttavia, vorrei anche un metodo per indicizzare o sfogliare le pagine man per argomento o un sommario. C'è qualcosa del genere là fuori che funziona su come dire solo Ubuntu o anche solo debian con X?
sarà il

3

Basta inserire quanto segue nel terminale:

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

Ciò creerà un file temporaneo con il contenuto della pagina man e lo aprirà con gedit.


Un comando alternativo che evita la creazione di un file temporaneo, facendo uso delle funzionalità di Bash:gedit <(man bash)
Lekensteyn,

1
@Lekensteyn: gedit non apre una <()sostituzione di processo, né apre input di piping. (testato in 2.30.3 e 3.4.1)
Peter.O

@ Peter.OI ho appena controllato e tu sei vero. Non funziona neanche per kateentrambi. nanopuò aprirlo come di sola lettura però.
Lekensteyn,

man bash | gedit -evita il file tmp
Vista ellittica

2

Meglio ancora, fai formattarlo in HTML da uomo e aprilo in Firefox

#!/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

Eccellente, lo adoro. +1 .. Ora è una funzione nel mio ~/bashrc...fman () { until [[ -z $1 ]] ;do man -f "$1" 2>/dev/null && coproc man --html=firefox "$1"; shift; done; }
Peter.O

1

Se non vuoi usare una shell: premi alt + f2 e inserisci yelp man:bash. È inoltre disponibile una cronologia dei comandi ed è possibile scegliere qualsiasi pagina man sostituendola man:bashcon la pagina man necessaria.


1

Oltre ad aprire la pagina man in gedit(come hanno dimostrato le altre risposte), puoi anche creare un pdf della pagina man (come notato per la prima volta in questo articolo ) e poi visualizzarla in evince. (È necessario ps2pdfe evinceinstallato). Il file pdf viene creato nella directory di lavoro corrente e viene conservato dopo la evincechiusura.

Basta modificare il comando seguente in base alla pagina man desiderata e cambiare i nomi dei file, altrimenti i file pdf risultanti verranno sovrascritti. Ecco un esempio per dpkg:

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

Tuttavia, è probabilmente molto più utile costruire una funzione. Puoi aggiungere la seguente funzione al tuo .bashrco .bash_aliases(supponendo che tu l'abbia installato evincee ps2pdfinstallato; quest'ultimo è nel ghostscriptpacchetto):

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

Dopo aver aggiunto la funzione, è necessario eseguire . .bashrc(o . .bash_aliases) per eseguire il sorgente dei file di configurazione o riavviare il terminale affinché abbia effetto.

Chiamare la funzione con il nome di qualsiasi programma che abbia una manpage, come mikman dpkg, e eseguirà i comandi e lancerà la manpage in pdf. Lanciare la manpage come pdf nel tuo lettore pdf ti dà una guida molto utile in cui è possibile utilizzare strumenti di ricerca e simili.


0

Caso per caso puoi fare:

man mount > mount.txt

Il file .txt sarà nella directory corrente.

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

aprirà il file in gedit.


0

Puoi sfogliare le pagine man online http://manpages.ubuntu.com/ o installare il pacchetto dwww e sfogliare tutta la documentazione off-line ( http://localhost/dwww). Vedi la descrizione del pacchetto dwww e / o leggi man dwww dopo l'installazione.

Potresti anche essere interessato a sfogliare i contenuti del pacchetto - installa il pacchetto dpkg-www e fai lo stesso: vedi la descrizione del pacchetto dpkg-www e / o leggi man dpkg-www dopo l'installazione. Inizia dpkg-wwwo naviga http://localhost/cgi-bin/dpkg.


-1

Questo creerà un file temporaneo con la pagina di manuale per bash nella tua home directory intitolata "man" e lo aprirà con gedit. Non appena chiudi gedit, anche il file verrà cancellato. Sostituisci bash con qualunque pagina man vuoi aprire.

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

Spero che sia di aiuto :)


Il problema è che si geditstacca dal terminale con un codice di uscita di 0, quindi il rmpasso viene eseguito immediatamente. Questo fa sì ~/manche venga eliminato prima che gedit lo abbia persino caricato ...
Peter.O
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.