Jak używać polecenia ściany w systemie Linux

Chcesz szybko wysłać wiadomość do wszystkich zalogowanych użytkowników? Polecenie ściany Linuksa jest mocniejsze niż poczta e-mail i automatycznie namierza zalogowanych użytkowników. Rozgłasza wiadomość do wszystkich korzystających z terminala w systemie.

Polecenie ściany

Jeśli chcesz szybko wysłać wiadomość do zalogowanych użytkowników Twojego komputera, jak to zrobisz? E-mail nie spełnia wymagań. Nie wiesz, kiedy wiadomość e-mail zostanie przeczytana. Jeśli chcesz, aby ludzie wiedzieli coś teraz, to nie wystarczy. Poza tym nie chcesz zapychać skrzynek odbiorczych wylogowanych użytkowników, którzy nie muszą widzieć wiadomości.

Bez dodatkowego wysiłku i marnowania czasu nie będziesz wiedział, kto jest zalogowany i skąd. Twój system może znajdować się w Aberdeen w stanie Waszyngton ale możesz mieć zdalnych użytkowników zalogowanych z Aberdeen w Szkocji. Jak więc skierować wiadomość specjalnie do zalogowanych użytkowników?

Linux i inne systemy operacyjne podobne do Uniksa dają prosty sposób na zrobienie tego. Rozkaz ścienny jest jak potężny telegram. Dostarczy wiadomość do wszystkich użytkowników terminala i zrzuci ją bezpośrednio pod ich nos. Użytkownicy nie mogą tego przegapić i wiesz, że to mają. Nie musisz od nich otwierać aplikacji i sprawdzać, czy mają oczekującą wiadomość.

Dostawa jest subtelna jak ciasto kremowe w twarz.

Wysyłanie wiadomości

Maszyna testowa, na której badano ten artykuł, została zainstalowana Fedora Linux, ale polecenie ściany będzie działać dokładnie tak samo w innych rozkładach.

Jedyną różnicą, którą możesz napotkać, jest to, że niektóre dystrybucje Linuksa wymagają używania sudo z opcją wysyłania wiadomości z pliku tekstowego, podczas gdy inne dystrybucje wymagają zawsze używania sudo ze ścianą przez cały czas. To właściwie różnica między dystrybucjami Linuksa, a nie różnica w działaniu samego polecenia ściany.

Aby wysłać wiadomość do wszystkich użytkowników, wpisz wall, spację, a następnie wiadomość, którą chcesz wysłać. W Fedorze Linux musisz używać sudo.

sudo wall Main printer offline until further notice.

polecenie wall w oknie terminala

Twoja wiadomość zostanie wysłana do wszystkich użytkowników, którzy mają otwarte okno terminala.

Lokalni użytkownicy RIa i Tom otrzymują wiadomość, podobnie jak zdalny użytkownik Dick, który pracuje na komputerze z systemem Ubuntu.

wiadomość ścienna do lokalnego użytkownika Ria w oknie terminala

wiadomość na ścianie do lokalnego użytkownika tom w oknie terminala

wiadomość na ścianie do zdalnego użytkownika w oknie terminala

Wszyscy otrzymują wiadomość w tym samym czasie i nie zastanawiasz się, czy ją widzieli.

Wysyłanie wiadomości z pliku

Możesz przygotować swoją wiadomość w pliku tekstowym i przechowywać ją w stanie gotowym do wysłania. Jeśli masz powtarzający się cykl wiadomości, które należy wysłać, możesz utworzyć bibliotekę wstępnie spakowanych wiadomości, aby nie trzeba było ich ponownie wpisywać.

Wiadomość w pliku tekstowym message.txt została wyświetlona w oknie terminala z poleceniem cat, aby upewnić się, że jest to ten, który chcemy wysłać.

Wiadomość jest następnie wysyłana poprzez przekazanie nazwy pliku tekstowego do polecenia ściany jako parametru wiersza poleceń:

cat message.txt
sudo wall message.txt

polecenie wall używane z plikiem tekstowym w oknie terminala

Tak jak poprzednio, lokalni użytkownicy Ria i Tom (i wszyscy inni zalogowani przy otwartym oknie terminala) oraz zdalny użytkownik Dick otrzymują wiadomość.

wiadomość na ścianie do Ria w oknie terminala

wiadomość ścienna do Toma w oknie terminala

wiadomość ścienna do Dicka w oknie terminala

Etykieta wiadomości

Ponieważ polecenie ściany wypchnie wiadomość do wszystkich użytkowników terminala bez względu na wszystko, otrzymanie takiej wiadomości może być irytujące. Użycie polecenia ściany powinno być ograniczone do minimum i używane tylko wtedy, gdy istnieje rzeczywista potrzeba. W przeciwnym razie szybko stanie się bardzo szorstki.

Wiadomość na ścianie zostanie nadpisana na wszystkim innym, co znajduje się na terminalu użytkownika. W rzeczywistości niczego nie zastępuje – nie zmieni tekstu, na którym wylądował – ale zasłoni to. A to może być niepokojące dla użytkownika, który tego nie wie.

Wyobraź sobie, że jeden z naszych lokalnych użytkowników edytuje ważny plik w Vi w momencie wysyłania wiadomości na ścianie.

edycja pliku w vi w oknie terminala

Wiadomość dociera w sam środek jej akt.

stemplowanie wiadomości na ścianie na pliku w vi w oknie terminala

Wszystko, co nasi użytkownicy muszą zrobić, aby przywrócić prawidłowy widok pliku, to przewinąć plik w górę iw dół.

przywrócono plik edycji w vi w oknie terminala

Łatwo jest przywrócić wyświetlacz do stanu, w którym praca może być kontynuowana, a ciśnienie krwi może spaść, ale zbyt wiele tego rodzaju zakłóceń pozostawi cię z bardzo wściekłą grupą użytkowników.

Tak więc poręczna jak ściana, używaj jej z rozsądkiem.

A co z użytkownikami graficznego pulpitu?

Polecenie ściany dociera do wszystkich zalogowanych przy otwartym terminalu, ale nie dotrze do nikogo, kto używa graficznego środowiska pulpitu bez otwartego okna terminala.

Jeśli ktoś używa pulpitu graficznego i ma otwarte okno terminala, zobaczy je w oknie terminala – ale to wszystko. Nie licz na to, że ściana dotrze do kogokolwiek poza terminalem.

Nie jest to subtelne, ale nie można zaprzeczyć, że przekazuje wiadomość – to znaczy w tradycyjnym środowisku terminala.