Откуда человек приносит страницы? Он их хранит? Насколько это безопасно?

TLDR:Ответ на то, что вы хотите, представлен здесь с хорошим сервисом типа «не одноразовый»:

http://www.lueckdatasystems.com/Successfully_running_x11vnc_as_a_Systemd_Service_in_Xubuntu_16.04_Xenial-Xerus

На случай, если ты захочешь поиграть, я уже делал это до того, как нашел правильный ответ. Иногда это срабатывало, потому что было неправильно настроено. Если вы используете -bg или любой другой скрипт, который завершает работу сразу после выполнения, он вам понадобится, в противном случае просто перейдите по первой ссылке, чтобы правильно запустить службу x11vnc. Я закончил использовать его, работает идеально.

Рекомендовано:Все, что ниже, только для игры

Прежде всего, вы должны использовать службу Type=oneshotвместе с RemainAfterExit=yes, чтобы действие «стоп» сработало. Я боролся, пока не заработал.

Чтобы остановить сервер x11vnc с помощью «отображения», как вы сделаете сvncserver -kill :1(:1 здесь означает :5901, потому что vnc использует порты 590x по умолчанию ), которые вам нужно использовать в примере lsof, чтобы получить pid, затем убейте его, изящно или нет, вы выбираете -9 вариант или другой по вашему выбору.

Если вы всегда используете сервис (, то тот же rfbport )с сервисом, вы уже знаете порт прослушивания, так что может быть так:

ExecStop=/bin/bash -c "/bin/kill -9 `lsof -i:5901 -t`"

Поскольку эти параметры принимают только двоичные файлы и не допускают конвейера, вам нужно заключить все внутрьbash -c "command"

Мой выглядит какhttps://gist.github.com/erm3nda/37e5720b4197a7a16c564418d377aac0и не работает при загрузке, но работает при перезагрузке или запуске вручную.

Сервер не будет уничтожен, если вы снова запустите start, но перезагрузка подойдет.

Если вы планируете запустить несколько серверов x11 на разных портах, вы должны добавить @ к имени службы, а затем вызвать с нужным номером и изменить сценарий, чтобы использовать %i в качестве аргумента.

Просто используйте x11vnc@NUMBER для запуска службы:

Имя файла службы :x11vnc@.service Включите его с портом 5901:sudo systemctl enable x11vnc@1Пример Service ExecStart :/usr/bin/x11vnc -навсегда -общий -bg -rfbport 590%i -дисплей :0 -геометрия 800x600 -rfbauth /etc /x11vnc.pass -слушать 127.0.0$ Пример службы ExecStop :/bin/sh -c "/bin/kill -9 lsof -i:590%i -t" Запустите его:sudo service x11vnc@1 startдля работы под портом 5901

Мой выглядит какhttps://gist.github.com/erm3nda/fa0bfb8f3737dc6398889adb50fdc84bи не работает при загрузке, но работает, если вы перезапустите его или запустите вручную.

0
27.03.2020, 04:24
2 ответа

Does the page for a command get installed with it

Да, обычно так и есть, но, конечно же, вы всегда можете добавить новую пользовательскую справочную страницу в свою систему, не используя локальную систему управления пакетами. Вы можете использовать системный менеджер пакетов, чтобы узнать, какой пакет данная man-страница com из. Большая часть справочных страниц для Linux -основана на системы исходит из справочных страниц Linux -. проект .

If it brings it from the network, then how secure is it?

Это не так, но, как говорили другие, возможно, кто-то написал свою собственную реализацию, которая делает это. Я предполагаю, что ваше замешательство может быть связано с первой строкой в ​​man man, которая гласит:

man - an interface to the on-line reference manuals

Или в версии BSD:

man — display online manual documentation pages

См. этот LQ вопрос для объяснения.

Ради интереса см. такжеhttps://explainshell.com. Это хороший сайт, который может быстро объяснить значение параметров в данной команде, напримерhttps://explainshell.com/explain?cmd=ls+-Alhtrно помните, что ваш локальная реализация данной команды может отличаться или может не поддерживаться все параметры (это особенно актуально при использовании небольших Busybox -, таких как основанные системы ).

И, конечно же, manможет работать по сети в том смысле, что вы можете смонтировать удаленный каталог локально и скажите manискать там man-страницы, т.к. Например, я могу читать man-страницы с удаленной машины FreeBSD вот так:

$ sshfs freebsd:/usr/share/man /mnt/bsd-manpages
$ MANPATH=/mnt/bsd-manpages man man
$ MAN(1)                                                                                

    BSD General Commands Manual                                                                                   MAN(1)

NAME
     man — display online manual documentation pages

Does man cache the pages locally? If it does, should I clear it on a regular basis?

Уже хорошо объяснено в ответ .

1
19.03.2021, 02:32

В современных unix -подобных системах, следующих Стандарту иерархии файловой системы , справочные страницы обычно хранятся в дереве каталогов, расположенном по адресу /usr/share/man. В более старых системах типа unix -вместо этого может использоваться /usr/man.

Обычно manвообще не использует сеть, хотя возможно, что кто-то где-то сделал сетевую -реализацию.

Обычно справочные страницы пишутся с использованием старой системы форматирования документов, первоначально известной как roff(, ее реализация GNU называетсяgroff). При просмотре справочной страницы команда manзапустит исходный код справочной страницы через средство форматирования, что создаст выходные данные, адаптированные к ширине окна, которое вы используете в данный момент. Средство форматирования также может создавать версии man-страниц в формате PostScript, PDF и, возможно, в формате HTML из одного и того же исходного кода, которые не будут ограничиваться моноширинным текстом в стиле терминала -.

Команда manможет кэшировать отформатированные текстовые версии справочных страниц как catстраницы для более быстрого -просмотра, обычно в/var/cache/man(FHS )или отдельных подкаталогах -справочной страницы. иерархия каталогов (старые системы ). Вы можете обнаружить, что в системе уже есть задание по умолчанию (, обычно еженедельное )задание cron, которое автоматически очищает этот кеш.

Если у вас есть система печати CUPS с включенной функцией печати PDF с -по -, запустите man -t ls | lp -d <name of your PDF virtual printer>и просмотрите полученный результат в любой программе просмотра PDF. Или man -Thtml ls > ls_man_page.html, чтобы получить HTML-версию. (Это относится к man-dbреализации команды manв Debian 10. :параметры форматирования могут отличаться в других реализациях.)

2
19.03.2021, 02:32

Теги

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