Potřebujete-li urgentně informovat všechny přihlášené uživatele, příkaz `wall` v Linuxu je efektivnější než e-mail. Tento nástroj automaticky zasílá zprávy všem, kdo aktivně používají terminál.
Příkaz `wall`: Rychlá komunikace
Jak rychle oslovit všechny uživatele vašeho systému? E-mail není ideální – nemáte jistotu, kdy bude zpráva přečtena. Pokud je důležité, aby se lidé o něčem dozvěděli okamžitě, e-mail selhává. Navíc nechcete zbytečně zahlcovat schránky odhlášených uživatelů.
Zjišťování, kdo je přihlášen a odkud, může být složité. Uživatelé mohou být připojeni z různých míst, ať už se jedná o lokální síť nebo vzdálené lokality. Jak tedy zajistit, že se vaše sdělení dostane pouze k aktivním uživatelům?
Linux a další systémy na bázi Unixu nabízejí snadné řešení. Příkaz `wall` funguje jako okamžitá zpráva, která se objeví přímo v terminálech všech přihlášených uživatelů. Je nemožné ji přehlédnout, a máte jistotu, že všichni relevantní uživatelé zprávu uvidí, aniž by museli otevírat speciální aplikaci.
Doručení zprávy je rychlé a okamžité.
Jak odeslat zprávu pomocí `wall`
Pro účely tohoto článku byl použit testovací systém s Fedora Linuxem. Příkaz `wall` se však chová stejně i v jiných distribucích.
Můžete se setkat s tím, že některé distribuce vyžadují použití `sudo` pro odeslání zprávy z textového souboru, zatímco jiné vyžadují `sudo` pro veškeré použití `wall`. Tento rozdíl je specifický pro distribuci, nikoli pro samotný příkaz `wall`.
Pro odeslání zprávy všem uživatelům zadejte `wall`, mezeru a samotnou zprávu. V případě Fedora Linuxu je vyžadováno `sudo`.
sudo wall Hlavní tiskárna mimo provoz do odvolání.
Tato zpráva se okamžitě zobrazí všem uživatelům s otevřeným terminálem.
Lokální uživatelé RIa a Tom zprávu obdrží, stejně jako vzdálený uživatel Dick, který pracuje na systému Ubuntu.
Všichni obdrží zprávu současně, takže si nemusíte lámat hlavu, zda ji viděli.
Odeslání zprávy z textového souboru
Zprávu můžete připravit v textovém souboru a uložit si ji pro pozdější použití. Pokud potřebujete pravidelně posílat stejné zprávy, můžete si vytvořit knihovnu předdefinovaných šablon.
Obsah textového souboru `message.txt` je zobrazen v terminálu pomocí `cat`, abyste si mohli ověřit, že obsahuje správnou zprávu.
Zpráva se poté odešle příkazem `wall` s názvem textového souboru jako parametrem:
cat message.txt
sudo wall message.txt
Stejně jako předtím, lokální uživatelé Ria a Tom i vzdálený uživatel Dick obdrží zprávu (spolu se všemi ostatními, kteří mají otevřený terminál).
Etiketa při používání příkazu `wall`
Vzhledem k tomu, že příkaz `wall` zasílá zprávu všem uživatelům terminálu bez ohledu na to, co právě dělají, je důležité ho používat s rozvahou. Měl by být vyhrazen pro situace, kdy je to opravdu nezbytné, jinak se může stát zdrojem frustrace.
Zpráva z `wall` se objeví na vrcholu aktuálního obsahu terminálu. Nezmění ho, pouze jej překryje. Pro uživatele, který o tom neví, to může být alarmující.
Představte si, že jeden z lokálních uživatelů právě pracuje s důležitým souborem v editoru Vi, když se objeví zpráva z `wall`.
Zpráva se objeví uprostřed editovaného souboru.
Pro obnovení původního zobrazení stačí, aby uživatel posunul zobrazení o kousek nahoru nebo dolů.
Obnovení displeje je snadné, ale příliš mnoho takovýchto přerušení může vyvolat nevoli mezi uživateli.
Proto, ačkoliv je `wall` užitečný, používejte jej s mírou.
Co s uživateli grafických rozhraní?
Příkaz `wall` doručí zprávu všem uživatelům s otevřeným terminálem, ale nedosáhne na ty, kteří používají grafické rozhraní bez otevřeného terminálového okna.
Pokud někdo používá grafické rozhraní a má otevřený terminál, zprávu v něm uvidí. Nepočítejte s tím, že by `wall` zasáhl někoho mimo terminál.
Není to elegantní řešení, ale nelze popřít, že zpráva se doručí, tedy v tradičním terminálovém prostředí.