Želite li brzo poslati obaveštenje svim korisnicima koji su trenutno prijavljeni na sistem? Linux komanda `wall` je moćnija od slanja email-a i automatski cilja korisnike koji aktivno koriste sistem. Ona emituje poruku svima koji koriste terminal na tom sistemu.
Komanda `wall`
U situaciji kada trebate brzo poslati poruku korisnicima koji su prijavljeni na vaš računar, kako to najefikasnije postići? Email nije idealno rešenje. Ne možete znati kada će email poruka biti pročitana. Ako je važno da ljudi odmah saznaju informaciju, email možda neće biti dovoljno brz. Osim toga, možda ne želite da zatrpavate poštanske sandučiće korisnika koji trenutno nisu prijavljeni i kojima ta poruka nije bitna.
Bez dodatnog napora i trošenja vremena, ne možete tačno znati ko je sve prijavljen i odakle. Vaš server može biti fizički smešten u Aberdinu, u državi Vašington, ali istovremeno možete imati korisnike koji su prijavljeni iz Aberdina u Škotskoj. Dakle, kako da pošaljete poruku tačno određenim, prijavljenim korisnicima?
Linux, kao i drugi operativni sistemi slični Unix-u, nude jednostavan način za to. Komanda `wall` je poput snažnog telegrama. Ona isporučuje poruku svim korisnicima koji koriste terminal i doslovno je „baca“ pred njihove oči. Korisnici je ne mogu propustiti, i sigurni ste da su je primili. Ne moraju aktivno otvarati aplikaciju da bi videli da li ih čeka poruka.
Dostava poruke je suptilna kao torta s kremom u lice.
Slanje poruke
Sistem na kojem je ovaj tekst pripreman koristi Fedora Linux, ali komanda `wall` funkcioniše potpuno isto i na drugim distribucijama.
Jedina razlika na koju možete naići je da neke Linux distribucije zahtevaju da koristite `sudo` uz opciju za slanje poruke iz tekstualne datoteke, dok druge distribucije zahtevaju da `sudo` uvek koristite sa komandom `wall`. Ovo je razlika između Linux distribucija, a ne u samom radu komande `wall`.
Da biste poslali poruku svim korisnicima, otkucajte `wall`, razmak, a zatim tekst poruke koju želite poslati. U slučaju Fedora Linux-a, morate koristiti `sudo`.
sudo wall Glavni štampač je van funkcije do daljnjeg.
Vaša poruka će biti poslata svim korisnicima koji imaju otvoren terminal.
Lokalni korisnici Ria i Tom primaju poruku, kao i udaljeni korisnik Dick, koji slučajno radi na računaru sa Ubuntu-om.
Svi oni dobijaju istu poruku u isto vreme, i ne morate da se pitate da li su je videli.
Slanje poruke iz datoteke
Možete pripremiti poruku u tekstualnoj datoteci i sačuvati je spremnu za slanje. Ako imate ciklus poruka koje često šaljete, možete napraviti biblioteku gotovih poruka, umesto da ih svaki put ponovo kucate.
Tekst poruke u datoteci `message.txt` se prikazuje u terminalu pomoću komande `cat` kako bismo bili sigurni da je to poruka koju želimo da pošaljemo.
Poruka se zatim šalje tako što se ime tekstualne datoteke prosledi komandi `wall` kao parametar:
cat message.txt
sudo wall message.txt
Kao i pre, lokalni korisnici Ria i Tom (i svi ostali prijavljeni sa otvorenim terminalom) i udaljeni korisnik Dick primaju poruku.
Pravila ponašanja prilikom slanja poruka
Pošto komanda `wall` šalje poruku svim korisnicima terminala bez izuzetka, primanje poruke može biti ometajuće. Korišćenje ove komande treba svesti na minimum i upotrebljavati je samo kada postoji stvarna potreba. U suprotnom, brzo će postati vrlo iritantna.
Poruka sa komandom `wall` će prebrisati sve što je prikazano na korisničkom terminalu. Zapravo, ništa ne zamenjuje – neće promeniti postojeći tekst – ali će ga sakriti. To može biti uznemirujuće za korisnika koji nije upoznat sa ovim.
Zamislite da jedan od naših lokalnih korisnika upravo edituje važnu datoteku u `vi` editoru kada se šalje poruka putem komande `wall`.
Poruka stiže tačno usred njegovog fajla.
Sve što korisnik treba da uradi da bi vratio ispravan prikaz datoteke je da malo skroluje gore-dole kroz datoteku.
Dovoljno je lako vratiti ekran u stanje u kojem se može nastaviti sa radom, i smiriti uznemirenost, ali previše prekida ove vrste će vas ostaviti sa vrlo nezadovoljnim korisnicima.
Dakle, bez obzira na to koliko je komanda `wall` zgodna, koristite je umereno.
Šta je sa korisnicima grafičkih okruženja?
Komanda `wall` stiže do svih prijavljenih korisnika koji imaju otvoren terminal, ali neće stići do onih koji koriste grafičko desktop okruženje bez otvorenog prozora terminala.
Ako neko koristi grafički interfejs i ima otvoren prozor terminala, videće poruku u terminalu – ali to je sve. Nemojte računati da će komanda `wall` dosegnuti do korisnika koji nemaju otvoren terminal.
Nije suptilno, ali ne možete poreći da prenosi poruku – u tradicionalnom terminalskom okruženju, naravno.