Como posso tornar o 'homem' mais amigável?


20

Quando digito man bash, mostra as informações no próprio terminal.

Como eu digo " man" para abrir as informações no gedit? Isso é possível?

Respostas:


31

Use esta função em .bashrc:

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

Fonte


2
Obrigado! Isto é melhor do gedit também (não sabia sobre Yelp)
Zabba

3
Ou apenas use yelp man:bash, é claro, se você estiver na área de trabalho de outra pessoa.
janc

2
E se você precisar de uma página de manual que não esteja na seção padrão, use algo como em yelp "man:init(5)"vez de man 5 init(isso não funciona com a versão atual da função bash do zengr ).
janc

Isso é muito bom. Ainda assim, eu também gostaria de um método para indexar ou navegar nas páginas de manual por tópico ou tabela de conteúdo. Existe algo assim por aí que funciona, digamos, apenas no Ubuntu ou até mesmo no debian com o X?
será

3

Basta digitar o seguinte no terminal:

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

Isso criará um arquivo temporário com o conteúdo da página de manual e o abrirá com gedit.


Um comando alternativo que evita a criação de um arquivo temporário, usando os recursos do Bash:gedit <(man bash)
Lekensteyn

11
@Lekensteyn: O gedit não abre uma <()substituição de processo, nem abre a entrada canalizada. (testado em 2.30.3 e 3.4.1)
Peter.O

@ Peter.OI acabou de verificar e você é verdadeiro. Isso também não funciona kate. nanopode abri-lo como somente leitura.
Lekensteyn 4/12/12

man bash | gedit -evita o arquivo tmp
Elliptical view

2

Melhor ainda, faça com que o homem o formate em HTML e abra-o no 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

Excelente, eu adoro isso. +1 .. Agora é uma função na minha ~/bashrc...fman () { until [[ -z $1 ]] ;do man -f "$1" 2>/dev/null && coproc man --html=firefox "$1"; shift; done; }
Peter.O 4/12

1

Se você não quiser usar um shell: pressione alt + f2 e digite yelp man:bash. Um histórico de comandos também está disponível e você pode escolher qualquer página de manual substituindo man:bashpela página de manual necessária.


1

Além de abrir a página do manual gedit(como as outras respostas demonstraram), você também pode fazer um pdf da página do manual (conforme observado neste artigo ) e depois exibi-lo evince. (Você precisa ps2pdfe evinceinstalado). O arquivo pdf é criado em seu diretório de trabalho atual e é mantido após o evincefechamento.

Simplesmente modifique o comando abaixo de acordo com a página de manual desejada e altere os nomes dos arquivos, caso contrário os arquivos PDF resultantes serão substituídos. Aqui está um exemplo para dpkg:

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

No entanto, é provavelmente muito mais útil construir uma função. Você pode adicionar a seguinte função ao seu .bashrcou .bash_aliases(supondo que você tenha evincee ps2pdfinstalado; o último está no ghostscriptpacote):

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

Depois de adicionar a função, você deve executar . .bashrc(ou . .bash_aliases) a fonte dos seus arquivos de configuração ou reiniciar o terminal para que ela entre em vigor.

Chame a função com o nome de qualquer programa que tenha uma página de manual, como mikman dpkg, e ele executará os comandos e iniciará a página de manual como um pdf. O lançamento da página de manual como PDF no seu leitor de PDF oferece uma interface muito útil, na qual ferramentas de pesquisa e similares podem ser utilizadas.


0

Caso a caso, você pode:

man mount > mount.txt

O arquivo .txt estará no seu diretório atual.

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

irá abrir o arquivo no gedit.


0

Você pode navegar pelas páginas do manual on-line http://manpages.ubuntu.com/ ou instalar o pacote dwww e navegar por toda a documentação off-line ( http://localhost/dwww). Veja a descrição do pacote dwww e / ou leia man dwww após a instalação.

Você também pode estar interessado em navegar pelo conteúdo do pacote - instale o pacote dpkg-www e faça o mesmo: Consulte a descrição do pacote dpkg-www e / ou leia man dpkg-www após a instalação. Inicie dpkg-wwwou navegue http://localhost/cgi-bin/dpkg.


-1

Isso criará um arquivo temporário com a página de manual do bash no seu diretório pessoal chamado "man" e o abrirá com o gedit. Assim que você fechar o gedit, o arquivo também será apagado. Apenas substitua o bash pela página de manual que você deseja abrir.

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

Espero que isto ajude :)


O problema é que geditele se desconecta do terminal com um código de saída de 0, portanto, a rmetapa é executada imediatamente. Este causas ~/mana ser eliminado antes gedit tem ainda carregá-la ...
Peter.O
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.