Проблемы X11, работающие с Terminal.app

Мне интересно, почему топ и HTOP не отображаются -100 для процессов приоритета в режиме высокого напряжения?

Это потому, что SCEN_RR и SCEN_FIFO имеют фиксированные статические приоритеты с 1- 99:

Источник

Для приоритетов в реальном времени порядок обращается: 99 действительно самый высокий, вопреки усусалу «ниже, выше».

На ваш комментарий я неправильно понял ваш вопрос, извините.

Вверху есть только один столбец, поэтому дифференцируя приоритеты RT от других были бы невозможны. Чтобы обойти это, «RT» используется для указания того, что эти процессы используют класс планировщика в реальном времени.

Вы можете увидеть разницу с использованием PS AX --Format uname, PID, PPID, TTY, CMD, CLS, PRI, RTPRIO , который даст вам 2 столбца, один для PRIO, а другой один для Rtprio.

Sidenote: вышеупомянутая команда также покажет вам класс планировщика, который использует процесс.

1
28.07.2014, 22:36
2 ответа

Я думаю, что вы путаете различные технологии и их работу. Я не ожидал, что демон уведомлений из одной системы может отправлять сообщения через SSH. Установка $ ДИСПЛЕЯ - это то, как X11 отправляет выходные данные из приложения другому приложению для отображения, но notify-send отправляет фактическое сообщение демону уведомлений. Это сообщение отправляется с помощью библиотеки libnotify .

expert

libnotify - это библиотека, которая отправляет уведомления на рабочий стол демону уведомлений, как определено в спецификации Уведомления на рабочий стол. Эти уведомления могут использоваться для информирования пользователя о событии или отображения некоторой информации без попадания в путь пользователя.

Источник: https://developer.gnome.org/libnotify/

Для каждого подхода приложения

Одним из методов присоединения сообщений notify-send к уведомителю локальной системы является использование подхода, описанного в этом блоге под названием Уведомления IRC через SSH и libnotify . Этот подход должен быть адаптирован для каждого типа уведомления, которое требуется соединить с локальным уведомителем.

Tunneling libnotify over SSH

Для более общего решения libnotify-over-ssh может быть больше, чем вы ищете.

фрагмент

Это сценарий perl клиентского сервера, который я написал, чтобы мой сервер мог по существу, отправлять сообщения libnotify на мой локальный компьютер. Я использую это в основном с weechat, но имеет особенность, чтобы сделать его более общим. Когда при вызове клиента с тегом weechat сервер проверяет имя текущее сфокусированное окно. Если он начинается с weechat, уведомления подавляются, если не вызывается функция notify-send.

Отображение на удаленном сервере

Если на другом сервере вы просто пытаетесь использовать notify-send для отображения сообщений на удаленном сервере, к которому вы использовали ssh для подключения, вам, скорее всего, потребуется выполнить одно из предложений, которые были сделаны в этом ответе на вопросы и ответы под названием Using notify-send with cron . Несмотря на то, что в некоторых ответах говорилось, что это не нужно, я должен был сделать следующее, как другие упомянули в комментариях к моей системе Fedora 20, используя корицу в качестве моего рабочего стола, чтобы добиться работы вещей.

Для работы notify-send необходимо установить для этой переменной соответствующее значение из среды рабочего стола удаленной системы.

$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-wzrbFpDUZQ,guid=82e5bffe1f819506faecc77a53d3ba73

В моей системе я смог использовать файл, который поддерживается для этой конкретной цели.

$ ssh me@remote
$ source ~/.dbus/session-bus/6a34f24f9c504e3f813bc094ed0b67af-0
$ notify-send "hi"

ПРИМЕЧАНИЕ: Имя файла DBUS изменяется от сеанса к сеансу.

-121--42221-

Сначала используется терминология. chmod - это программа (и системный вызов), которая разрешает изменять биты полномочий файла в файловой системе. sudo - специальная программа, позволяющая запускать другие программы с различными полномочиями (как правило, с повышенными привилегиями, чаще всего с правами пользователя root). su аналогичен, но меньше (читать «нет»)конфигурируемый, чем sudo - наиболее важно, что для этого требуется аутентификация пользователей на основе знания корневого пароля (что довольно опасно с точки зрения безопасности).

Бит исполняемого файла указывает, может ли содержимое файла быть загружено в память и выполнено (в нем ничего не говорится о том, имеет ли это смысл - можно установить бит исполняемого файла изображения JPEG и наблюдать за его провалом при попытке запуска).

Теперь для вопросов:

  1. разрешения оцениваются после загрузки исполняемого файла. В случае su и sudo это происходит с действующими идентификаторами (пользователь и группа - полномочия, используемые при оценке привилегий - см. полномочия (7) справочную страницу) целевого пользователя. Следовательно, если целевому пользователю разрешено выполнять файл, он выполняется.

  2. Как упоминалось выше, когда исполняемый бит набора для эффективного UID или GID, он может быть выполнен. Иначе нет.

  3. Как правило, нет. При необходимости можно пометить его как исполняемый только для определенных идентификаторов, а затем подготовить конфигурацию sudo так, чтобы она позволяла определенным пользователям запускать этот двоичный файл с полномочиями одного из тех, которые имеют права на исполняемый файл.

  4. Нет. Обычно не имеет особого смысла мешать пользователям запускать программы, требующие специальных привилегий - программы должны справляться с отсутствием таковых (изящно по возможности). Некоторые программы даже имеют только некоторые функции, которые не требуют специальных прав, но предлагают больше при выполнении со специальными привилегиями - одним из примеров является route : непривилегированные пользователи могут использовать его для отображения таблиц маршрутизации ядра, в то время как администраторы могут также изменять их.

-121--167374-

Если вы используете Bash, поместите одно и то же в профиль ~/.bashrc и ~/.bash _ . Это то, что я должен был сделать, по крайней мере.

Предполагая, что вы используете fink , и по всем признакам того, как вы все настроили, похоже, что вы это делаете.

1
28.01.2020, 01:54

Просто идея: если вы echo $ DISPLAY в xterm вы получите что-то (назовем это XXXX ).

В терминале export DISPLAY = XXXX , это должно работать, по крайней мере, временно.

-1
28.01.2020, 01:54

Теги

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