стена не транслируется на графические терминалы 16 апреля

Название подводит итог. Запуск wall <<< "TEST" показывает сообщение в любом TTY, но не в каких-либо терминалах с графическим интерфейсом (протестировано с помощью gnome-terminal и sakura).

У меня есть несколько сценариев мониторинга батареи и температуры, которые основаны на wall сообщении, и после недавнего обновления до 16.04 я заметил, что они перестали работать в GUI.

Я не могу определить, является ли это ошибкой или что-то мешает отображению сообщений в графическом интерфейсе.

Как мне действовать?

Дополнительная информация:

Выполнение byobu в графическом терминале позволяет видеть сообщения на стене

11
задан 21 June 2016 в 03:48

3 ответа

Да он верный, что терминал гнома это не обновляет учетные записи, en из-за этого, я пытаюсь выяснить другое решение:

  1. Позволяют нам узнать все активные псевдотерминалы
ps -ef | grep " pts/" | awk '{print $6}' | sort -u | tee terminals4message.txt

, Это помогает Вам перечислить все настольные терминальные сеансы.

Другой способ отправить сообщение в активные настольные терминальные сеансы

echo "$MESSAGE_to_send" | sudo tee /dev/pts/$terminal_number
  1. не забывает о tty сессиях
ps -ef | grep " tty" | awk '{print $6}' | sort -u | grep -v "pts" | tee terminals4message.txt

, Это помогает Вам перечислить все сессии имущества

  1. Отправка сообщения ко всему
cat terminals4message.txt | while read TTY_TO; do echo -e "SYSTEM MESAGE: $(date) - \n MESAJ" | sudo tee /dev/$TTY_TO 1>/dev/null
  1. Теперь, давайте поместим все это вместе , можно создать хороший сценарий, чтобы заменить текущее стенное приложение и интегрировать все выше вещей.
    После этого можно добавить к ~/.bashrc alias wall="your_wall_replacement.sh" Таким образом, Вы не должны удалять текущую стену

Жаль, если что-то не правильно, поскольку кто-то не позволял мне сфокусироваться на этом предмете..., если Вы, парни замечают что-то нечетное, оставляете комментарий.

10x

1
ответ дан 21 June 2016 в 13:48
  • 1
    Для разработки, не входя в запись моего собственного ответа использование подкачки, растущее со временем, не плохая вещь во всем . То, что это означает, - то, что ядро медленно узнает что спам that' s потребление памяти никогда привыкающие и выгоняние с квартиры его для свопинга так, чтобы память могла привыкнуть для вещей, которые на самом деле помогают Вам (как способность сохранить данные большего количества фс кэшируемыми так это doesn' t должны продолжать отбрасывать его и перечитывать его от диска). – R.. 9 November 2017 в 07:29

Из-за пути терминал гнома работает, wall не регистрирует его как терминал. Более полное объяснение может быть найдено здесь . Я предполагаю, что то же верно для сакуры.

На основе ответ Stancu Mihai , я создал сценарий , который подражает пути wall обычно работы, включая баннер с именем пользователя и меткой времени (используйте-n или - nobanner для удаления баннера). Сценарий в настоящее время не поддерживает чтение сообщения из файла.

можно заменить нормальное wall команда с этим путем добавления псевдонима в ~/.bashrc:

echo 'alias wall="~/your/path/to/wall.sh"' >> ~/.bashrc

использование В качестве примера:

$ wall "some message"

Broadcast message from username@hostname (pts/19) (Wed Mar 29 11:07:35 2017):

some message

$ wall -h

Usage:
 wall [options] [message]

Write a message to all users.

Options:
 -n, --nobanner          do not print banner
 -h, --help              display this help and exit
5
ответ дан 21 June 2016 в 13:48
  • 1
    Уверенный @Joshua, но он хочет его работающий автоматизированный. Не ошибка. – Rinzwind 8 November 2017 в 23:52

Поскольку другие предполагают, что существует множество методов, я предлагаю более прямой (простой) метод, который я нашел (заимствование echo "$ MESSAGE_to_send" | sudo tee / dev / pts / $ номер_терминала: здесь обсуждается.)

echo "Your message" > /dev/pts/$terminal-no

Здесь номер терминала может быть получен из другой терминал через команду "tty".

tty

/ dev / pts / 12

0
ответ дан 8 January 2020 в 07:46

Другие вопросы по тегам:

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