Как я могу сделать «человека» более дружественным к пользователю?

20

Когда я печатаю, man bashон показывает информацию в самом терминале.

Как мне сказать " man" вместо этого открыть информацию в gedit? Это возможно?

Zabba
источник

Ответы:

31

Используйте эту функцию в .bashrc:

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

Источник

zengr
источник
2
Благодарность! Это лучше, чем Gedit (не знал о визг)
Zabba
3
Или просто используйте, yelp man:bashконечно, если вы находитесь на чужом рабочем столе.
января
2
И если вам нужна man-страница, которой нет в разделе по умолчанию, используйте что-то вроде yelp "man:init(5)"вместо man 5 init(это не работает с текущей версией функции bash zengr ).
JanC
Это очень хорошо. Тем не менее, я бы также хотел, чтобы метод индексировал или просматривал страницы справочника по темам или по содержанию. Есть ли что-нибудь подобное, работающее на Ubuntu или даже на Debian с X?
будет
3

Просто введите в терминал следующее:

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

Это создаст временный файл с содержимым страницы руководства и откроет его с помощью gedit.

Натан Осман
источник
Альтернативная команда, которая избегает создания временного файла, используя возможности Bash:gedit <(man bash)
Lekensteyn
1
@Lekensteyn: gedit не открывает <()подстановку процесса и не открывает канал ввода. (проверено в 2.30.3 и 3.4.1)
Peter.O
@ Питер. Я только что проверил, и ты правда. Это не работает kateни для одного. nanoможет открыть его только для чтения.
Лекенштейн
man bash | gedit -избегает файла tmp
эллиптическое представление
2

Еще лучше, пусть man отформатирует его в HTML и откроет в 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
Билл
источник
Отлично, я люблю это. +1 .. Теперь это функция в моем ~/bashrc...fman () { until [[ -z $1 ]] ;do man -f "$1" 2>/dev/null && coproc man --html=firefox "$1"; shift; done; }
Peter.O
1

Если вы не хотите использовать оболочку: нажмите alt + f2 и введите yelp man:bash. Также доступна история команд, и вы можете выбрать любую справочную страницу, заменив man:bashнужную вам справочную страницу.

космо
источник
1

Помимо открытия справочной страницы gedit(как продемонстрировали другие ответы), вы также можете создать pdf справочной страницы (как впервые отмечено в этой статье ) и затем отобразить ее в evince. (Нужно ps2pdfи evinceустановлено). PDF-файл создается в вашем текущем рабочем каталоге и сохраняется после evinceзакрытия.

Просто измените приведенную ниже команду в соответствии с нужной вам man-страницей и измените имена файлов, иначе результирующие pdf-файлы будут перезаписаны. Вот пример для dpkg:

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

Однако, вероятно, гораздо полезнее построить функцию. Вы можете добавить следующую функцию к вашей .bashrcили .bash_aliases(при условии, что у вас есть evinceи ps2pdfустановлены; последняя находится в ghostscriptпакете):

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

После добавления функции вы должны запустить . .bashrc(или . .bash_aliases) источник ваших файлов конфигурации или перезапустить терминал, чтобы он вступил в силу.

Вызовите функцию с именем любой программы, имеющей man-страницу, например mikman dpkg, и она выполнит команды и запустит man-страницу в формате pdf. Запуск man-страницы в формате pdf в вашей программе чтения PDF дает вам очень полезный интерфейс, в котором можно использовать инструменты поиска и тому подобное.


источник
0

В каждом конкретном случае вы можете сделать:

man mount > mount.txt

Файл .txt будет в вашем текущем каталоге.

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

откроет файл в gedit.

boehj
источник
0

Вы можете просматривать справочные страницы в режиме онлайн http://manpages.ubuntu.com/ или устанавливать пакет dwww и просматривать всю документацию в автономном режиме ( http://localhost/dwww). Смотрите описание пакета dwww и / или прочитайте man dwww после установки.

Вы также можете быть заинтересованы в просмотре содержимого пакета - установите пакет dpkg-www и сделайте то же самое: посмотрите описание пакета dpkg-www и / или прочитайте man dpkg-www после установки. Начните dpkg-wwwили просмотрите http://localhost/cgi-bin/dpkg.

Ханс Гинзел
источник
-1

Это создаст временный файл со страницей руководства для bash в вашей домашней директории под названием "man" и откроет его с помощью gedit. Как только вы закроете gedit, файл также будет удален. Просто замените bash на любую справочную страницу, которую вы хотите открыть.

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

Надеюсь это поможет :)

scay
источник
Проблема в том, что он geditотсоединяется от терминала с кодом выхода 0, поэтому rmшаг выполняется немедленно. Это приводит ~/manк удалению еще до того, как gedit его загрузит ...
Peter.O