Mungkin ini dijawab di tempat lain, tetapi saya tidak melihatnya.
Saya menjalankan Ubuntu 14.04. Ketika saya SSH ke mesin saya, misalnya:
ssh <user>@<machineip> notify-send "Hello"
Saya tidak melihat apa pun di monitor tempat saya masuk ke mesin. Jika saya awali notify-send
dengan DISPLAY=:0.0
atau DISPLAY=:0
tidak ada yang berbeda terjadi. Saya tidak pernah melihat pemberitahuan pada sesi saat ini.
Apakah ada beberapa trik / saklar untuk membuat ini berfungsi?
Dalam hal ini tidak jelas, izinkan saya untuk mengulangi: Dari Komputer A, saya SSH ke Komputer B. Dalam sesi SSH, saya ingin mengeksekusi pemberitahuan-kirim untuk dijalankan di Komputer B. Saya berharap pemberitahuan jenis growl muncul pada monitor Komputer B.
DISPLAY=:0 notify-send 'hello'
bekerja untuk saya (bukan untuk aikeru), coba itu sebelum langkah yang lebih rumit.Jawaban:
Saya pikir Anda membingungkan berbagai teknologi dan cara kerjanya. Saya tidak berharap bahwa daemon notifikasi dari satu sistem dapat mengirim pesan melalui SSH. Pengaturan
kutipan$DISPLAY
adalah bagaimana X11 mengirim output dari aplikasi ke aplikasi lain untuk tujuan tampilan, tetapinotify-send
mengirim pesan aktual ke daemon notifikasi. Pesan ini dikirim menggunakanlibnotify
perpustakaan.Sumber: https://developer.gnome.org/libnotify/
Per pendekatan aplikasi
Salah satu metode untuk menggabungkan
notify-send
pesan ke pemberi notifikasi sistem lokal Anda adalah dengan menggunakan pendekatan yang digariskan oleh posting blog ini berjudul: Pemberitahuan IRC melalui SSH dan libnotify . Pendekatan ini perlu disesuaikan untuk setiap jenis notifikasi yang ingin Anda tunnel kembali ke notifier lokal Anda.Tunneling libnotify melalui SSH
Untuk solusi yang lebih umum
kutipanlibnotify-over-ssh
mungkin lebih banyak yang Anda cari.Ditampilkan di server jarak jauh
Jika di sisi lain Anda hanya mencoba menggunakan
notify-send
untuk menampilkan pesan pada server jauh yang Anda gunakanssh
untuk terhubung, Anda mungkin harus mengikuti salah satu saran yang dibuat dalam tanya jawab ini berjudul: Menggunakan notify-send dengan cron . Meskipun beberapa jawaban menyarankan bahwa ini tidak perlu, saya harus melakukan yang berikut seperti yang disebutkan dalam komentar pada sistem Fedora 20 saya menggunakan Cinnamon sebagai desktop saya untuk membuat semuanya berfungsi.Untuk mulai
notify-send
bekerja saya harus mengatur variabel ini dengan nilai yang sesuai dari lingkungan desktop sistem jarak jauh.Pada sistem saya, saya dapat menggunakan file yang dikelola untuk tujuan yang tepat ini.
CATATAN: Nama file DBUS akan berubah dari sesi ke sesi.
sumber
notify-send
dapat mengirim pesan ke daemon notifier mendengarkan. Saat Anda masuk melalui SSH, lingkungan ini tidak memiliki info yang diperlukan untuk berkomunikasi dengan pemberi tahu ini, adalah masalah mendasar.$DISPLAY=:0
akan berfungsi, tetapi ini tidak bekerja untuk saya juga. Saya menggunakan Fedora 20 menggunakan Cinnamon sebagai desktop saya. Menggunakanstrace
untuk debug ini menunjukkan bahwa ada koneksi yang tidak selesai ketika melewati SSH, masih menyelidiki apa yang memblokir ini.IMO, mungkin Anda bisa menggunakan:
Ini tentu saja dengan asumsi ": 0" adalah nilai nyata dari variabel DISPLAY, jika itu adalah satu-satunya pengguna yang saat ini masuk. Saya pikir kita harus menggunakan kata khusus "ekspor" di sini karena kita mengirim dua perintah dan jika kita mengekspor variabel itu akan tersedia untuk digunakan untuk perintah kedua "notify-send". Karakter "&&" memungkinkan kita untuk meluncurkan dua perintah dalam satu baris.
sumber