Каков коррелят / usr / share для каждого пользователя?

Использование онлайн-сервисов для отображения руководств - это круто, но как только я прочитал @Kusalananda комментируя извлечение справочных страниц из установочных пакетов, я каким-то образом одержим реализацией этого метода, который гарантирует, что я прочту правильное руководство для своего дистрибутива.

Единственная ошибка в приведенном ниже решении заключается в том, что оно основано на последних версиях apt / dpkg, которые доступны в Debian Testing 8.6 и могут быть недоступны в других системах.

Извлеките страницы руководства из.deb-файлы без загрузки
Найдите файл deb, как если бы вы планировали установить рассматриваемый пакет (например, yade):

apt-get --print-uris download yade
'http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb' yade_2016.06a-7_amd64.deb 1621148 SHA256:26c0d84484a92ae9c2828edaa63243eb764378d79191149970926aa3ec40cdd4

PS: переключатель --print-uris печатает URL-адрес пакета deb, но deb не загружается.

Найдите страницы руководства, скрытые в этом файле deb:

dpkg -c <(curl -sL -o- http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb) |grep "man/man" |grep -vE "\/$" |awk '{print $NF}'
./usr/share/man/man1/yade-batch.1.gz
./usr/share/man/man1/yade.1.gz

Прочтите страницу руководства yade.1.gz (без загрузки deb):

man <(dpkg-deb --fsys-tarfile <(curl -sL -o- http://httpredir.debian.org/debian/pool/main/y/yade/yade_2016.06a-7_amd64.deb) |tar -xO ./usr/share/man/man1/yade.1.gz)

страница руководства отображается правильно с использованием приложения man.

apt --version --> apt 1.4~beta2 (amd64)
dpkg --version --> Debian 'dpkg' package management program version 1.18.18 (amd64).
man --version --> man 2.7.6.1
tar --version --> tar (GNU tar) 1.29
curl --version --> curl 7.51.0 (x86_64-pc-linux-gnu) libcurl/7.51.0 GnuTLS/3.5.7 zlib/1.2.8 libssh2/1.7.0 nghttp2/1.17.0 librtmp/2.3  

Альтернативный способ загрузки файла deb:
Метод Bellow, основанный на классическом apt-get, ar и tar, должен работать в любом дистрибутиве.
Файл deb загружается в текущий рабочий каталог, распаковывается справочная страница, а затем файл удаляется.

pkg="$1"
apt-get download "$pkg" 2>/dev/null
debname=$(find . -name "$pkg*.deb")
datatar=$(ar t "$debname" |grep "data.tar") 
#ar t prints out the contents of the archive 

if [[ ${datatar##*.} == "gz" ]];then #extension check 
  options="z"
elif [[ ${datatar##*.} == "xz" ]];then
  options="J"
else
  echo "data.tar archive inside deb is not a gz or xz archive. Exiting"
  exit 1
fi

manpage+=($(ar p $debname $datatar | tar t"$options" |grep "man/man" |grep -vE "\/$" |awk '{print $NF}')) #tar t lists the files included in archive
man <(ar p "$debname" "$datatar" | tar xO"$options" ${manpage[@]}) 
#ar p and tar -O prints archive files / contents in stdout to be read by man
rm -f $debname #or rm -i for more control.

Использование manpages.debian.org
В качестве третьей альтернативы, с января 2017 года кто-то может использовать псевдоним / скрипт, который будет извлекать страницу руководства из debian nline на основе нового нового веб-сайта руководств debian, который сразу переходит к вам на правильную / самую последнюю страницу руководства нужного вам пакета:

alias debman='function __debman { links -dump https://manpages.debian.org/jump?q=$1 |awk "/Scroll to navigation/,0" |less; };__debman'

вызовите его с помощью терминала как $ debman yade

1
28.03.2017, 02:23
1 ответ

geany.glade определяет пользовательский интерфейс и не может быть изменен пользователем (точно так же, как код приложения не может быть изменен пользователем).

Если вы хотите настроить интерфейс, не будучи пользователем root, вам необходимо установить собственную копию Geany в свой домашний каталог и изменить ее там.

3
27.01.2020, 23:24

Теги

Похожие вопросы