Howto

Come inviare messaggi a un utente conneso ad un computer Linux.

Come ti invio un messaggio?

Come posso inviare messaggi agli altri utenti utenti connessi su computer/server Linux?

La comunicazione efficace è essenziale in qualsiasi ambiente, compreso il mondo della tecnologia e dei sistemi operativi basati su Linux. Due comandi che possono essere di grande utilità per facilitare la comunicazione tra gli utenti di un sistema sono write e wall. In questa breve guida, esploreremo come utilizzare questi comandi per scambiare messaggi tra utenti connessi allo stesso sistema.

Comando write

Il comando write  consente a un utente di inviare messaggi diretti a un altro utente attualmente connesso al sistema. È un modo efficace per comunicare direttamente e in tempo reale, senza dover ricorrere a strumenti di messaggistica o e-mail esterni. Scriveremo insieme su come utilizzare questo comando in modo appropriato per una comunicazione efficace tra utenti.

Comando wall

A differenza di write , il comando wall consente di inviare un messaggio broadcast a tutti gli utenti connessi al sistema. È un metodo rapido per diffondere informazioni importanti o avvisi a tutti gli utenti contemporaneamente. Esploreremo come utilizzare wall per condividere comunicazioni cruciali con tutti gli utenti connessi.

wall

Prima di tutto vediamo quanti utenti sono connessi e chi sono  con il comando

who

poi wall –help.

 

 

wall command
wall command – inviare messaggi Linux

 

wall “Ragazzi tutti domani a mangiare la pizza da Il Golfo”

Il comando wall viene utilizzato per inviare un messaggio a tutti gli utenti registrati. La sua sintassi è la seguente:

wall [-n]  [file/testo]

-n = Toglie header (Intestazione)

La lunghezza del messaggio è limitata a 20 righe. Per ogni invocazione di wall verrà scritta una notifica a syslog, con la funzione LOG_USER e il livello LOG_INFO.

Quindi il comando wall è utilizzato come una forma di comunicazione di massa che consente all’amministratore del sistema o a un utente con privilegi di inviare un messaggio a tutti gli utenti contemporaneamente.

write

A differenza di wall , che invia messaggi broadcast a tutti gli utenti, il comando write consente a un utente di inviare un messaggio specifico a un altro utente attualmente connesso.

Vediamo quanti utenti sono connessi e chi sono  con il comando

who

Se digitiamo write avremo sentore di come si usa anche perchè non esiste un help 🙂

write command
write command – inviare messaggi Linux

usage: write user [tty]

Quando si esegue il comando di scrittura, l’utente a cui si sta scrivendo riceve un messaggio del formato:

Message from yourname@yourhost on yourtty at hh:mm …

Ogni ulteriore riga inserita verrà copiata sul terminale dell’utente specificato. Se l’altro utente vuole rispondere, deve eseguire anche write.

Quando hai finito, digita un carattere di fine file o di interruzione. L’altro utente vedrà il messaggio ‘EOF’ che indica che la conversazione è finita.

Se io scrivo

write aiutocomputerhelp

Si scrive un messaggio per l’utente aiutocomputerhelp. Dopo aver inserito questo comando, sarete posizionati su una linea vuota, dove tutto ciò che digitate sarà inviato all’altro utente (linea per linea). Digitando il carattere di interrupt (Ctrl-C, di default) si ritorna al prompt dei comandi e termina la sessione di scrittura.

Da ricordare  che il comando write funziona solo se entrambi gli utenti hanno i permessi per scambiarsi messaggi e il terminale specificato è aperto e accessibile dal mittente. Inoltre, è possibile che alcune distribuzioni Linux limitino l’uso di  write per ragioni di sicurezza o privacy degli utenti.

Oltre a write e wall , esistono altri strumenti e metodi che possono rendere la comunicazione più efficiente, sicura e adattabile alle esigenze di ogni utente.

Screen e TMUX

Sebbene non siano strettamente strumenti di messaggistica,  screen e tmux  offrono funzionalità di comunicazione indiretta attraverso la condivisione di sessioni terminali. Consentono a più utenti di collegarsi alla stessa sessione terminale, facilitando così la collaborazione in tempo reale. Questo può essere particolarmente utile per il troubleshooting congiunto o la formazione su specifiche operazioni in un ambiente Linux.

Talk e YTalk

talk è un altro programma di messaggistica interattiva che permette a due utenti di chattare in tempo reale attraverso il terminale. Quando un utente invita un altro alla chat tramite talk, l’invitato riceve una notifica e può accettare l’invito per iniziare la conversazione. TTalk  estende le funzionalità di talk  permettendo chat multiple in una singola finestra del terminale, rendendo più semplice gestire conversazioni con più utenti contemporaneamente.

SSH Chat

Per un approccio più unico alla comunicazione, esiste ssh chat, che trasforma un server SSH in una chat room. Gli utenti possono connettersi al server tramite SSH e partecipare a una chat testuale invece di accedere a una shell normale. Questo metodo combina la sicurezza della comunicazione SSH con la facilità d’uso di una chat testuale.

E-mail Interna

Per comunicazioni meno immediate ma ugualmente importanti, configurare un server di posta elettronica interno può essere una soluzione efficace. Strumenti come Postfix o Sendmail permettono di gestire la posta elettronica all’interno della rete locale, garantendo che le comunicazioni rimangano private e sicure.

Utilizzo di File e Pipe

Infine, per comunicazioni asincrone o per lo scambio di dati complessi, si possono utilizzare file condivisi o named pipes (FIFO). Questi metodi permettono di lasciare messaggi o dati in specifiche locazioni del filesystem, dove altri utenti possono recuperarli. Anche se meno immediati, questi metodi offrono flessibilità per lo scambio di informazioni non temporali.

Ogni strumento ha il suo contesto ideale di utilizzo, basato sulla natura della comunicazione desiderata, sulla necessità di privacy e sicurezza, e sulle preferenze personali. Linux offre una vasta gamma di opzioni per adattarsi a quasi ogni esigenza di comunicazione, riflettendo la sua filosofia di flessibilità e apertura.