Judul itu merangkumnya. Running wall <<< "TEST"
menunjukkan pesan dalam TTY apa pun tetapi tidak di terminal GUI mana pun (diuji dengan gnome-terminal
dan sakura
).
Saya memiliki beberapa skrip pemantauan suhu dan baterai yang mengandalkan wall
pesan dan setelah pemutakhiran baru-baru ini ke 16,04 saya perhatikan mereka berhenti bekerja di GUI.
Saya tidak dapat menentukan apakah ini bug atau sesuatu yang mencegah pesan ditampilkan di GUI.
Bagaimana saya harus melanjutkan ?
Informasi tambahan:
Berjalan byobu
di terminal gui memungkinkan melihat pesan dinding
xmessage
,gxmessage
ataunotify-send
)notify-send
hanya berfungsi untuk pesan singkat dan hanya di GUI.wall
memiliki kenyamanan baik menggunakan satu perintah untuk semua terminal, daripada menulis sesuatu untuk tty AND untuk gui DAN untuk semua sesi lain yang mungkin ada diDISPLAY
s lain , jadi ini bukan alternatif yang sangat baik, setidaknya imhowho
di terminal gnome sebelumnya, saya akan menunjukkan semua tab yang terbuka tetapi tidak lagi. Wall hanya mengirim pesan ke sesi terminal yang memperbarui catatan login. Mate menggunakan terminal yang berbeda secara default. Saya sudah mengetahui hal ini sejak lama tetapi sebenarnya tidak pernah memposting jawaban. Akan melakukannya di beberapa titik minggu ini.Jawaban:
Karena cara kerja terminal gnome,
wall
tidak mendaftarkannya sebagai terminal. Penjelasan lebih lengkap dapat ditemukan di sini . Saya berasumsi bahwa hal yang sama berlaku untuk sakura.Berdasarkan jawaban Stancu Mihai , saya telah membuat skrip yang meniru cara
wall
kerjanya, termasuk spanduk dengan nama pengguna dan stempel waktu (gunakan -n atau --nobanner untuk menghapus spanduk). Script saat ini tidak mendukung membaca pesan dari file.Anda dapat mengganti
wall
perintah normal dengan yang ini dengan menambahkan alias di~/.bashrc
:Contoh penggunaan:
sumber
Ya benar bahwa gnome-terminal tidak memperbarui catatan login, karena itu saya mencoba mencari solusi lain:
Ini membantu Anda untuk membuat daftar semua sesi terminal desktop.
Cara lain untuk mengirim pesan ke sesi terminal desktop aktif
Ini membantu Anda untuk membuat daftar semua sesi pty
Setelah itu Anda dapat menambahkan ke ~ / .bashrc
alias wall="your_wall_replacement.sh"
Anda dengan cara ini Anda tidak perlu menghapus dinding saat iniMaaf jika ada yang tidak beres, karena seseorang tidak membiarkan saya fokus pada subjek ini ... jika kalian melihat sesuatu yang aneh, silakan tinggalkan komentar.
10x
sumber
ps -ef | grep -e " tty" -e " pts/" | tr -s " " | cut -d " " -f 6 | sort -u | while read TTY; do echo "MESSAGE" | tee /dev/$TTY 1>/dev/null; done
Seperti yang orang lain sarankan ada banyak metode, saya taruh di sini metode yang lebih langsung (mudah) yang saya temukan (adopsi
echo "$MESSAGE_to_send" | sudo tee /dev/pts/$terminal_number:
dibahas di sini.)Di sini
terminal-no
dapat diperoleh dari terminal lain melalui perintah "tty"./dev/pts/12
sumber