Компьютер используется тремя пользователями (+1 администратор), и они используют единый вход. Приходят три пользователя, используют компьютер и выходят из системы. Я должен давать некоторые инструкции, новости и подробности каждый раз, когда они входят в систему.
Я хочу, чтобы у меня была утилита / инструмент, где я мог бы напечатать пользовательское сообщение для каждого пользователя. Последнее сообщение затем будет отображаться на рабочем столе (для каждого пользователя) (с датой моего последнего редактирования), скажем, 10-15 секунд. Копия текста также будет доступна (для пользователя) где-нибудь со всеми сообщениями и датами, как журнал.
* Администратор имеет SSH доступ к системе.
Я не уверен, возможно ли это (и, возможно, я ищу слишком много!).
источник
Ответы:
Вы можете сделать это в следующей настройке, которая создаст полупрозрачное окно, оставаясь на произвольное время:
Создайте в (любом) каталоге, в котором каждый из пользователей по крайней мере имеет разрешения на чтение , для каждого пользователя файл сообщения, точно названный в честь имени пользователя (логина) каждого пользователя, без расширения, например
Добавьте текст в файл как ваше сообщение. Если вы добавите новое сообщение, начните с того
###
, что скрипт автоматически отобразит последнее сообщение. Текст может содержать все, что вам нравится, он будет выглядеть так же, как вы положили его в файл.Последнее сообщение, будет скопировано
latest_message.txt
на пользователе домашнего каталога для справки.Как таковое, окно останется на 15 секунд, но вы можете установить его на любое значение, даже сделать так, чтобы оно автоматически зависело от длины текста.
Пример файла может выглядеть так:
Тогда сообщение будет выглядеть так:
Скопируйте приведенный ниже скрипт в пустой файл, отредактируйте в разделе head вашего скрипта путь к папке, в которой вы храните сообщения пользователей. Сохраните скрипт как
show_personalmessage
в (например)/usr/local/bin
(который должен быть внутри$PATH
и сделайте его исполняемым (!) (Без расширения)Создать лаунчер в
/etc/xdg/autostart
Спящий режим 10 - убедиться, что рабочий стол «готов» открыть окно.
объяснение
/etc/xdg/autostart
командах запуска для каждого пользователя при входе в систему.show_personalmessage
), которое ищет персонализированное сообщение в каталоге, который вы определили. Дополнительно. Самое последнее сообщение копируется в домашний каталог пользователя.getpass
-module, чтобы скрипт (окно) искал именованный файл для конкретного пользователя в каталоге. Пожалуйста, укажите, требуется ли это.Дополнительно
Окно (Gtk)
и т. д.
РЕДАКТИРОВАТЬ
Для экономии времени написания сообщений, как обсуждалось в чате , ниже приведена версия скрипта, в которую можно включить несколько «постоянных» разделов:
premsg
, который должен быть чуть ниже "Привет, пользователь x", а также текст вашего сообщения иpostmsg
, который идет в нижней части вашего сообщения.Обе секции могут быть установлены в none, просто путем установки
""
значения.Сценарий
Заметка
Конечно, так же, как и тело сообщения , yoy может изменить сценарий для чтения предварительных и опубликованных сообщений из файла, что делает его еще более удобным в обслуживании. Сделал так, по причинам простоты в ответе.
источник
getpass
его, чтобы каждый пользователь автоматически запрашивал указанный файл. Какой путь вы бы имели в виду? Это должен быть путь, к которому у каждого пользователя есть доступ для чтения. Подождите, будет редактировать через минуту .../home/message
. Было бы хорошо скопировать текст недавнего сообщения (cateate и т. Д.) В фиксированный файл (для справки)Сценарий ниже позволяет администратору хранить персонализированные сообщения в форме
username_mm_dd_yyyy.txt
в директории, определенной администратором. Имена пользователей определяются автоматически и сопоставляются с именем файла и датой отображаемого файла.Сценарий также может иметь
.desktop
запись, которая должна быть помещена в/etc/xdg/autostart
каталог. Это заставит скрипт отображаться для каждого пользователя. В качестве альтернативы вы можете поместить.desktop
файл в каталог каждого отдельного пользователя~/.config/autostart
.Ниже вы можете увидеть небольшую демонстрацию сценария в действии. Я создал файл в указанном формате в своей
/tmp
папкеисточник
/home/message
. Было бы хорошо скопировать файл недавних сообщений и сохранить его для справки.cp
командой, первый аргумент - это копия администратора, а второй -/home/$( _get_username )/messages/$FILE.txt
мне нужно спать, но я могу добавить это утром. Это всего лишь одна строка.cat $FILE >> /home/$( _get_username )/messages/Log_of_all_messages. txt