Hur man använder väggkommandot på Linux

Har du behov av att snabbt kommunicera med alla inloggade användare? Linux-kommandot `wall` är ett kraftfullt verktyg som överträffar e-post genom att automatiskt rikta sig till aktiva användarsessioner. Det skickar meddelanden direkt till alla som använder en terminal på systemet.

`wall`-kommandot

Hur går du tillväga om du akut behöver meddela något till alla inloggade användare på din dator? E-post är inte det mest effektiva verktyget. Du vet inte när mottagaren kommer att läsa mejlet. Om informationen är tidskänslig är e-post inte optimalt. Dessutom vill du inte fylla inkorgarna hos användare som inte är relevanta för meddelandet.

Utan ytterligare ansträngning är det inte lätt att veta vilka användare som är inloggade och varifrån de befinner sig. Ditt system kan vara placerat i Aberdeen, Washington medan du kan ha fjärranvändare inloggade från Aberdeen, Skottland. Så hur kan du rikta ett meddelande specifikt till de inloggade användarna?

Linux och andra Unix-liknande operativsystem erbjuder en smidig lösning. Kommandot `wall` fungerar som ett omedelbart telegram. Det levererar ett meddelande direkt till alla terminalanvändare, och presentationen är så direkt att de inte kan missa det. Användarna behöver inte aktivt leta efter meddelanden i någon applikation.

Leveransen är lika subtil som en tårta i ansiktet.

Hur man skickar ett meddelande

Testsystemet som använts i denna genomgång är installerat med Fedora Linux, men `wall`-kommandot fungerar identiskt i andra Linux-distributioner.

En möjlig skillnad är att vissa Linux-varianter kräver `sudo` för att skicka meddelanden från textfiler, medan andra alltid kräver `sudo` med `wall`. Detta är dock en skillnad i distributionernas implementeringar, inte en skillnad i själva `wall`-kommandots funktion.

För att skicka ett meddelande till alla användare, skriv `wall` följt av ett mellanslag och sedan meddelandet. I Fedora Linux krävs `sudo`.

sudo wall Huvudskrivaren offline tills vidare.

Ditt meddelande kommer att levereras till alla användare som har ett terminalfönster öppet.

Lokala användare Ria och Tom, samt fjärranvändaren Dick, som arbetar på en dator med Ubuntu, kommer att se meddelandet.

Alla mottar meddelandet samtidigt, och du slipper oroa dig för om det har blivit läst.

Skicka meddelande från fil

Du kan förbereda ditt meddelande i en textfil och spara det för framtida bruk. Om du ofta behöver skicka samma meddelanden kan du skapa ett bibliotek med färdiga meddelanden så att du slipper skriva om dem varje gång.

Innehållet i textfilen `message.txt` visas i terminalen med kommandot `cat` för att bekräfta att det är rätt meddelande som ska skickas.

Meddelandet skickas sedan genom att ange textfilens namn som en parameter till `wall`:

cat message.txt
sudo wall message.txt

Återigen mottar lokala användare Ria och Tom (och alla andra inloggade med en öppen terminal) samt fjärranvändaren Dick meddelandet.

Meddelandeetik

Eftersom `wall`-kommandot skickar meddelanden till alla terminalanvändare utan undantag, kan det vara en abrupt upplevelse. Användningen av `wall` bör hållas till ett minimum och endast användas när det finns ett verkligt behov. Annars kan det snabbt bli irriterande.

Ett `wall`-meddelande kommer att skriva över det som användaren hade på skärmen. Det raderar inte texten under, utan täcker bara över den. Detta kan vara skrämmande för användare som inte är bekanta med detta beteende.

Tänk dig att en av de lokala användarna redigerar en viktig fil i Vi när `wall`-meddelandet dyker upp.

Meddelandet visas mitt i filen hon arbetar med.

Allt användaren behöver göra för att återställa vyn är att scrolla upp och ned genom filen.

Det är enkelt att återställa skärmen, men för många sådana avbrott kan göra användarna upprörda. Använd därför `wall` med måtta.

Vad händer med användare av grafiska gränssnitt?

`wall`-kommandot når alla som är inloggade med en öppen terminal, men inte dem som använder en grafisk skrivbordsmiljö utan en terminal öppen.

Om någon använder ett grafiskt gränssnitt och har ett terminalfönster öppet, ser de meddelandet i terminalen – men inte utanför. Förvänta dig inte att `wall` ska nå någon som inte har en terminal igång.

Det är inte subtilt, men det är ett säkert sätt att leverera meddelandet – i en traditionell terminalmiljö, det vill säga.