Z komputera korzysta trzech użytkowników (+1 administrator) i korzystają oni z logowania jedności. Trzej użytkownicy przychodzą, korzystają z komputera i wylogowują się. Muszę podawać instrukcje, wiadomości i szczegóły przy każdym logowaniu.
Chcę mieć narzędzie / narzędzie, w którym mogę wpisać niestandardową wiadomość dla każdego użytkownika. Najnowsza wiadomość byłaby wówczas wyświetlana na pulpicie (dla każdego użytkownika) (z datą mojej ostatniej edycji) na powiedzmy 10-15 sekund. Kopia tekstu może być także dostępna (dla użytkownika) gdzieś ze wszystkimi wiadomościami i datami jak dziennik.
* Administrator ma dostęp SSH do systemu.
Nie jestem pewien, czy jest to możliwe (i być może szukam za dużo!).
unity
login
customization
notification
notification-area
ankit7540
źródło
źródło
Odpowiedzi:
Możesz to zrobić w następującej konfiguracji, która utworzy półprzezroczyste okno, pozostając przez dowolny czas:
Utwórz w (dowolnym) katalogu, w którym każdy z użytkowników ma przynajmniej uprawnienia do odczytu , dla każdego użytkownika plik wiadomości, dokładnie nazwany po nazwie użytkownika (nazwa logowania), bez rozszerzenia, np.
Dodaj tekst do pliku jako wiadomość. Jeśli dodasz nową wiadomość, zacznij od
###
, skrypt automatycznie wyświetli ostatnią wiadomość. Tekst może zawierać wszystko, co chcesz, będzie wyglądał dokładnie tak, jak umieściłeś go w pliku.Najnowsza wiadomość, zostaną skopiowane
latest_message.txt
do katalogu domowego użytkownika odsyłającego.W tej chwili okno pozostanie przez 15 sekund, ale możesz ustawić dowolną wartość, nawet automatycznie uzależnić ją od długości tekstu.
Przykładowy plik może wyglądać następująco:
Wiadomość wyglądałaby następująco:
Skopiuj poniższy skrypt do pustego pliku, edytuj w nagłówku skryptu ścieżkę do folderu, w którym przechowujesz wiadomości użytkowników. Zapisz skrypt jak
show_personalmessage
w (np.)/usr/local/bin
(Który powinien być$PATH
i uczynić go wykonywalnym (!) (Bez rozszerzenia)Utwórz program uruchamiający w
/etc/xdg/autostart
Tryb uśpienia 10 ma zapewnić, że pulpit jest „gotowy” do otwarcia okna.
Wyjaśnienie
/etc/xdg/autostart
poleceń uruchamiania dla każdego zalogowanego użytkownika .show_personalmessage
), które wyszukuje spersonalizowaną wiadomość w zdefiniowanym katalogu. Do tego. Najnowsza wiadomość jest kopiowana do katalogu domowego użytkownika.getpass
-moduła, dzięki czemu skrypt (okno) będzie szukał określonego katalogu o nazwie użytkownika w katalogu. Proszę podać, czy byłoby to wymagane.do tego
Okno (Gtk)
itd itd...
EDYTOWAĆ
Aby zaoszczędzić czas na pisanie wiadomości, jak omówiono na czacie , poniżej wersji skryptu, w której można dołączyć kilka „stałych” sekcji:
premsg
, który powinien znajdować się tuż poniżej „Witamy użytkownika x” oraz w treści wiadomości, orazpostmsg
, która znajduje się w dolnej części wiadomości.Obie sekcje można ustawić na brak, po prostu ustawiając
""
jako wartość.Scenariusz
Uwaga
Oczywiście, podobnie jak wiadomości ciała , może dynamika zmienia scenariusz do przeczytania przed i po wiadomości z pliku, co czyni go jeszcze bardziej wygodne do utrzymania. Czy tak było, ze względu na prostotę w odpowiedzi.
źródło
getpass
aby każdy użytkownik automatycznie zażądał nazwanego pliku. Jaką ścieżkę miałbyś na myśli? Musi to być ścieżka, do której każdy użytkownik ma dostęp do odczytu. Poczekaj, edytuje za chwilę .../home/message
. Dobrze byłoby skopiować ostatni tekst wiadomości (catenate itp.) W ustalonym pliku (w celach informacyjnych)Poniższy skrypt umożliwia administratorowi przechowywanie spersonalizowanych wiadomości w formie
username_mm_dd_yyyy.txt
w katalogu zdefiniowanym przez administratora. Nazwy użytkowników są określane automatycznie i dopasowywane do nazwy pliku i daty wyświetlanego pliku.Skrypt może również zawierać
.desktop
wpis, który należy umieścić w/etc/xdg/autostart
katalogu. Spowoduje to, że skrypt będzie wyświetlany dla każdego użytkownika. Alternatywnie możesz umieścić.desktop
plik w katalogu każdego użytkownika~/.config/autostart
.Poniżej możesz zobaczyć małe demo skryptu w akcji. Utworzyłem plik w określonym formacie w moim
/tmp
folderzeźródło
/home/message
. Dobrze byłoby skopiować najnowszy plik wiadomości i zachować go w celach informacyjnych.cp
poleceniem, pierwszy argument to kopia administratora, a drugi argument/home/$( _get_username )/messages/$FILE.txt
muszę spać, ale mogę to dodać rano. To tylko jedna linia.cat $FILE >> /home/$( _get_username )/messages/Log_of_all_messages. txt